diff --git a/.githooks/commit-msg b/.githooks/commit-msg deleted file mode 100644 index 6e93a5b7540..00000000000 --- a/.githooks/commit-msg +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# set all strings to UTF-8 -LC_CTYPE=en_US.utf8 - -# regex to validate the commit message against -commit_regex='(^([+]{1}[ ]{1}(\(API\)|\(CMS\)|\(Check\-in\)|\(Communication\)|\(Connection\)|\(Core\)|\(CRM\)|\(Engagement\)|\(Event\)|\(Farm\)|\(Finance\)|\(Group\)|\(Lava\)|\(Mobile\)|\(Prayer\)|\(Reporting\)|\(Workflow\)|\(Other\)){1}[ ]{1}(Add*|Fix*|Improv*|Updat*){1}[\s\S][^\n]+(\. (\(Fix(es|ed) \#[0-9]+\))$|[\w]\.$){1})|^([-]{1}[ ]{1}[\s\S][^\n]+)){1}|^(Merge+.+)|^(Revert+.+)|^(Cherry+.+)' -error_message_1="Your commit message should be a single-line and in one of the following formats:" -error_message_2=" [Github Issue/PR Fix]: + (Domain) Add/Fix/Improve/Update Text. (Fixes #0000)" -error_message_3=" [Public release note]: + (Domain) Add/Fix/Improve/Update Text." -error_message_4=" [Internal commit msg]: - Text" -guide_link=" See commit guidelines: https://triumph.slab.com/posts/developer-codex-current-orig-y3tqutbv#h5nco-committing-code" - -if ! grep -r -n -H -P "$commit_regex" "$1"; then - echo "${error_message_1}" >&2 - echo "${error_message_2}" >&2 - echo "${error_message_3}" >&2 - echo "${error_message_4}" >&2 - echo "${guide_link}" >&2 - exit 1 -fi \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f2733466b63..309140867cc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,6 @@ +## DESCRIPTION -## Notice +### What does this PR do, or why is it needed? **In case you are submitting a non bug-fix-PR, we highly recommend you to engage in a PR discussion first.** @@ -13,46 +14,18 @@ With the PR discussion we can assess your proposed changes before you start work 3. Have one of our core developers make the changes for you. This may be the case if the change involves intricate tasks like an EF migration or something similar. -## Proposed Changes +## TODO - -Fixes: # +- [ ] Review code through the lens of being concise, simple, and well-documented +- [ ] Manual QA to ensure the changes look/behave as expected -## Types of changes - -What types of changes does your code introduce to Rock? -_Put an `x` in the boxes that apply_ - -- [ ] Bugfix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality, which has been approved by the core team) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - -## Checklist - -_Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code._ - -- [ ] This is a single-commit PR. (If not, please squash your commit and re-submit it.) -- [ ] I verified my PR does not include whitespace/formatting changes -- because if it does it will be closed without merging. -- [ ] I have read the [Contributing to Rock](https://github.com/SparkDevNetwork/Rock/blob/master/.github/CONTRIBUTING.md) doc -- [ ] By contributing code, I agree to license my contribution under the [Rock Community License Agreement](https://www.rockrms.com/license) -- [ ] Unit tests pass locally with my changes -- [ ] I have added any required [unit tests](https://github.com/SparkDevNetwork/Rock/blob/develop/Rock.Tests.UnitTests/README.md) or [integration tests](https://github.com/SparkDevNetwork/Rock/blob/develop/Rock.Tests.Integration/README.md) that prove my fix is effective or that my feature works -- [ ] I have included updated language for the [Rock Documentation](https://www.rockrms.com/Learn/Documentation) (if appropriate) - -## Further comments - - -## Documentation - - -## Migrations -If your pull request requires a migration, please *exclude the migration from the Rock.Migration project*, but submit it with your pull request. Please add a note to your pull request that provides a heads up that a migration file is present. +> The purpose of PR Review is to _improve the quality of the software._ diff --git a/.gitignore b/.gitignore index 5322c8bdd61..9e6e49846a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,53 +1,53 @@ -#file types -_ReSharper.* -*.resharper -*.DS_Store -*.tlog -*.vsp -*.psess -*.v11.suo -*.user -*.suo -#*.Framework.XML - -#specific files -web.[Cc]onnectionStrings.config -app.[Cc]onnectionStrings.config -desktop.ini -Rock.XML -Quartz.xml -StyleCop.Cache - -#build artifacts -**/[Bb]in/[Dd]ebug -**/[Bb]in/[Rr]elease -**/[Oo]bj/[Dd]ebug -**/[Oo]bj/[Rr]elease -**/[Oo]bj/*.nuget.* -**/[Oo]bj/project.assets.json - -#specific folders -RockWeb/Cache/* -RockWeb/Content/ASM_Thumbnails -RockWeb/App_Data/PackageStaging -RockWeb/App_Data/MobileAppBundles -RockWeb/Obsidian/ -RockWeb/Scripts/Rock/UI/structuredcontenteditor/ -/scaffolding.config -*.sln.GhostDoc.xml -.vs/ -.vshistory/ -.localhistory/ -.vshistory/ -TestResults/ - -Packages/* - -# javascript deps -node_modules -.cache -*.map -/packages/ -/Installers/CheckScannerInstall/UpgradeLog.htm -/Installers/CheckScannerInstall/UpgradeLog2.htm -/Installers/CheckScannerInstall_2017/CheckScannerInstall +#file types +_ReSharper.* +*.resharper +*.DS_Store +*.tlog +*.vsp +*.psess +*.v11.suo +*.user +*.suo +#*.Framework.XML + +#specific files +web.[Cc]onnectionStrings.config +app.[Cc]onnectionStrings.config +desktop.ini +Rock.XML +Quartz.xml +StyleCop.Cache + +#build artifacts +**/[Bb]in/[Dd]ebug +**/[Bb]in/[Rr]elease +**/[Oo]bj/[Dd]ebug +**/[Oo]bj/[Rr]elease +**/[Oo]bj/*.nuget.* +**/[Oo]bj/project.assets.json + +#specific folders +RockWeb/Cache/* +RockWeb/Content/ASM_Thumbnails +RockWeb/App_Data/PackageStaging +RockWeb/App_Data/MobileAppBundles +RockWeb/Obsidian/ +RockWeb/Scripts/Rock/UI/structuredcontenteditor/ +/scaffolding.config +*.sln.GhostDoc.xml +.vs/ +.vshistory/ +.localhistory/ +.vshistory/ +TestResults/ + +Packages/* + +# javascript deps +node_modules +.cache +*.map +/packages/ +/Installers/CheckScannerInstall/UpgradeLog.htm +/Installers/CheckScannerInstall/UpgradeLog2.htm +/Installers/CheckScannerInstall_2017/CheckScannerInstall diff --git a/.mergify.yml b/.mergify.yml new file mode 100644 index 00000000000..8f56ac32b6a --- /dev/null +++ b/.mergify.yml @@ -0,0 +1,16 @@ +pull_request_rules: + - name: automatic merge when CI passes, 1 review, and 1 label + conditions: + - label=merge + - label!=blocked + actions: + merge: + method: merge + strict: smart + + + - name: delete head branch after merge + conditions: + - merged + actions: + delete_head_branch: {} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..8e59bf91142 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,92 @@ +# Contributing to Rock + +This is NewSpring's open-source fork for Rock RMS. This project is currently being used in production at [https://rock.newspring.cc](https://rock.newspring.cc). + +If you're interested in how it works, check out [RockRMS.com](http://rockrms.com). This document details how you can contribute. + +**Table of Contents** + +[How does NewSpring Web work?](#how-we-work) + +[How can I contribute?](#how-you-can-contribute) + * [Find known issues](#find-known-issues) + * [Report a new issue](#report-a-new-issue) + * [Recommend a new feature](#recommend-a-new-feature) + * [Pull requests](#pull-requests) + +[What styles should I use?](#style-guide) + * [Git](#git) + * [Code](#code) + +[How can I get in touch?](#get-in-touch) + +[What license does this use?](#license) + +## How we work + +Our team works 100% off of Github, and it should always remain updated with what is currently in active development. + +### Pull Requests + +We work extensively from pull requests and are constantly monitoring new PR's. + +When considering pull requests, we may require more than one person to sign off, so these might take up to a week. + +## How you can contribute + +One way you can contribute is by tackling known issues. Another way is submitting a new bug or feature request. + +### Find Known Issues + +We use [GitHub Issues](../../issues) for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn't already exist. + +### Report a New Issue + +The best way to get a bug fixed is to provide an example case of where the problem is occurring. Images or videos of the failure occurring is beneficial where applicable. + +If you think you have a solution to a bug and would like to fix it, please let us know. We can hopefully provide recommendations, as well as let you know if the bug is in fact intended behavior. + +### Recommend a new feature + +We track feature requests using [GitHub Issues](../../issues). If you would like to begin a discussion about a new or improved feature, open a new issue. + +### Pull requests + +When working to fix bugs or add features, we recommend opening a pull request early so we can comment on it or request any changes early on. + +We also recommend that you work off of open issues, and let us know on them what you will be working on for the same reason. + +**Please submit your pull request on the `master` branch**. + +## Style Guide + +### Git + +#### Issues +- Before opening an issue, search existing issues and closed issues for any current or past discussion about your topic. + +#### Commits and commit messages +- Try to limit each commit to one bugfix or one logical change. +- Commits messages should be short and clear. +- Feel free to reference issues and pull requests in commit messages. + +#### Pull Requests +- Refer to the [above instructions](#pull-requests) on what to do before opening a pull request. + +### Code + +#### General + +* **Most important: Look around.** Match the style you see used in the rest of the project. +* Follow the [Rock coding standards](https://github.com/SparkDevNetwork/Rock/wiki/Coding-standards). +* Use 4 spaces for indentation (no tabs) +* Submit "Attractive" code. This means your variables are human readable, methods are named for what they do, etc. + +## Get in Touch + +* Hit us up on [Twitter](https://twitter.com/newspringweb) +* Reach out to the [team](https://github.com/orgs/NewSpring/people). + +## License + +By contributing to Rock, you agree that your contributions will be licensed under its [MIT license](./LICENSE.md). diff --git a/FreeSpace.bat b/FreeSpace.bat new file mode 100644 index 00000000000..51b51b6511c --- /dev/null +++ b/FreeSpace.bat @@ -0,0 +1,14 @@ +@echo off + +del /s /q c:\windows\softwaredistribution\download\* + +del /s /q %temp%\* + +dism.exe /online /Cleanup-Image /StartComponentCleanup +dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase + +echo When you press enter, a defrag will start on the C drive. Hit Ctrl + C now to cancel. + +pause + +defrag c: \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000000..b2ea8c935c1 --- /dev/null +++ b/README.md @@ -0,0 +1,242 @@ +![Rock RMS](./Images/newspring-banner.jpg) + +[![Build status](https://ci.appveyor.com/api/projects/status/om3ddkynyoobdnpf/branch/master?svg=true)](https://ci.appveyor.com/project/NewSpring/rock/branch/master) + +Rock RMS is a Relationship Management System (RMS) and plugin-friendly framework +written as an ASP.NET 4.5 C# web application. It uses Entity Framework 6.1, +jQuery, Bootstrap 3, and other open source libraries. + +The following guide documents how NewSpring Web uses and deploys Rock. + +Quick links: + +- [Getting Started](#getting-started) +- [Primary Differences](#primary-differences) +- [New Environments](#new-environments) +- [Running Rock](#running-rock) +- [Deploy Process](#deploy-process) +- [Learn More](#learn-more) +- [Community](#community) +- [License](#license) + +## Getting Started + +Take a peek at the Rock [Developer 101](http://www.rockrms.com/Rock/Developer/BookContent/16/16) book to get started. Some more information can be found on the [wiki](../../wiki). + +If you're completely new to .NET, C# and SQL Server, you may want to read through [this overview](http://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx). If you're completely new to Github and Git, read through the [Contribution](./CONTRIBUTING.md) guidelines. + + +## Primary Differences + +We try our best to stay in sync with the [base repository](https://github.com/SparkDevNetwork/Rock); however, we have a few primary differences: + +#### Repo Size + +If you clone the base repository, you'll notice that there are a _LOT_ of binary files. This doesn't work so well for quick build and deployment times (even with caching certain folders). So we've removed the following folders to reduce the overall size: + +- `./Applications` +- `./Checkin Labels` +- `./Installers` +- `./packages` + +Applications and Installers can be downloaded through the Rock Shop (for production) or from the base repo (for debugging/development). We don't use the stock Check-in Labels; all our labels can be found [here](https://github.com/NewSpring/rock-attended-checkin/tree/master/Checkin%20Labels). Packages are automatically downloaded in production or development via Nuget. + +#### Deploy Configuration + +We use [Appveyor](https://www.appveyor.com/) to do continuous deployment to different environments. It's fast, free (for one build at a time), and relatively easy to set up. We depend on [Node/Norma](https://github.com/NewSpring/Norma) to add plugins to the build and [MSBuild](https://msdn.microsoft.com/en-us/library/dd393573.aspx) to compile the entire solution. You'll notice the following files in our repo: + +- [./appveyor.yml](./appveyor.yml) + + This file contains all the build settings for AppVeyor. You can use Appveyor's UI instead, but you won't be able to track changes (especially helpful if something breaks). Formatting wise, Appveyor requires all spaces in this file (no tabs!). + +- [./Norma](./Norma) + + This file contains the build settings for Norma, such as plugins to download, files to copy, etc. + +- [./package.json](./package.json) + + This file contains all the dependencies for Norma. + +- [./RockWeb/app_offline-template.htm](./RockWeb/app_offline-template.htm) + + This file displays a helpful user message while Rock is upgrading or rebooting. This file exists in core but has been heavily customized with NewSpring branding. + +- [./RockWeb/before-deploy.ps1](./RockWeb/before-deploy.ps1) + + This file specifies what should happen before a deploy, such as saving web.config and setting the "Rock is restarting" message. + +- [./RockWeb/deploy.ps1](./RockWeb/deploy.ps1) + + This file specifies what should happen during a deploy, such as setting permissions, and restoring web.config. + +- [./RockWeb/web.config](./RockWeb/web.config) + + For security reasons our deploy process ignores any Github changes to the web.config. If there's an update in the Spark repo, you'll need to manually copy that change to each server. Keep in mind that any change to `web.config` will restart IIS. + +#### Dev Environment + +We have a lot of systems running in production: some we're proud of, and some we're not. We also have a [native app](https://github.com/NewSpring/Holtzman) for iOS, Android, Windows, and others. That means we often need to test systems (including Rock) from non-Windows environments. We've customized a couple things to make testing a little more friendly: + +- [./Rock.sln](./Rock.sln) + + This file contains links to all the projects necessary for Rock to run, as well as links to any [plugin projects](#custom-plugins). Note that if a plugin isn't downloaded locally, Visual Studio will gracefully ignore the reference. `Rock.sln` also specifies the name and URL of the web project. + + `Note: We changed the Rock website name and URL to be http://rock.dev instead of RockWeb with a URL of http://localhost:6229. This allows us to load and debug Rock cross-platform. See `[New Environments](#new-environments)` for more details.` + +#### Custom Plugins + +We've written a [few plugins](https://github.com/NewSpring?utf8=✓&q=rock-) for Rock, including a [CyberSource](https://github.com/NewSpring/rock-cybersource) gateway, a [CacheBreak](https://github.com/NewSpring/rock-cache-sync) project for API's, and an [Attended Check-in](https://github.com/NewSpring/rock-attended-checkin) module. We store plugins at the same folder level as Rock, then reference them in [./Rock.sln](./Rock.sln) with a relative path (`..\rock-cache-sync\cc.newspring.CacheBreak.csproj`). + +The following list details other minor blocks or packages we've added: + +- [Plugins\All Staff Live](./RockWeb/Plugins/cc_newspring/Blocks/AllStaffLive) + + This block displays a video feed on our internal homepage for weekly staff meetings. + +- [Plugins\Dashboard Widget](./RockWeb/Plugins/cc_newspring/Blocks/Dashboards) + + This block displays metric values using a Liquid template for staff dashboards. + +- [Plugins\Headings](./RockWeb/Plugins/cc_newspring/Blocks/Headings) + + This block adds headings to a layout with the option to set a column size. + +- [Plugins\Metrics](./RockWeb/Plugins/cc_newspring/Blocks/Metrics) + + This block displays metric values or comparisons on a dashboard based on Campus, Group, Date, or Schedule context. + +- [Plugins\Ooyala](./RockWeb/Plugins/cc_newspring/Blocks/Video) + + This block loads the Ooyala video player for a specific video content ID. + +- [Plugins\Sentry Test](./RockWeb/Plugins/cc_newspring/Blocks/Sentry) + + We use [Sentry](https://sentry.io) for additional error reporting from Rock, and this block allows you to send a custom error to test your config. The specific C# library we use is called [SharpRaven](https://www.nuget.org/packages/SharpRaven). We've added dependencies for Sentry/SharpRaven throughout Rock, including [Rock.csproj](./Rock/Rock.csproj), [RockBlock.cs](./Rock/Web/UI/RockBlock.cs), and the [API Exception Log](.//Rock.Rest/Controllers/ExceptionLogsController.Partial.cs). + +- [Plugins\Workflow Alert](./RockWeb/Plugins/cc_newspring/Blocks/WorkflowAlert) + + This block displays a [bell icon](http://fontawesome.io/icon/bell-o/) next for each logged-in user when they have workflows to complete. + +#### WebAPI Upgrade + +In order to fully support Twilio and other API calls, we upgraded the `Microsoft.AspNet.WebApi` packages to version 5.2.3. The core version of Rock is at 5.2.2. + + +## New Environments + +If you were already given a VMDK, most of these steps should be completed. Also, this guide assumes you'll be running Rock inside a Windows environment, either as a VM or dual-boot. If that's not the case, [talk to us](https://twitter.com/newspringweb) because we'd love to optimize our development/deployment strategy. + +- Create a new Windows 10 x64 machine +- Select an existing hard disk (VMDK) +- Set minimum CPU processors to 2 +- Set minimum RAM at 4GB +- Download [Git](https://git-scm.com/downloads) (includes Git Bash ❤️) +- Update your [git config](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) using Git Bash +- Create your first [Pull Request](../../pulls) +- Download [Visual Studio Community](https://www.visualstudio.com/vs/community/) (free) +- Import the recommended [Visual Studio settings](./.vs/VisualStudio.vssettings) +- Download SQL Server: LocalDB (free), [Express](https://www.microsoft.com/en-us/sql-server/sql-server-editions-express) (free), or Standard (not free) +- Download [SQL Server Management Studio](https://msdn.microsoft.com/en-us/library/mt238290.aspx) (free) +- Install some helpful plugins: [CodeMaid](https://visualstudiogallery.msdn.microsoft.com/76293c4d-8c16-4f4a-aee6-21f83a571496), [GhostDoc](https://visualstudiogallery.msdn.microsoft.com/46A20578-F0D5-4B1E-B55D-F001A6345748) and [Gulp](https://webtooling.visualstudio.com/task-runners/gulp/) + +If you haven't already experienced the joy of developing in Visual Studio with IIS, we'd highly recommend it: faster build times, easier debugging, cross-platform browsing, and bypassing the occasional VS insanity. You'll need to set up an IIS site pointed at [./RockWeb](./RockWeb), your database has to [be configured](http://logicalread.solarwinds.com/sql-server-express-as-a-production-database/) for IIS requests, and Visual Studio has to run as Administrator (so you can attach to IIS when debugging). + +If you don't want to go the IIS route or prefer to use Visual Studio for everything, you can still get cross-platform browsing with some [trickery](http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx). You'll also want to set a static IP on your VM and add a `hosts` reference to `rock.dev` with that IP. + + +## Running Rock + +The VMDK file you should've received can be run in VirtualBox, Fusion, or Parallels. If you're wondering what settings you should use, go back to [New Environments](#new-environments). + +Our Rock version is hosted at `http://rock.dev` and you can use IIS Manager to control access to it. + +If you need to debug code, open Visual Studio and attach to `w3wp.exe`. If you don't need to debug, you can develop themes or change Block code in the running site: [./RockWeb](./RockWeb). + +#### Connections + +`./RockWeb/web.connectionstrings.config` defines your database attachments, although only one can be active (comment out the others). The only connection you'll probably need is `localhost\SQL`. If you're using SQL Server LocalDB, the Server property will be something like `(localdb)\ProjectsV13`. + +`Note: If you get an error running Nuget or starting the Rock project, make sure RockWeb is set as the startup project (Solution Explorer will display it in bold).` + +Here's a sample connection string: +``` + + + + + +``` + +#### Migrations + +If you need to build or update a new database, look for the Nuget Package Manager Console and enter this command: `update-database -ProjectName 'Rock.Migrations'`. Note that if you had any Nuget updates while Visual Studio was open, you'll need to reload Visual Studio to successfully run the Package Manager Console. + +Alternatively, [follow the guide](http://shouldertheboulder.com/Article?id=368) to set your own migration shortcut. This will use the connection defined in `web.connectionstrings.config` to build or upgrade your database. + +#### Maintenance + +Eventually you'll need to run [./FreeSpace.bat](./FreeSpace.bat) to clear out old files and keep your Windows install trimmed down. This will also defrag your unused space, which allows you to shrink the disk from Fusion/VirtualBox after you shut the OS down. + + +## Deploy Process + +We actively develop against our Rock fork and occasionally "cherry pick" changes from core, instead of waiting for the official or beta releases. While this does mean we get faster features or bugfixes, we're also some of the first to find out about breaking changes. + +We follow the below process to verify changes don't cause issues in production: + +####1) Review recent changes in [Spark/pre-alpha-release](https://github.com/SparkDevNetwork/Rock/tree/pre-alpha-release). + +This branch is typically the last phase in the development cycle before a Rock release (develop -> pre-alpha-spark -> pre-alpha-release -> hotfix / master release). Click [here](../../compare/pre-alpha-release...SparkDevNetwork:pre-alpha-release) to start a PR to [NewSpring/pre-alpha-release](../../tree/pre-alpha-release). + +You'll want to be sensitive to the following changes: +- Migrations (will require downtime and typically can't be rolled back) +- Check-in or workflow actions (could make for Sunday surprises, and not the good kind) +- Model or ModelService updates (can affect performance) + +####2) Fix code merge conflicts and test any migrations against a local database. + +Since we've modified [multiple files](#primary-differences), you'll need to make sure changes (theirs or ours) aren't accidentally overwritten. You'll also want to test migrations against a recent copy of our database so that any Sites, Blocks, or Attributes we may have tweaked don't cause dependency problems. + +####3) Merge [NewSpring/pre-alpha-release](../../tree/pre-alpha-release) into [NewSpring/alpha](../../tree/alpha). + +Alpha is our "did anything break?" environment and is set to automatically deploy when code is committed. Click [here](../../compare/alpha...NewSpring:pre-alpha-release) to start the PR to [NewSpring/alpha](../../tree/alpha). + +####4) Merge [NewSpring/alpha](../../tree/alpha) into [NewSpring/beta](../../tree/beta) and deploy. + +Beta is our "does everything work?" environment and does *not* automatically deploy when code is committed. Click [here](../../compare/beta...NewSpring:alpha) to start the PR to [NewSpring/beta](../../tree/beta). + +####5) Document all feature changes for the Web Operations team to review. + +If you reviewed well in step one, you'll have a list of changes to send for testing on Beta. You'll want to document the default behavior as well as expected error states. You may also need to clarify where the new or updated feature lives. + +####6) After Operations signoff, merge [NewSpring/beta](../../tree/beta) into [NewSpring/master](../../tree/master) and deploy. + +Master is our "go live" environment and does *not* automatically deploy. After a successful build, you'll need to trigger a deploy from Appveyor during planned or co-ordinated downtime. + +####7) Clear cache on newly deployed servers. + +It's a good idea to clear cache on the Rock and Check-in servers after a deploy, so that any changes to Sites, Blocks, or Attributes are immediately present. Theoretically IIS should pick up those changes after a restart, but it occasionally doesn't. + + +## Learn More + +Jump over to our [Rock website](http://www.rockrms.com/) to find out more. You can also: + +- [Read our blog](http://www.rockrms.com/Rock/Connect) +- [Follow us on Twitter](http://www.twitter.com/therockrms) +- [Like us on Facebook](http://www.facebook.com/therockrms) +- [Read the community Q & A](http://www.rockrms.com/Rock/Ask) +- [Subscribe to our newsletter](http://www.rockrms.com/Rock/Subscribe) + + +## Community + +Rock is crafted by a community of developers led by the [Spark Development Network](http://www.sparkdevnetwork.com/). You can join us on the forums at [Rock RMS](http://www.rockrms.com/Rock/Ask) or on our [Slack channel](http://rockrms.com/slack). + + +## License + +Rock is released under the open-source [Rock Community License](http://www.rockrms.com/license). diff --git a/Rock.Checkr/App.config b/Rock.Checkr/App.config index bda403d519c..aed6ddf1db0 100644 --- a/Rock.Checkr/App.config +++ b/Rock.Checkr/App.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Client/CodeGenerated/FinancialStatementTemplate.cs b/Rock.Client/CodeGenerated/FinancialStatementTemplate.cs index da8acc51059..062afe279a1 100644 --- a/Rock.Client/CodeGenerated/FinancialStatementTemplate.cs +++ b/Rock.Client/CodeGenerated/FinancialStatementTemplate.cs @@ -128,12 +128,12 @@ public partial class FinancialStatementTemplate : FinancialStatementTemplateEnti public BinaryFile LogoBinaryFile { get; set; } /// - /// NOTE: Attributes are only populated when ?loadAttributes is specified. Options for loadAttributes are true, false, 'simple', 'expanded' + /// NOTE: Attributes are only populated when ?loadAttributes is specified. Options for loadAttributes are true, false, 'simple', 'expanded' /// public Dictionary Attributes { get; set; } /// - /// NOTE: AttributeValues are only populated when ?loadAttributes is specified. Options for loadAttributes are true, false, 'simple', 'expanded' + /// NOTE: AttributeValues are only populated when ?loadAttributes is specified. Options for loadAttributes are true, false, 'simple', 'expanded' /// public Dictionary AttributeValues { get; set; } } diff --git a/Rock.Client/CodeGenerated/Person.cs b/Rock.Client/CodeGenerated/Person.cs index 6cecedf31be..a3be3e1b5bf 100644 --- a/Rock.Client/CodeGenerated/Person.cs +++ b/Rock.Client/CodeGenerated/Person.cs @@ -97,6 +97,9 @@ public partial class PersonEntity /// public int? GivingGroupId { get; set; } + /// + public string GivingId { get; set; } + /// public int GivingLeaderId { get; set; } @@ -263,6 +266,7 @@ public void CopyPropertiesFrom( Person source ) this.ForeignKey = source.ForeignKey; this.Gender = source.Gender; this.GivingGroupId = source.GivingGroupId; + this.GivingId = source.GivingId; this.GivingLeaderId = source.GivingLeaderId; this.GradeOffset = source.GradeOffset; this.GraduationYear = source.GraduationYear; diff --git a/Rock.Client/Rock.Client.csproj b/Rock.Client/Rock.Client.csproj index 593a8a1bb1b..f2d5c9e213b 100644 --- a/Rock.Client/Rock.Client.csproj +++ b/Rock.Client/Rock.Client.csproj @@ -361,7 +361,7 @@ - diff --git a/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.Designer.cs b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.Designer.cs new file mode 100644 index 00000000000..daf75d0c863 --- /dev/null +++ b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.Designer.cs @@ -0,0 +1,29 @@ +// +namespace Rock.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.3-40302")] + public sealed partial class CodeGenerated_0511 : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(GivingAnalyticsUpdates)); + + string IMigrationMetadata.Id + { + get { return "202105112104432_CodeGenerated_0511"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.cs b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.cs new file mode 100644 index 00000000000..7d887b92b48 --- /dev/null +++ b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.cs @@ -0,0 +1,79 @@ +// +// Copyright by the Spark Development Network +// +// Licensed under the Rock Community License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.rockrms.com/license +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +namespace Rock.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + /// + /// + /// + public partial class CodeGenerated_0511 : Rock.Migrations.RockMigration + { + /// + /// Operations to be performed during the upgrade process. + /// + public override void Up() + { + + // Add/Update BlockType Financial Statement Template Detail + RockMigrationHelper.UpdateBlockType("Financial Statement Template Detail","Displays the details of the statement template.","~/Blocks/Finance/FinancialStatementTemplateDetail.ascx","Finance","230D14B7-27C1-4968-B479-7A2A784DF173"); + + // Add/Update BlockType Financial Statement Template List + RockMigrationHelper.UpdateBlockType("Financial Statement Template List","Block used to list statement templates.","~/Blocks/Finance/FinancialStatementTemplateList.ascx","Finance","E4332C68-4848-4FA5-99EC-A1CED7F136E3"); + + // Attribute for BlockType: Personal Step List:Show Start Date Column + RockMigrationHelper.AddOrUpdateBlockTypeAttribute( "5D5EB7BA-A9CE-4801-8168-6CA8ECD354D4", "1EDAFDED-DFE6-4334-B019-6EECBA89E05A", "Show Start Date Column", "ShowStartedDateColumn", "Show Start Date Column", @"Should the step start date be shown on the grid and card display?", 6, @"True", "6DA865D9-90F6-4887-B78D-896BE13B052B" ); + + // Attribute for BlockType: Financial Statement Template List:core.EnableDefaultWorkflowLauncher + RockMigrationHelper.AddOrUpdateBlockTypeAttribute( "E4332C68-4848-4FA5-99EC-A1CED7F136E3", "1EDAFDED-DFE6-4334-B019-6EECBA89E05A", "core.EnableDefaultWorkflowLauncher", "core.EnableDefaultWorkflowLauncher", "core.EnableDefaultWorkflowLauncher", @"", 0, @"True", "67768ACD-2D6E-4319-96D0-60F9444C4DCF" ); + + // Attribute for BlockType: Financial Statement Template List:Detail Page + RockMigrationHelper.AddOrUpdateBlockTypeAttribute( "E4332C68-4848-4FA5-99EC-A1CED7F136E3", "BD53F9C9-EBA9-4D3F-82EA-DE5DD34A8108", "Detail Page", "DetailPage", "Detail Page", @"", 0, @"", "D969C71E-A01E-402A-9424-4F21890F85B3" ); + + // Attribute for BlockType: Financial Statement Template List:core.CustomActionsConfigs + RockMigrationHelper.AddOrUpdateBlockTypeAttribute( "E4332C68-4848-4FA5-99EC-A1CED7F136E3", "9C204CD0-1233-41C5-818A-C5DA439445AA", "core.CustomActionsConfigs", "core.CustomActionsConfigs", "core.CustomActionsConfigs", @"", 0, @"", "8F230C83-FB02-4BBD-A351-3627F3393102" ); + + } + + /// + /// Operations to be performed during the downgrade process. + /// + public override void Down() + { + + // core.EnableDefaultWorkflowLauncher Attribute for BlockType: Financial Statement Template List + RockMigrationHelper.DeleteAttribute("67768ACD-2D6E-4319-96D0-60F9444C4DCF"); + + // core.CustomActionsConfigs Attribute for BlockType: Financial Statement Template List + RockMigrationHelper.DeleteAttribute("8F230C83-FB02-4BBD-A351-3627F3393102"); + + // Detail Page Attribute for BlockType: Financial Statement Template List + RockMigrationHelper.DeleteAttribute("D969C71E-A01E-402A-9424-4F21890F85B3"); + + // Show Start Date Column Attribute for BlockType: Personal Step List + RockMigrationHelper.DeleteAttribute("6DA865D9-90F6-4887-B78D-896BE13B052B"); + + // Delete BlockType Financial Statement Template List + RockMigrationHelper.DeleteBlockType("E4332C68-4848-4FA5-99EC-A1CED7F136E3"); // Financial Statement Template List + + // Delete BlockType Financial Statement Template Detail + RockMigrationHelper.DeleteBlockType("230D14B7-27C1-4968-B479-7A2A784DF173"); // Financial Statement Template Detail + + } + } +} diff --git a/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.resx b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.resx new file mode 100644 index 00000000000..6c121c4dba6 --- /dev/null +++ b/Rock.Migrations/Migrations/202105112104432_CodeGenerated_0511.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + dbo + + \ No newline at end of file diff --git a/Rock.MyWell/app.config b/Rock.MyWell/app.config index f3c84a5e827..0a3705fa180 100644 --- a/Rock.MyWell/app.config +++ b/Rock.MyWell/app.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.PayFlowPro/app.config b/Rock.PayFlowPro/app.config index bda403d519c..aed6ddf1db0 100644 --- a/Rock.PayFlowPro/app.config +++ b/Rock.PayFlowPro/app.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Rest/App.config b/Rock.Rest/App.config index 71ae8dd04d1..cb4634860bc 100644 --- a/Rock.Rest/App.config +++ b/Rock.Rest/App.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Rest/Controllers/DataViewsController.Partial.cs b/Rock.Rest/Controllers/DataViewsController.Partial.cs new file mode 100644 index 00000000000..1f817da052e --- /dev/null +++ b/Rock.Rest/Controllers/DataViewsController.Partial.cs @@ -0,0 +1,68 @@ +// +// Copyright by the Spark Development Network +// +// Licensed under the Rock Community License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.rockrms.com/license +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// + +using System.Linq; +using System.Web.Http; +using System.Web.Http.OData; + +using Rock.Data; +using Rock.Model; +using Rock.Rest.Filters; + +namespace Rock.Rest.Controllers +{ + /// + /// DataViews REST API + /// + public partial class DataViewsController + { + #region DataViewByPerson + + /// + /// Returns a list of dataviews that a person is a part of + /// + /// + /// + /// + /// + /// + [HttpGet] + [EnableQuery] + [Authenticate, Secured] + [System.Web.Http.Route( "api/DataViews/GetPersistedDataViewsForEntity/{entityTypeId}/{entityId}" )] + public IQueryable GetPersistedDataViewsForEntity( int entityTypeId, int entityId, System.Guid? categoryGuid = null, int categoryId = 0 ) + { + var rockContext = new RockContext(); + // Get the data view guids from the DataViewPersistedValues table that the Person Id is a part of + var persistedValuesQuery = rockContext.DataViewPersistedValues.Where( a => a.EntityId == entityId && a.DataView.EntityTypeId == entityTypeId ); + IQueryable dataViewList = persistedValuesQuery.Select( a => a.DataView ); + if ( categoryGuid != null ) + { + dataViewList = dataViewList.Where( a => a.Category.Guid == categoryGuid ); + } + if ( categoryId != 0 ) + { + dataViewList = dataViewList.Where( a => a.CategoryId == categoryId ); + } + + // Return DataView as IQueryable + return dataViewList; + } + + #endregion + } +} \ No newline at end of file diff --git a/Rock.Rest/Controllers/GroupFinderController.cs b/Rock.Rest/Controllers/GroupFinderController.cs new file mode 100644 index 00000000000..6cbcf2d4d2f --- /dev/null +++ b/Rock.Rest/Controllers/GroupFinderController.cs @@ -0,0 +1,318 @@ +// +// Copyright by the Spark Development Network +// +// Licensed under the Rock Community License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.rockrms.com/license +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +using System; +using System.Collections.Generic; +using System.Data.Entity.Spatial; +using System.Linq; +using System.Net; +using System.Web.Http; +using System.Web.Http.OData; +using Rock; +using Rock.Data; +using Rock.Model; +using Rock.Rest.Filters; +using Rock.Web.Cache; + +namespace Rock.Rest.Controllers +{ + /// + /// Group Finder API + /// + public class GroupFinderController : ApiControllerBase + { + /// + /// Returns a list of all groups querying primarily based on the postal code and then sort based on distance from + /// a given zip code to the meeting location of a group. + /// + /// The postal code. + /// The group type id + /// The comma seperated representation of the group schedules. + /// The comma seperated representation of the group campuses. + /// The list of tags + /// The Childcare value. + /// + /// Returns the list of all groups. + /// + [HttpGet] + [EnableQuery] + [Authenticate, Secured] + [System.Web.Http.Route("api/GroupFinder")] + public IQueryable GetGroups(int postalCode, int groupTypeId, string schedules = null, string campuses = null, string tags = null, bool? kidFriendly = null) + { + var groupList = new List(); + + using (var rockContext = new RockContext()) + { + var mapCoordinate = new LocationService(rockContext).GetMapCoordinateFromPostalCode(postalCode.ToString()); + if (mapCoordinate == null) + { + throw new HttpResponseException(HttpStatusCode.BadRequest); + } + + var groups = new GroupService(rockContext).Queryable().Where(a => a.GroupTypeId == groupTypeId && a.IsActive == true && a.IsPublic == true && a.IsArchived == false); + + if (schedules.IsNotNullOrWhiteSpace()) + { + var dayOfWeeks = schedules.SplitDelimitedValues(false).Select(a => a.ConvertToEnumOrNull()).Where(a => a.HasValue).ToList(); + groups = groups.Where(a => a.Schedule.WeeklyDayOfWeek.HasValue && dayOfWeeks.Contains(a.Schedule.WeeklyDayOfWeek)); + } + + if (campuses.IsNotNullOrWhiteSpace()) + { + var campusIds = campuses.SplitDelimitedValues().AsIntegerList(); + groups = groups.Where(a => a.CampusId.HasValue && campusIds.Contains(a.CampusId.Value)); + } + + foreach (var group in groups) + { + group.LoadAttributes(rockContext); + var childcare = group.GetAttributeValue("Childcare").AsBoolean(); + + if (tags.IsNotNullOrWhiteSpace()) + { + var tagValues = tags.SplitDelimitedValues(false); + var groupTags = group.AttributeValues["Tags"].ValueFormatted.SplitDelimitedValues(false).Union(group.AttributeValues["Category"].ValueFormatted.SplitDelimitedValues(false)); + if (!groupTags.Any(a => tagValues.Contains(a, StringComparer.OrdinalIgnoreCase))) + { + continue; + } + } + + if (!kidFriendly.HasValue || (kidFriendly.HasValue && childcare == kidFriendly.Value)) + { + var meetingLocationTypeId = DefinedValueCache.Get(Rock.SystemGuid.DefinedValue.GROUP_LOCATION_TYPE_MEETING_LOCATION).Id; + + var smallGroup = new SmallGroup() + { + IsActive = group.IsActive, + IsPublic = group.IsPublic, + IsArchived = group.IsArchived, + Description = group.Description, + Guid = group.Guid, + Id = group.Id, + KidFriendly = childcare, + Name = group.Name, + Campus = group.Campus?.Name, + CampusId = group.CampusId, + Schedule = group.Schedule?.FriendlyScheduleText + }; + + var location = group.GroupLocations.Where(a => a.GroupLocationTypeValueId == meetingLocationTypeId).Select(a => a.Location).FirstOrDefault(); + if (location != null && location.GeoPoint != null) + { + + smallGroup.GroupLocation = new MapCoordinate() + { + Latitude = location.Latitude, + Longitude = location.Longitude + }; + string geoText = string.Format("POINT({0} {1})", mapCoordinate.Longitude, mapCoordinate.Latitude); + DbGeography geoPoint = DbGeography.FromText(geoText); + var distance = location.GeoPoint.Distance(geoPoint); + + if (distance.HasValue) + { + smallGroup.Distance = Math.Round(distance.Value * 0.00062137, 2); + } + } + + if (group.AttributeValues.ContainsKey("Topic")) + { + smallGroup.Topic = group.AttributeValues["Topic"].ValueFormatted; + } + + var ageRange = group.GetAttributeValue("AgeRange").SplitDelimitedValues(false); + if (ageRange.Length == 2) + { + smallGroup.AgeRange = ageRange.Select(a => a.AsInteger()).OrderBy(a => a).ToArray(); + } + + if (group.AttributeValues.ContainsKey("Tags")) + { + smallGroup.Tags = group.AttributeValues["Tags"].ValueFormatted.SplitDelimitedValues(false); + } + + if (group.AttributeValues.ContainsKey("GroupPhoto")) + { + smallGroup.Photo = group.AttributeValues["GroupPhoto"].ValueFormatted; + } + + if (group.AttributeValues.ContainsKey("Type")) + { + smallGroup.Type = group.AttributeValues["Type"].ValueFormatted; + } + + groupList.Add(smallGroup); + } + } + } + return groupList.OrderBy(a => a.Distance.GetValueOrDefault(double.MaxValue)).AsQueryable(); + } + + /// + /// + /// + public class SmallGroup + { + + /// + /// Gets or sets the IsActive + /// + /// + /// The status of this group. + /// + public bool IsActive { get; set; } + + /// + /// Gets or sets IsPublic + /// + /// + /// The public/private status of this group. + /// + public bool IsPublic { get; set; } + + /// + /// Gets or sets IsArchived + /// + /// + /// The archived status of this group. + /// + public bool IsArchived { get; set; } + + /// + /// Gets or sets the group identifier. + /// + /// + /// The group identifier. + /// + public int Id { get; set; } + + /// + /// Gets or sets the Name of the Group. This property is required. + /// + /// + /// A representing the name of the Group. + /// + public string Name { get; set; } + + /// + /// Gets or sets the description of the group. + /// + /// + /// A representing the description of the group. + /// + public string Description { get; set; } + + /// + /// Gets or sets a value that is a guaranteed unique identifier for the group. + /// + /// + /// A value that will uniquely identify the Group. + /// + public Guid Guid { get; set; } + + /// + /// Gets or sets the distance of the group meeting location and postal code. + /// + /// + /// The distance of the group meeting location and postal code. + /// + public double? Distance { get; set; } + + /// + /// Gets or sets the kid friendly. + /// + /// + /// The kid friendly. + /// + public bool KidFriendly { get; set; } + + /// + /// Gets or sets the group location. + /// + /// + /// The group location. + /// + public MapCoordinate GroupLocation { get; set; } + + /// + /// Gets or sets the topic. + /// + /// + /// The topic. + /// + public string Topic { get; set; } + + /// + /// Gets or sets the campus name. + /// + /// + /// The campus name. + /// + public string Campus { get; set; } + + /// + /// Gets or sets the campus identifier. + /// + /// + /// The campus identifier. + /// + public int? CampusId { get; set; } + + /// + /// Gets or sets the age range. + /// + /// + /// The age range. + /// + public int[] AgeRange { get; set; } + + /// + /// Gets or sets the photo. + /// + /// + /// The photo. + /// + public string Photo { get; set; } + + /// + /// Gets or sets the schedule. + /// + /// + /// The schedule. + /// + public string Schedule { get; set; } + + /// + /// Gets or sets the tags. + /// + /// + /// The tags. + /// + public string[] Tags { get; set; } + + /// + /// Gets or sets the type. + /// + /// + /// The type. + /// + public string Type { get; set; } + } + + } +} \ No newline at end of file diff --git a/Rock.Security.Authentication.Auth0/app.config b/Rock.Security.Authentication.Auth0/app.config index 4a3a7820572..98c3282f93b 100644 --- a/Rock.Security.Authentication.Auth0/app.config +++ b/Rock.Security.Authentication.Auth0/app.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.SendGrid/App.config b/Rock.SendGrid/App.config index bda403d519c..aed6ddf1db0 100644 --- a/Rock.SendGrid/App.config +++ b/Rock.SendGrid/App.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Slingshot/app.config b/Rock.Slingshot/app.config index eb42d37ebec..e8088d425bd 100644 --- a/Rock.Slingshot/app.config +++ b/Rock.Slingshot/app.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.StatementGenerator/Rest/Obsolete/StatementGeneratorFinancialTransactionsController.cs b/Rock.StatementGenerator/Rest/Obsolete/StatementGeneratorFinancialTransactionsController.cs index 82ebf90b7de..5bb50647d2e 100644 --- a/Rock.StatementGenerator/Rest/Obsolete/StatementGeneratorFinancialTransactionsController.cs +++ b/Rock.StatementGenerator/Rest/Obsolete/StatementGeneratorFinancialTransactionsController.cs @@ -100,9 +100,9 @@ public List GetStatementGeneratorRecipients( [FromB GroupId = a.Value } ).Distinct(); - // Get Persons and their GroupId(s) that do not have GivingGroupId and have transactions that match the filter. - // These are the persons that give as individuals vs as part of a group. We need the Groups (families they belong to) in order - // to determine which address(es) the statements need to be mailed to + // Get Persons and their GroupId(s) that do not have GivingGroupId and have transactions that match the filter. + // These are the persons that give as individuals vs as part of a group. We need the Groups (families they belong to) in order + // to determine which address(es) the statements need to be mailed to var groupTypeIdFamily = GroupTypeCache.GetFamilyGroupType().Id; var groupMembersQry = new GroupMemberService( rockContext ).Queryable( true ).Where( m => m.Group.GroupTypeId == groupTypeIdFamily ); @@ -668,10 +668,10 @@ private static StatementGeneratorRecipientResult GenerateStatementGeneratorRecip //// Pledges but organized by Account (in case more than one pledge goes to the same account) //// NOTE: In the case of multiple pledges to the same account (just in case they accidently or intentionally had multiple pledges to the same account) //// -- Date Range - //// -- StartDate: Earliest StartDate of all the pledges for that account + //// -- StartDate: Earliest StartDate of all the pledges for that account //// -- EndDate: Lastest EndDate of all the pledges for that account //// -- Amount Pledged: Sum of all Pledges to that account - //// -- Amount Given: + //// -- Amount Given: //// -- The sum of transaction amounts to that account between //// -- Start Date: Earliest Start Date of all the pledges to that account //// -- End Date: Whatever is earlier (Statement End Date or Pledges' End Date) diff --git a/Rock.StatementGenerator/app.config b/Rock.StatementGenerator/app.config index 1b1cdeb9cac..44fbb66a41b 100644 --- a/Rock.StatementGenerator/app.config +++ b/Rock.StatementGenerator/app.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Tests.Integration/Modules/Core/Lava/Commands/SqlTests.cs b/Rock.Tests.Integration/Modules/Core/Lava/Commands/SqlTests.cs index 40efe20ae65..fd205f88c26 100644 --- a/Rock.Tests.Integration/Modules/Core/Lava/Commands/SqlTests.cs +++ b/Rock.Tests.Integration/Modules/Core/Lava/Commands/SqlTests.cs @@ -201,7 +201,7 @@ public void SqlSelectShortTimeoutShouldFail() var lavaScript = @"{% sql timeout:'10' %} WAITFOR DELAY '00:00:20'; - SELECT TOP 5 * + SELECT TOP 5 * FROM Person {% endsql %} @@ -229,7 +229,7 @@ public void SqlSelectLongTimeoutShouldPass() var lavaScript = @"{% sql timeout:'40' %} WAITFOR DELAY '00:00:35'; - SELECT TOP 5 * + SELECT TOP 5 * FROM Person {% endsql %} @@ -255,7 +255,7 @@ public void SqlSelectNoTimeoutShouldPass() { var lavaScript = @"{% sql %} - SELECT TOP 5 * + SELECT TOP 5 * FROM Person {% endsql %} @@ -283,7 +283,7 @@ public void SqlSelectNoTimeoutButQueryLongerThen30SecondsShouldFail() var lavaScript = @"{% sql %} WAITFOR DELAY '00:00:35'; - SELECT TOP 5 * + SELECT TOP 5 * FROM Person {% endsql %} diff --git a/Rock.Tests.Integration/Modules/Core/Lava/FileSystem/LavaFileSystemTests.cs b/Rock.Tests.Integration/Modules/Core/Lava/FileSystem/LavaFileSystemTests.cs index 31a1bfeff5d..7c93d93775c 100644 --- a/Rock.Tests.Integration/Modules/Core/Lava/FileSystem/LavaFileSystemTests.cs +++ b/Rock.Tests.Integration/Modules/Core/Lava/FileSystem/LavaFileSystemTests.cs @@ -155,7 +155,7 @@ private MockFileProvider GetMockFileProvider() // Add a lava template that references merge fields from the outer template. var contactDetailsTemplate = @" Mobile: {{ mobilePhone }} -Home: {{ homePhone }} +Home: {{ homePhone }} Work: {{ workPhone }} Email: {{ email }} "; diff --git a/Rock.Tests.Integration/Modules/Core/Lava/LavaIntegrationTestHelper.cs b/Rock.Tests.Integration/Modules/Core/Lava/LavaIntegrationTestHelper.cs index 36c9acac7be..40bed4a2187 100644 --- a/Rock.Tests.Integration/Modules/Core/Lava/LavaIntegrationTestHelper.cs +++ b/Rock.Tests.Integration/Modules/Core/Lava/LavaIntegrationTestHelper.cs @@ -517,7 +517,6 @@ public string GetTemplateOutput( ILavaEngine engine, string inputTemplate, LavaD return result.Text; } - /// /// Process the specified input template and return the result. /// diff --git a/Rock.Tests.Performance/app.config b/Rock.Tests.Performance/app.config index 344c2ee84c4..69a84f571cb 100644 --- a/Rock.Tests.Performance/app.config +++ b/Rock.Tests.Performance/app.config @@ -18,7 +18,6 @@ - @@ -59,7 +58,7 @@ - + @@ -95,7 +94,7 @@ - + @@ -103,7 +102,7 @@ - + @@ -115,7 +114,7 @@ - + @@ -143,38 +142,10 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Rock.Tests.UnitTests/Rock.Tests.UnitTests.csproj b/Rock.Tests.UnitTests/Rock.Tests.UnitTests.csproj index 1fdf1576912..94b8da921d7 100644 --- a/Rock.Tests.UnitTests/Rock.Tests.UnitTests.csproj +++ b/Rock.Tests.UnitTests/Rock.Tests.UnitTests.csproj @@ -267,7 +267,7 @@ - diff --git a/Rock.Update/App.config b/Rock.Update/App.config index 56a52364c4b..56dd7b986a9 100644 --- a/Rock.Update/App.config +++ b/Rock.Update/App.config @@ -1,7 +1,7 @@  - +
diff --git a/Rock.Version/AssemblySharedInfo.cs b/Rock.Version/AssemblySharedInfo.cs index e31e423b833..e985cc64959 100644 --- a/Rock.Version/AssemblySharedInfo.cs +++ b/Rock.Version/AssemblySharedInfo.cs @@ -16,15 +16,15 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// +// // This code was generated by a tool. Any changes made manually will be lost // the next time this code is regenerated. -// +// // // using System.Reflection; -// General Information about an assembly is controlled through the following +// General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyDescription( "Rock RMS Core Assembly. Rock RMS is a community supported open-source Church Management System that provides innovative features to churches of all sizes." )] @@ -36,7 +36,7 @@ [assembly: AssemblyConfiguration( "" )] // WARNING: Before you monkey with any of these values -// make sure you read "The bottom line:" in this article: +// make sure you read "The bottom line:" in this article: // http://stackoverflow.com/questions/64602/what-are-differences-between-assemblyversion-assemblyfileversion-and-assemblyin // The AssemblyVersion number should change only when we are @@ -46,9 +46,9 @@ [assembly: AssemblyFileVersion( "1.17.0.5" )] -// This is the "official" product name that will be shown to people. +// This is the "official" product name that will be shown to people. // It's shown in the SystemInfo details and perhaps the RockUpdate page. [assembly: AssemblyInformationalVersion( "Rock McKinley 17.0" )] - + diff --git a/Rock.WebStartup/RockApplicationStartupHelper.cs b/Rock.WebStartup/RockApplicationStartupHelper.cs index dac27533cd1..a972edf322c 100644 --- a/Rock.WebStartup/RockApplicationStartupHelper.cs +++ b/Rock.WebStartup/RockApplicationStartupHelper.cs @@ -1183,4 +1183,4 @@ private static Assembly AppDomain_AssemblyResolve( object sender, ResolveEventAr return null; } } -} +} \ No newline at end of file diff --git a/Rock.sln b/Rock.sln index 76911cce02e..0fd02aab98f 100644 --- a/Rock.sln +++ b/Rock.sln @@ -1,13 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.3.32804.467 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32002.261 MinimumVisualStudioVersion = 10.0.40219.1 Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "RockWeb", "RockWeb\", "{E43B5D55-BED0-4E74-BF97-9327F9A9D656}" - ProjectSection(ProjectDependencies) = postProject - {11ACFF28-4199-450B-8A43-F59ADEF63A99} = {11ACFF28-4199-450B-8A43-F59ADEF63A99} - {A4FB4B9B-3564-4C25-938C-4350A9515B24} = {A4FB4B9B-3564-4C25-938C-4350A9515B24} - EndProjectSection ProjectSection(WebsiteProperties) = preProject TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.7.2" ProjectReferences = "{185a31d7-3037-4dae-8797-0459849a84bd}|Rock.dll;{d6b19c0d-da5e-4f75-8001-04ded86b741f}|Rock.Mailgun.dll;{f3692909-952d-4c4a-b2d2-d90d0083cf53}|Rock.NMI.dll;{a005d091-140e-4ec4-bcdf-cf7d42bb702c}|Rock.PayFlowPro.dll;{add1edd0-a4cb-4e82-b6ad-6ad1d556deae}|Rock.Rest.dll;{6fe0930c-6832-4c2f-8a76-d4e4a2d80ddf}|Rock.Version.dll;{1f5956f2-2b0f-49b8-aaf1-2cc28f01426a}|Rock.SignNow.dll;{69AC175C-3997-4514-8C9E-5D24811928C2}|SignNowSDK.dll;{c1dd2402-5fb2-411e-bf8d-5d9cb3a58e8b}|Rock.Slingshot.dll;{962944DE-8BF4-4175-B55A-E75CF7918272}|Rock.Slingshot.Model.dll;{42edf2dd-5284-4b64-93c3-5186619d2b14}|Rock.StatementGenerator.dll;{5055f482-72c7-4cc9-8ed0-a77090c777db}|Rock.Security.Authentication.Auth0.dll;{515e22e4-4b9b-4886-8477-e5b312b75eb4}|Rock.WebStartup.dll;{94a5f880-31ae-4889-b9be-ba1fdc258e83}|Rock.Checkr.dll;{cadd9206-2c6b-42e4-b20b-2dfc3eb4d6d4}|Rock.DownhillCss.dll;{13711bed-69dd-4182-9bb5-b3c9a4de32df}|Rock.MyWell.dll;{205f439a-2ccc-42c1-b1ab-09e1b629d88c}|Rock.SendGrid.dll;{8ccb8e2a-073c-48cb-b31a-621ec5430a42}|Rock.Oidc.dll;{37E293DD-F282-4A34-91FA-5FB8503D5672}|Rock.Lava.dll;{8820CD93-70EE-496D-B17B-0C4C68DD4957}|Rock.Lava.Shared.dll;{50174698-828B-49FB-8DD6-6F9D1B4651A4}|Rock.Common.Web.dll;{13568622-324E-4493-B605-C9896E725D30}|Rock.Common.dll;{00EDCB8D-EF33-459C-AD62-02876BD24DFF}|DotLiquid.dll;{b62b27c8-1f77-43cf-8ee7-30de7f93facd}|Rock.Update.dll;{E8C5F154-201F-4C67-BCDC-34787DEFFEAE}|Rock.Blocks.dll;{05baaf85-9c53-4ccd-a535-036427b0df72}|Rock.ViewModels.dll;{79AA470A-DC63-4CB4-B0B6-77285F60C69B}|Rock.Lava.DotLiquid.dll;{AFCE6F84-BF3A-4182-A816-8FB47AFC0305}|Rock.Lava.Fluid.dll;{61DECE2B-0434-435E-8D65-49A4FDF98365}|Rock.Enums.dll;{704740D8-B539-4560-9F8C-681670C9D6AD}|Rock.Migrations.dll;{bab8bf5e-6457-4668-adf1-b917100ba7cd}|Rock.AI.OpenAI.dll;" @@ -28,6 +24,10 @@ Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "RockWeb", "RockWeb\", "{E43 VWDPort = "6229" SlnRelativePath = "RockWeb\" EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {11ACFF28-4199-450B-8A43-F59ADEF63A99} = {11ACFF28-4199-450B-8A43-F59ADEF63A99} + {A4FB4B9B-3564-4C25-938C-4350A9515B24} = {A4FB4B9B-3564-4C25-938C-4350A9515B24} + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotLiquid", "DotLiquid\DotLiquid.csproj", "{00EDCB8D-EF33-459C-AD62-02876BD24DFF}" EndProject @@ -124,6 +124,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rock.Tests.Performance", "R EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rock.AI.OpenAI", "Rock.AI.OpenAI\Rock.AI.OpenAI.csproj", "{BAB8BF5E-6457-4668-ADF1-B917100BA7CD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "apollosProject.OneSignal", "..\apollos-onesignal\apollosProject.OneSignal.csproj", "{237D789F-52EF-48EF-A213-8D2284A6DE6F}" + ProjectSection(ProjectDependencies) = postProject + {13568622-324E-4493-B605-C9896E725D30} = {13568622-324E-4493-B605-C9896E725D30} + {185A31D7-3037-4DAE-8797-0459849A84BD} = {185A31D7-3037-4DAE-8797-0459849A84BD} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -294,6 +300,10 @@ Global {BAB8BF5E-6457-4668-ADF1-B917100BA7CD}.Debug|Any CPU.Build.0 = Debug|Any CPU {BAB8BF5E-6457-4668-ADF1-B917100BA7CD}.Release|Any CPU.ActiveCfg = Release|Any CPU {BAB8BF5E-6457-4668-ADF1-B917100BA7CD}.Release|Any CPU.Build.0 = Release|Any CPU + {237D789F-52EF-48EF-A213-8D2284A6DE6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {237D789F-52EF-48EF-A213-8D2284A6DE6F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {237D789F-52EF-48EF-A213-8D2284A6DE6F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {237D789F-52EF-48EF-A213-8D2284A6DE6F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Rock/CheckIn/CheckInBlock.cs b/Rock/CheckIn/CheckInBlock.cs index 5a938cd0eef..9cc972ed7c4 100644 --- a/Rock/CheckIn/CheckInBlock.cs +++ b/Rock/CheckIn/CheckInBlock.cs @@ -131,12 +131,12 @@ protected static class LavaMergeFieldName public const string Individual = "Individual"; /// - /// Lava Merge field 'SelectedArea' + /// Lava Merge field 'SelectedArea' /// public const string SelectedArea = "SelectedArea"; /// - /// Lava Merge field 'SelectedGroup' + /// Lava Merge field 'SelectedGroup' /// public const string SelectedGroup = "SelectedGroup"; @@ -329,7 +329,7 @@ public struct CheckInCookie } /// - /// Gets a value indicating whether the kiosk has active group types and locations that + /// Gets a value indicating whether the kiosk has active group types and locations that /// are open for check-in or check-out. /// /// @@ -578,7 +578,7 @@ protected virtual List ProcessSelection( Rock.Web.UI.Controls.ModalAlert /// /// Processes the selection, save state and navigates to the next page if no errors - /// are encountered during processing the activity. + /// are encountered during processing the activity. /// /// The modal alert control to show if errors occur. /// A condition that must be met after processing @@ -891,7 +891,7 @@ public virtual bool RequiresSelection( bool backingUp ) /// /// Loads a check-in block to determine if it will require a selection or not. This is used to find the - /// next page/block that does require a selection so that user can be redirected once to that block, + /// next page/block that does require a selection so that user can be redirected once to that block, /// rather than just continuously redirected to next/previous page blocks and possibly exceeding the maximum /// number of redirects. /// diff --git a/Rock/Communication/Transport/OneSignal.cs b/Rock/Communication/Transport/OneSignal.cs new file mode 100644 index 00000000000..c3023254f4c --- /dev/null +++ b/Rock/Communication/Transport/OneSignal.cs @@ -0,0 +1,287 @@ +// +// Copyright by the Spark Development Network +// +// Licensed under the Rock Community License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.rockrms.com/license +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.Composition; +using System.Linq; +using System.Net.Mail; + +using Rock.Attribute; +using Rock.Data; +using Rock.Model; +using Rock.Web.Cache; +using Apollos.OneSignal.RestAPIv3.Client; +using Apollos.OneSignal.RestAPIv3.Client.Resources; +using Apollos.OneSignal.RestAPIv3.Client.Resources.Notifications; + +namespace Rock.Communication.Transport +{ + /// + /// Communication transport for sending push notifications using OneSignal + /// + [Description( "Sends a communication through OneSignal API" )] + [Export( typeof( TransportComponent ) )] + [ExportMetadata( "ComponentName", "OneSignal" )] + [TextField( "AppId", "The App Id for your OneSignal account", true, "", "", 1 )] + [TextField( "RestAPIKey", "The Rest API key for your OneSignal account", true, "", "", 2)] + class OneSignal : TransportComponent + { + + /// + /// Sends the specified rock message. + /// + /// The rock message. + /// The medium entity type identifier. + /// The medium attributes. + /// The error messages. + /// + public override bool Send( RockMessage rockMessage, int mediumEntityTypeId, Dictionary mediumAttributes, out List errorMessages ) + { + errorMessages = new List(); + + var pushMessage = rockMessage as RockPushMessage; + if ( pushMessage != null ) + { + // Common Merge Field + var mergeFields = Lava.LavaHelper.GetCommonMergeFields( null, rockMessage.CurrentPerson ); + foreach ( var mergeField in rockMessage.AdditionalMergeFields ) + { + mergeFields.AddOrReplace( mergeField.Key, mergeField.Value ); + } + + var recipients = rockMessage.GetRecipients(); + RockContext rockContext = new RockContext(); + + if ( pushMessage.SendSeperatelyToEachRecipient ) + { + foreach ( var recipient in recipients ) + { + try + { + foreach ( var mergeField in mergeFields ) + { + recipient.MergeFields.AddOrIgnore( mergeField.Key, mergeField.Value ); + } + Person recipientPerson = ( Person ) recipient.MergeFields.GetValueOrNull( "Person" ); + string personAliasId = recipientPerson.Aliases.FirstOrDefault().Id.ToString(); + PushMessage( new List { personAliasId }, pushMessage, recipient.MergeFields ); + } + catch ( Exception ex ) + { + errorMessages.Add( ex.Message ); + ExceptionLogService.LogException( ex, null ); + } + } + } + else + { + try + { + foreach( var recipient in recipients ) + { + Person recipientPerson = (Person)mergeFields.GetValueOrNull("Person"); + string personAliasId = recipientPerson.Aliases.FirstOrDefault().Id.ToString(); + recipient.MergeFields.Add("PersonAliasId", personAliasId); + } + PushMessage( recipients.Select( r => r.MergeFields.GetValueOrNull("PersonAliasId").ToString() ).ToList(), pushMessage, mergeFields ); + } + catch ( Exception ex ) + { + errorMessages.Add( ex.Message ); + ExceptionLogService.LogException( ex, null ); + } + } + } + + return !errorMessages.Any(); + + } + + /// + /// Sends the specified communication from the Communication Wizard in Rock. + /// + /// The communication. + /// The medium entity type identifier. + /// The medium attributes. + /// + public override void Send( Model.Communication communication, int mediumEntityTypeId, Dictionary mediumAttributes ) + { + using ( var communicationRockContext = new RockContext() ) + { + // Requery the Communication + communication = new CommunicationService( communicationRockContext ) + .Queryable( "CreatedByPersonAlias.Person" ) + .FirstOrDefault( c => c.Id == communication.Id ); + + bool hasPendingRecipients; + if ( communication != null && + communication.Status == Model.CommunicationStatus.Approved && + ( !communication.FutureSendDateTime.HasValue || communication.FutureSendDateTime.Value.CompareTo( RockDateTime.Now ) <= 0 ) ) + { + var qryRecipients = new CommunicationRecipientService( communicationRockContext ).Queryable(); + hasPendingRecipients = qryRecipients + .Where( r => + r.CommunicationId == communication.Id && + r.Status == Model.CommunicationRecipientStatus.Pending && + r.MediumEntityTypeId.HasValue && + r.MediumEntityTypeId.Value == mediumEntityTypeId ) + .Any(); + } + else + { + hasPendingRecipients = false; + } + + if ( hasPendingRecipients ) + { + var currentPerson = communication.CreatedByPersonAlias?.Person; + var globalAttributes = GlobalAttributesCache.Get(); + string publicAppRoot = globalAttributes.GetValue( "PublicApplicationRoot" ).EnsureTrailingForwardslash(); + var mergeFields = Lava.LavaHelper.GetCommonMergeFields( null, currentPerson ); + + var personEntityTypeId = EntityTypeCache.Get( "Rock.Model.Person" ).Id; + var communicationEntityTypeId = EntityTypeCache.Get( "Rock.Model.Communication" ).Id; + var communicationCategoryId = CategoryCache.Get( Rock.SystemGuid.Category.HISTORY_PERSON_COMMUNICATIONS.AsGuid(), communicationRockContext ).Id; + + bool recipientFound = true; + while ( recipientFound ) + { + // make a new rockContext per recipient + var recipientRockContext = new RockContext(); + var recipient = Model.Communication.GetNextPending( communication.Id, mediumEntityTypeId, recipientRockContext ); + if (recipient != null) + { + if (ValidRecipient(recipient, communication.IsBulkCommunication)) + { + if ( recipient.PersonAliasId.HasValue ) + { + try + { + var mergeObjects = recipient.CommunicationMergeValues(mergeFields); + var message = ResolveText(communication.PushMessage, currentPerson, communication.EnabledLavaCommands, mergeObjects, publicAppRoot); + var title = ResolveText(communication.PushTitle, currentPerson, communication.EnabledLavaCommands, mergeObjects, publicAppRoot); + var sound = ResolveText( communication.PushSound, currentPerson, communication.EnabledLavaCommands, mergeObjects, publicAppRoot ); + var data = ResolveText(communication.PushData, currentPerson, communication.EnabledLavaCommands, mergeFields, publicAppRoot); + var jsonData = Newtonsoft.Json.JsonConvert.DeserializeObject(data); + var url = jsonData.Url; + string appId = GetAttributeValue("AppId"); + string restApiKey = GetAttributeValue("RestAPIKey"); + OneSignalClient client = new OneSignalClient(restApiKey); + + var options = new NotificationCreateOptions + { + AppId = new Guid(appId), + IncludeExternalUserIds = new List { recipient.PersonAliasId.ToString() } + }; + + options.Headings.Add(LanguageCodes.English, title); + options.Contents.Add(LanguageCodes.English, message); + options.Url = url; + NotificationCreateResult response = client.Notifications.Create(options); + + bool failed = !string.IsNullOrWhiteSpace(response.Error); + + var status = failed ? CommunicationRecipientStatus.Failed : CommunicationRecipientStatus.Delivered; + + if (failed) + { + recipient.StatusNote = "OneSignal failed to notify devices"; + } + else + { + recipient.SendDateTime = RockDateTime.Now; + } + + recipient.Status = status; + recipient.TransportEntityTypeName = this.GetType().FullName; + recipient.UniqueMessageId = response.Id; + + try + { + var historyService = new HistoryService(recipientRockContext); + historyService.Add(new History + { + CreatedByPersonAliasId = communication.SenderPersonAliasId, + EntityTypeId = personEntityTypeId, + CategoryId = communicationCategoryId, + EntityId = recipient.PersonAlias.PersonId, + Verb = History.HistoryVerb.Sent.ConvertToString().ToUpper(), + ChangeType = History.HistoryChangeType.Record.ToString(), + ValueName = "Push Notification", + Caption = message.Truncate(200), + RelatedEntityTypeId = communicationEntityTypeId, + RelatedEntityId = communication.Id + }); + } + catch (Exception ex) + { + ExceptionLogService.LogException(ex, null); + } + + } + catch (Exception ex) + { + recipient.Status = CommunicationRecipientStatus.Failed; + recipient.StatusNote = "OneSignal Exception: " + ex.Message; + } + } + } + + recipientRockContext.SaveChanges(); + } + else + { + recipientFound = false; + } + } + } + } + } + + /// + /// Pushes the message. + /// + /// The sender. + /// To. + /// The email message. + /// The merge fields. + //private void PushMessage( Sender sender, List to, RockPushMessage pushMessage, Dictionary mergeFields ) + private void PushMessage( List to, RockPushMessage pushMessage, Dictionary mergeFields ) + { + string title = ResolveText( pushMessage.Title, pushMessage.CurrentPerson, pushMessage.EnabledLavaCommands, mergeFields, pushMessage.AppRoot, pushMessage.ThemeRoot ); + string sound = ResolveText( pushMessage.Sound, pushMessage.CurrentPerson, pushMessage.EnabledLavaCommands, mergeFields, pushMessage.AppRoot, pushMessage.ThemeRoot ); + string message = ResolveText( pushMessage.Message, pushMessage.CurrentPerson, pushMessage.EnabledLavaCommands, mergeFields, pushMessage.AppRoot, pushMessage.ThemeRoot ); + string url = ResolveText(pushMessage.Data.Url, pushMessage.CurrentPerson, pushMessage.EnabledLavaCommands, mergeFields, pushMessage.AppRoot, pushMessage.ThemeRoot); + string appId = GetAttributeValue( "AppId" ); + string restApiKey = GetAttributeValue( "RestAPIKey" ); + OneSignalClient client = new OneSignalClient( restApiKey ); + + var options = new NotificationCreateOptions + { + AppId = new Guid( appId ), + IncludeExternalUserIds = to + }; + + options.Headings.Add(LanguageCodes.English, title ); + options.Contents.Add(LanguageCodes.English, message ); + options.Url = url; + client.Notifications.Create(options ); + + } + } +} diff --git a/Rock/Finance/StatementTemplate/ReportSetting.cs b/Rock/Finance/StatementTemplate/ReportSetting.cs new file mode 100644 index 00000000000..109af264b68 --- /dev/null +++ b/Rock/Finance/StatementTemplate/ReportSetting.cs @@ -0,0 +1,168 @@ +// +// Copyright by the Spark Development Network +// +// Licensed under the Rock Community License (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.rockrms.com/license +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Rock.Finance.ReportSetting +{ + /// + /// Initializes a new instance of the class. + /// + [Serializable] + public class ReportSetting + { + /// + /// Initializes a new instance of the class. + /// + public ReportSetting() + { + this.TransactionSetting = new TransactionSetting(); + this.PledgeSetting = new PledgeSetting(); + this.PDFObjectSettings = new Dictionary(); + } + + /// + /// Gets or sets the transaction settings. + /// + /// + /// The transaction settings. + /// + public TransactionSetting TransactionSetting { get; set; } + + /// + /// Gets or sets the pledge settings. + /// + /// + /// The pledge settings. + /// + public PledgeSetting PledgeSetting { get; set; } + + /// + /// Gets or sets the dictionary of Key,Value for PDF Object Settings. + /// + /// + /// The Dictionary of Key,Value for PDF Object Settings. + /// + public Dictionary PDFObjectSettings { get; set; } + } + + /// + /// Initializes a new instance of the class. + /// + public class TransactionSetting + { + /// + /// Initializes a new instance of the class. + /// + public TransactionSetting() + { + AccountIds = new List(); + CurrencyTypesForCashGiftIds = new List(); + CurrencyTypesForNonCashIds = new List(); + TransactionTypeIds = new List(); + } + + /// + /// Gets or sets the account identifiers. + /// + /// + /// The account identifiers. + /// + public List AccountIds { get; set; } + + /// + /// Gets or sets the currency types for cash gifts. + /// + /// + /// The currency types for cash gifts. + /// + public List CurrencyTypesForCashGiftIds { get; set; } + + /// + /// Gets or sets the currency types for non-cash gifts. + /// + /// + /// The currency types for non-cash gifts. + /// + public List CurrencyTypesForNonCashIds { get; set; } + + /// + /// Gets or sets the transaction types. + /// + /// + /// The transaction types. + /// + public List TransactionTypeIds { get; set; } + + /// + /// Gets or sets a value indicating whether refunded transaction should be hidden. + /// + /// + /// true if refunded transaction should be hidden; otherwise, false. + /// + public bool HideRefundedTransaction { get; set; } + + /// + /// Gets or sets a value indicating whether corrected transaction on same date should be hidden. + /// + /// + /// true if corrected transaction on same date should be hidden; otherwise, false. + /// + public bool HideCorrectedTransactionOnSameData { get; set; } + } + + /// + /// Initializes a new instance of the class. + /// + public class PledgeSetting + { + /// + /// Initializes a new instance of the class. + /// + public PledgeSetting() + { + AccountIds = new List(); + } + + /// + /// Gets or sets the account identifiers. + /// + /// + /// The account identifiers. + /// + public List AccountIds { get; set; } + + /// + /// Gets or sets a value indicating whether gifts to child accounts should be included. + /// + /// + /// true if [include gifts to child accounts]; otherwise, false. + /// + public bool IncludeGiftsToChildAccounts { get; set; } + + /// + /// Gets or sets a value indicating whether non-cash gifts should be included. + /// + /// + /// true if [include non-cash gifts]; otherwise, false. + /// + public bool IncludeNonCashGifts { get; set; } + } +} diff --git a/Rock/Jobs/SyncMedia.cs b/Rock/Jobs/SyncMedia.cs index 80a62b2fbfc..3211fd21d0e 100644 --- a/Rock/Jobs/SyncMedia.cs +++ b/Rock/Jobs/SyncMedia.cs @@ -53,7 +53,7 @@ private static class AttributeKey public const string LimitFullSyncToOnceADay = "LimitFullSyncToOnceADay"; } - /// + /// /// Empty constructor for job initialization. /// public SyncMedia() diff --git a/Rock/Lava/Filters/LavaFilters.cs b/Rock/Lava/Filters/LavaFilters.cs index 2d57b46fde4..a7c7ee54275 100644 --- a/Rock/Lava/Filters/LavaFilters.cs +++ b/Rock/Lava/Filters/LavaFilters.cs @@ -2781,7 +2781,7 @@ public static object AppendFollowing( ILavaRenderContext context, object dataObj } else { - // if the dataObject is neither a single IEntity or a list if IEntity, it is probably from a PersistedDataset + // if the dataObject is neither a single IEntity or a list if IEntity, it is probably from a PersistedDataset if ( isCollection ) { IEnumerable dataObjectAsCollection = dataObject as IEnumerable; @@ -3011,7 +3011,7 @@ public static object FilterNotFollowed( ILavaRenderContext context, object dataO } /// - /// + /// /// private enum FollowFilterType { diff --git a/Rock/Utility/ExtensionMethods/LavaLibraryExtensions.cs b/Rock/Utility/ExtensionMethods/LavaLibraryExtensions.cs index a4cb05aed03..271f4ef153b 100644 --- a/Rock/Utility/ExtensionMethods/LavaLibraryExtensions.cs +++ b/Rock/Utility/ExtensionMethods/LavaLibraryExtensions.cs @@ -57,7 +57,7 @@ public static string GetLavaDataObjectInfo( this object lavaObject, RockContext int maxWaitMS = 10000; - System.Web.HttpContext taskContext = System.Web.HttpContext.Current; + System.Web.HttpContext taskContext = System.Web.HttpContext.Current; var formatLavaTask = new Task( () => { System.Web.HttpContext.Current = taskContext; @@ -196,7 +196,7 @@ private static object GetLavaDataObjectChildInfo( this object myObject, int leve foreach ( var key in liquidObject.AvailableKeys ) { - // Ignore the person property of the person's primary alias (prevent unnecessary recursion) + // Ignore the person property of the person's primary alias (prevent unnecessary recursion) if ( key == "Person" && parentElement.Contains( ".PrimaryAlias" ) ) { result.AddOrIgnore( key, string.Empty ); diff --git a/RockWeb/.well-known/acme-challenge/configcheck b/RockWeb/.well-known/acme-challenge/configcheck new file mode 100644 index 00000000000..5ab7bff4dcd --- /dev/null +++ b/RockWeb/.well-known/acme-challenge/configcheck @@ -0,0 +1 @@ +Extensionless File Config Test - OK \ No newline at end of file diff --git a/RockWeb/.well-known/apple-app-site-association b/RockWeb/.well-known/apple-app-site-association new file mode 100644 index 00000000000..d8de598a37c --- /dev/null +++ b/RockWeb/.well-known/apple-app-site-association @@ -0,0 +1,46 @@ +{ + "applinks": { + "apps": [], + "details": [ + { + "appID": "7TM8C6252Z.com.subsplashstudio31.NewSpring-Church", + "components": [ + { + "/": "/articles/*" + }, + { + "/": "/devotionals/*" + }, + { + "/": "/devotionals/*/*" + }, + { + "/": "/stories/*" + }, + { + "/": "/sermons/*" + }, + { + "/": "/sermons/*/*" + }, + { + "/": "/news/*" + }, + { + "/": "/staff/news/*" + } + ], + "paths": [ + "/articles/*", + "/devotionals/*", + "/devotionals/*/*", + "/stories/*", + "/sermons/*", + "/sermons/*/*", + "/news/*", + "/staff/news/*" + ] + } + ] + } +} diff --git a/RockWeb/.well-known/assetlinks.json b/RockWeb/.well-known/assetlinks.json new file mode 100644 index 00000000000..f0df1081058 --- /dev/null +++ b/RockWeb/.well-known/assetlinks.json @@ -0,0 +1,12 @@ +[ + { + "relation": ["delegate_permission/common.handle_all_urls"], + "target": { + "namespace": "android_app", + "package_name": "cc.newspring.newspringapp", + "sha256_cert_fingerprints": [ + "2D:C1:2D:18:D9:3A:2C:90:06:E7:68:00:EB:8C:43:EA:04:BF:44:A1:0E:AD:35:00:DE:E9:81:E6:6D:8D:31:9B" + ] + } + } +] diff --git a/RockWeb/App_Data/TriumphTech-WebAgility/RedirectorRules.json b/RockWeb/App_Data/TriumphTech-WebAgility/RedirectorRules.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/RockWeb/App_Data/TriumphTech-WebAgility/RequestHeaderRules.json b/RockWeb/App_Data/TriumphTech-WebAgility/RequestHeaderRules.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/RockWeb/App_Data/TriumphTech-WebAgility/ResponseHeaderRules.json b/RockWeb/App_Data/TriumphTech-WebAgility/ResponseHeaderRules.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/RockWeb/Assets/Lava/MyWorkflowsSortable.lava b/RockWeb/Assets/Lava/MyWorkflowsSortable.lava index 23348f14cb1..5171d18bccd 100644 --- a/RockWeb/Assets/Lava/MyWorkflowsSortable.lava +++ b/RockWeb/Assets/Lava/MyWorkflowsSortable.lava @@ -40,7 +40,7 @@ {% if Role == 0 %} {% comment %}Role is 'Assigned To', go to WorkflowEntry page {% endcomment %} - {{ action.Activity.Workflow.Name }} ({{ action.Activity.ActivityType.Name }}) + {{ action.Activity.Workflow.Name }} {% else %} {% comment %}Role is 'Initiated', go to Workflow Detail page {% endcomment %} {{ action.Activity.Workflow.Name }} diff --git a/RockWeb/Blocks/CheckIn/GroupSelect.ascx.cs b/RockWeb/Blocks/CheckIn/GroupSelect.ascx.cs index 9311fdf7ca5..9d7877adbdb 100644 --- a/RockWeb/Blocks/CheckIn/GroupSelect.ascx.cs +++ b/RockWeb/Blocks/CheckIn/GroupSelect.ascx.cs @@ -25,7 +25,7 @@ using Rock; using Rock.Attribute; using Rock.CheckIn; -using Rock.Model; +using Rock.Model; namespace RockWeb.Blocks.CheckIn { diff --git a/RockWeb/Blocks/CheckIn/GroupTypeSelect.ascx.cs b/RockWeb/Blocks/CheckIn/GroupTypeSelect.ascx.cs index d73a758473c..3517a2e66c3 100644 --- a/RockWeb/Blocks/CheckIn/GroupTypeSelect.ascx.cs +++ b/RockWeb/Blocks/CheckIn/GroupTypeSelect.ascx.cs @@ -40,7 +40,7 @@ namespace RockWeb.Blocks.CheckIn Description = "Select this option if end-user should never see screen to select group types, all group types will automatically be selected and all the groups in all types will be available.", DefaultBooleanValue = false, Order = 8 )] - + [TextField( "Caption", Key = AttributeKey.Caption, IsRequired = false, diff --git a/RockWeb/Blocks/CheckIn/LocationSelect.ascx.cs b/RockWeb/Blocks/CheckIn/LocationSelect.ascx.cs index 1054f819c48..b8506e7d4b2 100644 --- a/RockWeb/Blocks/CheckIn/LocationSelect.ascx.cs +++ b/RockWeb/Blocks/CheckIn/LocationSelect.ascx.cs @@ -78,7 +78,7 @@ public partial class LocationSelect : CheckInBlockMultiPerson public const string MultiPersonFirstPage = CheckInBlockMultiPerson.AttributeKey.MultiPersonFirstPage; public const string MultiPersonDonePage = CheckInBlockMultiPerson.AttributeKey.MultiPersonDonePage; } - + /// /// Determines if the block requires that a selection be made. This is used to determine if user should /// be redirected to this block or not. @@ -263,7 +263,7 @@ protected override void OnLoad( EventArgs e ) { pnlNoOptions.Visible = true; rSelection.Visible = false; - lNoOptions.Text = string.Format( GetAttributeValue( AttributeKey.NoOptionMessage ), + lNoOptions.Text = string.Format( GetAttributeValue( AttributeKey.NoOptionMessage ), person.Person.NickName, person.CurrentSchedule != null ? person.CurrentSchedule.ToString() : "this time" ); } @@ -313,7 +313,7 @@ private string GetTitleText() var locationSelectHeaderLavaTemplate = CurrentCheckInState.CheckInType.LocationSelectHeaderLavaTemplate ?? string.Empty; return locationSelectHeaderLavaTemplate.ResolveMergeFields( mergeFields ); } - + /// /// Handles the ItemCommand event of the rSelection control. /// @@ -402,7 +402,7 @@ protected void lbCancel_Click( object sender, EventArgs e ) protected string FormatCount( int locationId ) { if ( CurrentCheckInType != null && CurrentCheckInType.DisplayLocationCount ) - { + { return string.Format( " Count: {0}", KioskLocationAttendance.Get( locationId ).CurrentCount ); } diff --git a/RockWeb/Blocks/CheckIn/TimeSelect.ascx.cs b/RockWeb/Blocks/CheckIn/TimeSelect.ascx.cs index c96b64323a3..2e785a7421b 100644 --- a/RockWeb/Blocks/CheckIn/TimeSelect.ascx.cs +++ b/RockWeb/Blocks/CheckIn/TimeSelect.ascx.cs @@ -110,7 +110,7 @@ protected override void OnLoad( EventArgs e ) lbSelect.Attributes.Add( "data-loading-text", "Loading..." ); } else - { + { CheckInPerson person = CurrentCheckInState.CheckIn.Families.Where( f => f.Selected ).SelectMany( f => f.People.Where( p => p.Selected ) ).FirstOrDefault(); CheckInGroup group = null; CheckInLocation location = null; @@ -230,7 +230,7 @@ private string GetTitleText() var selectedLocation = selectedGroup?.Locations.Where( l => l.Selected ).FirstOrDefault()?.Location; var selectedIndividuals = CurrentCheckInState.CheckIn.CurrentFamily.People.Where( p => p.Selected == true ).Select( p => p.Person ); - + var mergeFields = new Dictionary { { LavaMergeFieldName.Family, CurrentCheckInState.CheckIn.CurrentFamily.Group }, @@ -249,7 +249,7 @@ protected void lbSelect_Click( object sender, EventArgs e ) if ( KioskCurrentlyActive ) { var schedules = new List(); - bool validateSelection = false; + bool validateSelection = false; var selectedIDs = hfTimes.Value.SplitDelimitedValues().AsIntegerList(); if ( CurrentCheckInType != null && CurrentCheckInType.TypeOfCheckin == TypeOfCheckin.Family ) diff --git a/RockWeb/Blocks/Cms/ContentChannelView.ascx.cs b/RockWeb/Blocks/Cms/ContentChannelView.ascx.cs index f1a6916bf52..7f7014e020f 100644 --- a/RockWeb/Blocks/Cms/ContentChannelView.ascx.cs +++ b/RockWeb/Blocks/Cms/ContentChannelView.ascx.cs @@ -426,7 +426,7 @@ protected void lbSave_Click( object sender, EventArgs e ) if ( !dataViewFilter.IsValid ) { - // Controls will render the error messages + // Controls will render the error messages return; } @@ -554,7 +554,7 @@ protected void groupControl_DeleteGroupClick( object sender, EventArgs e ) /// protected override void ShowSettings() { - // Switch does not automatically initialize again after a partial-postback. This script + // Switch does not automatically initialize again after a partial-postback. This script // looks for any switch elements that have not been initialized and re-initializes them. string script = @" $(document).ready(function() { @@ -630,7 +630,7 @@ protected override void ShowSettings() /// /// Shows the content channel item or items. If an output cache duration is set, - /// the content will attempt to be fetched from cache unless any of the following + /// the content will attempt to be fetched from cache unless any of the following /// settings are enabled or set: /// * MergeContent (bool) /// * SetPageTitle (bool) @@ -665,7 +665,7 @@ private void ShowView() string metaImageAttributeValue = GetAttributeValue( AttributeKey.MetaImageAttribute ); int pageNumber = PageParameter( PageParameterKey.Page ).AsIntegerOrNull() ?? 1; - // Try fetching from cache if it's OK to do so. + // Try fetching from cache if it's OK to do so. // For now, we'll only cache if pagination is page 1. When our cache supports caching as a region (set) // we can then cache all pages and call ClearRegion if the block settings change. if ( OutputCacheDuration.HasValue && OutputCacheDuration.Value > 0 && pageNumber == 1 && @@ -985,7 +985,7 @@ private Template GetTemplate() #endregion /// - /// Gets the content channel items from the item-cache (if there), or from + /// Gets the content channel items from the item-cache (if there), or from /// the configured Channel and any given Item id or filter in the query string /// if QueryParameterFiltering is enabled. /// @@ -1412,7 +1412,7 @@ List statuses * - In DataViewDetail this would determine what type of Comparison Control to use (Drop Down, just the word 'is', etc). In the case of a DropDown, the first * one in the drop down is the default comparison type. * - In DynamicReport, the Comparison control is not visible, so that always ends up using the default comparison type of that IFieldType. - * + * * So for ContentChannelView, we'll use the exact same way to determine the Comparison type (use the first/default comparison type that the field type supports. */ @@ -1864,7 +1864,7 @@ public List GetCurrentPageItems( List al } /// - /// + /// /// public class PaginationPage : RockDynamic { diff --git a/RockWeb/Blocks/Groups/GroupFinder.ascx.cs b/RockWeb/Blocks/Groups/GroupFinder.ascx.cs index 925829f8f12..7e324980a72 100644 --- a/RockWeb/Blocks/Groups/GroupFinder.ascx.cs +++ b/RockWeb/Blocks/Groups/GroupFinder.ascx.cs @@ -310,7 +310,7 @@ private static class AttributeKey private static class AttributeDefaultLava { public const string MapInfo = @" -

{{ Group.Name }}

+

{{ Group.Name }}

{% for attribute in Group.AttributeValues %} @@ -954,7 +954,7 @@ private void ShowView() } else { - // Hide the search button and show the results immediately since there is + // Hide the search button and show the results immediately since there is // no filter criteria to be entered phFilterControls.Visible = false; btnSearch.Visible = GetAttributeValue( AttributeKey.DisplayCampusFilter ).AsBoolean(); @@ -981,7 +981,7 @@ private void ShowView() ///
private void BindAttributes() { - // Parse the attribute filters + // Parse the attribute filters AttributeFilters = new List(); foreach ( string attr in GetAttributeValue( AttributeKey.AttributeFilters ).SplitDelimitedValues() ) { @@ -996,7 +996,7 @@ private void BindAttributes() } } - // Parse the attribute filters + // Parse the attribute filters AttributeColumns = new List(); foreach ( string attr in GetAttributeValue( AttributeKey.AttributeColumns ).SplitDelimitedValues() ) { @@ -1331,7 +1331,7 @@ will be returned across Group Types. If we don't do this, when the Admin adds attributes from two different Group Types and then the user enters data for both attributes they would get no results because Attribute A from Group Type A doesn't exists in Group Type B. - + Reason: Queries across Group Types */ var filters = new Dictionary(); @@ -1908,7 +1908,7 @@ private void Map( MapItem location, List fences, List groups ) var locationData = {0}; var fenceData = {1}; - var groupData = {2}; + var groupData = {2}; var markerScale = 1; var allMarkers = []; @@ -1924,7 +1924,7 @@ private void Map( MapItem location, List fences, List groups ) var min = .999999; var max = 1.000001; - + initializeMap(); function initializeMap() {{ @@ -1992,7 +1992,7 @@ function initializeMap() {{ info_window: marker.info_window, }}); - if ( updatedMarker.info_window != null ) {{ + if ( updatedMarker.info_window != null ) {{ google.maps.event.addListener(updatedMarker, 'click', (function (marker) {{ return function () {{ openInfoWindow(marker); @@ -2000,7 +2000,7 @@ function initializeMap() {{ }})(updatedMarker)); }} - if ( updatedMarker.id && updatedMarker.id > 0 ) {{ + if ( updatedMarker.id && updatedMarker.id > 0 ) {{ google.maps.event.addListener(updatedMarker, 'mouseover', (function (marker) {{ return function () {{ $(""tr[datakey='"" + marker.id + ""']"").addClass('row-highlight'); @@ -2076,7 +2076,7 @@ function addMapItem( i, mapItem, color ) {{ var items = []; - if (mapItem.Point) {{ + if (mapItem.Point) {{ var position = new google.maps.LatLng(mapItem.Point.Latitude, mapItem.Point.Longitude); bounds.extend(position); @@ -2109,11 +2109,11 @@ function addMapItem( i, mapItem, color ) {{ icon: pinImage, info_window: mapItem.InfoWindow, }}); - + items.push(marker); allMarkers.push(marker); - if ( mapItem.InfoWindow != null ) {{ + if ( mapItem.InfoWindow != null ) {{ google.maps.event.addListener(marker, 'click', (function (marker, i) {{ return function () {{ openInfoWindow(marker); @@ -2121,7 +2121,7 @@ function addMapItem( i, mapItem, color ) {{ }})(marker, i)); }} - if ( mapItem.EntityId && mapItem.EntityId > 0 ) {{ + if ( mapItem.EntityId && mapItem.EntityId > 0 ) {{ google.maps.event.addListener(marker, 'mouseover', (function (marker, i) {{ return function () {{ $(""tr[datakey='"" + mapItem.EntityId + ""']"").addClass('row-highlight'); @@ -2166,7 +2166,7 @@ function addMapItem( i, mapItem, color ) {{ polyBounds.extend(polygonPoints[j]); }} - if ( mapItem.InfoWindow != null ) {{ + if ( mapItem.InfoWindow != null ) {{ google.maps.event.addListener(polygon, 'click', (function (polygon, i) {{ return function () {{ infoWindow.setContent( $('
').html(mapItem.InfoWindow).text() ); @@ -2180,7 +2180,7 @@ function addMapItem( i, mapItem, color ) {{ return items; }} - + function setAllMap(markers, map) {{ for (var i = 0; i < markers.length; i++) {{ markers[i].setMap(map); @@ -2206,7 +2206,7 @@ function getNextPolygonColor() {{ }} function adjustOverlappedMarkers() {{ - + if (allMarkers.length > 1) {{ for(i=0; i < allMarkers.length-1; i++) {{ var marker1 = allMarkers[i]; diff --git a/RockWeb/Blocks/Groups/GroupTypeMap.ascx.cs b/RockWeb/Blocks/Groups/GroupTypeMap.ascx.cs index 5cf19eddd5d..263c9af2f9c 100644 --- a/RockWeb/Blocks/Groups/GroupTypeMap.ascx.cs +++ b/RockWeb/Blocks/Groups/GroupTypeMap.ascx.cs @@ -220,7 +220,7 @@ private void Map() ILavaTemplate lavaTemplate = null; if ( LavaService.RockLiquidIsEnabled ) - { + { if ( GetAttributeValue( "ShowMapInfoWindow" ).AsBoolean() ) { template = LavaHelper.CreateDotLiquidTemplate( GetAttributeValue( "InfoWindowContents" ).Trim() ); diff --git a/RockWeb/Content/BottomTriangle.svg b/RockWeb/Content/BottomTriangle.svg new file mode 100644 index 00000000000..916f1cf5d09 --- /dev/null +++ b/RockWeb/Content/BottomTriangle.svg @@ -0,0 +1,3 @@ + + + diff --git a/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor-tools.js b/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor-tools.js new file mode 100644 index 00000000000..199128128b0 --- /dev/null +++ b/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor-tools.js @@ -0,0 +1,74 @@ +(()=>{var e={8309:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=6)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".cdx-checklist {\n gap: 6px;\n display: flex;\n flex-direction: column;\n}\n\n .cdx-checklist__item {\n display: flex;\n box-sizing: content-box;\n align-items: flex-start;\n }\n\n .cdx-checklist__item-text {\n outline: none;\n flex-grow: 1;\n line-height: 1.57em;\n }\n\n .cdx-checklist__item-checkbox {\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n margin-right: 8px;\n margin-top: calc(1.57em/2 - 22px/2);\n cursor: pointer;\n }\n\n .cdx-checklist__item-checkbox svg {\n opacity: 0;\n height: 20px;\n width: 20px;\n position: absolute;\n left: -1px;\n top: -1px;\n max-height: 20px;\n }\n\n @media (hover: hover) {\n .cdx-checklist__item-checkbox:not(.cdx-checklist__item-checkbox--no-hover):hover .cdx-checklist__item-checkbox-check svg {\n opacity: 1;\n }\n }\n\n .cdx-checklist__item-checkbox-check {\n cursor: pointer;\n display: inline-block;\n flex-shrink: 0;\n position: relative;\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n margin-left: 0;\n border-radius: 5px;\n border: 1px solid #C9C9C9;\n background: #fff;\n }\n\n .cdx-checklist__item-checkbox-check::before {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: 100%;\n background-color: #369FFF;\n visibility: hidden;\n pointer-events: none;\n transform: scale(1);\n transition: transform 400ms ease-out, opacity 400ms;\n }\n\n @media (hover: hover) {\n .cdx-checklist__item--checked .cdx-checklist__item-checkbox:not(.cdx-checklist__item--checked .cdx-checklist__item-checkbox--no-hover):hover .cdx-checklist__item-checkbox-check {\n background: #0059AB;\n border-color: #0059AB;\n }\n }\n\n .cdx-checklist__item--checked .cdx-checklist__item-checkbox-check {\n background: #369FFF;\n border-color: #369FFF;\n }\n\n .cdx-checklist__item--checked .cdx-checklist__item-checkbox-check svg {\n opacity: 1;\n }\n\n .cdx-checklist__item--checked .cdx-checklist__item-checkbox-check svg path {\n stroke: #fff;\n }\n\n .cdx-checklist__item--checked .cdx-checklist__item-checkbox-check::before {\n opacity: 0;\n visibility: visible;\n transform: scale(2.5);\n }\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&d.splice(t,1)}function g(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),b(t,e.attrs),m(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=g(t)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(t,e.attrs),m(e,t),t}(t),r=k.bind(null,n,t),o=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=A.bind(null,n),o=function(){v(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return h(n,t),function(e){for(var r=[],o=0;oe.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=document.createElement(e);for(var a in Array.isArray(n)?(t=i.classList).add.apply(t,o(n)):n&&i.classList.add(n),r)i[a]=r[a];return i}function l(e){return e.innerHTML.replace("
"," ").trim()}function c(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=document.createRange(),o=window.getSelection();r.selectNodeContents(e),void 0!==n&&(r.setStart(e,n),r.setEnd(e,n)),r.collapse(t),o.removeAllRanges(),o.addRange(r)}function u(e,t){for(var n=0;n',title:"Checklist"}}},{key:"conversionConfig",get:function(){return{export:function(e){return e.items.map((function(e){return e.text})).join(". ")},import:function(e){return{items:[{text:e,checked:!1}]}}}}}]),d(e,[{key:"render",value:function(){var e=this;return this._elements.wrapper=s("div",[this.CSS.baseBlock,this.CSS.wrapper]),this.data.items||(this.data.items=[{text:"",checked:!1}]),this.data.items.forEach((function(t){var n=e.createChecklistItem(t);e._elements.wrapper.appendChild(n)})),this.readOnly||(this._elements.wrapper.addEventListener("keydown",(function(t){switch(t.keyCode){case 13:e.enterPressed(t);break;case 8:e.backspace(t)}}),!1),this._elements.wrapper.addEventListener("click",(function(t){e.toggleCheckbox(t)}))),this._elements.wrapper}},{key:"save",value:function(){var e=this,t=this.items.map((function(t){return{text:l(e.getItemInput(t)),checked:t.classList.contains(e.CSS.itemChecked)}}));return{items:t=t.filter((function(e){return 0!==e.text.trim().length}))}}},{key:"validate",value:function(e){return!!e.items.length}},{key:"toggleCheckbox",value:function(e){var t=this,n=e.target.closest(".".concat(this.CSS.item)),r=n.querySelector(".".concat(this.CSS.checkboxContainer));r.contains(e.target)&&(n.classList.toggle(this.CSS.itemChecked),r.classList.add(this.CSS.noHover),r.addEventListener("mouseleave",(function(){return t.removeSpecialHoverBehavior(r)}),{once:!0}))}},{key:"createChecklistItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=s("div",this.CSS.item),n=s("span",this.CSS.checkbox),o=s("div",this.CSS.checkboxContainer),i=s("div",this.CSS.textField,{innerHTML:e.text?e.text:"",contentEditable:!this.readOnly});return e.checked&&t.classList.add(this.CSS.itemChecked),n.innerHTML=r,o.appendChild(n),t.appendChild(o),t.appendChild(i),t}},{key:"enterPressed",value:function(e){e.preventDefault();var t=this.items,n=document.activeElement.closest(".".concat(this.CSS.item));if(t.indexOf(n)===t.length-1&&0===l(this.getItemInput(n)).length){var r=this.api.blocks.getCurrentBlockIndex();return n.remove(),this.api.blocks.insert(),void this.api.caret.setToBlock(r+1)}var o,i,s=(o=a(),(i=document.createElement("div")).appendChild(o),i.innerHTML),u=this.createChecklistItem({text:s,checked:!1});this._elements.wrapper.insertBefore(u,n.nextSibling),c(this.getItemInput(u),!0)}},{key:"backspace",value:function(e){var t=e.target.closest(".".concat(this.CSS.item)),n=this.items.indexOf(t),r=this.items[n-1];if(r&&0===window.getSelection().focusOffset){e.preventDefault();var o=a(),i=this.getItemInput(r),s=i.childNodes.length;i.appendChild(o),c(i,void 0,s),t.remove()}}},{key:"removeSpecialHoverBehavior",value:function(e){e.classList.remove(this.CSS.noHover)}},{key:"getItemInput",value:function(e){return e.querySelector(".".concat(this.CSS.textField))}},{key:"CSS",get:function(){return{baseBlock:this.api.styles.block,wrapper:"cdx-checklist",item:"cdx-checklist__item",itemChecked:"cdx-checklist__item--checked",noHover:"cdx-checklist__item-checkbox--no-hover",checkbox:"cdx-checklist__item-checkbox-check",textField:"cdx-checklist__item-text",checkboxContainer:"cdx-checklist__item-checkbox"}}},{key:"items",get:function(){return Array.from(this._elements.wrapper.querySelectorAll(".".concat(this.CSS.item)))}}]),e}()}]).default},4787:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=4)}([function(e,t,n){var r=n(1),o=n(2);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]),r(o,{insert:"head",singleton:!1}),e.exports=o.locals||{}},function(e,t,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;n0;)t-=1,n=e.substr(t,1);return"\n"===n&&(t+=1),t}(i,o);if(" "!==i.substr(a,2))return;n.value=i.substring(0,a)+i.substring(a+2),t=o-2}else t=o+2,n.value=i.substring(0,o)+" "+i.substring(o);n.setSelectionRange(t,t)}},{key:"data",get:function(){return this._data},set:function(e){this._data=e,this.nodes.textarea&&(this.nodes.textarea.textContent=e.code)}}],[{key:"toolbox",get:function(){return{icon:'',title:"Code"}}},{key:"DEFAULT_PLACEHOLDER",get:function(){return"Enter a code"}},{key:"pasteConfig",get:function(){return{tags:["pre"]}}},{key:"sanitize",get:function(){return{code:!0}}}]),e}()}]).default},6689:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,'.ce-delimiter {\n line-height: 1.6em;\n width: 100%;\n text-align: center;\n}\n\n.ce-delimiter:before {\n display: inline-block;\n content: "***";\n font-size: 30px;\n line-height: 65px;\n height: 30px;\n letter-spacing: 0.2em;\n}',""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&u.splice(t,1)}function v(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=l||(l=v(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=d(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return f(n,t),function(e){for(var r=[],o=0;o',title:"Delimiter"}}}]),e}()}]).default},2534:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=14)}([function(e,t,n){var r=n(5),o=n(6),i=n(7),a=n(9);e.exports=function(e,t){return r(e)||o(e,t)||i(e,t)||a()}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=0?r=setTimeout(l,t-c):(r=null,n||(s=e.apply(i,o),i=o=null))}null==t&&(t=100);var c=function(){i=this,o=arguments,a=Date.now();var c=n&&!r;return r||(r=setTimeout(l,t)),c&&(s=e.apply(i,o),i=o=null),s};return c.clear=function(){r&&(clearTimeout(r),r=null)},c.flush=function(){r&&(s=e.apply(i,o),i=o=null,clearTimeout(r),r=null)},c}n.debounce=n,e.exports=n},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}}},function(e,t,n){var r=n(8);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n?title=0&byline=0",html:'',height:320,width:580},youtube:{regex:/(?:https?:\/\/)?(?:www\.)?(?:(?:youtu\.be\/)|(?:youtube\.com)\/(?:v\/|u\/\w\/|embed\/|watch))(?:(?:\?v=)?([^#&?=]*))?((?:[?&]\w*=\w*)*)/,embedUrl:"https://www.youtube.com/embed/<%= remote_id %>",html:'',height:320,width:580,id:function(e){var t=a()(e,2),n=t[0],r=t[1];if(!r&&n)return n;var o={start:"start",end:"end",t:"start",time_continue:"start",list:"list"};return r=r.slice(1).split("&").map((function(e){var t=e.split("="),r=a()(t,2),i=r[0],s=r[1];return n||"v"!==i?o[i]?"LL"===s||s.startsWith("RDMM")||s.startsWith("FL")?null:"".concat(o[i],"=").concat(s):null:(n=s,null)})).filter((function(e){return!!e})),n+"?"+r.join("&")}},coub:{regex:/https?:\/\/coub\.com\/view\/([^\/\?\&]+)/,embedUrl:"https://coub.com/embed/<%= remote_id %>",html:'',height:320,width:580},vine:{regex:/https?:\/\/vine\.co\/v\/([^\/\?\&]+)/,embedUrl:"https://vine.co/v/<%= remote_id %>/embed/simple/",html:'',height:320,width:580},imgur:{regex:/https?:\/\/(?:i\.)?imgur\.com.*\/([a-zA-Z0-9]+)(?:\.gifv)?/,embedUrl:"http://imgur.com/<%= remote_id %>/embed",html:'',height:500,width:540},gfycat:{regex:/https?:\/\/gfycat\.com(?:\/detail)?\/([a-zA-Z]+)/,embedUrl:"https://gfycat.com/ifr/<%= remote_id %>",html:"",height:436,width:580},"twitch-channel":{regex:/https?:\/\/www\.twitch\.tv\/([^\/\?\&]*)\/?$/,embedUrl:"https://player.twitch.tv/?channel=<%= remote_id %>",html:'',height:366,width:600},"twitch-video":{regex:/https?:\/\/www\.twitch\.tv\/(?:[^\/\?\&]*\/v|videos)\/([0-9]*)/,embedUrl:"https://player.twitch.tv/?video=v<%= remote_id %>",html:'',height:366,width:600},"yandex-music-album":{regex:/https?:\/\/music\.yandex\.ru\/album\/([0-9]*)\/?$/,embedUrl:"https://music.yandex.ru/iframe/#album/<%= remote_id %>/",html:'',height:400,width:540},"yandex-music-track":{regex:/https?:\/\/music\.yandex\.ru\/album\/([0-9]*)\/track\/([0-9]*)/,embedUrl:"https://music.yandex.ru/iframe/#track/<%= remote_id %>/",html:'',height:100,width:540,id:function(e){return e.join("/")}},"yandex-music-playlist":{regex:/https?:\/\/music\.yandex\.ru\/users\/([^\/\?\&]*)\/playlists\/([0-9]*)/,embedUrl:"https://music.yandex.ru/iframe/#playlist/<%= remote_id %>/show/cover/description/",html:'',height:400,width:540,id:function(e){return e.join("/")}},codepen:{regex:/https?:\/\/codepen\.io\/([^\/\?\&]*)\/pen\/([^\/\?\&]*)/,embedUrl:"https://codepen.io/<%= remote_id %>?height=300&theme-id=0&default-tab=css,result&embed-version=2",html:"",height:300,width:600,id:function(e){return e.join("/embed/")}},instagram:{regex:/https?:\/\/www\.instagram\.com\/p\/([^\/\?\&]+)\/?.*/,embedUrl:"https://www.instagram.com/p/<%= remote_id %>/embed",html:'',height:505,width:400},twitter:{regex:/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+?.*)?$/,embedUrl:"https://twitframe.com/show?url=https://twitter.com/<%= remote_id %>",html:'',height:300,width:600,id:function(e){return e.join("/status/")}},pinterest:{regex:/https?:\/\/([^\/\?\&]*).pinterest.com\/pin\/([^\/\?\&]*)\/?$/,embedUrl:"https://assets.pinterest.com/ext/embed.html?id=<%= remote_id %>",html:"",id:function(e){return e[1]}},facebook:{regex:/https?:\/\/www.facebook.com\/([^\/\?\&]*)\/(.*)/,embedUrl:"https://www.facebook.com/plugins/post.php?href=https://www.facebook.com/<%= remote_id %>&width=500",html:"",id:function(e){return e.join("/")}},aparat:{regex:/(?:http[s]?:\/\/)?(?:www.)?aparat\.com\/v\/([^\/\?\&]+)\/?/,embedUrl:"https://www.aparat.com/video/video/embed/videohash/<%= remote_id %>/vt/frame",html:'',height:300,width:600},miro:{regex:/https:\/\/miro.com\/\S+(\S{12})\/(\S+)?/,embedUrl:"https://miro.com/app/live-embed/<%= remote_id %>",html:''}},f=(n(10),n(4)),h=function(){function e(t){var n=t.data,r=t.api,o=t.readOnly;l()(this,e),this.api=r,this._data={},this.element=null,this.readOnly=o,this.data=n}return u()(e,[{key:"render",value:function(){var t=this;if(!this.data.service){var n=document.createElement("div");return this.element=n,n}var r=e.services[this.data.service].html,o=document.createElement("div"),i=document.createElement("div"),a=document.createElement("template"),s=this.createPreloader();o.classList.add(this.CSS.baseClass,this.CSS.container,this.CSS.containerLoading),i.classList.add(this.CSS.input,this.CSS.caption),o.appendChild(s),i.contentEditable=!this.readOnly,i.dataset.placeholder=this.api.i18n.t("Enter a caption"),i.innerHTML=this.data.caption||"",a.innerHTML=r,a.content.firstChild.setAttribute("src",this.data.embed),a.content.firstChild.classList.add(this.CSS.content);var l=this.embedIsReady(o);return o.appendChild(a.content.firstChild),o.appendChild(i),l.then((function(){o.classList.remove(t.CSS.containerLoading)})),this.element=o,o}},{key:"createPreloader",value:function(){var e=document.createElement("preloader"),t=document.createElement("div");return t.textContent=this.data.source,e.classList.add(this.CSS.preloader),t.classList.add(this.CSS.url),e.appendChild(t),e}},{key:"save",value:function(){return this.data}},{key:"onPaste",value:function(t){var n=t.detail,r=n.key,o=n.data,i=e.services[r],a=i.regex,s=i.embedUrl,l=i.width,c=i.height,u=i.id,d=void 0===u?function(e){return e.shift()}:u,f=a.exec(o).slice(1),h=s.replace(/<%= remote_id %>/g,d(f));this.data={service:r,source:o,embed:h,width:l,height:c}}},{key:"embedIsReady",value:function(e){var t=null;return new Promise((function(n,r){(t=new MutationObserver(Object(f.debounce)(n,450))).observe(e,{childList:!0,subtree:!0})})).then((function(){t.disconnect()}))}},{key:"data",set:function(e){if(!(e instanceof Object))throw Error("Embed Tool data should be object");var t=e.service,n=e.source,r=e.embed,o=e.width,i=e.height,a=e.caption,s=void 0===a?"":a;this._data={service:t||this.data.service,source:n||this.data.source,embed:r||this.data.embed,width:o||this.data.width,height:i||this.data.height,caption:s||this.data.caption||""};var l=this.element;l&&l.parentNode.replaceChild(this.render(),l)},get:function(){if(this.element){var e=this.element.querySelector(".".concat(this.api.styles.input));this._data.caption=e?e.innerHTML:""}return this._data}},{key:"CSS",get:function(){return{baseClass:this.api.styles.block,input:this.api.styles.input,container:"embed-tool",containerLoading:"embed-tool--loading",preloader:"embed-tool__preloader",caption:"embed-tool__caption",url:"embed-tool__url",content:"embed-tool__content"}}}],[{key:"prepare",value:function(t){var n=t.config,r=(void 0===n?{}:n).services,i=void 0===r?{}:r,s=Object.entries(d),l=Object.entries(i).filter((function(e){var t=a()(e,2),n=(t[0],t[1]);return"boolean"==typeof n&&!0===n})).map((function(e){return a()(e,1)[0]})),c=Object.entries(i).filter((function(e){var t=a()(e,2),n=(t[0],t[1]);return"object"===o()(n)})).filter((function(t){var n=a()(t,2),r=(n[0],n[1]);return e.checkServiceConfig(r)})).map((function(e){var t=a()(e,2),n=t[0],r=t[1];return[n,{regex:r.regex,embedUrl:r.embedUrl,html:r.html,height:r.height,width:r.width,id:r.id}]}));l.length&&(s=s.filter((function(e){var t=a()(e,1)[0];return l.includes(t)}))),s=s.concat(c),e.services=s.reduce((function(e,t){var n=a()(t,2),r=n[0],o=n[1];return r in e?(e[r]=Object.assign({},e[r],o),e):(e[r]=o,e)}),{}),e.patterns=s.reduce((function(e,t){var n=a()(t,2),r=n[0],o=n[1];return e[r]=o.regex,e}),{})}},{key:"checkServiceConfig",value:function(e){var t=e.regex,n=e.embedUrl,r=e.html,o=e.height,i=e.width,a=e.id,s=t&&t instanceof RegExp&&n&&"string"==typeof n&&r&&"string"==typeof r;return(s=(s=s&&(void 0===a||a instanceof Function))&&(void 0===o||Number.isFinite(o)))&&(void 0===i||Number.isFinite(i))}},{key:"pasteConfig",get:function(){return{patterns:e.patterns}}},{key:"isReadOnlySupported",get:function(){return!0}}]),e}()}]).default},4919:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"/**\n * Plugin styles\n */\n.ce-header {\n padding: 0.6em 0 3px;\n margin: 0;\n line-height: 1.25em;\n outline: none;\n}\n\n.ce-header p,\n.ce-header div{\n padding: 0 !important;\n margin: 0 !important;\n}\n\n/**\n * Styles for Plugin icon in Toolbar\n */\n.ce-header__icon {}\n\n.ce-header[contentEditable=true][data-placeholder]::before{\n position: absolute;\n content: attr(data-placeholder);\n color: #707684;\n font-weight: normal;\n display: none;\n cursor: text;\n}\n\n.ce-header[contentEditable=true][data-placeholder]:empty::before {\n display: block;\n}\n\n.ce-header[contentEditable=true][data-placeholder]:empty:focus::before {\n display: none;\n}\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&d.splice(t,1)}function g(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),b(t,e.attrs),m(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=g(t)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(t,e.attrs),m(e,t),t}(t),r=k.bind(null,n,t),o=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=A.bind(null,n),o=function(){v(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return h(n,t),function(e){for(var r=[],o=0;o',title:"Heading"}}}],(n=[{key:"normalizeData",value:function(e){var t={};return"object"!==r(e)&&(e={}),t.text=e.text||"",t.level=parseInt(e.level)||this.defaultLevel.number,t}},{key:"render",value:function(){return this._element}},{key:"renderSettings",value:function(){var e=this;return this.levels.map((function(t){return{icon:t.svg,label:e.api.i18n.t("Heading ".concat(t.number)),onActivate:function(){return e.setLevel(t.number)},closeOnActivate:!0,isActive:e.currentLevel.number===t.number}}))}},{key:"setLevel",value:function(e){this.data={level:e,text:this.data.text}}},{key:"merge",value:function(e){var t={text:this.data.text+e.text,level:this.data.level};this.data=t}},{key:"validate",value:function(e){return""!==e.text.trim()}},{key:"save",value:function(e){return{text:e.innerHTML,level:this.currentLevel.number}}},{key:"getTag",value:function(){var e=document.createElement(this.currentLevel.tag);return e.innerHTML=this._data.text||"",e.classList.add(this._CSS.wrapper),e.contentEditable=this.readOnly?"false":"true",e.dataset.placeholder=this.api.i18n.t(this._settings.placeholder||""),e}},{key:"onPaste",value:function(e){var t=e.detail.data,n=this.defaultLevel.number;switch(t.tagName){case"H1":n=1;break;case"H2":n=2;break;case"H3":n=3;break;case"H4":n=4;break;case"H5":n=5;break;case"H6":n=6}this._settings.levels&&(n=this._settings.levels.reduce((function(e,t){return Math.abs(t-n)'},{number:2,tag:"H2",svg:''},{number:3,tag:"H3",svg:''},{number:4,tag:"H4",svg:''},{number:5,tag:"H5",svg:''},{number:6,tag:"H6",svg:''}];return this._settings.levels?t.filter((function(t){return e._settings.levels.includes(t.number)})):t}}])&&o(t.prototype,n),i&&o(t,i),e}()}]).default},1854:e=>{ +/*! + * Image tool + * + * @version 2.8.1 + * + * @package https://github.com/editor-js/image + * @licence MIT + * @author CodeX + */ +window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=9)}([function(e,t){function n(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(e.url&&"string"!=typeof e.url)throw new Error("Url must be a string");if(e.url=e.url||"",e.method&&"string"!=typeof e.method)throw new Error("`method` must be a string or null");if(e.method=e.method?e.method.toUpperCase():"GET",e.headers&&"object"!==r(e.headers))throw new Error("`headers` must be an object or null");if(e.headers=e.headers||{},e.type&&("string"!=typeof e.type||!Object.values(o).includes(e.type)))throw new Error("`type` must be taken from module's «contentType» library");if(e.progress&&"function"!=typeof e.progress)throw new Error("`progress` must be a function or null");if(e.progress=e.progress||function(e){},e.beforeSend=e.beforeSend||function(e){},e.ratio&&"number"!=typeof e.ratio)throw new Error("`ratio` must be a number");if(e.ratio<0||e.ratio>100)throw new Error("`ratio` must be in a 0-100 interval");if(e.ratio=e.ratio||90,e.accept&&"string"!=typeof e.accept)throw new Error("`accept` must be a string with a list of allowed mime-types");if(e.accept=e.accept||"*/*",e.multiple&&"boolean"!=typeof e.multiple)throw new Error("`multiple` must be a true or false");if(e.multiple=e.multiple||!1,e.fieldName&&"string"!=typeof e.fieldName)throw new Error("`fieldName` must be a string");return e.fieldName=e.fieldName||"files",e},l=function(e){switch(e.method){case"GET":var t=c(e.data,o.URLENCODED);delete e.data,e.url=/\?/.test(e.url)?e.url+"&"+t:e.url+"?"+t;break;case"POST":case"PUT":case"DELETE":case"UPDATE":var n=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).type||o.JSON}(e);(d.isFormData(e.data)||d.isFormElement(e.data))&&(n=o.FORM),e.data=c(e.data,n),n!==f.contentType.FORM&&(e.headers["content-type"]=n)}return e},c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(arguments.length>1?arguments[1]:void 0){case o.URLENCODED:return d.urlEncode(e);case o.JSON:return d.jsonEncode(e);case o.FORM:return d.formEncode(e);default:return e}},u=function(e){return e>=200&&e<300},{contentType:o={URLENCODED:"application/x-www-form-urlencoded; charset=utf-8",FORM:"multipart/form-data",JSON:"application/json; charset=utf-8"},request:i,get:function(e){return e.method="GET",i(e)},post:a,transport:function(e){return e=s(e),d.selectFiles(e).then((function(t){for(var n=new FormData,r=0;r=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(6),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,s,l=1,c={},u=!1,d=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){p(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&p(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){p(e.data)},r=function(e){i.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(o=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(p,0,e)},f.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n HTMLElement")}},{key:"isObject",value:function(e){return"[object Object]"===Object.prototype.toString.call(e)}},{key:"isFormData",value:function(e){return e instanceof FormData}},{key:"isFormElement",value:function(e){return e instanceof HTMLFormElement}},{key:"selectFiles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(t,n){var r=document.createElement("INPUT");r.type="file",e.multiple&&r.setAttribute("multiple","multiple"),e.accept&&r.setAttribute("accept",e.accept),r.style.display="none",document.body.appendChild(r),r.addEventListener("change",(function(e){var n=e.target.files;t(n),document.body.removeChild(r)}),!1),r.click()}))}},{key:"parseHeaders",value:function(e){var t=e.trim().split(/[\r\n]+/),n={};return t.forEach((function(e){var t=e.split(": "),r=t.shift(),o=t.join(": ");r&&(n[r]=o)})),n}}])&&r(e,t),e}()},function(e,t){var n=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,escape).replace(/%20/g,"+")},r=function(e,t,o,i){return t=t||null,o=o||"&",i=i||null,e?function(e){for(var t=new Array,n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),l=n.call(i,"finallyLoc");if(s&&l){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;C(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:A(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){var r=n(12),o=n(13);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i=(r(o,{insert:"head",singleton:!1}),o.locals?o.locals:{});e.exports=i},function(e,t,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;n1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=document.createElement(e);for(var i in Array.isArray(n)?(t=o.classList).add.apply(t,h()(n)):n&&o.classList.add(n),r)o[i]=r[i];return o}var m=function(){function e(t){var n=t.api,r=t.config,o=t.onSelectFile,i=t.readOnly;l()(this,e),this.api=n,this.config=r,this.onSelectFile=o,this.readOnly=i,this.nodes={wrapper:p("div",[this.CSS.baseClass,this.CSS.wrapper]),imageContainer:p("div",[this.CSS.imageContainer]),fileButton:this.createFileButton(),imageEl:void 0,imagePreloader:p("div",this.CSS.imagePreloader),caption:p("div",[this.CSS.input,this.CSS.caption],{contentEditable:!this.readOnly})},this.nodes.caption.dataset.placeholder=this.config.captionPlaceholder,this.nodes.imageContainer.appendChild(this.nodes.imagePreloader),this.nodes.wrapper.appendChild(this.nodes.imageContainer),this.nodes.wrapper.appendChild(this.nodes.caption),this.nodes.wrapper.appendChild(this.nodes.fileButton)}return u()(e,[{key:"render",value:function(t){return t.file&&0!==Object.keys(t.file).length?this.toggleStatus(e.status.UPLOADING):this.toggleStatus(e.status.EMPTY),this.nodes.wrapper}},{key:"createFileButton",value:function(){var e=this,t=p("div",[this.CSS.button]);return t.innerHTML=this.config.buttonContent||"".concat(d," ").concat(this.api.i18n.t("Select an Image")),t.addEventListener("click",(function(){e.onSelectFile()})),t}},{key:"showPreloader",value:function(t){this.nodes.imagePreloader.style.backgroundImage="url(".concat(t,")"),this.toggleStatus(e.status.UPLOADING)}},{key:"hidePreloader",value:function(){this.nodes.imagePreloader.style.backgroundImage="",this.toggleStatus(e.status.EMPTY)}},{key:"fillImage",value:function(t){var n=this,r=/\.mp4$/.test(t)?"VIDEO":"IMG",o={src:t},i="load";"VIDEO"===r&&(o.autoplay=!0,o.loop=!0,o.muted=!0,o.playsinline=!0,i="loadeddata"),this.nodes.imageEl=p(r,this.CSS.imageEl,o),this.nodes.imageEl.addEventListener(i,(function(){n.toggleStatus(e.status.FILLED),n.nodes.imagePreloader&&(n.nodes.imagePreloader.style.backgroundImage="")})),this.nodes.imageContainer.appendChild(this.nodes.imageEl)}},{key:"fillCaption",value:function(e){this.nodes.caption&&(this.nodes.caption.innerHTML=e)}},{key:"toggleStatus",value:function(t){for(var n in e.status)Object.prototype.hasOwnProperty.call(e.status,n)&&this.nodes.wrapper.classList.toggle("".concat(this.CSS.wrapper,"--").concat(e.status[n]),t===e.status[n])}},{key:"applyTune",value:function(e,t){this.nodes.wrapper.classList.toggle("".concat(this.CSS.wrapper,"--").concat(e),t)}},{key:"CSS",get:function(){return{baseClass:this.api.styles.block,loading:this.api.styles.loader,input:this.api.styles.input,button:this.api.styles.button,wrapper:"image-tool",imageContainer:"image-tool__image",imagePreloader:"image-tool__image-preloader",imageEl:"image-tool__image-picture",caption:"image-tool__caption"}}}],[{key:"status",get:function(){return{EMPTY:"empty",UPLOADING:"loading",FILLED:"filled"}}}]),e}(),v=n(8),g=n.n(v),b=n(1),y=n.n(b);function w(e){return e&&"function"==typeof e.then}var C=function(){function e(t){var n=t.config,r=t.onUpload,o=t.onError;l()(this,e),this.config=n,this.onUpload=r,this.onError=o}return u()(e,[{key:"uploadSelectedFile",value:function(e){var t=this,n=e.onPreview,r=function(e){var t=new FileReader;t.readAsDataURL(e),t.onload=function(e){n(e.target.result)}};(this.config.uploader&&"function"==typeof this.config.uploader.uploadByFile?y.a.selectFiles({accept:this.config.types}).then((function(e){r(e[0]);var n=t.config.uploader.uploadByFile(e[0]);return w(n)||console.warn("Custom uploader method uploadByFile should return a Promise"),n})):y.a.transport({url:this.config.endpoints.byFile,data:this.config.additionalRequestData,accept:this.config.types,headers:this.config.additionalRequestHeaders,beforeSend:function(e){r(e[0])},fieldName:this.config.field}).then((function(e){return e.body}))).then((function(e){t.onUpload(e)})).catch((function(e){t.onError(e)}))}},{key:"uploadByUrl",value:function(e){var t,n=this;this.config.uploader&&"function"==typeof this.config.uploader.uploadByUrl?w(t=this.config.uploader.uploadByUrl(e))||console.warn("Custom uploader method uploadByUrl should return a Promise"):t=y.a.post({url:this.config.endpoints.byUrl,data:Object.assign({url:e},this.config.additionalRequestData),type:y.a.contentType.JSON,headers:this.config.additionalRequestHeaders}).then((function(e){return e.body})),t.then((function(e){n.onUpload(e)})).catch((function(e){n.onError(e)}))}},{key:"uploadByFile",value:function(e,t){var n,r=this,o=t.onPreview,i=new FileReader;if(i.readAsDataURL(e),i.onload=function(e){o(e.target.result)},this.config.uploader&&"function"==typeof this.config.uploader.uploadByFile)w(n=this.config.uploader.uploadByFile(e))||console.warn("Custom uploader method uploadByFile should return a Promise");else{var a=new FormData;a.append(this.config.field,e),this.config.additionalRequestData&&Object.keys(this.config.additionalRequestData).length&&Object.entries(this.config.additionalRequestData).forEach((function(e){var t=g()(e,2),n=t[0],r=t[1];a.append(n,r)})),n=y.a.post({url:this.config.endpoints.byFile,data:a,type:y.a.contentType.JSON,headers:this.config.additionalRequestHeaders}).then((function(e){return e.body}))}n.then((function(e){r.onUpload(e)})).catch((function(e){r.onError(e)}))}}]),e}(),x=function(){function e(t){var n=this,r=t.data,o=t.config,i=t.api,a=t.readOnly;l()(this,e),this.api=i,this.readOnly=a,this.config={endpoints:o.endpoints||"",additionalRequestData:o.additionalRequestData||{},additionalRequestHeaders:o.additionalRequestHeaders||{},field:o.field||"image",types:o.types||"image/*",captionPlaceholder:this.api.i18n.t(o.captionPlaceholder||"Caption"),buttonContent:o.buttonContent||"",uploader:o.uploader||void 0,actions:o.actions||[]},this.uploader=new C({config:this.config,onUpload:function(e){return n.onUpload(e)},onError:function(e){return n.uploadingFailed(e)}}),this.ui=new m({api:i,config:this.config,onSelectFile:function(){n.uploader.uploadSelectedFile({onPreview:function(e){n.ui.showPreloader(e)}})},readOnly:a}),this._data={},this.data=r}var t;return u()(e,null,[{key:"isReadOnlySupported",get:function(){return!0}},{key:"toolbox",get:function(){return{icon:d,title:"Image"}}},{key:"tunes",get:function(){return[{name:"withBorder",icon:'',title:"With border",toggle:!0},{name:"stretched",icon:'',title:"Stretch image",toggle:!0},{name:"withBackground",icon:'',title:"With background",toggle:!0}]}}]),u()(e,[{key:"render",value:function(){return this.ui.render(this.data)}},{key:"validate",value:function(e){return e.file&&e.file.url}},{key:"save",value:function(){var e=this.ui.nodes.caption;return this._data.caption=e.innerHTML,this.data}},{key:"renderSettings",value:function(){var t=this;return e.tunes.concat(this.config.actions).map((function(e){return{icon:e.icon,label:t.api.i18n.t(e.title),name:e.name,toggle:e.toggle,isActive:t.data[e.name],onActivate:function(){"function"!=typeof e.action?t.tuneToggled(e.name):e.action(e.name)}}}))}},{key:"appendCallback",value:function(){this.ui.nodes.fileButton.click()}},{key:"onPaste",value:(t=a()(o.a.mark((function e(t){var n,r,i,a,s;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next="tag"===e.t0?3:"pattern"===e.t0?15:"file"===e.t0?18:21;break;case 3:if(n=t.detail.data,!/^blob:/.test(n.src)){e.next=13;break}return e.next=7,fetch(n.src);case 7:return r=e.sent,e.next=10,r.blob();case 10:return i=e.sent,this.uploadFile(i),e.abrupt("break",21);case 13:return this.uploadUrl(n.src),e.abrupt("break",21);case 15:return a=t.detail.data,this.uploadUrl(a),e.abrupt("break",21);case 18:return s=t.detail.file,this.uploadFile(s),e.abrupt("break",21);case 21:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"onUpload",value:function(e){e.success&&e.file?this.image=e.file:this.uploadingFailed("incorrect response: "+JSON.stringify(e))}},{key:"uploadingFailed",value:function(e){console.log("Image Tool: uploading failed because of",e),this.api.notifier.show({message:this.api.i18n.t("Couldn’t upload image. Please try another."),style:"error"}),this.ui.hidePreloader()}},{key:"tuneToggled",value:function(e){this.setTune(e,!this._data[e])}},{key:"setTune",value:function(e,t){var n=this;this._data[e]=t,this.ui.applyTune(e,t),"stretched"===e&&Promise.resolve().then((function(){var e=n.api.blocks.getCurrentBlockIndex();n.api.blocks.stretchBlock(e,t)})).catch((function(e){console.error(e)}))}},{key:"uploadFile",value:function(e){var t=this;this.uploader.uploadByFile(e,{onPreview:function(e){t.ui.showPreloader(e)}})}},{key:"uploadUrl",value:function(e){this.ui.showPreloader(e),this.uploader.uploadByUrl(e)}},{key:"data",set:function(t){var n=this;this.image=t.file,this._data.caption=t.caption||"",this.ui.fillCaption(this._data.caption),e.tunes.forEach((function(e){var r=e.name,o=void 0!==t[r]&&(!0===t[r]||"true"===t[r]);n.setTune(r,o)}))},get:function(){return this._data}},{key:"image",set:function(e){this._data.file=e||{},e&&e.url&&this.ui.fillImage(e.url)}}],[{key:"pasteConfig",get:function(){return{tags:[{img:{src:!0}}],patterns:{image:/https?:\/\/\S+\.(gif|jpe?g|tiff|png|svg|webp)(\?[a-z0-9=]*)?$/i},files:{mimeTypes:["image/*"]}}}}]),e}(); +/** + * Image Tool for the Editor.js + * + * @author CodeX + * @license MIT + * @see {@link https://github.com/editor-js/image} + * + * To developers. + * To simplify Tool structure, we split it to 4 parts: + * 1) index.js — main Tool's interface, public API and methods for working with data + * 2) uploader.js — module that has methods for sending files via AJAX: from device, by URL or File pasting + * 3) ui.js — module for UI manipulations: render, showing preloader, etc + * 4) tunes.js — working with Block Tunes: render buttons, handle clicks + * + * For debug purposes there is a testing server + * that can save uploaded files and return a Response {@link UploadResponseFormat} + * + * $ node dev/server.js + * + * It will expose 8008 port, so you can pass http://localhost:8008 with the Tools config: + * + * image: { + * class: ImageTool, + * config: { + * endpoints: { + * byFile: 'http://localhost:8008/uploadFile', + * byUrl: 'http://localhost:8008/fetchUrl', + * } + * }, + * }, + */}]).default},3023:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".inline-code {\n background: rgba(250, 239, 240, 0.78);\n color: #b44437;\n padding: 3px 4px;\n border-radius: 5px;\n margin: 0 1px;\n font-family: inherit;\n font-size: 0.86em;\n font-weight: 500;\n letter-spacing: 0.3px;\n}\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&u.splice(t,1)}function v(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=l||(l=v(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=d(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return f(n,t),function(e){for(var r=[],o=0;o'}}],[{key:"isInline",get:function(){return!0}},{key:"sanitize",get:function(){return{code:{class:e.CSS}}}}]),e}()}]).default},5547:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".cdx-marker {\n background: rgba(245,235,111,0.29);\n padding: 3px 0;\n}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&u.splice(t,1)}function v(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=l||(l=v(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=d(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return f(n,t),function(e){for(var r=[],o=0;o'}}],[{key:"isInline",get:function(){return!0}},{key:"sanitize",get:function(){return{mark:{class:e.CSS}}}}]),e}()}]).default},9257:e=>{self,e.exports=(()=>{"use strict";var e={384:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,'.cdx-nested-list {\n margin: 0;\n padding: 0;\n outline: none;\n counter-reset: item;\n list-style: none;\n}\n\n .cdx-nested-list__item {\n line-height: 1.6em;\n display: flex;\n margin: 2px 0;\n }\n\n .cdx-nested-list__item [contenteditable]{\n outline: none;\n }\n\n .cdx-nested-list__item-body {\n flex-grow: 2;\n }\n\n .cdx-nested-list__item-content,\n .cdx-nested-list__item-children {\n flex-basis: 100%;\n }\n\n .cdx-nested-list__item-content {\n word-break: break-word;\n white-space: pre-wrap;\n }\n\n .cdx-nested-list__item-children {}\n\n .cdx-nested-list__item::before {\n counter-increment: item;\n margin-right: 5px;\n white-space: nowrap;\n }\n\n .cdx-nested-list--ordered > .cdx-nested-list__item::before {\n content: counters(item, ".") ". ";\n }\n\n .cdx-nested-list--unordered > .cdx-nested-list__item::before {\n content: "•";\n }\n\n .cdx-nested-list__settings {\n display: flex;\n }\n\n .cdx-nested-list__settings .cdx-settings-button {\n width: 50%;\n }\n',""]);const i=o},645:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i{var r,o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function a(e){for(var t=-1,n=0;n{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{function e(e,t=null,n={}){const r=document.createElement(e);Array.isArray(t)?r.classList.add(...t):t&&r.classList.add(t);for(const e in n)r[e]=n[e];return r}function t(t){const n=e("div");return n.appendChild(t),n.innerHTML}function o(e){let t;return e.nodeType!==Node.ELEMENT_NODE?t=e.textContent:(t=e.innerHTML,t=t.replaceAll("
","")),0===t.trim().length}n.d(r,{default:()=>u});class i{constructor(){this.savedFakeCaret=void 0}save(){const t=i.range,n=e("span");n.hidden=!0,t.insertNode(n),this.savedFakeCaret=n}restore(){if(!this.savedFakeCaret)return;const e=window.getSelection(),t=new Range;t.setStartAfter(this.savedFakeCaret),t.setEndAfter(this.savedFakeCaret),e.removeAllRanges(),e.addRange(t),setTimeout((()=>{this.savedFakeCaret.remove()}),150)}static get range(){const e=window.getSelection();return e&&e.rangeCount?e.getRangeAt(0):null}static extractFragmentFromCaretPositionTillTheEnd(){const e=window.getSelection();if(!e.rangeCount)return;const t=e.getRangeAt(0);let n=t.startContainer;n.nodeType!==Node.ELEMENT_NODE&&(n=n.parentNode);const r=n.closest("[contenteditable]");t.deleteContents();const o=t.cloneRange();return o.selectNodeContents(r),o.setStart(t.endContainer,t.endOffset),o.extractContents()}static focus(e,t=!0){const n=document.createRange(),r=window.getSelection();n.selectNodeContents(e),n.collapse(t),r.removeAllRanges(),r.addRange(n)}static isAtStart(){const e=window.getSelection();if(e.focusOffset>0)return!1;const t=e.focusNode;return i.getHigherLevelSiblings(t,"left").every((e=>o(e)))}static getHigherLevelSiblings(e,t="left"){let n=e;const r=[];for(;n.parentNode&&"true"!==n.parentNode.contentEditable;)n=n.parentNode;const o="left"===t?"previousSibling":"nextSibling";for(;n[o];)n=n[o],r.push(n);return r}}const a='';var s=n(379),l=n.n(s),c=n(384);l()(c.Z,{insert:"head",singleton:!1}),c.Z.locals;class u{static get isReadOnlySupported(){return!0}static get enableLineBreaks(){return!0}static get toolbox(){return{icon:a,title:"List"}}constructor({data:e,config:t,api:n,readOnly:r}){this.nodes={wrapper:null},this.api=n,this.readOnly=r,this.config=t,this.defaultListStyle="ordered"===this.config.defaultStyle?"ordered":"unordered";const o={style:this.defaultListStyle,items:[]};this.data=e&&Object.keys(e).length?e:o,this.caret=new i}render(){return this.nodes.wrapper=this.makeListWrapper(this.data.style,[this.CSS.baseBlock]),this.data.items.length?this.appendItems(this.data.items,this.nodes.wrapper):this.appendItems([{content:"",items:[]}],this.nodes.wrapper),this.readOnly||this.nodes.wrapper.addEventListener("keydown",(e=>{switch(e.key){case"Enter":this.enterPressed(e);break;case"Backspace":this.backspace(e);break;case"Tab":e.shiftKey?this.shiftTab(e):this.addTab(e)}}),!1),this.nodes.wrapper}renderSettings(){return[{name:"unordered",label:this.api.i18n.t("Unordered"),icon:''},{name:"ordered",label:this.api.i18n.t("Ordered"),icon:a}].map((e=>({name:e.name,icon:e.icon,label:e.label,isActive:this.data.style===e.name,closeOnActivate:!0,onActivate:()=>{this.listStyle=e.name}})))}static get pasteConfig(){return{tags:["OL","UL","LI"]}}onPaste(e){const t=e.detail.data;this.data=this.pasteHandler(t);const n=this.nodes.wrapper;n&&n.parentNode.replaceChild(this.render(),n)}pasteHandler(e){const{tagName:t}=e;let n,r;switch(t){case"OL":n="ordered",r="ol";break;case"UL":case"LI":n="unordered",r="ul"}const o={style:n,items:[]},i=e=>Array.from(e.querySelectorAll(":scope > li")).map((e=>{const t=e.querySelector(`:scope > ${r}`),n=t?i(t):[];return{content:e?.firstChild?.textContent||"",items:n}}));return o.items=i(e),o}appendItems(e,t){e.forEach((e=>{const n=this.createItem(e.content,e.items);t.appendChild(n)}))}createItem(t,n=[]){const r=e("li",this.CSS.item),o=e("div",this.CSS.itemBody),i=e("div",this.CSS.itemContent,{innerHTML:t,contentEditable:!this.readOnly});return o.appendChild(i),r.appendChild(o),n&&n.length>0&&this.addChildrenList(r,n),r}save(){const e=t=>Array.from(t.querySelectorAll(`:scope > .${this.CSS.item}`)).map((t=>{const n=t.querySelector(`.${this.CSS.itemChildren}`);return{content:this.getItemContent(t),items:n?e(n):[]}}));return{style:this.data.style,items:e(this.nodes.wrapper)}}addChildrenList(e,t){const n=e.querySelector(`.${this.CSS.itemBody}`),r=this.makeListWrapper(void 0,[this.CSS.itemChildren]);this.appendItems(t,r),n.appendChild(r)}makeListWrapper(t=this.listStyle,n=[]){const r="ordered"===t?"ol":"ul",o="ordered"===t?this.CSS.wrapperOrdered:this.CSS.wrapperUnordered;return n.push(o),e(r,[this.CSS.wrapper,...n])}get CSS(){return{baseBlock:this.api.styles.block,wrapper:"cdx-nested-list",wrapperOrdered:"cdx-nested-list--ordered",wrapperUnordered:"cdx-nested-list--unordered",item:"cdx-nested-list__item",itemBody:"cdx-nested-list__item-body",itemContent:"cdx-nested-list__item-content",itemChildren:"cdx-nested-list__item-children",settingsWrapper:"cdx-nested-list__settings",settingsButton:this.api.styles.settingsButton,settingsButtonActive:this.api.styles.settingsButtonActive}}get listStyle(){return this.data.style||this.defaultListStyle}set listStyle(e){const t=Array.from(this.nodes.wrapper.querySelectorAll(`.${this.CSS.wrapper}`));t.push(this.nodes.wrapper),t.forEach((t=>{t.classList.toggle(this.CSS.wrapperUnordered,"unordered"===e),t.classList.toggle(this.CSS.wrapperOrdered,"ordered"===e)})),this.data.style=e}get currentItem(){let e=window.getSelection().anchorNode;return e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentNode),e.closest(`.${this.CSS.item}`)}enterPressed(e){const n=this.currentItem;e.stopPropagation(),e.preventDefault();const r=0===this.getItemContent(n).trim().length,o=n.parentNode===this.nodes.wrapper,a=null===n.nextElementSibling;if(o&&a&&r)return void this.getOutOfList();if(a&&r)return void this.unshiftItem();const s=t(i.extractFragmentFromCaretPositionTillTheEnd()),l=n.querySelector(`.${this.CSS.itemChildren}`),c=this.createItem(s,void 0);l&&Array.from(l.querySelectorAll(`.${this.CSS.item}`)).length>0?l.prepend(c):n.after(c),this.focusItem(c)}unshiftItem(){const e=this.currentItem,t=e.parentNode.closest(`.${this.CSS.item}`);if(!t)return;this.caret.save(),t.after(e),this.caret.restore();const n=t.querySelector(`.${this.CSS.itemChildren}`);0===n.children.length&&n.remove()}getItemContent(e){const t=e.querySelector(`.${this.CSS.itemContent}`);return o(t)?"":t.innerHTML}focusItem(e,t=!0){const n=e.querySelector(`.${this.CSS.itemContent}`);i.focus(n,t)}getOutOfList(){this.currentItem.remove(),this.api.blocks.insert(),this.api.caret.setToBlock(this.api.blocks.getCurrentBlockIndex())}backspace(e){if(!i.isAtStart())return;e.preventDefault();const n=this.currentItem,r=n.previousSibling,o=n.parentNode.closest(`.${this.CSS.item}`);if(!r&&!o)return;let a;if(e.stopPropagation(),r){const e=r.querySelectorAll(`.${this.CSS.item}`);a=Array.from(e).pop()||r}else a=o;const s=t(i.extractFragmentFromCaretPositionTillTheEnd()),l=a.querySelector(`.${this.CSS.itemContent}`);i.focus(l,!1),this.caret.save(),l.insertAdjacentHTML("beforeend",s);let c=n.querySelectorAll(`.${this.CSS.itemChildren} > .${this.CSS.item}`);c=Array.from(c),c=c.filter((e=>e.parentNode.closest(`.${this.CSS.item}`)===n)),c.reverse().forEach((e=>{r?a.after(e):n.after(e)})),n.remove(),this.caret.restore()}addTab(e){e.stopPropagation(),e.preventDefault();const t=this.currentItem,n=t.previousSibling;if(!n)return;const r=n.querySelector(`.${this.CSS.itemChildren}`);if(this.caret.save(),r)r.appendChild(t);else{const e=this.makeListWrapper(void 0,[this.CSS.itemChildren]),r=n.querySelector(`.${this.CSS.itemBody}`);e.appendChild(t),r.appendChild(e)}this.caret.restore()}shiftTab(e){e.stopPropagation(),e.preventDefault(),this.unshiftItem()}static joinRecursive(e){return e.items.map((e=>`${e.content} ${u.joinRecursive(e)}`)).join("")}static get conversionConfig(){return{export:e=>u.joinRecursive(e),import:e=>({items:[{content:e,items:[]}],style:"unordered"})}}}})(),r.default})()},3058:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".cdx-quote-icon svg {\n transform: rotate(180deg);\n}\n\n.cdx-quote {\n margin: 0;\n}\n\n.cdx-quote__text {\n min-height: 158px;\n margin-bottom: 10px;\n}\n\n.cdx-quote__caption {}\n\n.cdx-quote [contentEditable=true][data-placeholder]::before{\n position: absolute;\n content: attr(data-placeholder);\n color: #707684;\n font-weight: normal;\n opacity: 0;\n}\n\n.cdx-quote [contentEditable=true][data-placeholder]:empty::before {\n opacity: 1;\n}\n\n.cdx-quote [contentEditable=true][data-placeholder]:empty:focus::before {\n opacity: 0;\n}\n\n\n.cdx-quote-settings {\n display: flex;\n}\n\n.cdx-quote-settings .cdx-settings-button {\n width: 50%;\n}\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&u.splice(t,1)}function v(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=l||(l=v(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=d(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return f(n,t),function(e){for(var r=[],o=0;o'},{name:"center",icon:''}]}}],[{key:"isReadOnlySupported",get:function(){return!0}},{key:"toolbox",get:function(){return{icon:'',title:"Quote"}}},{key:"contentless",get:function(){return!0}},{key:"enableLineBreaks",get:function(){return!0}},{key:"DEFAULT_QUOTE_PLACEHOLDER",get:function(){return"Enter a quote"}},{key:"DEFAULT_CAPTION_PLACEHOLDER",get:function(){return"Enter a caption"}},{key:"ALIGNMENTS",get:function(){return{left:"left",center:"center"}}},{key:"DEFAULT_ALIGNMENT",get:function(){return e.ALIGNMENTS.left}},{key:"conversionConfig",get:function(){return{import:"text",export:function(e){return e.caption?"".concat(e.text," — ").concat(e.caption):e.text}}}}]),i(e,[{key:"render",value:function(){var e=this._make("blockquote",[this.CSS.baseClass,this.CSS.wrapper]),t=this._make("div",[this.CSS.input,this.CSS.text],{contentEditable:!this.readOnly,innerHTML:this.data.text}),n=this._make("div",[this.CSS.input,this.CSS.caption],{contentEditable:!this.readOnly,innerHTML:this.data.caption});return t.dataset.placeholder=this.quotePlaceholder,n.dataset.placeholder=this.captionPlaceholder,e.appendChild(t),e.appendChild(n),e}},{key:"save",value:function(e){var t=e.querySelector(".".concat(this.CSS.text)),n=e.querySelector(".".concat(this.CSS.caption));return Object.assign(this.data,{text:t.innerHTML,caption:n.innerHTML})}},{key:"renderSettings",value:function(){var e=this;return this.settings.map((function(t){return{icon:t.icon,label:e.api.i18n.t("Align ".concat((n=t.name,n[0].toUpperCase()+n.substr(1)))),onActivate:function(){return e._toggleTune(t.name)},isActive:e.data.alignment===t.name,closeOnActivate:!0};var n}))}},{key:"_toggleTune",value:function(e){this.data.alignment=e}},{key:"_make",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=document.createElement(e);for(var a in Array.isArray(n)?(t=i.classList).add.apply(t,r(n)):n&&i.classList.add(n),o)i[a]=o[a];return i}}],[{key:"sanitize",get:function(){return{text:{br:!0},caption:{br:!0},alignment:{}}}}]),e}()}]).default},8172:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".ce-rawtool__textarea {\n min-height: 200px;\n resize: vertical;\n border-radius: 8px;\n border: 0;\n background-color: #1e2128;\n font-family: Menlo, Monaco, Consolas, Courier New, monospace;\n font-size: 12px;\n line-height: 1.6;\n letter-spacing: -0.2px;\n color: #a1a7b6;\n overscroll-behavior: contain;\n}\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&d.splice(t,1)}function g(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),b(t,e.attrs),m(e,t),t}function b(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=g(t)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(t,e.attrs),m(e,t),t}(t),r=k.bind(null,n,t),o=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=A.bind(null,n),o=function(){v(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return h(n,t),function(e){for(var r=[],o=0;o',title:"Raw HTML"}}}]),o(e,[{key:"render",value:function(){var e=this,t=document.createElement("div");return this.textarea=document.createElement("textarea"),t.classList.add(this.CSS.baseClass,this.CSS.wrapper),this.textarea.classList.add(this.CSS.textarea,this.CSS.input),this.textarea.textContent=this.data.html,this.textarea.placeholder=this.placeholder,this.readOnly?this.textarea.disabled=!0:this.textarea.addEventListener("input",(function(){e.onInput()})),t.appendChild(this.textarea),setTimeout((function(){e.resize()}),100),t}},{key:"save",value:function(e){return{html:e.querySelector("textarea").value}}},{key:"onInput",value:function(){var e=this;this.resizeDebounce&&clearTimeout(this.resizeDebounce),this.resizeDebounce=setTimeout((function(){e.resize()}),200)}},{key:"resize",value:function(){this.textarea.style.height="auto",this.textarea.style.height=this.textarea.scrollHeight+"px"}}],[{key:"DEFAULT_PLACEHOLDER",get:function(){return"Enter HTML code"}},{key:"sanitize",get:function(){return{html:!0}}}]),e}()}]).default},3602:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=5)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,".cdx-warning {\n position: relative;\n\n}\n\n@media all and (min-width: 736px) {\n .cdx-warning {\n padding-left: 36px;\n }\n}\n\n.cdx-warning [contentEditable=true][data-placeholder]::before{\n position: absolute;\n content: attr(data-placeholder);\n color: #707684;\n font-weight: normal;\n opacity: 0;\n}\n\n.cdx-warning [contentEditable=true][data-placeholder]:empty::before {\n opacity: 1;\n}\n\n.cdx-warning [contentEditable=true][data-placeholder]:empty:focus::before {\n opacity: 0;\n}\n\n\n.cdx-warning::before {\n content: '';\n background-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='5' y='5' width='14' height='14' rx='4' stroke='black' stroke-width='2'/%3E%3Cline x1='12' y1='9' x2='12' y2='12' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M12 15.02V15.01' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E\");\n width: 24px;\n height: 24px;\n background-size: 24px 24px;\n position: absolute;\n margin-top: 8px;\n left: 0;\n}\n\n@media all and (max-width: 735px) {\n .cdx-warning::before {\n display: none;\n }\n}\n\n.cdx-warning__message {\n min-height: 85px;\n}\n\n.cdx-warning__title {\n margin-bottom: 6px;\n}\n",""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&u.splice(t,1)}function v(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=n.nc;r&&(e.attrs.nonce=r)}return g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function b(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=l||(l=v(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=d(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return f(n,t),function(e){for(var r=[],o=0;o',title:"Warning"}}},{key:"enableLineBreaks",get:function(){return!0}},{key:"DEFAULT_TITLE_PLACEHOLDER",get:function(){return"Title"}},{key:"DEFAULT_MESSAGE_PLACEHOLDER",get:function(){return"Message"}}]),i(e,[{key:"render",value:function(){var e=this._make("div",[this.CSS.baseClass,this.CSS.wrapper]),t=this._make("div",[this.CSS.input,this.CSS.title],{contentEditable:!this.readOnly,innerHTML:this.data.title}),n=this._make("div",[this.CSS.input,this.CSS.message],{contentEditable:!this.readOnly,innerHTML:this.data.message});return t.dataset.placeholder=this.titlePlaceholder,n.dataset.placeholder=this.messagePlaceholder,e.appendChild(t),e.appendChild(n),e}},{key:"save",value:function(e){var t=e.querySelector(".".concat(this.CSS.title)),n=e.querySelector(".".concat(this.CSS.message));return Object.assign(this.data,{title:t.innerHTML,message:n.innerHTML})}},{key:"_make",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=document.createElement(e);for(var a in Array.isArray(n)?(t=i.classList).add.apply(t,r(n)):n&&i.classList.add(n),o)i[a]=o[a];return i}}],[{key:"sanitize",get:function(){return{title:{},message:{}}}}]),e}()}]).default},318:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,".tc-setting{--color-default:#000;--color-active:#388ae5;--color-background:#eff2f5;align-items:center;border-radius:3px;color:var(--color-default);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color .3s ease;width:52px;will-change:background-color}.tc-setting--active{color:var(--color-active)}.tc-setting:first-child{margin-right:4px}.tc-setting:hover{background-color:var(--color-background);transition:background-color 0s}","",{version:3,sources:["webpack://./src/vendor/table/src/styles/settings.pcss"],names:[],mappings:"AAAA,YACE,oBAAqB,CACrB,sBAAuB,CACvB,0BAA2B,CAK3B,kBAAmB,CAEnB,iBAAkB,CAElB,0BAA2B,CAD3B,cAAe,CAJf,mBAAoB,CADpB,WAAY,CAGZ,sBAAuB,CAIvB,oCAAqC,CARrC,UAAW,CASX,4BAcF,CAZE,oBACE,yBACF,CAEA,wBACE,gBACF,CAEA,kBACE,wCAAyC,CACzC,8BACF",sourcesContent:[".tc-setting {\r\n --color-default: #000;\r\n --color-active: #388ae5;\r\n --color-background: #eff2f5;\r\n\r\n width: 52px;\r\n height: 34px;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: 3px;\r\n cursor: pointer;\r\n color: var(--color-default);\r\n transition: background-color .3s ease;\r\n will-change: background-color;\r\n \r\n &--active {\r\n color: var(--color-active);\r\n }\r\n\r\n &:first-child {\r\n margin-right: 4px;\r\n }\r\n\r\n &:hover {\r\n background-color: var(--color-background);\r\n transition: background-color 0s;\r\n }\r\n}"],sourceRoot:""}]);const s=a},3381:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]);const s=a},926:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,'.tc-wrap{--color-background:#f9f9fb;--color-placeholder:#7b7e89;--color-border:#e8e8eb;--cell-size:34px;--toolbox-icon-size:18px;--toolbox-padding:6px;--toolbox-aiming-field-size:calc(var(--toolbox-icon-size) + var(--toolbox-padding)*2);border-left:0;box-sizing:border-box;display:grid;grid-template-columns:calc(100% - var(--cell-size)) var(--cell-size);height:100%;margin-top:var(--toolbox-icon-size);position:relative;width:100%}.tc-wrap svg{vertical-align:top}.tc-table{border-top:1px solid var(--color-border);display:grid;font-size:14px;height:100%;line-height:1.4;position:relative;width:100%}.tc-table:after{content:"";height:100%;left:calc(var(--cell-size)*-1);position:absolute;top:0;width:calc(var(--cell-size))}.tc-table:before{content:"";height:var(--toolbox-aiming-field-size);left:0;position:absolute;top:calc(var(--toolbox-aiming-field-size)*-1);width:100%}.tc-table--heading .tc-row:first-child{border-bottom:2px solid var(--color-border);font-weight:500}.tc-table--heading .tc-row:first-child [contenteditable]:empty:before{color:var(--color-placeholder);content:attr(heading)}.tc-table--heading .tc-row:first-child:after{border-bottom:2px solid var(--color-border);bottom:-2px}.tc-add-column,.tc-add-row{display:flex}.tc-add-column svg path,.tc-add-row svg path{fill:#7b7e89}.tc-add-column{border-top:1px solid var(--color-border);justify-content:center;padding:9px 0}.tc-add-row{align-items:center;height:var(--cell-size);padding-left:12px;position:relative}.tc-add-row:before{content:"";height:100%;position:absolute;right:calc(var(--cell-size)*-1);width:var(--cell-size)}.tc-add-column,.tc-add-row{cursor:pointer;transition:0s;will-change:background-color}.tc-add-column:hover,.tc-add-row:hover{background-color:var(--color-background);transition:background-color .1s ease}.tc-add-row:hover:before{background-color:var(--color-background);transition:.1s}.tc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10px,1fr));position:relative}.tc-row,.tc-row:after{border-bottom:1px solid var(--color-border)}.tc-row:after{bottom:-1px;content:"";height:100%;pointer-events:none;position:absolute;right:calc(var(--cell-size)*-1);width:var(--cell-size)}.tc-row--selected,.tc-row--selected:after{background:var(--color-background)}.tc-cell{border-right:1px solid var(--color-border);clear:both;line-break:normal;outline:none;overflow:hidden;padding:6px 2px 6px 12px}.tc-cell--selected{background:var(--color-background)}',"",{version:3,sources:["webpack://./src/vendor/table/src/styles/table.pcss"],names:[],mappings:"AACA,SACE,0BAA2B,CAC3B,2BAA4B,CAC5B,sBAAuB,CACvB,gBAAiB,CACjB,wBAAyB,CACzB,qBAAsB,CACtB,qFAAwF,CAExF,aAAgB,CAKhB,qBAAsB,CACtB,YAAa,CACb,oEAAqE,CALrE,WAAY,CAEZ,mCAAoC,CAHpC,iBAAkB,CAElB,UASF,CAHE,aACE,kBACF,CAGF,UAME,wCAAyC,CAFzC,YAAa,CACb,cAAe,CAFf,WAAY,CAIZ,eAAgB,CANhB,iBAAkB,CAClB,UAyCF,CAlCE,gBAEE,UAAW,CAEX,WAAY,CACZ,8BAAiC,CAJjC,iBAAkB,CAKlB,KAAM,CAHN,4BAIF,CAEA,iBAEE,UAAW,CAEX,uCAAwC,CAExC,MAAO,CALP,iBAAkB,CAIlB,6CAAgD,CAFhD,UAIF,CAGE,uCAEE,2CAA4C,CAD5C,eAYF,CATE,sEAEE,8BAA+B,CAD/B,qBAEF,CAEA,6CAEE,2CAA4C,CAD5C,WAEF,CAMJ,2BACE,YAKF,CAHE,6CACE,YACF,CAIJ,eAGE,wCAAyC,CADzC,sBAAuB,CADvB,aAGF,CAEA,YAEE,kBAAmB,CADnB,uBAAwB,CAExB,iBAAkB,CAClB,iBASF,CAPE,mBACE,UAAW,CAIX,WAAY,CAHZ,iBAAkB,CAClB,+BAAkC,CAClC,sBAEF,CAIA,2BAEE,cAAe,CADf,aAAc,CAEd,4BAMF,CAJE,uCAEE,wCAAyC,CADzC,oCAEF,CAIA,yBAEE,wCAAyC,CADzC,cAEF,CAIJ,QACE,YAAa,CACb,uDAA0D,CAC1D,iBAiBF,CAdE,sBAFA,2CAWA,CATA,cAME,WAAY,CALZ,UAAW,CAIX,WAAY,CAHZ,mBAAoB,CACpB,iBAAkB,CAIlB,+BAAkC,CAHlC,sBAKF,CAQA,0CACE,kCACF,CAGF,SACE,0CAA2C,CAC3C,UAAW,CAIX,iBAAkB,CADlB,YAAa,CADb,eAAgB,CADhB,wBAQF,CAHE,mBACE,kCACF",sourcesContent:["/* tc- project's prefix*/\r\n.tc-wrap {\r\n --color-background: #f9f9fb;\r\n --color-placeholder: #7b7e89;\r\n --color-border: #e8e8eb;\r\n --cell-size: 34px;\r\n --toolbox-icon-size: 18px;\r\n --toolbox-padding: 6px;\r\n --toolbox-aiming-field-size: calc(var(--toolbox-icon-size) + 2 * var(--toolbox-padding));\r\n\r\n border-left: 0px;\r\n position: relative;\r\n height: 100%;\r\n width: 100%;\r\n margin-top: var(--toolbox-icon-size);\r\n box-sizing: border-box;\r\n display: grid;\r\n grid-template-columns: calc(100% - var(--cell-size)) var(--cell-size);\r\n\r\n & svg {\r\n vertical-align: top;\r\n }\r\n}\r\n\r\n.tc-table {\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n display: grid;\r\n font-size: 14px;\r\n border-top: 1px solid var(--color-border);\r\n line-height: 1.4;\r\n\r\n &::after {\r\n position: absolute;\r\n content: \"\";\r\n width: calc(var(--cell-size));\r\n height: 100%;\r\n left: calc(-1 * var(--cell-size));\r\n top: 0;\r\n }\r\n\r\n &::before {\r\n position: absolute;\r\n content: \"\";\r\n width: 100%;\r\n height: var(--toolbox-aiming-field-size);\r\n top: calc(-1 * var(--toolbox-aiming-field-size));\r\n left: 0;\r\n }\r\n\r\n &--heading {\r\n & .tc-row:first-child {\r\n font-weight: 500;\r\n border-bottom: 2px solid var(--color-border);\r\n\r\n & [contenteditable]:empty::before {\r\n content: attr(heading);\r\n color: var(--color-placeholder);\r\n }\r\n \r\n &::after {\r\n bottom: -2px;\r\n border-bottom: 2px solid var(--color-border);\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tc-add {\r\n &-column, &-row {\r\n display: flex;\r\n\r\n svg path {\r\n fill: #7b7e89;\r\n }\r\n }\r\n}\r\n\r\n.tc-add-column {\r\n padding: 9px 0;\r\n justify-content: center;\r\n border-top: 1px solid var(--color-border);\r\n}\r\n\r\n.tc-add-row {\r\n height: var(--cell-size);\r\n align-items: center;\r\n padding-left: 12px;\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n right: calc(-1 * var(--cell-size));\r\n width: var(--cell-size);\r\n height: 100%;\r\n }\r\n}\r\n\r\n.tc-add {\r\n &-column, &-row {\r\n transition: 0s;\r\n cursor: pointer;\r\n will-change: background-color;\r\n \r\n &:hover {\r\n transition: background-color 0.1s ease;\r\n background-color: var(--color-background);\r\n }\r\n }\r\n\r\n &-row {\r\n &:hover::before {\r\n transition: 0.1s;\r\n background-color: var(--color-background);\r\n }\r\n }\r\n}\r\n\r\n.tc-row {\r\n display: grid;\r\n grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));\r\n position: relative;\r\n border-bottom: 1px solid var(--color-border);\r\n\r\n &::after {\r\n content: '';\r\n pointer-events: none;\r\n position: absolute;\r\n width: var(--cell-size);\r\n height: 100%;\r\n bottom: -1px;\r\n right: calc(-1 * var(--cell-size));\r\n border-bottom: 1px solid var(--color-border);\r\n }\r\n\r\n &--selected {\r\n background: var(--color-background);\r\n }\r\n}\r\n\r\n.tc-row--selected {\r\n &::after {\r\n background: var(--color-background);\r\n }\r\n}\r\n\r\n.tc-cell {\r\n border-right: 1px solid var(--color-border);\r\n clear: both;\r\n padding: 6px 2px 6px 12px;\r\n overflow: hidden;\r\n outline: none;\r\n line-break: normal;\r\n\r\n &--selected {\r\n background: var(--color-background);\r\n }\r\n}"],sourceRoot:""}]);const s=a},5448:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,".tc-toolbox-column,.tc-toolbox-row{--color-border:#eaeaea;--color-option-hover:#f7f7f7;--color-delete:#e24a4a;--menu-padding:30px;--menu-width-row:165px;--menu-width-column:190px;--toolbox-icon-size:18px;--toolbox-padding:6px;cursor:pointer;opacity:0;position:absolute;transition:opacity .1s;z-index:1}.tc-toolbox-column__menu,.tc-toolbox-row__menu{background:#fff;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 3px 15px -3px rgba(13,20,33,.13);display:grid;left:var(--menu-padding);padding:7px 0;top:0;will-change:transform,opacity}.tc-toolbox-column__option,.tc-toolbox-row__option{grid-column-gap:11px;align-items:center;display:grid;font-size:14px;grid-template-columns:auto 1fr;padding:7px 12px}.tc-toolbox-column__option svg path,.tc-toolbox-row__option svg path{fill:#1d202b}.tc-toolbox-column__option:hover,.tc-toolbox-row__option:hover{background:var(--color-option-hover)}.tc-toolbox-row{left:calc(var(--menu-padding)*-1);transform:translateY(-50%)}.tc-toolbox-row__menu{position:absolute;width:var(--menu-width-row)}.tc-toolbox-column{top:calc((var(--toolbox-icon-size) + var(--toolbox-padding))*-1);transform:translateX(-50%)}.tc-toolbox-column__menu{position:absolute;width:var(--menu-width-column)}.tc-toolbox-delete{transition:background-color .3s ease}.tc-toolbox-delete--confirm{background-color:var(--color-delete)!important;color:#fff}.tc-toolbox-delete--confirm svg{filter:invert(100%);transform:rotate(90deg);transition:.2s ease-out}.tc-menu-animation{animation-duration:.1s;animation-name:menuShowing}@keyframes menuShowing{0%{opacity:0;transform:translateY(-8px) scale(.9)}70%{opacity:1;transform:translateY(2px)}to{transform:translateY(0)}}","",{version:3,sources:["webpack://./src/vendor/table/src/styles/toolboxes.pcss"],names:[],mappings:"AAAA,mCACE,sBAAuB,CACvB,4BAA6B,CAC7B,sBAAuB,CACvB,mBAAoB,CACpB,sBAAuB,CACvB,yBAA0B,CAC1B,wBAAyB,CACzB,qBAAsB,CAGtB,cAAe,CAEf,SAAU,CAHV,iBAAkB,CAIlB,sBAAwB,CAFxB,SAgCF,CA5BE,+CACE,eAAgB,CAChB,oCAAqC,CAErC,iBAAkB,CADlB,6CAAkD,CAElD,YAAa,CAGb,wBAAyB,CADzB,aAAc,CAEd,KAAM,CAHN,6BAIF,CAEA,mDAIE,oBAAqB,CACrB,kBAAmB,CAHnB,YAAa,CADb,cAAe,CAEf,8BAA+B,CAG/B,gBASF,CAPE,qEACE,YACF,CAEA,+DACE,oCACF,CAIJ,gBACE,iCAAoC,CACpC,0BAMF,CAJE,sBACE,iBAAkB,CAClB,2BACF,CAGF,mBACE,gEAAmE,CACnE,0BAMF,CAJE,yBACE,iBAAkB,CAClB,8BACF,CAGF,mBACE,oCAYF,CAVE,4BACE,8CAAgD,CAChD,UAOF,CALE,gCAGE,mBAAoB,CADpB,uBAAwB,CADxB,uBAGF,CAIJ,mBAEE,sBAAwB,CADxB,0BAEF,CAEA,uBACE,GACE,SAAS,CAET,oCACF,CACA,IACE,SAAS,CAET,yBACF,CACA,GAEE,uBACF,CACF",sourcesContent:[".tc-toolbox-row, .tc-toolbox-column {\r\n --color-border: #eaeaea;\r\n --color-option-hover: #f7f7f7;\r\n --color-delete: #e24a4a;\r\n --menu-padding: 30px;\r\n --menu-width-row: 165px;\r\n --menu-width-column: 190px;\r\n --toolbox-icon-size: 18px;\r\n --toolbox-padding: 6px;\r\n\r\n position: absolute;\r\n cursor: pointer;\r\n z-index: 1;\r\n opacity: 0;\r\n transition: opacity 0.1s;\r\n\r\n &__menu {\r\n background: #fff;\r\n border: solid 1px var(--color-border);\r\n box-shadow: 0 3px 15px -3px rgba(13, 20, 33, 0.13);\r\n border-radius: 4px;\r\n display: grid;\r\n will-change: transform, opacity;\r\n padding: 7px 0;\r\n left: var(--menu-padding);\r\n top: 0;\r\n }\r\n\r\n &__option {\r\n font-size: 14px;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n grid-column-gap: 11px;\r\n align-items: center;\r\n padding: 7px 12px;\r\n\r\n svg path {\r\n fill: #1d202b;\r\n }\r\n\r\n &:hover {\r\n background: var(--color-option-hover);\r\n }\r\n }\r\n}\r\n\r\n.tc-toolbox-row {\r\n left: calc(-1 * var(--menu-padding));\r\n transform: translateY(-50%);\r\n\r\n &__menu {\r\n position: absolute;\r\n width: var(--menu-width-row);\r\n }\r\n}\r\n\r\n.tc-toolbox-column {\r\n top: calc(-1 * (var(--toolbox-icon-size) + var(--toolbox-padding)));\r\n transform: translateX(-50%);\r\n\r\n &__menu {\r\n position: absolute;\r\n width: var(--menu-width-column);\r\n }\r\n}\r\n\r\n.tc-toolbox-delete {\r\n transition: background-color 0.3s ease;\r\n\r\n &--confirm {\r\n background-color: var(--color-delete) !important;\r\n color: #fff;\r\n\r\n svg {\r\n transition: 0.2s ease-out;\r\n transform: rotate(90deg);\r\n filter: invert(100%);\r\n }\r\n }\r\n}\r\n\r\n.tc-menu-animation {\r\n animation-name: menuShowing;\r\n animation-duration: 0.1s;\r\n} \r\n\r\n@keyframes menuShowing {\r\n 0% {\r\n opacity:0;\r\n -webkit-transform:translateY(-8px) scale(.9);\r\n transform:translateY(-8px) scale(.9)\r\n }\r\n 70% {\r\n opacity:1;\r\n -webkit-transform:translateY(2px);\r\n transform:translateY(2px)\r\n }\r\n to {\r\n -webkit-transform:translateY(0);\r\n transform:translateY(0)\r\n }\r\n}\r\n\r\n"],sourceRoot:""}]);const s=a},6228:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,".tc-hidden{visibility:hidden}.tc-display-none{display:none}","",{version:3,sources:["webpack://./src/vendor/table/src/styles/utils.pcss"],names:[],mappings:"AAEA,WACE,iBACF,CAEA,iBACE,YACF",sourcesContent:["/* tc- project's prefix*/\r\n\r\n.tc-hidden {\r\n visibility: hidden;\r\n}\r\n\r\n.tc-display-none {\r\n display: none;\r\n}"],sourceRoot:""}]);const s=a},3349:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([e.id,".rock-fillin {\n background: rgba(0,200,245,0.2);\n padding: 3px 0;\n}\n","",{version:3,sources:["webpack://./src/fillin.css"],names:[],mappings:"AAAA;IACI,+BAA+B;IAC/B,cAAc;AAClB",sourcesContent:[".rock-fillin {\r\n background: rgba(0,200,245,0.2);\r\n padding: 3px 0;\r\n}\r\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */");return[t].concat([i]).join("\n")}return[t].join("\n")}},8105:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>g});var r=n(3379),o=n.n(r),i=n(7795),a=n.n(i),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),f=n.n(d),h=n(4589),p=n.n(h),m=n(3349),v={};v.styleTagTransform=p(),v.setAttributes=u(),v.insert=l().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=f();o()(m.Z,v);const g=m.Z&&m.Z.locals?m.Z.locals:void 0},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},1597:e=>{e.exports=''},6907:e=>{e.exports=''},7375:e=>{e.exports=''},5100:e=>{e.exports=''},5787:e=>{e.exports=''},3396:e=>{e.exports=''},5748:e=>{e.exports=''},2770:e=>{e.exports=''},5362:e=>{e.exports=''},5435:e=>{e.exports=''},480:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Code=void 0;const o=r(n(4787)),i={bash:"Bash",c:"C",csharp:"C#",cpp:"C++",coffee:"Coffee",coffeescript:"Coffee Script",css:"CSS",html:"HTML",javascript:"JavaScript",json:"JSON",markdown:"Markdown",objectivec:"Objective-C",perl:"Perl",php:"PHP",plsql:"PL/SQL",powershell:"PowerShell",py:"Python",rb:"Ruby",regex:"Regular Expression",ruby:"Ruby",sass:"SASS",scss:"SCSS",shell:"Shell",sql:"SQL",svg:"SVG",swift:"Swift",ts:"TypeScript",xaml:"XAML",xml:"XML",yaml:"YAML"};class a extends o.default{constructor(e){var t;super(e);const n=this.nodes.holder;this.languageNode=this.createLanguageNode(),this.languageNode.selectedIndex=this.findLanguageIndex((null===(t=e.data)||void 0===t?void 0:t.lang)||""),n.appendChild(this.languageNode)}createLanguageNode(){const e=document.createElement("select");e.setAttribute("class","form-control");let t=document.createElement("option");t.value="",t.text="Select Language",e.options.add(t);const n=Object.keys(i);for(let r=0;r",html:"",height:300,width:600}),o.default.prepare({config:e.config})}render(){const e=super.render();if(0===e.childElementCount)return e;const t=document.createElement("div");t.classList.add("embed-responsive","embed-responsive-16by9");const n=e.querySelector("iframe")||e.querySelector("video");return n.classList.add("embed-responsive-item"),n.removeAttribute("style"),n.removeAttribute("width"),n.removeAttribute("height"),n.before(t),n.remove(),t.appendChild(n),e}}t.Embed=i},624:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Fillin=void 0;const r=n(7429);n(8105);class o{constructor(e){this.api=e.api,this.config=e.config,this.iconClasses={base:this.api.styles.inlineToolButton,active:this.api.styles.inlineToolButtonActive}}static get title(){return"Fill In"}static get sanitize(){return{fillin:{class:o.CSS,"data-id":!0}}}static get isInline(){return!0}render(){return this.button=document.createElement("button"),this.button.type="button",this.button.classList.add(this.iconClasses.base),this.button.innerHTML=this.toolboxIcon,this.button}get toolboxIcon(){return'\n\n\n\n'}surround(e){const t=this.api.selection.findParentTag(o.tag);t?this.unwrap(t):this.wrap(e)}checkState(e){var t;const n=this.api.selection.findParentTag(o.tag,o.CSS);return null===(t=this.button)||void 0===t||t.classList.toggle(this.iconClasses.active,!!n),!1}wrap(e){let t=document.createElement(o.tag);t.classList.add(o.CSS),t.dataset.id=(0,r.v4)(),t.appendChild(e.extractContents()),e.insertNode(t),this.api.selection.expandToTag(t)}unwrap(e){var t;this.api.selection.expandToTag(e);let n=window.getSelection(),r=n.getRangeAt(0),o=r.extractContents();null===(t=e.parentNode)||void 0===t||t.removeChild(e),r.insertNode(o),n.removeAllRanges(),n.addRange(r)}}t.Fillin=o,o.tag="FILLIN",o.CSS="rock-fillin"},7713:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.NestedList=void 0;const o=r(n(9257));class i extends o.default{constructor(e){void 0!==e.data.items&&e.data.items.length>0&&"string"==typeof e.data.items[0]&&(e.data.items=e.data.items.map((e=>({content:e,items:[]})))),super(e)}validate(e){return e.items.length>0&&""!==e.items[0].content}}t.NestedList=i},1835:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Note=void 0;const r=n(7429);t.Note=class{static get toolbox(){return{icon:'',title:"Note"}}static get enableLineBreaks(){return!0}get data(){var e;return{id:this.id,note:(null===(e=this.holderNode.querySelector("textarea"))||void 0===e?void 0:e.value)||""}}set data(e){this.id=e.id||(0,r.v4)(),this.textAreaNode.value=e.note||""}constructor(e){var t;this.api=e.api,this.placeholder=(null===(t=e.config)||void 0===t?void 0:t.placeholder)||"Enter note",this.holderNode=this.drawView(),this.data=e.data}drawView(){const e=document.createElement("div"),t=document.createElement("textarea");return e.classList.add(this.api.styles.block,"ce-note"),t.classList.add("ce-note__textarea",this.api.styles.input),t.placeholder=this.placeholder,e.appendChild(t),this.textAreaNode=t,e}render(){return this.holderNode}save(e){var t;return{id:this.id,note:(null===(t=e.querySelector("textarea"))||void 0===t?void 0:t.value)||""}}}},6811:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Quote=void 0;const o=r(n(3058));class i extends o.default{static get enableLineBreaks(){return!1}validate(e){return""!==e.text}}t.Quote=i},1599:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Raw=void 0;const o=r(n(8172));class i extends o.default{constructor(e){super(e)}render(){const e=super.render(),t=e.querySelector("textarea");return t&&(t.spellcheck=!1),e}static get toolbox(){const e=o.default.toolbox;if(Array.isArray(e))for(const t of e)"Raw HTML"===t.title&&(t.title="Raw HTML/Lava");else e.title="Raw HTML/Lava";return e}}t.Raw=i},5958:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RockImage=void 0;const i=o(n(1854));function a(e){return new Promise(((t,n)=>{t({success:!0,file:{url:e}})}))}class s extends i.default{constructor(e){var t;const n=(null===(t=e.config)||void 0===t?void 0:t.binaryFileType)||"C1142570-8CD6-4A20-83B1-ACB47C1CD377";e.config=e.config||{},e.config.uploader={uploadByUrl:a,uploadByFile:function(e){return function(e,t){return r(this,void 0,void 0,(function*(){const n=new FormData;return n.append("file",e),yield $.ajax({url:`/FileUploader.ashx?isBinaryFile=1&fileTypeGuid=${t}`,type:"POST",contentType:!1,data:n,processData:!1,cache:!1,dataType:"json"}).then((function(e){return e.Id&&e.FileName?{success:!0,file:{url:`/GetImage.ashx?Id=${e.Id}`,fileId:e.Id}}:{success:!1,file:{url:""}}}))}))}(e,n)}},e.data=e.data||{},void 0!==e.data.url&&void 0===e.data.file&&(e.data.file={url:e.data.url},delete e.data.url),super(e)}renderSettings(){let e=super.renderSettings();Array.isArray(e)||(e=[e]);for(let t=0;t0}}t.Table=i},7429:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return l.default}});var r=f(n(3990)),o=f(n(8237)),i=f(n(5355)),a=f(n(3764)),s=f(n(6314)),l=f(n(8464)),c=f(n(6435)),u=f(n(4008)),d=f(n(8222));function f(e){return e&&e.__esModule?e:{default:e}}},4163:(e,t)=>{"use strict";function n(e){return 14+(e+64>>>9<<4)+1}function r(e,t){const n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,t,n,o,i,a){return r((s=r(r(t,e),r(o,a)))<<(l=i)|s>>>32-l,n);var s,l}function i(e,t,n,r,i,a,s){return o(t&n|~t&r,e,t,i,a,s)}function a(e,t,n,r,i,a,s){return o(t&r|n&~r,e,t,i,a,s)}function s(e,t,n,r,i,a,s){return o(t^n^r,e,t,i,a,s)}function l(e,t,n,r,i,a,s){return o(n^(t|~r),e,t,i,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var c=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let n=0;n>5]>>>o%32&255,i=parseInt(r.charAt(n>>>4&15)+r.charAt(15&n),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[n/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=n},6314:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default="00000000-0000-0000-0000-000000000000"},8222:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(6435))&&r.__esModule?r:{default:r};var i=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");let t;const n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};t.default=i},58:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},3319:(e,t)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!n&&(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!n))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)};const r=new Uint8Array(16)},3757:(e,t)=>{"use strict";function n(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function r(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=function(e){const t=[1518500249,1859775393,2400959708,3395469782],o=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let n=0;n>>0;d=u,u=c,c=r(l,30)>>>0,l=a,a=s}o[0]=o[0]+a>>>0,o[1]=o[1]+l>>>0,o[2]=o[2]+c>>>0,o[3]=o[3]+u>>>0,o[4]=o[4]+d>>>0}return[o[0]>>24&255,o[0]>>16&255,o[0]>>8&255,255&o[0],o[1]>>24&255,o[1]>>16&255,o[1]>>8&255,255&o[1],o[2]>>24&255,o[2]>>16&255,o[2]>>8&255,255&o[2],o[3]>>24&255,o[3]>>16&255,o[3]>>8&255,255&o[3],o[4]>>24&255,o[4]>>16&255,o[4]>>8&255,255&o[4]]};t.default=o},4008:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var r,o=(r=n(6435))&&r.__esModule?r:{default:r};const i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));function a(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}var s=function(e,t=0){const n=a(e,t);if(!(0,o.default)(n))throw TypeError("Stringified UUID is invalid");return n};t.default=s},3990:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(3319))&&r.__esModule?r:{default:r},i=n(4008);let a,s,l=0,c=0;var u=function(e,t,n){let r=t&&n||0;const u=t||new Array(16);let d=(e=e||{}).node||a,f=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==f){const t=e.random||(e.rng||o.default)();null==d&&(d=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==f&&(f=s=16383&(t[6]<<8|t[7]))}let h=void 0!==e.msecs?e.msecs:Date.now(),p=void 0!==e.nsecs?e.nsecs:c+1;const m=h-l+(p-c)/1e4;if(m<0&&void 0===e.clockseq&&(f=f+1&16383),(m<0||h>l)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=h,c=p,s=f,h+=122192928e5;const v=(1e4*(268435455&h)+p)%4294967296;u[r++]=v>>>24&255,u[r++]=v>>>16&255,u[r++]=v>>>8&255,u[r++]=255&v;const g=h/4294967296*1e4&268435455;u[r++]=g>>>8&255,u[r++]=255&g,u[r++]=g>>>24&15|16,u[r++]=g>>>16&255,u[r++]=f>>>8|128,u[r++]=255&f;for(let e=0;e<6;++e)u[r+e]=d[e];return t||(0,i.unsafeStringify)(u)};t.default=u},8237:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7925)),o=i(n(4163));function i(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)("v3",48,o.default);t.default=a},7925:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,n){function r(e,r,a,s){var l;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(4790)),o=a(n(3319)),i=n(4008);function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t,n){if(r.default.randomUUID&&!t&&!e)return r.default.randomUUID();const a=(e=e||{}).random||(e.rng||o.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=a[e];return t}return(0,i.unsafeStringify)(a)};t.default=s},3764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7925)),o=i(n(3757));function i(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)("v5",80,o.default);t.default=a},6435:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(58))&&r.__esModule?r:{default:r};var i=function(e){return"string"==typeof e&&o.default.test(e)};t.default=i},8464:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(6435))&&r.__esModule?r:{default:r};var i=function(e){if(!(0,o.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)};t.default=i},7087:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>He});var r=n(3379),o=n.n(r),i=n(7795),a=n.n(i),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),f=n.n(d),h=n(4589),p=n.n(h),m=n(3381),v={};v.styleTagTransform=p(),v.setAttributes=u(),v.insert=l().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=f();o()(m.Z,v);m.Z&&m.Z.locals&&m.Z.locals;function g({tagName:e="div",cssClasses:t,attrs:n,children:r,innerHTML:o,textContent:i}){const a=document.createElement(e);if(t&&a.classList.add(...t.filter((e=>!!e))),n)for(let e in n)a.setAttribute(e,n[e]);if(i&&(a.textContent=i),o&&(a.innerHTML=o),r)for(let e=0;ee?this.element.style.opacity="0":this.element.style.cssText=`opacity: 1; left: calc((100% - var(--cell-size)) / (${e} * 2) * (1 + (${t} - 1) * 2))`,1==e?this.hideDeleteButton():this.unhideDeleteButton()}}var W=n(5787),X=n.n(W),K=n(6907),Q=n.n(K);const ee="tc-hidden",te="tc-display-none",ne="tc-toolbox-row",re="tc-toolbox-row__menu",oe="tc-toolbox-delete",ie="tc-toolbox-delete--row",ae="tc-toolbox-row__option",se="tc-menu-animation",le="tc-toolbox-delete--confirm",ce={addRowAbove:{"add-row-above":""},addRowBelow:{"add-row-below":""},deleteRow:{"delete-row":""}};class ue{constructor(e){this.api=e,this.element=this.createToolboxRow(),this.row=0,this.showDeleteConfirmation=!1}createToolboxRow(){let e=this.createMenu(),t=g({cssClasses:[ne]});return t.innerHTML=j(),this.menu=t.appendChild(e),t}createMenu(){let e=g({tagName:"span",textContent:this.api.i18n.t("Add row above")}),t=g({tagName:"span",textContent:this.api.i18n.t("Add row below")}),n=g({tagName:"span",textContent:this.api.i18n.t("Delete row")}),r=g({innerHTML:X(),cssClasses:[ae],attrs:ce.addRowAbove,children:[e]}),o=g({innerHTML:Q(),cssClasses:[ae],attrs:ce.addRowBelow,children:[t]}),i=g({innerHTML:N(),cssClasses:[oe,ae,ie],attrs:ce.deleteRow,children:[n]});return g({cssClasses:[re,ee],children:[r,o,i]})}hideDeleteButton(){this.menu.querySelector(`.${ie}`).classList.add(te)}unhideDeleteButton(){this.menu.querySelector(`.${ie}`).classList.remove(te)}openMenu(){this.showDeleteConfirmation=!1,this.menu.classList.add(se),this.menu.classList.remove(ee)}closeMenu(){this.menu.classList.remove(se),this.menu.classList.add(ee),this.unsetDeleteConfirmation()}setDeleteConfirmation(){this.showDeleteConfirmation=!0,this.menu.querySelector(`.${oe}`).classList.add(le)}unsetDeleteConfirmation(){this.menu.querySelector(`.${oe}`).classList.remove(le)}updateToolboxIconPosition(e=0,t=this.row,n){if(this.row=t,this.row<=0||this.row>e)this.element.style.opacity="0";else{const e=n.querySelector(`.tc-row:nth-child(${this.row})`),{fromTopBorder:t}=y(n,e),{height:r}=e.getBoundingClientRect();this.element.style.opacity="1",this.element.style.top=`${t+r/2}px`}1==e?this.hideDeleteButton():this.unhideDeleteButton()}}const de="tc-wrap",fe="tc-table",he="tc-row",pe="tc-table--heading",me="tc-row--selected",ve="tc-cell",ge="tc-cell--selected",be="tc-add-row",ye="tc-add-column",we="add-row-above",Ce="add-row-below",xe="delete-row",Ae="add-column-right",ke="add-column-left",Se="delete-column";class _e{constructor(e,t){this.readOnly=e,this.api=t,this.toolboxColumn=new Y(t),this.toolboxRow=new ue(t),this.createTableWrapper(),this.hoveredRow=0,this.hoveredColumn=0,this.lastSelectedRow=0,this.lastSelectedColumn=0,this.showDeleteRowConfirmation=!1,this.showDeleteColumnConfirmation=!1,this.tunes={withHeadings:!1},this.focusedCell={row:0,column:0},this.clickOutsideListener=e=>{const t=e.target.closest(`.${fe}`),n=null===e.target.closest(`.${de}`);t?this.clickOutsideMenus():n&&this.hideToolboxIconsAndMenus()},this.readOnly||this.bindEvents()}bindEvents(){document.addEventListener("click",this.clickOutsideListener),this.table.addEventListener("mousemove",function(e,t){let n=0;return function(...r){const o=(new Date).getTime();if(!(o-nthis.onMouseMoveInTable(e))),{passive:!0}),this.wrapper.addEventListener("click",(e=>this.onClickQuickAddButton(e))),this.toolboxColumn.element.addEventListener("click",(e=>this.onClickColumnToolbox(e))),this.toolboxRow.element.addEventListener("click",(e=>this.onClickRowToolbox(e))),this.table.onkeypress=e=>this.onKeyPressListener(e),this.table.addEventListener("keydown",(e=>this.onKeyDownListener(e))),this.table.addEventListener("focusin",(e=>this.focusInTableListener(e)))}moveCursorToNextRow(){this.focusedCell.row!=this.numberOfRows?(this.focusedCell.row+=1,this.focusCell(this.focusedCell)):(this.addRow(),this.focusedCell.row+=1,this.focusCell(this.focusedCell),this.updateToolboxesPosition(0,0))}getCell(e,t){return this.table.querySelector(`.${he}:nth-child(${e}) .${ve}:nth-child(${t})`)}getRow(e){return this.table.querySelector(`.${he}:nth-child(${e})`)}getRowByCell(e){return e.parentElement}addColumn(e=-1){let t=this.numberOfColumns;for(let n=1;n<=this.numberOfRows;n++){let r;const o=this.createCell();e>0&&e<=t?(r=this.getCell(n,e),w(o,r)):r=this.getRow(n).appendChild(o)}this.addHeadingAttrToFirstRow()}addRow(e=-1){let t,n=g({cssClasses:[he]});this.tunes.withHeadings&&this.removeHeadingAttrFromFirstRow();let r=this.numberOfColumns;if(e>0&&e<=this.numberOfRows){t=w(n,this.getRow(e))}else t=this.table.appendChild(n);return this.fillRow(t,r),this.tunes.withHeadings&&this.addHeadingAttrToFirstRow(),t}deleteColumn(e){for(let t=1;t<=this.numberOfRows;t++){const n=this.getCell(t,e);if(!n)return;n.remove()}}deleteRow(e){this.getRow(e).remove(),this.addHeadingAttrToFirstRow()}createTableWrapper(){this.wrapper=g({cssClasses:[de],children:[this.toolboxRow.element,this.toolboxColumn.element]}),this.table=this.wrapper.appendChild(g({cssClasses:[fe]})),this.wrapper.append(g({innerHTML:O(),cssClasses:[ye]}),g({innerHTML:O(),cssClasses:[be]}))}fillRow(e,t){for(let n=1;n<=t;n++){const t=this.createCell();e.appendChild(t)}}createCell(){return g({cssClasses:[ve],attrs:{contenteditable:!this.readOnly}})}get numberOfRows(){return this.table.childElementCount}get numberOfColumns(){return this.numberOfRows?this.table.querySelector(`.${he}:first-child`).childElementCount:0}get isColumnMenuShowing(){return 0!=this.lastSelectedColumn}get isRowMenuShowing(){return 0!=this.lastSelectedRow}onMouseMoveInTable(e){const{row:t,column:n}=this.hoveredCell(e);this.updateToolboxesPosition(t,n)}onClickQuickAddButton(e){const t=e.target.closest(`.${be}`),n=e.target.closest(`.${ye}`);t&&(this.addRow(),this.hideToolboxIconsAndMenus()),n&&(this.addColumn(),this.hideToolboxIconsAndMenus())}onClickColumnToolbox(e){e.stopPropagation();const t=e.target.closest("svg"),n=e.target.closest(`[${Ae}]`),r=e.target.closest(`[${ke}]`),o=e.target.closest(`[${Se}]`);if(n)return this.addColumn(this.lastSelectedColumn+1),void this.hideAndUnselect();if(r)return this.addColumn(this.lastSelectedColumn),void this.hideAndUnselect();if(o)this.toolboxColumn.showDeleteConfirmation?(this.deleteColumn(this.lastSelectedColumn),this.hideToolboxIconsAndMenus()):this.toolboxColumn.setDeleteConfirmation();else if(t){if(this.unselectRowAndHideMenu(),this.hoveredColumn==this.lastSelectedColumn)return void this.unselectColumnAndHideMenu();this.showDeleteColumnConfirmation=!1,this.selectColumnAndOpenMenu()}}onClickRowToolbox(e){e.stopPropagation();const t=e.target.closest("svg"),n=e.target.closest(`[${we}]`),r=e.target.closest(`[${Ce}]`),o=e.target.closest(`[${xe}]`);if(n)return this.addRow(this.lastSelectedRow),void this.hideAndUnselect();if(r)return this.addRow(this.lastSelectedRow+1),void this.hideAndUnselect();if(o)this.toolboxRow.showDeleteConfirmation?(this.deleteRow(this.lastSelectedRow),this.hideToolboxIconsAndMenus(),this.showDeleteRowConfirmation=!1):this.toolboxRow.setDeleteConfirmation();else if(t){if(this.unselectColumnAndHideMenu(),this.hoveredRow==this.lastSelectedRow)return void this.unselectRowAndHideMenu();this.showDeleteRowConfirmation=!1,this.selectRowAndOpenMenu()}}onKeyPressListener(e){if("Enter"==e.key){if(e.shiftKey)return!0;this.moveCursorToNextRow()}return"Enter"!=e.key}onKeyDownListener(e){"Tab"==e.key&&e.stopPropagation()}focusInTableListener(e){const t=e.target,n=this.getRowByCell(t);this.focusedCell={row:Array.from(this.table.querySelectorAll(`.${he}`)).indexOf(n)+1,column:Array.from(n.querySelectorAll(`.${ve}`)).indexOf(t)+1}}clickOutsideMenus(){this.unselectColumn(),this.toolboxColumn.closeToolboxMenu(),this.unselectRow(),this.toolboxRow.closeMenu()}hideToolboxIconsAndMenus(){this.unselectRow(),this.unselectColumn(),this.toolboxRow.closeMenu(),this.toolboxColumn.closeToolboxMenu(),this.updateToolboxesPosition(0,0)}hideAndUnselect(){this.unselectRow(),this.unselectColumn(),this.toolboxRow.closeMenu(),this.toolboxColumn.closeToolboxMenu(),this.updateToolboxesPosition()}focusCell(){this.focusedCellElem.focus()}get focusedCellElem(){const{row:e,column:t}=this.focusedCell;return this.getCell(e,t)}updateToolboxesPosition(e=this.hoveredRow,t=this.hoveredColumn){this.isColumnMenuShowing||(this.hoveredColumn=t,this.toolboxColumn.updateToolboxIconPosition(this.numberOfColumns,t)),this.isRowMenuShowing||(this.hoveredRow=e,this.toolboxRow.updateToolboxIconPosition(this.numberOfRows,e,this.table))}setHeadingsSetting(e){this.tunes.withHeadings=e,e?(this.table.classList.add(pe),this.addHeadingAttrToFirstRow()):(this.table.classList.remove(pe),this.removeHeadingAttrFromFirstRow())}addHeadingAttrToFirstRow(){for(let e=1;e<=this.numberOfColumns;e++){let t=this.getCell(1,e);t&&t.setAttribute("heading",this.api.i18n.t("Heading"))}}removeHeadingAttrFromFirstRow(){for(let e=1;e<=this.numberOfColumns;e++){let t=this.getCell(1,e);t&&t.removeAttribute("heading")}}selectRow(e){const t=this.getRow(e);t&&(this.lastSelectedRow=e,t.classList.add(me))}unselectRow(){if(this.lastSelectedRow<=0)return;const e=this.table.querySelector(`.${me}`);e&&e.classList.remove(me),this.lastSelectedRow=0}selectColumn(e){for(let t=1;t<=this.numberOfRows;t++){const n=this.getCell(t,e);n&&n.classList.add(ge)}this.lastSelectedColumn=e}unselectColumn(){if(this.lastSelectedColumn<=0)return;let e=this.table.querySelectorAll(`.${ge}`);Array.from(e).forEach((e=>{e.classList.remove(ge)})),this.lastSelectedColumn=0}hoveredCell(e){let t=this.hoveredRow,n=this.hoveredColumn;const{width:r,height:o,x:i,y:a}=function(e,t){const n=e.getBoundingClientRect(),{width:r,height:o,x:i,y:a}=n,{clientX:s,clientY:l}=t;return{width:r,height:o,x:s-i,y:l-a}}(this.table,e);return i>=0&&(n=this.binSearch(this.numberOfColumns,(e=>this.getCell(1,e)),(({fromLeftBorder:e})=>ii>r-e))),a>=0&&(t=this.binSearch(this.numberOfRows,(e=>this.getCell(e,1)),(({fromTopBorder:e})=>aa>o-e))),{row:t||this.hoveredRow,column:n||this.hoveredColumn}}binSearch(e,t,n,r){let o,i=0,a=e+1,s=0;for(;i0?s:void 0,u=!isNaN(l)&&l>0?l:void 0,d=i||c||2,f=a||u||2;for(let e=0;ee.innerHTML)))}return e}useHeadings(e){this.tableInstance.setHeadingsSetting(e)}}var Te=n(5748),je=n.n(Te),Be=n(5362),Re=n.n(Be),Ie=n(5435),Ue=n.n(Ie);const Pe="tc-setting",Ne="tc-setting--active";class He{static get isReadOnlySupported(){return!0}static get enableLineBreaks(){return!0}constructor({data:e,config:t,api:n,readOnly:r}){this.api=n,this.readOnly=r,this.data={withHeadings:!(!e||!e.withHeadings)&&e.withHeadings,content:e&&e.content?e.content:[]},this.tableConstructor=new Oe(e,t,n,r),this.tableConstructor.useHeadings(this.data.withHeadings)}static get toolbox(){return{icon:je(),title:"Table"}}render(){return this.tableConstructor.container}renderSettings(){const e=document.createElement("div");return[{name:this.api.i18n.t("With headings"),icon:Re(),isActive:this.data.withHeadings,setTune:()=>{this.data.withHeadings=!0}},{name:this.api.i18n.t("Without headings"),icon:Ue(),isActive:!this.data.withHeadings,setTune:()=>{this.data.withHeadings=!1}}].forEach((t=>{let n=g({cssClasses:[Pe,t.isActive?Ne:""]});n.innerHTML=t.icon,n.addEventListener("click",(()=>this.toggleTune(t,n))),this.api.tooltip.onHover(n,t.name,{placement:"top",hidingDelay:500}),e.append(n)})),e}save(){const e=this.tableConstructor.getData();return{withHeadings:this.data.withHeadings,content:e}}toggleTune(e,t){const n=t.parentNode.querySelectorAll("."+Pe);Array.from(n).forEach((e=>e.classList.remove(Ne))),t.classList.toggle(Ne),e.setTune(),this.tableConstructor.useHeadings(this.data.withHeadings)}destroy(){this.tableConstructor.tableInstance.destroy()}}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var r=n(401),o=((Rock="undefined"==typeof Rock?{}:Rock).UI=Rock.UI||{}).StructuredContentEditor=Rock.UI.StructuredContentEditor||{};for(var i in r)o[i]=r[i];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})(); +//# sourceMappingURL=editor-tools.js.map \ No newline at end of file diff --git a/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor.js b/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor.js new file mode 100644 index 00000000000..10a5921e357 --- /dev/null +++ b/RockWeb/Scripts/Rock/UI/structuredcontenteditor/editor.js @@ -0,0 +1,39 @@ +(()=>{var e={9169:(e,t,o)=>{"use strict";o.d(t,{Z:()=>a});var n=o(7537),i=o.n(n),s=o(3645),r=o.n(s)()(i());r.push([e.id,'/*\n By default nested-list plugin displays nested ordered lists like "3.2.2.1".\n This changes it to display the same as just "1".\n*/\n.cdx-nested-list--ordered > .cdx-nested-list__item::before {\n content: counter(item) ". ";\n}\n\n/*\n Adjust the default color of the raw editor to be more Rock like.\n*/\n\ntextarea.ce-rawtool__textarea {\n background-color: #f8f8f8;\n color: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n}\n',"",{version:3,sources:["webpack://./src/custom.css"],names:[],mappings:"AAAA;;;CAGC;AACD;IACI,2BAA2B;AAC/B;;AAEA;;CAEC;;AAED;IACI,yBAAyB;IACzB,cAAc;IACd,oBAAoB;IACpB,uBAAuB;AAC3B",sourcesContent:['/*\r\n By default nested-list plugin displays nested ordered lists like "3.2.2.1".\r\n This changes it to display the same as just "1".\r\n*/\r\n.cdx-nested-list--ordered > .cdx-nested-list__item::before {\r\n content: counter(item) ". ";\r\n}\r\n\r\n/*\r\n Adjust the default color of the raw editor to be more Rock like.\r\n*/\r\n\r\ntextarea.ce-rawtool__textarea {\r\n background-color: #f8f8f8;\r\n color: inherit;\r\n line-height: inherit;\r\n letter-spacing: inherit;\r\n}\r\n'],sourceRoot:""}]);const a=r},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o="",n=void 0!==t[5];return t[4]&&(o+="@supports (".concat(t[4],") {")),t[2]&&(o+="@media ".concat(t[2]," {")),n&&(o+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),o+=e(t),n&&(o+="}"),t[2]&&(o+="}"),t[4]&&(o+="}"),o})).join("")},t.i=function(e,o,n,i,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var a=0;a0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),o&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=o):d[2]=o),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],o=e[3];if(!o)return t;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),s="/*# ".concat(i," */");return[t].concat([s]).join("\n")}return[t].join("\n")}},9547:e=>{self,e.exports=(()=>{var e={424:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>a});var n=o(81),i=o.n(n),s=o(645),r=o.n(s)()(i());r.push([e.id,'.ce-block--drop-target .ce-block__content:before {\n content: "";\n position: absolute;\n top: 50%;\n left: -20px;\n margin-top: -1px;\n height: 8px;\n width: 8px;\n border: solid #a0a0a0;\n border-width: 1px 1px 0 0;\n -webkit-transform-origin: right;\n transform-origin: right;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n.ce-block--drop-target .ce-block__content:after {\n background: none;\n}',""]);const a=r},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o="",n=void 0!==t[5];return t[4]&&(o+="@supports (".concat(t[4],") {")),t[2]&&(o+="@media ".concat(t[2]," {")),n&&(o+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),o+=e(t),n&&(o+="}"),t[2]&&(o+="}"),t[4]&&(o+="}"),o})).join("")},t.i=function(e,o,n,i,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var a=0;a0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),o&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=o):d[2]=o),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},81:e=>{"use strict";e.exports=function(e){return e[1]}},406:(e,t,o)=>{var n=o(424);"string"==typeof n&&(n=[[e.id,n,""]]),o(723)(n,{hmr:!0,transform:void 0,insertInto:void 0}),n.locals&&(e.exports=n.locals)},723:(e,t,o)=>{var n,i,s={},r=(n=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===i&&(i=n.apply(this,arguments)),i}),a=function(e){return document.querySelector(e)},l=function(e){var t={};return function(e){if("function"==typeof e)return e();if(void 0===t[e]){var o=a.call(this,e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}}(),c=null,d=0,h=[],p=o(947);function u(e,t){for(var o=0;o=0&&h.splice(t,1)}function b(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),k(t,e.attrs),g(e,t),t}function k(e,t){Object.keys(t).forEach((function(o){e.setAttribute(o,t[o])}))}function v(e,t){var o,n,i,s;if(t.transform&&e.css){if(!(s=t.transform(e.css)))return function(){};e.css=s}if(t.singleton){var r=d++;o=c||(c=b(t)),n=w.bind(null,o,r,!1),i=w.bind(null,o,r,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(o=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",k(t,e.attrs),g(e,t),t}(t),n=C.bind(null,o,t),i=function(){m(o),o.href&&URL.revokeObjectURL(o.href)}):(o=b(t),n=E.bind(null,o),i=function(){m(o)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=r()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var o=f(e,t);return u(o,t),function(e){for(var n=[],i=0;i{e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var o=t.protocol+"//"+t.host,n=o+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var i,s=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(s)?e:(i=0===s.indexOf("//")?s:0===s.indexOf("/")?o+s:n+s.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")}))}}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={id:n,exports:{}};return e[n](s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e,t){for(var o=0;ot}),o(406);var t=function(){function t(e,o){var n=e.configuration,i=e.blocks,s=e.toolbar,r=e.save;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.toolbar=s,this.borderStyle=o||"1px dashed #aaa",this.api=i,this.holder="string"==typeof n.holder?document.getElementById(n.holder):n.holder,this.readOnly=n.readOnly,this.startBlock=null,this.endBlock=null,this.save=r,this.setDragListener(),this.setDropListener()}var o,n,i;return o=t,i=[{key:"isReadOnlySupported",get:function(){return!0}}],(n=[{key:"setElementCursor",value:function(e){if(e){var t=document.createRange(),o=window.getSelection();t.setStart(e.childNodes[0],0),t.collapse(!0),o.removeAllRanges(),o.addRange(t),e.focus()}}},{key:"setDragListener",value:function(){var e=this;if(!this.readOnly){var t=this.holder.querySelector(".ce-toolbar__settings-btn");t.setAttribute("draggable","true"),t.addEventListener("dragstart",(function(){e.startBlock=e.api.getCurrentBlockIndex()})),t.addEventListener("drag",(function(){if(e.toolbar.close(),!e.isTheOnlyBlock()){var t=e.holder.querySelectorAll(".ce-block"),o=e.holder.querySelector(".ce-block--drop-target");e.setElementCursor(o),e.setBorderBlocks(t,o)}}))}}},{key:"setBorderBlocks",value:function(e,t){var o=this;Object.values(e).forEach((function(n){var i=n.querySelector(".ce-block__content");n!==t?(i.style.removeProperty("border-top"),i.style.removeProperty("border-bottom")):Object.keys(e).find((function(o){return e[o]===t}))>o.startBlock?i.style.borderBottom=o.borderStyle||borderStyle:i.style.borderTop=o.borderStyle}))}},{key:"setDropListener",value:function(){var e=this;document.addEventListener("drop",(function(t){var o=t.target;if(e.holder.contains(o)&&null!==e.startBlock){var n=e.getDropTarget(o);if(n){var i=n.querySelector(".ce-block__content");i.style.removeProperty("border-top"),i.style.removeProperty("border-bottom"),e.endBlock=e.getTargetPosition(n),e.moveBlocks()}}e.startBlock=null}))}},{key:"getDropTarget",value:function(e){return e.classList.contains("ce-block")?e:e.closest(".ce-block")}},{key:"getTargetPosition",value:function(e){return Array.from(e.parentNode.children).indexOf(e)}},{key:"isTheOnlyBlock",value:function(){return 1===this.api.getBlocksCount()}},{key:"moveBlocks",value:function(){this.isTheOnlyBlock()||this.api.move(this.endBlock,this.startBlock)}}])&&e(o.prototype,n),i&&e(o,i),Object.defineProperty(o,"prototype",{writable:!1}),t}()})(),n.default})()},1784:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>b});var n=o(3379),i=o.n(n),s=o(7795),r=o.n(s),a=o(569),l=o.n(a),c=o(3565),d=o.n(c),h=o(9216),p=o.n(h),u=o(4589),f=o.n(u),g=o(9169),m={};m.styleTagTransform=f(),m.setAttributes=d(),m.insert=l().bind(null,"head"),m.domAPI=r(),m.insertStyleElement=p();i()(g.Z,m);const b=g.Z&&g.Z.locals?g.Z.locals:void 0},3379:e=>{"use strict";var t=[];function o(e){for(var o=-1,n=0;n{"use strict";var t={};e.exports=function(e,o){var n=function(e){if(void 0===t[e]){var o=document.querySelector(e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(o)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,o)=>{"use strict";e.exports=function(e){var t=o.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(o){!function(e,t,o){var n="";o.supports&&(n+="@supports (".concat(o.supports,") {")),o.media&&(n+="@media ".concat(o.media," {"));var i=void 0!==o.layer;i&&(n+="@layer".concat(o.layer.length>0?" ".concat(o.layer):""," {")),n+=o.css,i&&(n+="}"),o.media&&(n+="}"),o.supports&&(n+="}");var s=o.sourceMap;s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,o)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4286:function(e,t,o){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DragDrop=void 0;const i=n(o(9547));class s extends i.default{constructor(e){super(e),this.setDragEndListener()}setDragEndListener(){if(!this.readOnly){const e=this.holder.querySelector(".ce-toolbar__settings-btn");e.setAttribute("draggable","true"),e.addEventListener("dragend",(()=>{this.startBlock=null}))}}getDropTarget(e){const t=super.getDropTarget(e);return null!==t&&super.getTargetPosition(t)===this.startBlock?null:t}moveBlocks(){null!=this.startBlock&&null!=this.endBlock&&super.moveBlocks()}}t.DragDrop=s},1384:function(e,t,o){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDragDrop=t.EditorJS=void 0;const i=n(o(3820));t.EditorJS=i.default;const s=o(4286);Object.defineProperty(t,"EditorDragDrop",{enumerable:!0,get:function(){return s.DragDrop}}),o(1784)},3820:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>At});typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"&&self;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(){}Object.assign(i,{default:i,register:i,revert:function(){},__esModule:!0}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){const t=(this.document||this.ownerDocument).querySelectorAll(e);let o=t.length;for(;--o>=0&&t.item(o)!==this;);return o>-1}),Element.prototype.closest||(Element.prototype.closest=function(e){let t=this;if(!document.documentElement.contains(t))return null;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t);return null}),Element.prototype.prepend||(Element.prototype.prepend=function(e){const t=document.createDocumentFragment();Array.isArray(e)||(e=[e]),e.forEach((e=>{const o=e instanceof Node;t.appendChild(o?e:document.createTextNode(e))})),this.insertBefore(t,this.firstChild)}),Element.prototype.scrollIntoViewIfNeeded||(Element.prototype.scrollIntoViewIfNeeded=function(e){e=0===arguments.length||!!e;const t=this.parentNode,o=window.getComputedStyle(t,null),n=parseInt(o.getPropertyValue("border-top-width")),i=parseInt(o.getPropertyValue("border-left-width")),s=this.offsetTop-t.offsetTopt.scrollTop+t.clientHeight,a=this.offsetLeft-t.offsetLeftt.scrollLeft+t.clientWidth,c=s&&!r;(s||r)&&e&&(t.scrollTop=this.offsetTop-t.offsetTop-t.clientHeight/2-n+this.clientHeight/2),(a||l)&&e&&(t.scrollLeft=this.offsetLeft-t.offsetLeft-t.clientWidth/2-i+this.clientWidth/2),(s||r||a||l)&&!e&&this.scrollIntoView(c)}),window.requestIdleCallback=window.requestIdleCallback||function(e){const t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)},window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)};var s=(e=>(e.VERBOSE="VERBOSE",e.INFO="INFO",e.WARN="WARN",e.ERROR="ERROR",e))(s||{});const r=8,a=9,l=13,c=27,d=37,h=38,p=40,u=39,f=46,g=0;function m(e,t,o="log",n,i="color: inherit"){if(!("console"in window)||!window.console[o])return;const s=["info","log","warn","error"].includes(o),r=[];switch(m.logLevel){case"ERROR":if("error"!==o)return;break;case"WARN":if(!["error","warn"].includes(o))return;break;case"INFO":if(!s||e)return}n&&r.push(n);const a="Editor.js 2.28.0";e&&(s?(r.unshift("line-height: 1em;\n color: #006FEA;\n display: inline-block;\n font-size: 11px;\n line-height: 1em;\n background-color: #fff;\n padding: 4px 9px;\n border-radius: 30px;\n border: 1px solid rgba(56, 138, 229, 0.16);\n margin: 4px 5px 4px 0;",i),t=`%c${a}%c ${t}`):t=`( ${a} )${t}`);try{s?n?console[o](`${t} %o`,...r):console[o](t,...r):console[o](t)}catch{}}m.logLevel="VERBOSE";const b=m.bind(window,!1),k=m.bind(window,!0);function v(e){return Object.prototype.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function x(e){return"function"===v(e)||"asyncfunction"===v(e)}function y(e){return"object"===v(e)}function w(e){return"string"===v(e)}function E(e){return"number"===v(e)}function C(e){return"undefined"===v(e)}function S(e){return!e||0===Object.keys(e).length&&e.constructor===Object}function B(e){return e>47&&e<58||32===e||13===e||229===e||e>64&&e<91||e>95&&e<112||e>185&&e<193||e>218&&e<223}async function T(e,t=(()=>{}),o=(()=>{})){return e.reduce((async(e,n)=>(await e,async function(e,t,o){try{await e.function(e.data),await t(C(e.data)?{}:e.data)}catch{o(C(e.data)?{}:e.data)}}(n,t,o))),Promise.resolve())}function I(e){return Array.prototype.slice.call(e)}function _(e,t){return function(){const o=this,n=arguments;window.setTimeout((()=>e.apply(o,n)),t)}}function M(e,t,o=void 0){let n,i,s,r=null,a=0;o||(o={});const l=function(){a=!1===o.leading?0:Date.now(),r=null,s=e.apply(n,i),r||(n=i=null)};return function(){const c=Date.now();!a&&!1===o.leading&&(a=c);const d=t-(c-a);return n=this,i=arguments,d<=0||d>t?(r&&(clearTimeout(r),r=null),a=c,s=e.apply(n,i),r||(n=i=null)):!r&&!1!==o.trailing&&(r=setTimeout(l,d)),s}}function A(e){return e[0].toUpperCase()+e.slice(1)}function O(e,...t){if(!t.length)return e;const o=t.shift();if(y(e)&&y(o))for(const t in o)y(o[t])?(e[t]||Object.assign(e,{[t]:{}}),O(e[t],o[t])):Object.assign(e,{[t]:o[t]});return O(e,...t)}function L(e){const t=function(){const e={win:!1,mac:!1,x11:!1,linux:!1},t=Object.keys(e).find((e=>-1!==window.navigator.appVersion.toLowerCase().indexOf(e)));return t&&(e[t]=!0),e}();return e=e.replace(/shift/gi,"⇧").replace(/backspace/gi,"⌫").replace(/enter/gi,"⏎").replace(/up/gi,"↑").replace(/left/gi,"→").replace(/down/gi,"↓").replace(/right/gi,"←").replace(/escape/gi,"⎋").replace(/insert/gi,"Ins").replace(/delete/gi,"␡").replace(/\+/gi," + "),e=t.mac?e.replace(/ctrl|cmd/gi,"⌘").replace(/alt/gi,"⌥"):e.replace(/cmd/gi,"Ctrl").replace(/windows/gi,"WIN")}function N(){return((e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))(10)}function D(e,t,o){e&&k(`«${t}» is deprecated and will be removed in the next major release. Please use the «${o}» instead.`,"warn")}function R(e,t,o){const n=o.value?"value":"get",i=o[n],s=`#${t}Cache`;if(o[n]=function(...e){return void 0===this[s]&&(this[s]=i.apply(this,...e)),this[s]},"get"===n&&o.set){const t=o.set;o.set=function(o){delete e[s],t.apply(this,o)}}return o}function P(){return window.matchMedia("(max-width: 650px)").matches}const F=typeof window<"u"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1);class H{static isSingleTag(e){return e.tagName&&["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"].includes(e.tagName)}static isLineBreakTag(e){return e&&e.tagName&&["BR","WBR"].includes(e.tagName)}static make(e,t=null,o={}){const n=document.createElement(e);Array.isArray(t)?n.classList.add(...t):t&&n.classList.add(t);for(const e in o)Object.prototype.hasOwnProperty.call(o,e)&&(n[e]=o[e]);return n}static text(e){return document.createTextNode(e)}static append(e,t){Array.isArray(t)?t.forEach((t=>e.appendChild(t))):e.appendChild(t)}static prepend(e,t){Array.isArray(t)?(t=t.reverse()).forEach((t=>e.prepend(t))):e.prepend(t)}static swap(e,t){const o=document.createElement("div"),n=e.parentNode;n.insertBefore(o,e),n.insertBefore(e,t),n.insertBefore(t,o),n.removeChild(o)}static find(e=document,t){return e.querySelector(t)}static get(e){return document.getElementById(e)}static findAll(e=document,t){return e.querySelectorAll(t)}static get allInputsSelector(){return"[contenteditable=true], textarea, input:not([type]), "+["text","password","email","number","search","tel","url"].map((e=>`input[type="${e}"]`)).join(", ")}static findAllInputs(e){return I(e.querySelectorAll(H.allInputsSelector)).reduce(((e,t)=>H.isNativeInput(t)||H.containsOnlyInlineElements(t)?[...e,t]:[...e,...H.getDeepestBlockElements(t)]),[])}static getDeepestNode(e,t=!1){const o=t?"lastChild":"firstChild",n=t?"previousSibling":"nextSibling";if(e&&e.nodeType===Node.ELEMENT_NODE&&e[o]){let i=e[o];if(H.isSingleTag(i)&&!H.isNativeInput(i)&&!H.isLineBreakTag(i))if(i[n])i=i[n];else{if(!i.parentNode[n])return i.parentNode;i=i.parentNode[n]}return this.getDeepestNode(i,t)}return e}static isElement(e){return!E(e)&&(e&&e.nodeType&&e.nodeType===Node.ELEMENT_NODE)}static isFragment(e){return!E(e)&&(e&&e.nodeType&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)}static isContentEditable(e){return"true"===e.contentEditable}static isNativeInput(e){return!(!e||!e.tagName)&&["INPUT","TEXTAREA"].includes(e.tagName)}static canSetCaret(e){let t=!0;if(H.isNativeInput(e))switch(e.type){case"file":case"checkbox":case"radio":case"hidden":case"submit":case"button":case"image":case"reset":t=!1}else t=H.isContentEditable(e);return t}static isNodeEmpty(e){let t;return!(this.isSingleTag(e)&&!this.isLineBreakTag(e))&&(t=this.isElement(e)&&this.isNativeInput(e)?e.value:e.textContent.replace("​",""),0===t.trim().length)}static isLeaf(e){return!!e&&0===e.childNodes.length}static isEmpty(e){e.normalize();const t=[e];for(;t.length>0;)if(e=t.shift()){if(this.isLeaf(e)&&!this.isNodeEmpty(e))return!1;e.childNodes&&t.push(...Array.from(e.childNodes))}return!0}static isHTMLString(e){const t=H.make("div");return t.innerHTML=e,t.childElementCount>0}static getContentLength(e){return H.isNativeInput(e)?e.value.length:e.nodeType===Node.TEXT_NODE?e.length:e.textContent.length}static get blockElements(){return["address","article","aside","blockquote","canvas","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","ruby","section","table","tbody","thead","tr","tfoot","ul","video"]}static containsOnlyInlineElements(e){let t;w(e)?(t=document.createElement("div"),t.innerHTML=e):t=e;const o=e=>!H.blockElements.includes(e.tagName.toLowerCase())&&Array.from(e.children).every(o);return Array.from(t.children).every(o)}static getDeepestBlockElements(e){return H.containsOnlyInlineElements(e)?[e]:Array.from(e.children).reduce(((e,t)=>[...e,...H.getDeepestBlockElements(t)]),[])}static getHolder(e){return w(e)?document.getElementById(e):e}static isAnchor(e){return"a"===e.tagName.toLowerCase()}static offset(e){const t=e.getBoundingClientRect(),o=window.pageXOffset||document.documentElement.scrollLeft,n=window.pageYOffset||document.documentElement.scrollTop,i=t.top+n,s=t.left+o;return{top:i,left:s,bottom:i+t.height,right:s+t.width}}}const j={ui:{blockTunes:{toggler:{"Click to tune":"","or drag to move":""}},inlineToolbar:{converter:{"Convert to":""}},toolbar:{toolbox:{Add:""}},popover:{Filter:"","Nothing found":""}},toolNames:{Text:"",Link:"",Bold:"",Italic:""},tools:{link:{"Add a link":""},stub:{"The block can not be displayed correctly.":""}},blockTunes:{delete:{Delete:"","Click to delete":""},moveUp:{"Move up":""},moveDown:{"Move down":""}}},U=class{static ui(e,t){return U._t(e,t)}static t(e,t){return U._t(e,t)}static setDictionary(e){U.currentDictionary=e}static _t(e,t){const o=U.getNamespace(e);return o&&o[t]?o[t]:t}static getNamespace(e){return e.split(".").reduce(((e,t)=>e&&Object.keys(e).length?e[t]:{}),U.currentDictionary)}};let z=U;z.currentDictionary=j;class $ extends Error{}class Y{constructor(){this.subscribers={}}on(e,t){e in this.subscribers||(this.subscribers[e]=[]),this.subscribers[e].push(t)}once(e,t){e in this.subscribers||(this.subscribers[e]=[]);const o=n=>{const i=t(n),s=this.subscribers[e].indexOf(o);return-1!==s&&this.subscribers[e].splice(s,1),i};this.subscribers[e].push(o)}emit(e,t){S(this.subscribers)||!this.subscribers[e]||this.subscribers[e].reduce(((e,t)=>{const o=t(e);return void 0!==o?o:e}),t)}off(e,t){if(void 0!==this.subscribers[e]){for(let o=0;oe.call(t,o),save:()=>e.save(),validate:t=>e.validate(t),dispatchChange(){e.dispatchChange()}})}class X{constructor(){this.allListeners=[]}on(e,t,o,n=!1){const i=function(e=""){return`${e}${Math.floor(1e8*Math.random()).toString(16)}`}("l"),s={id:i,element:e,eventType:t,handler:o,options:n};if(!this.findOne(e,t,o))return this.allListeners.push(s),e.addEventListener(t,o,n),i}off(e,t,o,n){const i=this.findAll(e,t,o);i.forEach(((e,t)=>{const o=this.allListeners.indexOf(i[t]);o>-1&&(this.allListeners.splice(o,1),e.element.removeEventListener(e.eventType,e.handler,e.options))}))}offById(e){const t=this.findById(e);t&&t.element.removeEventListener(t.eventType,t.handler,t.options)}findOne(e,t,o){const n=this.findAll(e,t,o);return n.length>0?n[0]:null}findAll(e,t,o){let n;const i=e?this.findByEventTarget(e):[];return n=e&&t&&o?i.filter((e=>e.eventType===t&&e.handler===o)):e&&t?i.filter((e=>e.eventType===t)):i,n}removeAll(){this.allListeners.map((e=>{e.element.removeEventListener(e.eventType,e.handler,e.options)})),this.allListeners=[]}destroy(){this.removeAll()}findByEventTarget(e){return this.allListeners.filter((t=>{if(t.element===e)return t}))}findByType(e){return this.allListeners.filter((t=>{if(t.eventType===e)return t}))}findByHandler(e){return this.allListeners.filter((t=>{if(t.handler===e)return t}))}findById(e){return this.allListeners.find((t=>t.id===e))}}class K{constructor({config:e,eventsDispatcher:t}){if(this.nodes={},this.listeners=new X,this.readOnlyMutableListeners={on:(e,t,o,n=!1)=>{this.mutableListenerIds.push(this.listeners.on(e,t,o,n))},clearAll:()=>{for(const e of this.mutableListenerIds)this.listeners.offById(e);this.mutableListenerIds=[]}},this.mutableListenerIds=[],new.target===K)throw new TypeError("Constructors for abstract class Module are not allowed.");this.config=e,this.eventsDispatcher=t}set state(e){this.Editor=e}removeAllNodes(){for(const e in this.nodes){const t=this.nodes[e];t instanceof HTMLElement&&t.remove()}}get isRtl(){return"rtl"===this.config.i18n.direction}}class V{constructor(){this.instance=null,this.selection=null,this.savedSelectionRange=null,this.isFakeBackgroundEnabled=!1,this.commandBackground="backColor",this.commandRemoveFormat="removeFormat"}static get CSS(){return{editorWrapper:"codex-editor",editorZone:"codex-editor__redactor"}}static get anchorNode(){const e=window.getSelection();return e?e.anchorNode:null}static get anchorElement(){const e=window.getSelection();if(!e)return null;const t=e.anchorNode;return t?H.isElement(t)?t:t.parentElement:null}static get anchorOffset(){const e=window.getSelection();return e?e.anchorOffset:null}static get isCollapsed(){const e=window.getSelection();return e?e.isCollapsed:null}static get isAtEditor(){return this.isSelectionAtEditor(V.get())}static isSelectionAtEditor(e){if(!e)return!1;let t=e.anchorNode||e.focusNode;t&&t.nodeType===Node.TEXT_NODE&&(t=t.parentNode);let o=null;return t&&t instanceof Element&&(o=t.closest(`.${V.CSS.editorZone}`)),!!o&&o.nodeType===Node.ELEMENT_NODE}static isRangeAtEditor(e){if(!e)return;let t=e.startContainer;t&&t.nodeType===Node.TEXT_NODE&&(t=t.parentNode);let o=null;return t&&t instanceof Element&&(o=t.closest(`.${V.CSS.editorZone}`)),!!o&&o.nodeType===Node.ELEMENT_NODE}static get isSelectionExists(){return!!V.get().anchorNode}static get range(){return this.getRangeFromSelection(this.get())}static getRangeFromSelection(e){return e&&e.rangeCount?e.getRangeAt(0):null}static get rect(){let e,t=document.selection,o={x:0,y:0,width:0,height:0};if(t&&"Control"!==t.type)return e=t.createRange(),o.x=e.boundingLeft,o.y=e.boundingTop,o.width=e.boundingWidth,o.height=e.boundingHeight,o;if(!window.getSelection)return b("Method window.getSelection is not supported","warn"),o;if(t=window.getSelection(),null===t.rangeCount||isNaN(t.rangeCount))return b("Method SelectionUtils.rangeCount is not supported","warn"),o;if(0===t.rangeCount)return o;if(e=t.getRangeAt(0).cloneRange(),e.getBoundingClientRect&&(o=e.getBoundingClientRect()),0===o.x&&0===o.y){const t=document.createElement("span");if(t.getBoundingClientRect){t.appendChild(document.createTextNode("​")),e.insertNode(t),o=t.getBoundingClientRect();const n=t.parentNode;n.removeChild(t),n.normalize()}}return o}static get text(){return window.getSelection?window.getSelection().toString():""}static get(){return window.getSelection()}static setCursor(e,t=0){const o=document.createRange(),n=window.getSelection();return H.isNativeInput(e)?H.canSetCaret(e)?(e.focus(),e.selectionStart=e.selectionEnd=t,e.getBoundingClientRect()):void 0:(o.setStart(e,t),o.setEnd(e,t),n.removeAllRanges(),n.addRange(o),o.getBoundingClientRect())}static isRangeInsideContainer(e){const t=V.range;return null!==t&&e.contains(t.startContainer)}static addFakeCursor(){const e=V.range;if(null===e)return;const t=H.make("span","codex-editor__fake-cursor");t.dataset.mutationFree="true",e.collapse(),e.insertNode(t)}static isFakeCursorInsideContainer(e){return null!==H.find(e,".codex-editor__fake-cursor")}static removeFakeCursor(e=document.body){const t=H.find(e,".codex-editor__fake-cursor");t&&t.remove()}removeFakeBackground(){this.isFakeBackgroundEnabled&&(this.isFakeBackgroundEnabled=!1,document.execCommand(this.commandRemoveFormat))}setFakeBackground(){document.execCommand(this.commandBackground,!1,"#a8d6ff"),this.isFakeBackgroundEnabled=!0}save(){this.savedSelectionRange=V.range}restore(){if(!this.savedSelectionRange)return;const e=window.getSelection();e.removeAllRanges(),e.addRange(this.savedSelectionRange)}clearSaved(){this.savedSelectionRange=null}collapseToEnd(){const e=window.getSelection(),t=document.createRange();t.selectNodeContents(e.focusNode),t.collapse(!1),e.removeAllRanges(),e.addRange(t)}findParentTag(e,t,o=10){const n=window.getSelection();let i=null;return n&&n.anchorNode&&n.focusNode?([n.anchorNode,n.focusNode].forEach((n=>{let s=o;for(;s>0&&n.parentNode&&(n.tagName!==e||(i=n,t&&n.classList&&!n.classList.contains(t)&&(i=null),!i));)n=n.parentNode,s--})),i):null}expandToTag(e){const t=window.getSelection();t.removeAllRanges();const o=document.createRange();o.selectNodeContents(e),t.addRange(o)}}const q="redactor dom changed",Z="block changed",G="fake cursor is about to be toggled",J="fake cursor have been set";function Q(e,t){return e.mergeable&&e.name===t.name}var ee=(e=>(e.APPEND_CALLBACK="appendCallback",e.RENDERED="rendered",e.MOVED="moved",e.UPDATED="updated",e.REMOVED="removed",e.ON_PASTE="onPaste",e))(ee||{});class te extends Y{constructor({id:e=N(),data:t,tool:o,api:n,readOnly:i,tunesData:s},r){super(),this.cachedInputs=[],this.toolRenderedElement=null,this.tunesInstances=new Map,this.defaultTunesInstances=new Map,this.unavailableTunesData={},this.inputIndex=0,this.editorEventBus=null,this.handleFocus=()=>{this.dropInputsCache(),this.updateCurrentInput()},this.didMutated=(e=void 0)=>{const t=void 0===e,o=e instanceof InputEvent;let n;!t&&!o&&this.detectToolRootChange(e),n=!(!t&&!o)||!(e.length>0&&e.every((e=>{const{addedNodes:t,removedNodes:o,target:n}=e;return[...Array.from(t),...Array.from(o),n].some((e=>!!H.isElement(e)&&"true"===e.dataset.mutationFree))}))),n&&(this.dropInputsCache(),this.updateCurrentInput(),this.call("updated"),this.emit("didMutated",this))},this.name=o.name,this.id=e,this.settings=o.settings,this.config=o.settings.config||{},this.api=n,this.editorEventBus=r||null,this.blockAPI=new W(this),this.tool=o,this.toolInstance=o.create(t,this.blockAPI,i),this.tunes=o.tunes,this.composeTunes(s),this.holder=this.compose(),window.requestIdleCallback((()=>{this.watchBlockMutations(),this.addInputEvents()}))}static get CSS(){return{wrapper:"ce-block",wrapperStretched:"ce-block--stretched",content:"ce-block__content",focused:"ce-block--focused",selected:"ce-block--selected",dropTarget:"ce-block--drop-target"}}get inputs(){if(0!==this.cachedInputs.length)return this.cachedInputs;const e=H.findAllInputs(this.holder);return this.inputIndex>e.length-1&&(this.inputIndex=e.length-1),this.cachedInputs=e,e}get currentInput(){return this.inputs[this.inputIndex]}set currentInput(e){const t=this.inputs.findIndex((t=>t===e||t.contains(e)));-1!==t&&(this.inputIndex=t)}get firstInput(){return this.inputs[0]}get lastInput(){const e=this.inputs;return e[e.length-1]}get nextInput(){return this.inputs[this.inputIndex+1]}get previousInput(){return this.inputs[this.inputIndex-1]}get data(){return this.save().then((e=>e&&!S(e.data)?e.data:{}))}get sanitize(){return this.tool.sanitizeConfig}get mergeable(){return x(this.toolInstance.merge)}get isEmpty(){const e=H.isEmpty(this.pluginsContent),t=!this.hasMedia;return e&&t}get hasMedia(){return!!this.holder.querySelector(["img","iframe","video","audio","source","input","textarea","twitterwidget"].join(","))}set focused(e){this.holder.classList.toggle(te.CSS.focused,e)}get focused(){return this.holder.classList.contains(te.CSS.focused)}set selected(e){var t,o;this.holder.classList.toggle(te.CSS.selected,e);const n=!0===e&&V.isRangeInsideContainer(this.holder),i=!1===e&&V.isFakeCursorInsideContainer(this.holder);(n||i)&&(null==(t=this.editorEventBus)||t.emit(G,{state:e}),n?V.addFakeCursor():V.removeFakeCursor(this.holder),null==(o=this.editorEventBus)||o.emit(J,{state:e}))}get selected(){return this.holder.classList.contains(te.CSS.selected)}set stretched(e){this.holder.classList.toggle(te.CSS.wrapperStretched,e)}get stretched(){return this.holder.classList.contains(te.CSS.wrapperStretched)}set dropTarget(e){this.holder.classList.toggle(te.CSS.dropTarget,e)}get pluginsContent(){return this.toolRenderedElement}call(e,t){if(x(this.toolInstance[e])){"appendCallback"===e&&b("`appendCallback` hook is deprecated and will be removed in the next major release. Use `rendered` hook instead","warn");try{this.toolInstance[e].call(this.toolInstance,t)}catch(t){b(`Error during '${e}' call: ${t.message}`,"error")}}}async mergeWith(e){await this.toolInstance.merge(e)}async save(){const e=await this.toolInstance.save(this.pluginsContent),t=this.unavailableTunesData;[...this.tunesInstances.entries(),...this.defaultTunesInstances.entries()].forEach((([e,o])=>{if(x(o.save))try{t[e]=o.save()}catch(e){b(`Tune ${o.constructor.name} save method throws an Error %o`,"warn",e)}}));const o=window.performance.now();let n;return Promise.resolve(e).then((e=>(n=window.performance.now(),{id:this.id,tool:this.name,data:e,tunes:t,time:n-o}))).catch((e=>{b(`Saving process for ${this.name} tool failed due to the ${e}`,"log","red")}))}async validate(e){let t=!0;return this.toolInstance.validate instanceof Function&&(t=await this.toolInstance.validate(e)),t}getTunes(){const e=document.createElement("div"),t=[];return["function"==typeof this.toolInstance.renderSettings?this.toolInstance.renderSettings():[],[...this.tunesInstances.values(),...this.defaultTunesInstances.values()].map((e=>e.render()))].flat().forEach((o=>{H.isElement(o)?e.appendChild(o):Array.isArray(o)?t.push(...o):t.push(o)})),[t,e]}updateCurrentInput(){this.currentInput=H.isNativeInput(document.activeElement)||!V.anchorNode?document.activeElement:V.anchorNode}dispatchChange(){this.didMutated()}destroy(){this.unwatchBlockMutations(),this.removeInputEvents(),super.destroy(),x(this.toolInstance.destroy)&&this.toolInstance.destroy()}async getActiveToolboxEntry(){const e=this.tool.toolbox;if(1===e.length)return Promise.resolve(this.tool.toolbox[0]);const t=await this.data;return e.find((e=>Object.entries(e.data).some((([e,o])=>t[e]&&function(e,t){const o=Array.isArray(e)||y(e),n=Array.isArray(t)||y(t);return o||n?JSON.stringify(e)===JSON.stringify(t):e===t}(t[e],o)))))}async exportDataAsString(){return function(e,t){const o=null==t?void 0:t.export;return x(o)?o(e):w(o)?e[o]:(void 0!==o&&b("Conversion «export» property must be a string or function. String means key of saved data object to export. Function should export processed string to export."),"")}(await this.data,this.tool.conversionConfig)}compose(){const e=H.make("div",te.CSS.wrapper),t=H.make("div",te.CSS.content),o=this.toolInstance.render();e.dataset.id=this.id,this.toolRenderedElement=o,t.appendChild(this.toolRenderedElement);let n=t;return[...this.tunesInstances.values(),...this.defaultTunesInstances.values()].forEach((e=>{if(x(e.wrap))try{n=e.wrap(n)}catch(t){b(`Tune ${e.constructor.name} wrap method throws an Error %o`,"warn",t)}})),e.appendChild(n),e}composeTunes(e){Array.from(this.tunes.values()).forEach((t=>{(t.isInternal?this.defaultTunesInstances:this.tunesInstances).set(t.name,t.create(e[t.name],this.blockAPI))})),Object.entries(e).forEach((([e,t])=>{this.tunesInstances.has(e)||(this.unavailableTunesData[e]=t)}))}addInputEvents(){this.inputs.forEach((e=>{e.addEventListener("focus",this.handleFocus),H.isNativeInput(e)&&e.addEventListener("input",this.didMutated)}))}removeInputEvents(){this.inputs.forEach((e=>{e.removeEventListener("focus",this.handleFocus),H.isNativeInput(e)&&e.removeEventListener("input",this.didMutated)}))}watchBlockMutations(){var e;this.redactorDomChangedCallback=e=>{const{mutations:t}=e;t.some((e=>function(e,t){const{type:o,target:n,addedNodes:i,removedNodes:s}=e;if(n===t)return!0;if(["characterData","attributes"].includes(o)){const e=n.nodeType===Node.TEXT_NODE?n.parentNode:n;return t.contains(e)}const r=Array.from(i).some((e=>t.contains(e))),a=Array.from(s).some((e=>t.contains(e)));return r||a}(e,this.toolRenderedElement)))&&this.didMutated(t)},null==(e=this.editorEventBus)||e.on(q,this.redactorDomChangedCallback)}unwatchBlockMutations(){var e;null==(e=this.editorEventBus)||e.off(q,this.redactorDomChangedCallback)}detectToolRootChange(e){e.forEach((e=>{if(Array.from(e.removedNodes).includes(this.toolRenderedElement)){const t=e.addedNodes[e.addedNodes.length-1];this.toolRenderedElement=t}}))}dropInputsCache(){this.cachedInputs=[]}}class oe extends K{static getNamespace(e){return e.isTune()?`blockTunes.${e.name}`:`tools.${e.name}`}get methods(){return{t:()=>{k("I18n.t() method can be accessed only from Tools","warn")}}}getMethodsForTool(e){return Object.assign(this.methods,{t:t=>z.t(oe.getNamespace(e),t)})}}var ne={},ie={get exports(){return ne},set exports(e){ne=e}};window,ie.exports=function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t||4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=0)}([function(e,t,o){var n,i,s;o(1), +/*! + * Codex JavaScript Notification module + * https://github.com/codex-team/js-notifier + */ +e.exports=(n=o(6),i="cdx-notify--bounce-in",s=null,{show:function(e){if(e.message){!function(){if(s)return!0;s=n.getWrapper(),document.body.appendChild(s)}();var t=null,o=e.time||8e3;switch(e.type){case"confirm":t=n.confirm(e);break;case"prompt":t=n.prompt(e);break;default:t=n.alert(e),window.setTimeout((function(){t.remove()}),o)}s.appendChild(t),t.classList.add(i)}}})},function(e,t,o){var n=o(2);"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};o(4)(n,i),n.locals&&(e.exports=n.locals)},function(e,t,o){(e.exports=o(3)(!1)).push([e.i,'.cdx-notify--error{background:#fffbfb!important}.cdx-notify--error::before{background:#fb5d5d!important}.cdx-notify__input{max-width:130px;padding:5px 10px;background:#f7f7f7;border:0;border-radius:3px;font-size:13px;color:#656b7c;outline:0}.cdx-notify__input:-ms-input-placeholder{color:#656b7c}.cdx-notify__input::placeholder{color:#656b7c}.cdx-notify__input:focus:-ms-input-placeholder{color:rgba(101,107,124,.3)}.cdx-notify__input:focus::placeholder{color:rgba(101,107,124,.3)}.cdx-notify__button{border:none;border-radius:3px;font-size:13px;padding:5px 10px;cursor:pointer}.cdx-notify__button:last-child{margin-left:10px}.cdx-notify__button--cancel{background:#f2f5f7;box-shadow:0 2px 1px 0 rgba(16,19,29,0);color:#656b7c}.cdx-notify__button--cancel:hover{background:#eee}.cdx-notify__button--confirm{background:#34c992;box-shadow:0 1px 1px 0 rgba(18,49,35,.05);color:#fff}.cdx-notify__button--confirm:hover{background:#33b082}.cdx-notify__btns-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-top:5px}.cdx-notify__cross{position:absolute;top:5px;right:5px;width:10px;height:10px;padding:5px;opacity:.54;cursor:pointer}.cdx-notify__cross::after,.cdx-notify__cross::before{content:\'\';position:absolute;left:9px;top:5px;height:12px;width:2px;background:#575d67}.cdx-notify__cross::before{transform:rotate(-45deg)}.cdx-notify__cross::after{transform:rotate(45deg)}.cdx-notify__cross:hover{opacity:1}.cdx-notifies{position:fixed;z-index:2;bottom:20px;left:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif}.cdx-notify{position:relative;width:220px;margin-top:15px;padding:13px 16px;background:#fff;box-shadow:0 11px 17px 0 rgba(23,32,61,.13);border-radius:5px;font-size:14px;line-height:1.4em;word-wrap:break-word}.cdx-notify::before{content:\'\';position:absolute;display:block;top:0;left:0;width:3px;height:calc(100% - 6px);margin:3px;border-radius:5px;background:0 0}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.cdx-notify--bounce-in{animation-name:bounceIn;animation-duration:.6s;animation-iteration-count:1}.cdx-notify--success{background:#fafffe!important}.cdx-notify--success::before{background:#41ffb1!important}',""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=function(e,t){var o,n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var s=(o=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),r=i.sources.map((function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"}));return[n].concat(r).concat([s]).join("\n")}return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+o+"}":o})).join("")},t.i=function(e,o){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},i=0;i=0&&h.splice(t,1)}function b(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),k(t,e.attrs),g(e,t),t}function k(e,t){Object.keys(t).forEach((function(o){e.setAttribute(o,t[o])}))}function v(e,t){var o,n,i,s,r,a;if(t.transform&&e.css){if(!(s=t.transform(e.css)))return function(){};e.css=s}if(t.singleton){var l=d++;o=c||(c=b(t)),n=w.bind(null,o,l,!1),i=w.bind(null,o,l,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(r=t,a=document.createElement("link"),void 0===r.attrs.type&&(r.attrs.type="text/css"),r.attrs.rel="stylesheet",k(a,r.attrs),g(r,a),n=function(e,t,o){var n=o.css,i=o.sourceMap,s=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||s)&&(n=p(n)),i&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var r=new Blob([n],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(r),a&&URL.revokeObjectURL(a)}.bind(null,o=a,t),i=function(){m(o),o.href&&URL.revokeObjectURL(o.href)}):(o=b(t),n=function(e,t){var o=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}.bind(null,o),i=function(){m(o)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){if(typeof DEBUG<"u"&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var o=f(e,t);return u(o,t),function(e){for(var n=[],i=0;i"u"||"boolean"==typeof t&&!t}function l(e,t,o){var n=e.name.toLowerCase();return!0!==t&&("function"==typeof t[n]?!t[n](e.value,o):typeof t[n]>"u"||!1===t[n]||"string"==typeof t[n]&&t[n]!==e.value)}return e.prototype.clean=function(e){const t=document.implementation.createHTMLDocument(),o=t.createElement("div");return o.innerHTML=e,this._sanitize(t,o),o.innerHTML},e.prototype._sanitize=function(e,t){var n=s(e,t),c=n.firstChild();if(c)do{if(c.nodeType!==Node.TEXT_NODE){if(c.nodeType===Node.COMMENT_NODE){t.removeChild(c),this._sanitize(e,t);break}var d,h=i(c);h&&(d=Array.prototype.some.call(c.childNodes,o));var p=!!t.parentNode,u=o(t)&&o(c)&&p,f=c.nodeName.toLowerCase(),g=r(this.config,f,c);if(h&&d||a(c,g)||!this.config.keepNestedBlockElements&&u){if("SCRIPT"!==c.nodeName&&"STYLE"!==c.nodeName)for(;c.childNodes.length>0;)t.insertBefore(c.childNodes[0],c);t.removeChild(c),this._sanitize(e,t);break}for(var m=0;m{const o=x(t)?t(e.tool):t;return S(o)||(e.data=pe(e.data,o)),e}))}function he(e,t={}){return new ce({tags:t}).clean(e)}function pe(e,t){return Array.isArray(e)?function(e,t){return e.map((e=>pe(e,t)))}(e,t):y(e)?function(e,t){const o={};for(const n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;const i=e[n],s=ue(t[n])?t[n]:t;o[n]=pe(i,s)}return o}(e,t):w(e)?function(e,t){return y(t)?he(e,t):!1===t?he(e,{}):e}(e,t):e}function ue(e){return y(e)||function(e){return"boolean"===v(e)}(e)||x(e)}var fe={},ge={get exports(){return fe},set exports(e){fe=e}}; +/*! + * CodeX.Tooltips + * + * @version 1.0.5 + * + * @licence MIT + * @author CodeX + * + * + */!function(e,t){window,e.exports=function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t||4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){e.exports=o(1)},function(e,t,o){o.r(t),o.d(t,"default",(function(){return n}));class n{constructor(){this.nodes={wrapper:null,content:null},this.showed=!1,this.offsetTop=10,this.offsetLeft=10,this.offsetRight=10,this.hidingDelay=0,this.handleWindowScroll=()=>{this.showed&&this.hide(!0)},this.loadStyles(),this.prepare(),window.addEventListener("scroll",this.handleWindowScroll,{passive:!0})}get CSS(){return{tooltip:"ct",tooltipContent:"ct__content",tooltipShown:"ct--shown",placement:{left:"ct--left",bottom:"ct--bottom",right:"ct--right",top:"ct--top"}}}show(e,t,o){this.nodes.wrapper||this.prepare(),this.hidingTimeout&&clearTimeout(this.hidingTimeout);const n=Object.assign({placement:"bottom",marginTop:0,marginLeft:0,marginRight:0,marginBottom:0,delay:70,hidingDelay:0},o);if(n.hidingDelay&&(this.hidingDelay=n.hidingDelay),this.nodes.content.innerHTML="","string"==typeof t)this.nodes.content.appendChild(document.createTextNode(t));else{if(!(t instanceof Node))throw Error("[CodeX Tooltip] Wrong type of «content» passed. It should be an instance of Node or String. But "+typeof t+" given.");this.nodes.content.appendChild(t)}switch(this.nodes.wrapper.classList.remove(...Object.values(this.CSS.placement)),n.placement){case"top":this.placeTop(e,n);break;case"left":this.placeLeft(e,n);break;case"right":this.placeRight(e,n);break;default:this.placeBottom(e,n)}n&&n.delay?this.showingTimeout=setTimeout((()=>{this.nodes.wrapper.classList.add(this.CSS.tooltipShown),this.showed=!0}),n.delay):(this.nodes.wrapper.classList.add(this.CSS.tooltipShown),this.showed=!0)}hide(e=!1){if(this.hidingDelay&&!e)return this.hidingTimeout&&clearTimeout(this.hidingTimeout),void(this.hidingTimeout=setTimeout((()=>{this.hide(!0)}),this.hidingDelay));this.nodes.wrapper.classList.remove(this.CSS.tooltipShown),this.showed=!1,this.showingTimeout&&clearTimeout(this.showingTimeout)}onHover(e,t,o){e.addEventListener("mouseenter",(()=>{this.show(e,t,o)})),e.addEventListener("mouseleave",(()=>{this.hide()}))}destroy(){this.nodes.wrapper.remove(),window.removeEventListener("scroll",this.handleWindowScroll)}prepare(){this.nodes.wrapper=this.make("div",this.CSS.tooltip),this.nodes.content=this.make("div",this.CSS.tooltipContent),this.append(this.nodes.wrapper,this.nodes.content),this.append(document.body,this.nodes.wrapper)}loadStyles(){const e="codex-tooltips-style";if(document.getElementById(e))return;const t=o(2),n=this.make("style",null,{textContent:t.toString(),id:e});this.prepend(document.head,n)}placeBottom(e,t){const o=e.getBoundingClientRect(),n=o.left+e.clientWidth/2-this.nodes.wrapper.offsetWidth/2,i=o.bottom+window.pageYOffset+this.offsetTop+t.marginTop;this.applyPlacement("bottom",n,i)}placeTop(e,t){const o=e.getBoundingClientRect(),n=o.left+e.clientWidth/2-this.nodes.wrapper.offsetWidth/2,i=o.top+window.pageYOffset-this.nodes.wrapper.clientHeight-this.offsetTop;this.applyPlacement("top",n,i)}placeLeft(e,t){const o=e.getBoundingClientRect(),n=o.left-this.nodes.wrapper.offsetWidth-this.offsetLeft-t.marginLeft,i=o.top+window.pageYOffset+e.clientHeight/2-this.nodes.wrapper.offsetHeight/2;this.applyPlacement("left",n,i)}placeRight(e,t){const o=e.getBoundingClientRect(),n=o.right+this.offsetRight+t.marginRight,i=o.top+window.pageYOffset+e.clientHeight/2-this.nodes.wrapper.offsetHeight/2;this.applyPlacement("right",n,i)}applyPlacement(e,t,o){this.nodes.wrapper.classList.add(this.CSS.placement[e]),this.nodes.wrapper.style.left=t+"px",this.nodes.wrapper.style.top=o+"px"}make(e,t=null,o={}){const n=document.createElement(e);Array.isArray(t)?n.classList.add(...t):t&&n.classList.add(t);for(const e in o)o.hasOwnProperty(e)&&(n[e]=o[e]);return n}append(e,t){Array.isArray(t)?t.forEach((t=>e.appendChild(t))):e.appendChild(t)}prepend(e,t){Array.isArray(t)?(t=t.reverse()).forEach((t=>e.prepend(t))):e.prepend(t)}}},function(e,t){e.exports='.ct{z-index:999;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-transition:opacity 50ms ease-in,-webkit-transform 70ms cubic-bezier(.215,.61,.355,1);transition:opacity 50ms ease-in,-webkit-transform 70ms cubic-bezier(.215,.61,.355,1);transition:opacity 50ms ease-in,transform 70ms cubic-bezier(.215,.61,.355,1);transition:opacity 50ms ease-in,transform 70ms cubic-bezier(.215,.61,.355,1),-webkit-transform 70ms cubic-bezier(.215,.61,.355,1);will-change:opacity,top,left;-webkit-box-shadow:0 8px 12px 0 rgba(29,32,43,.17),0 4px 5px -3px rgba(5,6,12,.49);box-shadow:0 8px 12px 0 rgba(29,32,43,.17),0 4px 5px -3px rgba(5,6,12,.49);border-radius:9px}.ct,.ct:before{position:absolute;top:0;left:0}.ct:before{content:"";bottom:0;right:0;background-color:#1d202b;z-index:-1;border-radius:4px}@supports(-webkit-mask-box-image:url("")){.ct:before{border-radius:0;-webkit-mask-box-image:url(\'data:image/svg+xml;charset=utf-8,\') 48% 41% 37.9% 53.3%}}@media (--mobile){.ct{display:none}}.ct__content{padding:6px 10px;color:#cdd1e0;font-size:12px;text-align:center;letter-spacing:.02em;line-height:1em}.ct:after{content:"";width:8px;height:8px;position:absolute;background-color:#1d202b;z-index:-1}.ct--bottom{-webkit-transform:translateY(5px);transform:translateY(5px)}.ct--bottom:after{top:-3px;left:50%;-webkit-transform:translateX(-50%) rotate(-45deg);transform:translateX(-50%) rotate(-45deg)}.ct--top{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.ct--top:after{top:auto;bottom:-3px;left:50%;-webkit-transform:translateX(-50%) rotate(-45deg);transform:translateX(-50%) rotate(-45deg)}.ct--left{-webkit-transform:translateX(-5px);transform:translateX(-5px)}.ct--left:after{top:50%;left:auto;right:0;-webkit-transform:translate(41.6%,-50%) rotate(-45deg);transform:translate(41.6%,-50%) rotate(-45deg)}.ct--right{-webkit-transform:translateX(5px);transform:translateX(5px)}.ct--right:after{top:50%;left:0;-webkit-transform:translate(-41.6%,-50%) rotate(-45deg);transform:translate(-41.6%,-50%) rotate(-45deg)}.ct--shown{opacity:1;-webkit-transform:none;transform:none}'}]).default}(ge);const me=n(fe);class be{constructor(){this.lib=new me}destroy(){this.lib.destroy()}show(e,t,o){this.lib.show(e,t,o)}hide(e=!1){this.lib.hide(e)}onHover(e,t,o){this.lib.onHover(e,t,o)}}const ke=function e(t,o){const n={};return Object.entries(t).forEach((([t,i])=>{if(y(i)){const s=o?`${o}.${t}`:t;Object.values(i).every((e=>w(e)))?n[t]=s:n[t]=e(i,s)}else n[t]=i})),n}(j);const ve='',xe='';class ye{constructor(e){this.nodes={root:null,icon:null},this.confirmationState=null,this.removeSpecialFocusBehavior=()=>{this.nodes.root.classList.remove(ye.CSS.noFocus)},this.removeSpecialHoverBehavior=()=>{this.nodes.root.classList.remove(ye.CSS.noHover)},this.onErrorAnimationEnd=()=>{this.nodes.icon.classList.remove(ye.CSS.wobbleAnimation),this.nodes.icon.removeEventListener("animationend",this.onErrorAnimationEnd)},this.params=e,this.nodes.root=this.make(e)}get isDisabled(){return this.params.isDisabled}get toggle(){return this.params.toggle}get title(){return this.params.title}get closeOnActivate(){return this.params.closeOnActivate}get isConfirmationStateEnabled(){return null!==this.confirmationState}get isFocused(){return this.nodes.root.classList.contains(ye.CSS.focused)}static get CSS(){return{container:"ce-popover-item",title:"ce-popover-item__title",secondaryTitle:"ce-popover-item__secondary-title",icon:"ce-popover-item__icon",active:"ce-popover-item--active",disabled:"ce-popover-item--disabled",focused:"ce-popover-item--focused",hidden:"ce-popover-item--hidden",confirmationState:"ce-popover-item--confirmation",noHover:"ce-popover-item--no-hover",noFocus:"ce-popover-item--no-focus",wobbleAnimation:"wobble"}}getElement(){return this.nodes.root}handleClick(){this.isConfirmationStateEnabled?this.activateOrEnableConfirmationMode(this.confirmationState):this.activateOrEnableConfirmationMode(this.params)}toggleActive(e){this.nodes.root.classList.toggle(ye.CSS.active,e)}toggleHidden(e){this.nodes.root.classList.toggle(ye.CSS.hidden,e)}reset(){this.isConfirmationStateEnabled&&this.disableConfirmationMode()}onFocus(){this.disableSpecialHoverAndFocusBehavior()}make(e){const t=H.make("div",ye.CSS.container);return e.name&&(t.dataset.itemName=e.name),this.nodes.icon=H.make("div",ye.CSS.icon,{innerHTML:e.icon||''}),t.appendChild(this.nodes.icon),t.appendChild(H.make("div",ye.CSS.title,{innerHTML:e.title||""})),e.secondaryLabel&&t.appendChild(H.make("div",ye.CSS.secondaryTitle,{textContent:e.secondaryLabel})),e.isActive&&t.classList.add(ye.CSS.active),e.isDisabled&&t.classList.add(ye.CSS.disabled),t}enableConfirmationMode(e){const t={...this.params,...e,confirmation:e.confirmation},o=this.make(t);this.nodes.root.innerHTML=o.innerHTML,this.nodes.root.classList.add(ye.CSS.confirmationState),this.confirmationState=e,this.enableSpecialHoverAndFocusBehavior()}disableConfirmationMode(){const e=this.make(this.params);this.nodes.root.innerHTML=e.innerHTML,this.nodes.root.classList.remove(ye.CSS.confirmationState),this.confirmationState=null,this.disableSpecialHoverAndFocusBehavior()}enableSpecialHoverAndFocusBehavior(){this.nodes.root.classList.add(ye.CSS.noHover),this.nodes.root.classList.add(ye.CSS.noFocus),this.nodes.root.addEventListener("mouseleave",this.removeSpecialHoverBehavior,{once:!0})}disableSpecialHoverAndFocusBehavior(){this.removeSpecialFocusBehavior(),this.removeSpecialHoverBehavior(),this.nodes.root.removeEventListener("mouseleave",this.removeSpecialHoverBehavior)}activateOrEnableConfirmationMode(e){if(void 0===e.confirmation)try{e.onActivate(e),this.disableConfirmationMode()}catch{this.animateError()}else this.enableConfirmationMode(e.confirmation)}animateError(){this.nodes.icon.classList.contains(ye.CSS.wobbleAnimation)||(this.nodes.icon.classList.add(ye.CSS.wobbleAnimation),this.nodes.icon.addEventListener("animationend",this.onErrorAnimationEnd))}}const we=class{constructor(e,t){this.cursor=-1,this.items=[],this.items=e||[],this.focusedCssClass=t}get currentItem(){return-1===this.cursor?null:this.items[this.cursor]}setCursor(e){e=-1&&(this.dropCursor(),this.cursor=e,this.items[this.cursor].classList.add(this.focusedCssClass))}setItems(e){this.items=e}next(){this.cursor=this.leafNodesAndReturnIndex(we.directions.RIGHT)}previous(){this.cursor=this.leafNodesAndReturnIndex(we.directions.LEFT)}dropCursor(){-1!==this.cursor&&(this.items[this.cursor].classList.remove(this.focusedCssClass),this.cursor=-1)}leafNodesAndReturnIndex(e){if(0===this.items.length)return this.cursor;let t=this.cursor;return-1===t?t=e===we.directions.RIGHT?-1:0:this.items[t].classList.remove(this.focusedCssClass),t=e===we.directions.RIGHT?(t+1)%this.items.length:(this.items.length+t-1)%this.items.length,H.canSetCaret(this.items[t])&&_((()=>V.setCursor(this.items[t])),50)(),this.items[t].classList.add(this.focusedCssClass),t}};let Ee=we;Ee.directions={RIGHT:"right",LEFT:"left"};class Ce{constructor(e){this.iterator=null,this.activated=!1,this.flipCallbacks=[],this.onKeyDown=e=>{if(this.isEventReadyForHandling(e))switch(Ce.usedKeys.includes(e.keyCode)&&e.preventDefault(),e.keyCode){case a:this.handleTabPress(e);break;case d:case h:this.flipLeft();break;case u:case p:this.flipRight();break;case l:this.handleEnterPress(e)}},this.iterator=new Ee(e.items,e.focusedItemClass),this.activateCallback=e.activateCallback,this.allowedKeys=e.allowedKeys||Ce.usedKeys}get isActivated(){return this.activated}static get usedKeys(){return[a,d,u,l,h,p]}activate(e,t){this.activated=!0,e&&this.iterator.setItems(e),void 0!==t&&this.iterator.setCursor(t),document.addEventListener("keydown",this.onKeyDown,!0)}deactivate(){this.activated=!1,this.dropCursor(),document.removeEventListener("keydown",this.onKeyDown)}focusFirst(){this.dropCursor(),this.flipRight()}flipLeft(){this.iterator.previous(),this.flipCallback()}flipRight(){this.iterator.next(),this.flipCallback()}hasFocus(){return!!this.iterator.currentItem}onFlip(e){this.flipCallbacks.push(e)}removeOnFlip(e){this.flipCallbacks=this.flipCallbacks.filter((t=>t!==e))}dropCursor(){this.iterator.dropCursor()}isEventReadyForHandling(e){return this.activated&&this.allowedKeys.includes(e.keyCode)}handleTabPress(e){switch(e.shiftKey?Ee.directions.LEFT:Ee.directions.RIGHT){case Ee.directions.RIGHT:this.flipRight();break;case Ee.directions.LEFT:this.flipLeft()}}handleEnterPress(e){this.activated&&(this.iterator.currentItem&&(e.stopPropagation(),e.preventDefault(),this.iterator.currentItem.click()),x(this.activateCallback)&&this.activateCallback(this.iterator.currentItem))}flipCallback(){this.iterator.currentItem&&this.iterator.currentItem.scrollIntoViewIfNeeded(),this.flipCallbacks.forEach((e=>e()))}}class Se{static get CSS(){return{wrapper:"cdx-search-field",icon:"cdx-search-field__icon",input:"cdx-search-field__input"}}constructor({items:e,onSearch:t,placeholder:o}){this.listeners=new X,this.items=e,this.onSearch=t,this.render(o)}getElement(){return this.wrapper}focus(){this.input.focus()}clear(){this.input.value="",this.searchQuery="",this.onSearch("",this.foundItems)}destroy(){this.listeners.removeAll()}render(e){this.wrapper=H.make("div",Se.CSS.wrapper);const t=H.make("div",Se.CSS.icon,{innerHTML:''});this.input=H.make("input",Se.CSS.input,{placeholder:e}),this.wrapper.appendChild(t),this.wrapper.appendChild(this.input),this.listeners.on(this.input,"input",(()=>{this.searchQuery=this.input.value,this.onSearch(this.searchQuery,this.foundItems)}))}get foundItems(){return this.items.filter((e=>this.checkItem(e)))}checkItem(e){var t;const o=(null==(t=e.title)?void 0:t.toLowerCase())||"",n=this.searchQuery.toLowerCase();return o.includes(n)}}const Be=class{lock(){F?this.lockHard():document.body.classList.add(Be.CSS.scrollLocked)}unlock(){F?this.unlockHard():document.body.classList.remove(Be.CSS.scrollLocked)}lockHard(){this.scrollPosition=window.pageYOffset,document.documentElement.style.setProperty("--window-scroll-offset",`${this.scrollPosition}px`),document.body.classList.add(Be.CSS.scrollLockedHard)}unlockHard(){document.body.classList.remove(Be.CSS.scrollLockedHard),null!==this.scrollPosition&&window.scrollTo(0,this.scrollPosition),this.scrollPosition=null}};let Te=Be;Te.CSS={scrollLocked:"ce-scroll-locked",scrollLockedHard:"ce-scroll-locked--hard"};var Ie=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,Me=(e=>(e.Close="close",e))(Me||{});const Ae=class extends Y{constructor(e){super(),this.scopeElement=document.body,this.listeners=new X,this.scrollLocker=new Te,this.nodes={wrapper:null,popover:null,nothingFoundMessage:null,customContent:null,items:null,overlay:null},this.messages={nothingFound:"Nothing found",search:"Search"},this.onFlip=()=>{this.items.find((e=>e.isFocused)).onFocus()},this.items=e.items.map((e=>new ye(e))),void 0!==e.scopeElement&&(this.scopeElement=e.scopeElement),e.messages&&(this.messages={...this.messages,...e.messages}),e.customContentFlippableItems&&(this.customContentFlippableItems=e.customContentFlippableItems),this.make(),e.customContent&&this.addCustomContent(e.customContent),e.searchable&&this.addSearch(),this.initializeFlipper()}static get CSS(){return{popover:"ce-popover",popoverOpenTop:"ce-popover--open-top",popoverOpened:"ce-popover--opened",search:"ce-popover__search",nothingFoundMessage:"ce-popover__nothing-found-message",nothingFoundMessageDisplayed:"ce-popover__nothing-found-message--displayed",customContent:"ce-popover__custom-content",customContentHidden:"ce-popover__custom-content--hidden",items:"ce-popover__items",overlay:"ce-popover__overlay",overlayHidden:"ce-popover__overlay--hidden"}}getElement(){return this.nodes.wrapper}hasFocus(){return this.flipper.hasFocus()}show(){this.shouldOpenBottom||(this.nodes.popover.style.setProperty("--popover-height",this.height+"px"),this.nodes.popover.classList.add(Ae.CSS.popoverOpenTop)),this.nodes.overlay.classList.remove(Ae.CSS.overlayHidden),this.nodes.popover.classList.add(Ae.CSS.popoverOpened),this.flipper.activate(this.flippableElements),void 0!==this.search&&setTimeout((()=>{this.search.focus()}),100),P()&&this.scrollLocker.lock()}hide(){this.nodes.popover.classList.remove(Ae.CSS.popoverOpened),this.nodes.popover.classList.remove(Ae.CSS.popoverOpenTop),this.nodes.overlay.classList.add(Ae.CSS.overlayHidden),this.flipper.deactivate(),this.items.forEach((e=>e.reset())),void 0!==this.search&&this.search.clear(),P()&&this.scrollLocker.unlock(),this.emit("close")}destroy(){this.flipper.deactivate(),this.listeners.removeAll(),P()&&this.scrollLocker.unlock()}make(){this.nodes.popover=H.make("div",[Ae.CSS.popover]),this.nodes.nothingFoundMessage=H.make("div",[Ae.CSS.nothingFoundMessage],{textContent:this.messages.nothingFound}),this.nodes.popover.appendChild(this.nodes.nothingFoundMessage),this.nodes.items=H.make("div",[Ae.CSS.items]),this.items.forEach((e=>{this.nodes.items.appendChild(e.getElement())})),this.nodes.popover.appendChild(this.nodes.items),this.listeners.on(this.nodes.popover,"click",(e=>{const t=this.getTargetItem(e);void 0!==t&&this.handleItemClick(t)})),this.nodes.wrapper=H.make("div"),this.nodes.overlay=H.make("div",[Ae.CSS.overlay,Ae.CSS.overlayHidden]),this.listeners.on(this.nodes.overlay,"click",(()=>{this.hide()})),this.nodes.wrapper.appendChild(this.nodes.overlay),this.nodes.wrapper.appendChild(this.nodes.popover)}addSearch(){this.search=new Se({items:this.items,placeholder:this.messages.search,onSearch:(e,t)=>{this.items.forEach((e=>{const o=!t.includes(e);e.toggleHidden(o)})),this.toggleNothingFoundMessage(0===t.length),this.toggleCustomContent(""!==e);const o=""===e?this.flippableElements:t.map((e=>e.getElement()));this.flipper.isActivated&&(this.flipper.deactivate(),this.flipper.activate(o))}});const e=this.search.getElement();e.classList.add(Ae.CSS.search),this.nodes.popover.insertBefore(e,this.nodes.popover.firstChild)}addCustomContent(e){this.nodes.customContent=e,this.nodes.customContent.classList.add(Ae.CSS.customContent),this.nodes.popover.insertBefore(e,this.nodes.popover.firstChild)}getTargetItem(e){return this.items.find((t=>e.composedPath().includes(t.getElement())))}handleItemClick(e){e.isDisabled||(this.items.filter((t=>t!==e)).forEach((e=>e.reset())),e.handleClick(),this.toggleItemActivenessIfNeeded(e),e.closeOnActivate&&this.hide())}initializeFlipper(){this.flipper=new Ce({items:this.flippableElements,focusedItemClass:ye.CSS.focused,allowedKeys:[a,h,p,l]}),this.flipper.onFlip(this.onFlip)}get flippableElements(){const e=this.items.map((e=>e.getElement()));return(this.customContentFlippableItems||[]).concat(e)}get height(){let e=0;if(null===this.nodes.popover)return e;const t=this.nodes.popover.cloneNode(!0);return t.style.visibility="hidden",t.style.position="absolute",t.style.top="-1000px",t.classList.add(Ae.CSS.popoverOpened),document.body.appendChild(t),e=t.offsetHeight,t.remove(),e}get shouldOpenBottom(){const e=this.nodes.popover.getBoundingClientRect(),t=this.scopeElement.getBoundingClientRect(),o=this.height,n=e.top+o,i=e.top-o,s=Math.min(window.innerHeight,t.bottom);return it.toggle===e.toggle));if(1===t.length)return void e.toggleActive();t.forEach((t=>{t.toggleActive(t===e)}))}}};let Oe=Ae;((e,t,o,n)=>{for(var i,s=n>1?void 0:n?_e(t,o):t,r=e.length-1;r>=0;r--)(i=e[r])&&(s=(n?i(t,o,s):i(s))||s);n&&s&&Ie(t,o,s)})([R],Oe.prototype,"height",1);class Le extends K{constructor(){super(...arguments),this.opened=!1,this.tools=[],this.flipper=null,this.togglingCallback=null}static get CSS(){return{conversionToolbarWrapper:"ce-conversion-toolbar",conversionToolbarShowed:"ce-conversion-toolbar--showed",conversionToolbarTools:"ce-conversion-toolbar__tools",conversionToolbarLabel:"ce-conversion-toolbar__label",conversionTool:"ce-conversion-tool",conversionToolHidden:"ce-conversion-tool--hidden",conversionToolIcon:"ce-conversion-tool__icon",conversionToolSecondaryLabel:"ce-conversion-tool__secondary-label",conversionToolFocused:"ce-conversion-tool--focused",conversionToolActive:"ce-conversion-tool--active"}}make(){this.nodes.wrapper=H.make("div",[Le.CSS.conversionToolbarWrapper,...this.isRtl?[this.Editor.UI.CSS.editorRtlFix]:[]]),this.nodes.tools=H.make("div",Le.CSS.conversionToolbarTools);const e=H.make("div",Le.CSS.conversionToolbarLabel,{textContent:z.ui(ke.ui.inlineToolbar.converter,"Convert to")});return this.addTools(),this.enableFlipper(),H.append(this.nodes.wrapper,e),H.append(this.nodes.wrapper,this.nodes.tools),this.nodes.wrapper}destroy(){this.flipper&&(this.flipper.deactivate(),this.flipper=null),this.removeAllNodes()}toggle(e){this.opened?this.close():this.open(),x(e)&&(this.togglingCallback=e)}open(){this.filterTools(),this.opened=!0,this.nodes.wrapper.classList.add(Le.CSS.conversionToolbarShowed),window.requestAnimationFrame((()=>{this.flipper.activate(this.tools.map((e=>e.button)).filter((e=>!e.classList.contains(Le.CSS.conversionToolHidden)))),this.flipper.focusFirst(),x(this.togglingCallback)&&this.togglingCallback(!0)}))}close(){this.opened=!1,this.flipper.deactivate(),this.nodes.wrapper.classList.remove(Le.CSS.conversionToolbarShowed),x(this.togglingCallback)&&this.togglingCallback(!1)}hasTools(){return 1!==this.tools.length||this.tools[0].name!==this.config.defaultBlock}async replaceWithBlock(e,t){const{BlockManager:o,BlockSelection:n,InlineToolbar:i,Caret:s}=this.Editor;o.convert(this.Editor.BlockManager.currentBlock,e,t),n.clearSelection(),this.close(),i.close(),window.requestAnimationFrame((()=>{s.setToBlock(this.Editor.BlockManager.currentBlock,s.positions.END)}))}addTools(){const e=this.Editor.Tools.blockTools;Array.from(e.entries()).forEach((([e,t])=>{var o;const n=t.conversionConfig;!n||!n.import||null==(o=t.toolbox)||o.forEach((t=>this.addToolIfValid(e,t)))}))}addToolIfValid(e,t){S(t)||!t.icon||this.addTool(e,t)}addTool(e,t){var o;const n=H.make("div",[Le.CSS.conversionTool]),i=H.make("div",[Le.CSS.conversionToolIcon]);n.dataset.tool=e,i.innerHTML=t.icon,H.append(n,i),H.append(n,H.text(z.t(ke.toolNames,t.title||A(e))));const s=null==(o=this.Editor.Tools.blockTools.get(e))?void 0:o.shortcut;if(s){const e=H.make("span",Le.CSS.conversionToolSecondaryLabel,{innerText:L(s)});H.append(n,e)}H.append(this.nodes.tools,n),this.tools.push({name:e,button:n,toolboxItem:t}),this.listeners.on(n,"click",(async()=>{await this.replaceWithBlock(e,t.data)}))}async filterTools(){const{currentBlock:e}=this.Editor.BlockManager,t=await e.getActiveToolboxEntry();this.tools.forEach((o=>{let n=!1;if(t){const i=function(e,t){return e.icon===t.icon&&e.title===t.title}(t,o.toolboxItem);n=o.button.dataset.tool===e.name&&i}o.button.hidden=n,o.button.classList.toggle(Le.CSS.conversionToolHidden,n)}))}enableFlipper(){this.flipper=new Ce({focusedItemClass:Le.CSS.conversionToolFocused})}}var Ne={},De={get exports(){return Ne},set exports(e){Ne=e}}; +/*! + * Library for handling keyboard shortcuts + * @copyright CodeX (https://codex.so) + * @license MIT + * @author CodeX (https://codex.so) + * @version 1.2.0 + */!function(e,t){window,e.exports=function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t||4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){function n(e,t){for(var o=0;oe!==o)))}findShortcut(e,t){return(this.registeredShortcuts.get(e)||[]).find((({name:e})=>e===t))}};var Fe=Object.defineProperty,He=Object.getOwnPropertyDescriptor,je=(e,t,o,n)=>{for(var i,s=n>1?void 0:n?He(t,o):t,r=e.length-1;r>=0;r--)(i=e[r])&&(s=(n?i(t,o,s):i(s))||s);return n&&s&&Fe(t,o,s),s},Ue=(e=>(e.Opened="toolbox-opened",e.Closed="toolbox-closed",e.BlockAdded="toolbox-block-added",e))(Ue||{});const ze=class extends Y{constructor({api:e,tools:t,i18nLabels:o}){super(),this.opened=!1,this.nodes={toolbox:null},this.onPopoverClose=()=>{this.opened=!1,this.emit("toolbox-closed")},this.api=e,this.tools=t,this.i18nLabels=o}get isEmpty(){return 0===this.toolsToBeDisplayed.length}static get CSS(){return{toolbox:"ce-toolbox"}}make(){return this.popover=new Oe({scopeElement:this.api.ui.nodes.redactor,searchable:!0,messages:{nothingFound:this.i18nLabels.nothingFound,search:this.i18nLabels.filter},items:this.toolboxItemsToBeDisplayed}),this.popover.on(Me.Close,this.onPopoverClose),this.enableShortcuts(),this.nodes.toolbox=this.popover.getElement(),this.nodes.toolbox.classList.add(ze.CSS.toolbox),this.nodes.toolbox}hasFocus(){var e;return null==(e=this.popover)?void 0:e.hasFocus()}destroy(){var e;super.destroy(),this.nodes&&this.nodes.toolbox&&(this.nodes.toolbox.remove(),this.nodes.toolbox=null),this.removeAllShortcuts(),null==(e=this.popover)||e.off(Me.Close,this.onPopoverClose)}toolButtonActivated(e,t){this.insertNewBlock(e,t)}open(){var e;this.isEmpty||(null==(e=this.popover)||e.show(),this.opened=!0,this.emit("toolbox-opened"))}close(){var e;null==(e=this.popover)||e.hide(),this.opened=!1,this.emit("toolbox-closed")}toggle(){this.opened?this.close():this.open()}get toolsToBeDisplayed(){const e=[];return this.tools.forEach((t=>{t.toolbox&&e.push(t)})),e}get toolboxItemsToBeDisplayed(){const e=(e,t)=>({icon:e.icon,title:z.t(ke.toolNames,e.title||A(t.name)),name:t.name,onActivate:()=>{this.toolButtonActivated(t.name,e.data)},secondaryLabel:t.shortcut?L(t.shortcut):""});return this.toolsToBeDisplayed.reduce(((t,o)=>(Array.isArray(o.toolbox)?o.toolbox.forEach((n=>{t.push(e(n,o))})):void 0!==o.toolbox&&t.push(e(o.toolbox,o)),t)),[])}enableShortcuts(){this.toolsToBeDisplayed.forEach((e=>{const t=e.shortcut;t&&this.enableShortcutForTool(e.name,t)}))}enableShortcutForTool(e,t){Pe.add({name:t,on:this.api.ui.nodes.redactor,handler:t=>{t.preventDefault();const o=this.api.blocks.getCurrentBlockIndex(),n=this.api.blocks.getBlockByIndex(o);if(n)try{return this.api.blocks.convert(n.id,e),void window.requestAnimationFrame((()=>{this.api.caret.setToBlock(o,"end")}))}catch{}this.insertNewBlock(e)}})}removeAllShortcuts(){this.toolsToBeDisplayed.forEach((e=>{const t=e.shortcut;t&&Pe.remove(this.api.ui.nodes.redactor,t)}))}async insertNewBlock(e,t){const o=this.api.blocks.getCurrentBlockIndex(),n=this.api.blocks.getBlockByIndex(o);if(!n)return;const i=n.isEmpty?o:o+1;let s;if(t){const o=await this.api.blocks.composeBlockData(e);s=Object.assign(o,t)}const r=this.api.blocks.insert(e,s,void 0,i,void 0,n.isEmpty);r.call(ee.APPEND_CALLBACK),this.api.caret.setToBlock(i),this.emit("toolbox-block-added",{block:r}),this.api.toolbar.close()}};let $e=ze;je([R],$e.prototype,"toolsToBeDisplayed",1),je([R],$e.prototype,"toolboxItemsToBeDisplayed",1);const Ye="block hovered";var We=(e=>(e[e.Block=0]="Block",e[e.Inline=1]="Inline",e[e.Tune=2]="Tune",e))(We||{}),Xe=(e=>(e.Shortcut="shortcut",e.Toolbox="toolbox",e.EnabledInlineTools="inlineToolbar",e.EnabledBlockTunes="tunes",e.Config="config",e))(Xe||{}),Ke=(e=>(e.Shortcut="shortcut",e.SanitizeConfig="sanitize",e))(Ke||{}),Ve=(e=>(e.IsEnabledLineBreaks="enableLineBreaks",e.Toolbox="toolbox",e.ConversionConfig="conversionConfig",e.IsReadOnlySupported="isReadOnlySupported",e.PasteConfig="pasteConfig",e))(Ve||{}),qe=(e=>(e.IsInline="isInline",e.Title="title",e))(qe||{}),Ze=(e=>(e.IsTune="isTune",e))(Ze||{});class Ge{constructor({name:e,constructable:t,config:o,api:n,isDefault:i,isInternal:s=!1,defaultPlaceholder:r}){this.api=n,this.name=e,this.constructable=t,this.config=o,this.isDefault=i,this.isInternal=s,this.defaultPlaceholder=r}get settings(){const e=this.config.config||{};return this.isDefault&&!("placeholder"in e)&&this.defaultPlaceholder&&(e.placeholder=this.defaultPlaceholder),e}reset(){if(x(this.constructable.reset))return this.constructable.reset()}prepare(){if(x(this.constructable.prepare))return this.constructable.prepare({toolName:this.name,config:this.settings})}get shortcut(){const e=this.constructable.shortcut;return this.config.shortcut||e}get sanitizeConfig(){return this.constructable.sanitize||{}}isInline(){return 1===this.type}isBlock(){return 0===this.type}isTune(){return 2===this.type}}class Je{constructor(e){this.blocks=[],this.workingArea=e}get length(){return this.blocks.length}get array(){return this.blocks}get nodes(){return I(this.workingArea.children)}static set(e,t,o){return isNaN(Number(t))?(Reflect.set(e,t,o),!0):(e.insert(+t,o),!0)}static get(e,t){return isNaN(Number(t))?Reflect.get(e,t):e.get(+t)}push(e){this.blocks.push(e),this.insertToDOM(e)}swap(e,t){const o=this.blocks[t];H.swap(this.blocks[e].holder,o.holder),this.blocks[t]=this.blocks[e],this.blocks[e]=o}move(e,t){const o=this.blocks.splice(t,1)[0],n=e-1,i=Math.max(0,n),s=this.blocks[i];e>0?this.insertToDOM(o,"afterend",s):this.insertToDOM(o,"beforebegin",s),this.blocks.splice(e,0,o);const r=this.composeBlockEvent("move",{fromIndex:t,toIndex:e});o.call(ee.MOVED,r)}insert(e,t,o=!1){if(!this.length)return void this.push(t);e>this.length&&(e=this.length),o&&(this.blocks[e].holder.remove(),this.blocks[e].call(ee.REMOVED));const n=o?1:0;if(this.blocks.splice(e,n,t),e>0){const o=this.blocks[e-1];this.insertToDOM(t,"afterend",o)}else{const o=this.blocks[e+1];o?this.insertToDOM(t,"beforebegin",o):this.insertToDOM(t)}}replace(e,t){if(void 0===this.blocks[e])throw Error("Incorrect index");this.blocks[e].holder.replaceWith(t.holder),this.blocks[e]=t}insertMany(e,t){const o=new DocumentFragment;for(const t of e)o.appendChild(t.holder);if(this.length>0){if(t>0){const e=Math.min(t-1,this.length-1);this.blocks[e].holder.after(o)}else 0===t&&this.workingArea.prepend(o);this.blocks.splice(t,0,...e)}else this.blocks.push(...e),this.workingArea.appendChild(o);e.forEach((e=>e.call(ee.RENDERED)))}remove(e){isNaN(e)&&(e=this.length-1),this.blocks[e].holder.remove(),this.blocks[e].call(ee.REMOVED),this.blocks.splice(e,1)}removeAll(){this.workingArea.innerHTML="",this.blocks.forEach((e=>e.call(ee.REMOVED))),this.blocks.length=0}insertAfter(e,t){const o=this.blocks.indexOf(e);this.insert(o+1,t)}get(e){return this.blocks[e]}indexOf(e){return this.blocks.indexOf(e)}insertToDOM(e,t,o){t?o.holder.insertAdjacentElement(t,e.holder):this.workingArea.appendChild(e.holder),e.call(ee.RENDERED)}composeBlockEvent(e,t){return new CustomEvent(e,{detail:t})}}const Qe="block-removed",et="block-added",tt="block-changed";class ot{constructor(){this.completed=Promise.resolve()}add(e){return new Promise(((t,o)=>{this.completed=this.completed.then(e).then(t).catch(o)}))}}class nt extends K{get positions(){return{START:"start",END:"end",DEFAULT:"default"}}static get CSS(){return{shadowCaret:"cdx-shadow-caret"}}get isAtStart(){const e=V.get(),t=H.getDeepestNode(this.Editor.BlockManager.currentBlock.currentInput);let o=e.focusNode;if(H.isNativeInput(t))return 0===t.selectionEnd;if(!e.anchorNode)return!1;let n=o.textContent.search(/\S/);-1===n&&(n=0);let i=e.focusOffset;return o.nodeType!==Node.TEXT_NODE&&o.childNodes.length&&(o.childNodes[i]?(o=o.childNodes[i],i=0):(o=o.childNodes[i-1],i=o.textContent.length)),!(!H.isLineBreakTag(t)&&!H.isEmpty(t)||!this.getHigherLevelSiblings(o,"left").every((e=>{const t=H.isLineBreakTag(e),o=1===e.children.length&&H.isLineBreakTag(e.children[0]),n=t||o;return H.isEmpty(e)&&!n}))||i!==n)||(null===t||o===t&&i<=n)}get isAtEnd(){const e=V.get();let t=e.focusNode;const o=H.getDeepestNode(this.Editor.BlockManager.currentBlock.currentInput,!0);if(H.isNativeInput(o))return o.selectionEnd===o.value.length;if(!e.focusNode)return!1;let n=e.focusOffset;if(t.nodeType!==Node.TEXT_NODE&&t.childNodes.length&&(t.childNodes[n-1]?(t=t.childNodes[n-1],n=t.textContent.length):(t=t.childNodes[0],n=0)),H.isLineBreakTag(o)||H.isEmpty(o)){const e=this.getHigherLevelSiblings(t,"right");if(e.every(((t,o)=>o===e.length-1&&H.isLineBreakTag(t)||H.isEmpty(t)&&!H.isLineBreakTag(t)))&&n===t.textContent.length)return!0}const i=o.textContent.replace(/\s+$/,"");return t===o&&n>=i.length}setToBlock(e,t=this.positions.DEFAULT,o=0){const{BlockManager:n}=this.Editor;let i;switch(t){case this.positions.START:i=e.firstInput;break;case this.positions.END:i=e.lastInput;break;default:i=e.currentInput}if(!i)return;const s=H.getDeepestNode(i,t===this.positions.END),r=H.getContentLength(s);switch(!0){case t===this.positions.START:o=0;break;case t===this.positions.END:case o>r:o=r}_((()=>{this.set(s,o)}),20)(),n.setCurrentBlockByChildNode(e.holder),n.currentBlock.currentInput=i}setToInput(e,t=this.positions.DEFAULT,o=0){const{currentBlock:n}=this.Editor.BlockManager,i=H.getDeepestNode(e);switch(t){case this.positions.START:this.set(i,0);break;case this.positions.END:this.set(i,H.getContentLength(i));break;default:o&&this.set(i,o)}n.currentInput=e}set(e,t=0){const{top:o,bottom:n}=V.setCursor(e,t),{innerHeight:i}=window;o<0&&window.scrollBy(0,o),n>i&&window.scrollBy(0,n-i)}setToTheLastBlock(){const e=this.Editor.BlockManager.lastBlock;if(e)if(e.tool.isDefault&&e.isEmpty)this.setToBlock(e);else{const e=this.Editor.BlockManager.insertAtEnd();this.setToBlock(e)}}extractFragmentFromCaretPosition(){const e=V.get();if(e.rangeCount){const t=e.getRangeAt(0),o=this.Editor.BlockManager.currentBlock.currentInput;if(t.deleteContents(),o){if(H.isNativeInput(o)){const e=o,t=document.createDocumentFragment(),n=e.value.substring(0,e.selectionStart),i=e.value.substring(e.selectionStart);return t.textContent=i,e.value=n,t}{const e=t.cloneRange();return e.selectNodeContents(o),e.setStart(t.endContainer,t.endOffset),e.extractContents()}}}}navigateNext(){const{BlockManager:e}=this.Editor,{currentBlock:t,nextContentfulBlock:o}=e,{nextInput:n}=t,i=this.isAtEnd;let s=o;if(!s&&!n){if(t.tool.isDefault||!i)return!1;s=e.insertAtEnd()}return!!i&&(n?this.setToInput(n,this.positions.START):this.setToBlock(s,this.positions.START),!0)}navigatePrevious(){const{currentBlock:e,previousContentfulBlock:t}=this.Editor.BlockManager;if(!e)return!1;const{previousInput:o}=e;return!(!t&&!o)&&(!!this.isAtStart&&(o?this.setToInput(o,this.positions.END):this.setToBlock(t,this.positions.END),!0))}createShadow(e){const t=document.createElement("span");t.classList.add(nt.CSS.shadowCaret),e.insertAdjacentElement("beforeend",t)}restoreCaret(e){const t=e.querySelector(`.${nt.CSS.shadowCaret}`);if(!t)return;(new V).expandToTag(t);const o=document.createRange();o.selectNode(t),o.extractContents()}insertContentAtCaretPosition(e){const t=document.createDocumentFragment(),o=document.createElement("div"),n=V.get(),i=V.range;o.innerHTML=e,Array.from(o.childNodes).forEach((e=>t.appendChild(e))),0===t.childNodes.length&&t.appendChild(new Text);const s=t.lastChild;i.deleteContents(),i.insertNode(t);const r=document.createRange(),a=s.nodeType===Node.TEXT_NODE?s:s.firstChild;null!==a&&null!==a.textContent&&r.setStart(a,a.textContent.length),n.removeAllRanges(),n.addRange(r)}getHigherLevelSiblings(e,t){let o=e;const n=[];for(;o.parentNode&&"true"!==o.parentNode.contentEditable;)o=o.parentNode;const i="left"===t?"previousSibling":"nextSibling";for(;o[i];)o=o[i],n.push(o);return n}}const it=class extends K{constructor(){super(...arguments),this.MIME_TYPE="application/x-editor-js",this.toolsTags={},this.tagsByTool={},this.toolsPatterns=[],this.toolsFiles={},this.exceptionList=[],this.processTool=e=>{try{const t=e.create({},{},!1);if(!1===e.pasteConfig)return void this.exceptionList.push(e.name);if(!x(t.onPaste))return;this.getTagsConfig(e),this.getFilesConfig(e),this.getPatternsConfig(e)}catch(t){b(`Paste handling for «${e.name}» Tool hasn't been set up because of the error`,"warn",t)}},this.handlePasteEvent=async e=>{const{BlockManager:t,Toolbar:o}=this.Editor,n=t.setCurrentBlockByChildNode(e.target);!n||this.isNativeBehaviour(e.target)&&!e.clipboardData.types.includes("Files")||n&&this.exceptionList.includes(n.name)||(e.preventDefault(),this.processDataTransfer(e.clipboardData),t.clearFocused(),o.close())}}async prepare(){this.processTools()}toggleReadOnly(e){e?this.unsetCallback():this.setCallback()}async processDataTransfer(e,t=!1){const{Tools:o}=this.Editor,n=e.types;if((n.includes?n.includes("Files"):n.contains("Files"))&&!S(this.toolsFiles))return void await this.processFiles(e.files);const i=e.getData(this.MIME_TYPE),s=e.getData("text/plain");let r=e.getData("text/html");if(i)try{return void this.insertEditorJSData(JSON.parse(i))}catch{}t&&s.trim()&&r.trim()&&(r="

"+(r.trim()?r:s)+"

");const a=Object.keys(this.toolsTags).reduce(((e,t)=>(e[t.toLowerCase()]=this.toolsTags[t].sanitizationConfig??{},e)),{}),l=he(r,Object.assign({},a,o.getAllInlineToolsSanitizeConfig(),{br:{}}));l.trim()&&l.trim()!==s&&H.isHTMLString(l)?await this.processText(l,!0):await this.processText(s)}async processText(e,t=!1){const{Caret:o,BlockManager:n}=this.Editor,i=t?this.processHTML(e):this.processPlain(e);if(!i.length)return;if(1===i.length)return void(i[0].isBlock?this.processSingleBlock(i.pop()):this.processInlinePaste(i.pop()));const s=n.currentBlock&&n.currentBlock.tool.isDefault&&n.currentBlock.isEmpty;i.map((async(e,t)=>this.insertBlock(e,0===t&&s))),n.currentBlock&&o.setToBlock(n.currentBlock,o.positions.END)}setCallback(){this.listeners.on(this.Editor.UI.nodes.holder,"paste",this.handlePasteEvent)}unsetCallback(){this.listeners.off(this.Editor.UI.nodes.holder,"paste",this.handlePasteEvent)}processTools(){const e=this.Editor.Tools.blockTools;Array.from(e.values()).forEach(this.processTool)}collectTagNames(e){return w(e)?[e]:y(e)?Object.keys(e):[]}getTagsConfig(e){if(!1===e.pasteConfig)return;const t=e.pasteConfig.tags||[],o=[];t.forEach((t=>{const n=this.collectTagNames(t);o.push(...n),n.forEach((o=>{if(Object.prototype.hasOwnProperty.call(this.toolsTags,o))return void b(`Paste handler for «${e.name}» Tool on «${o}» tag is skipped because it is already used by «${this.toolsTags[o].tool.name}» Tool.`,"warn");const n=y(t)?t[o]:null;this.toolsTags[o.toUpperCase()]={tool:e,sanitizationConfig:n}}))})),this.tagsByTool[e.name]=o.map((e=>e.toUpperCase()))}getFilesConfig(e){if(!1===e.pasteConfig)return;const{files:t={}}=e.pasteConfig;let{extensions:o,mimeTypes:n}=t;!o&&!n||(o&&!Array.isArray(o)&&(b(`«extensions» property of the onDrop config for «${e.name}» Tool should be an array`),o=[]),n&&!Array.isArray(n)&&(b(`«mimeTypes» property of the onDrop config for «${e.name}» Tool should be an array`),n=[]),n&&(n=n.filter((t=>!!function(e){return/^[-\w]+\/([-+\w]+|\*)$/.test(e)}(t)||(b(`MIME type value «${t}» for the «${e.name}» Tool is not a valid MIME type`,"warn"),!1)))),this.toolsFiles[e.name]={extensions:o||[],mimeTypes:n||[]})}getPatternsConfig(e){!1===e.pasteConfig||!e.pasteConfig.patterns||S(e.pasteConfig.patterns)||Object.entries(e.pasteConfig.patterns).forEach((([t,o])=>{o instanceof RegExp||b(`Pattern ${o} for «${e.name}» Tool is skipped because it should be a Regexp instance.`,"warn"),this.toolsPatterns.push({key:t,pattern:o,tool:e})}))}isNativeBehaviour(e){return H.isNativeInput(e)}async processFiles(e){const{BlockManager:t}=this.Editor;let o;o=await Promise.all(Array.from(e).map((e=>this.processFile(e)))),o=o.filter((e=>!!e));const n=t.currentBlock.tool.isDefault&&t.currentBlock.isEmpty;o.forEach(((e,o)=>{t.paste(e.type,e.event,0===o&&n)}))}async processFile(e){const t=function(e){return e.name.split(".").pop()}(e),o=Object.entries(this.toolsFiles).find((([o,{mimeTypes:n,extensions:i}])=>{const[s,r]=e.type.split("/"),a=i.find((e=>e.toLowerCase()===t.toLowerCase())),l=n.find((e=>{const[t,o]=e.split("/");return t===s&&(o===r||"*"===o)}));return!!a||!!l}));if(!o)return;const[n]=o;return{event:this.composePasteEvent("file",{file:e}),type:n}}processHTML(e){const{Tools:t}=this.Editor,o=H.make("DIV");return o.innerHTML=e,this.getNodes(o).map((e=>{let o,n=t.defaultTool,i=!1;switch(e.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:o=H.make("div"),o.appendChild(e);break;case Node.ELEMENT_NODE:o=e,i=!0,this.toolsTags[o.tagName]&&(n=this.toolsTags[o.tagName].tool)}const{tags:s}=n.pasteConfig||{tags:[]},r=s.reduce(((e,t)=>(this.collectTagNames(t).forEach((o=>{const n=y(t)?t[o]:null;e[o.toLowerCase()]=n||{}})),e)),{}),a=Object.assign({},r,n.baseSanitizeConfig);if("table"===o.tagName.toLowerCase()){const e=he(o.outerHTML,a);o=H.make("div",void 0,{innerHTML:e}).firstChild}else o.innerHTML=he(o.innerHTML,a);const l=this.composePasteEvent("tag",{data:o});return{content:o,isBlock:i,tool:n.name,event:l}})).filter((e=>{const t=H.isEmpty(e.content),o=H.isSingleTag(e.content);return!t||o}))}processPlain(e){const{defaultBlock:t}=this.config;if(!e)return[];const o=t;return e.split(/\r?\n/).filter((e=>e.trim())).map((e=>{const t=H.make("div");t.textContent=e;const n=this.composePasteEvent("tag",{data:t});return{content:t,tool:o,isBlock:!1,event:n}}))}async processSingleBlock(e){const{Caret:t,BlockManager:o}=this.Editor,{currentBlock:n}=o;n&&e.tool===n.name&&H.containsOnlyInlineElements(e.content.innerHTML)?t.insertContentAtCaretPosition(e.content.innerHTML):this.insertBlock(e,(null==n?void 0:n.tool.isDefault)&&n.isEmpty)}async processInlinePaste(e){const{BlockManager:t,Caret:o}=this.Editor,{content:n}=e;if(t.currentBlock&&t.currentBlock.tool.isDefault&&n.textContent.length{const o=t.pattern.exec(e);return!!o&&e===o.shift()}));return t?{event:this.composePasteEvent("pattern",{key:t.key,data:e}),tool:t.tool.name}:void 0}insertBlock(e,t=!1){const{BlockManager:o,Caret:n}=this.Editor,{currentBlock:i}=o;let s;if(t&&i&&i.isEmpty)return s=o.paste(e.tool,e.event,!0),void n.setToBlock(s,n.positions.END);s=o.paste(e.tool,e.event),n.setToBlock(s,n.positions.END)}insertEditorJSData(e){const{BlockManager:t,Caret:o,Tools:n}=this.Editor;de(e,(e=>n.blockTools.get(e).sanitizeConfig)).forEach((({tool:e,data:n},i)=>{let s=!1;0===i&&(s=t.currentBlock&&t.currentBlock.tool.isDefault&&t.currentBlock.isEmpty);const r=t.insert({tool:e,data:n,replace:s});o.setToBlock(r,o.positions.END)}))}processElementNode(e,t,o){const n=Object.keys(this.toolsTags),i=e,{tool:s}=this.toolsTags[i.tagName]||{},r=this.tagsByTool[null==s?void 0:s.name]||[],a=n.includes(i.tagName),l=H.blockElements.includes(i.tagName.toLowerCase()),c=Array.from(i.children).some((({tagName:e})=>n.includes(e)&&!r.includes(e))),d=Array.from(i.children).some((({tagName:e})=>H.blockElements.includes(e.toLowerCase())));return l||a||c?a&&!c||l&&!d&&!c?[...t,o,i]:void 0:(o.appendChild(i),[...t,o])}getNodes(e){const t=Array.from(e.childNodes);let o;const n=(e,t)=>{if(H.isEmpty(t)&&!H.isSingleTag(t))return e;const i=e[e.length-1];let s=new DocumentFragment;switch(i&&H.isFragment(i)&&(s=e.pop()),t.nodeType){case Node.ELEMENT_NODE:if(o=this.processElementNode(t,e,s),o)return o;break;case Node.TEXT_NODE:return s.appendChild(t),[...e,s];default:return[...e,s]}return[...e,...Array.from(t.childNodes).reduce(n,[])]};return t.reduce(n,[])}composePasteEvent(e,t){return new CustomEvent(e,{detail:t})}};let st=it;st.PATTERN_PROCESSING_MAX_LENGTH=450;class rt extends K{constructor(){super(...arguments),this.isRectSelectionActivated=!1,this.SCROLL_SPEED=3,this.HEIGHT_OF_SCROLL_ZONE=40,this.BOTTOM_SCROLL_ZONE=1,this.TOP_SCROLL_ZONE=2,this.MAIN_MOUSE_BUTTON=0,this.mousedown=!1,this.isScrolling=!1,this.inScrollZone=null,this.startX=0,this.startY=0,this.mouseX=0,this.mouseY=0,this.stackOfSelected=[],this.listenerIds=[]}static get CSS(){return{overlay:"codex-editor-overlay",overlayContainer:"codex-editor-overlay__container",rect:"codex-editor-overlay__rectangle",topScrollZone:"codex-editor-overlay__scroll-zone--top",bottomScrollZone:"codex-editor-overlay__scroll-zone--bottom"}}prepare(){this.enableModuleBindings()}startSelection(e,t){const o=document.elementFromPoint(e-window.pageXOffset,t-window.pageYOffset);o.closest(`.${this.Editor.Toolbar.CSS.toolbar}`)||(this.Editor.BlockSelection.allBlocksSelected=!1,this.clearSelection(),this.stackOfSelected=[]);const n=[`.${te.CSS.content}`,`.${this.Editor.Toolbar.CSS.toolbar}`,`.${this.Editor.InlineToolbar.CSS.inlineToolbar}`],i=o.closest("."+this.Editor.UI.CSS.editorWrapper),s=n.some((e=>!!o.closest(e)));!i||s||(this.mousedown=!0,this.startX=e,this.startY=t)}endSelection(){this.mousedown=!1,this.startX=0,this.startY=0,this.overlayRectangle.style.display="none"}isRectActivated(){return this.isRectSelectionActivated}clearSelection(){this.isRectSelectionActivated=!1}enableModuleBindings(){const{container:e}=this.genHTML();this.listeners.on(e,"mousedown",(e=>{this.processMouseDown(e)}),!1),this.listeners.on(document.body,"mousemove",M((e=>{this.processMouseMove(e)}),10),{passive:!0}),this.listeners.on(document.body,"mouseleave",(()=>{this.processMouseLeave()})),this.listeners.on(window,"scroll",M((e=>{this.processScroll(e)}),10),{passive:!0}),this.listeners.on(document.body,"mouseup",(()=>{this.processMouseUp()}),!1)}processMouseDown(e){e.button===this.MAIN_MOUSE_BUTTON&&(null!==e.target.closest(H.allInputsSelector)||this.startSelection(e.pageX,e.pageY))}processMouseMove(e){this.changingRectangle(e),this.scrollByZones(e.clientY)}processMouseLeave(){this.clearSelection(),this.endSelection()}processScroll(e){this.changingRectangle(e)}processMouseUp(){this.clearSelection(),this.endSelection()}scrollByZones(e){this.inScrollZone=null,e<=this.HEIGHT_OF_SCROLL_ZONE&&(this.inScrollZone=this.TOP_SCROLL_ZONE),document.documentElement.clientHeight-e<=this.HEIGHT_OF_SCROLL_ZONE&&(this.inScrollZone=this.BOTTOM_SCROLL_ZONE),this.inScrollZone?this.isScrolling||(this.scrollVertical(this.inScrollZone===this.TOP_SCROLL_ZONE?-this.SCROLL_SPEED:this.SCROLL_SPEED),this.isScrolling=!0):this.isScrolling=!1}genHTML(){const{UI:e}=this.Editor,t=e.nodes.holder.querySelector("."+e.CSS.editorWrapper),o=H.make("div",rt.CSS.overlay,{}),n=H.make("div",rt.CSS.overlayContainer,{}),i=H.make("div",rt.CSS.rect,{});return n.appendChild(i),o.appendChild(n),t.appendChild(o),this.overlayRectangle=i,{container:t,overlay:o}}scrollVertical(e){if(!this.inScrollZone||!this.mousedown)return;const t=window.pageYOffset;window.scrollBy(0,e),this.mouseY+=window.pageYOffset-t,setTimeout((()=>{this.scrollVertical(e)}),0)}changingRectangle(e){if(!this.mousedown)return;void 0!==e.pageY&&(this.mouseX=e.pageX,this.mouseY=e.pageY);const{rightPos:t,leftPos:o,index:n}=this.genInfoForMouseSelection(),i=this.startX>t&&this.mouseX>t,s=this.startX=this.startY?(this.overlayRectangle.style.top=this.startY-window.pageYOffset+"px",this.overlayRectangle.style.bottom=`calc(100% - ${this.mouseY-window.pageYOffset}px`):(this.overlayRectangle.style.bottom=`calc(100% - ${this.startY-window.pageYOffset}px`,this.overlayRectangle.style.top=this.mouseY-window.pageYOffset+"px"),this.mouseX>=this.startX?(this.overlayRectangle.style.left=this.startX-window.pageXOffset+"px",this.overlayRectangle.style.right=`calc(100% - ${this.mouseX-window.pageXOffset}px`):(this.overlayRectangle.style.right=`calc(100% - ${this.startX-window.pageXOffset}px`,this.overlayRectangle.style.left=this.mouseX-window.pageXOffset+"px")}genInfoForMouseSelection(){const e=document.body.offsetWidth/2,t=this.mouseY-window.pageYOffset,o=document.elementFromPoint(e,t),n=this.Editor.BlockManager.getBlockByChildNode(o);let i;void 0!==n&&(i=this.Editor.BlockManager.blocks.findIndex((e=>e.holder===n.holder)));const s=this.Editor.BlockManager.lastBlock.holder.querySelector("."+te.CSS.content),r=Number.parseInt(window.getComputedStyle(s).width,10)/2;return{index:i,leftPos:e-r,rightPos:e+r}}addBlockInSelection(e){this.rectCrossesBlocks&&this.Editor.BlockSelection.selectBlockByIndex(e),this.stackOfSelected.push(e)}trySelectNextBlock(e){const t=this.stackOfSelected[this.stackOfSelected.length-1]===e,o=this.stackOfSelected.length;if(t)return;const n=this.stackOfSelected[o-1]-this.stackOfSelected[o-2]>0;let i=0;o>1&&(i=n?1:-1);const s=e>this.stackOfSelected[o-1]&&1===i,r=ethis.stackOfSelected[o-1]||void 0===this.stackOfSelected[o-1])){let t=this.stackOfSelected[o-1]+1||e;for(;t<=e;t++)this.addBlockInSelection(t);return}if(!a&&e=e;t--)this.addBlockInSelection(t);return}if(!a)return;let l,c=o-1;for(l=e>this.stackOfSelected[o-1]?()=>e>this.stackOfSelected[c]:()=>e',title:"Text"}}}]),e}()}]).default}(lt);const ct=n(at);class dt{constructor(){this.commandName="bold",this.CSS={button:"ce-inline-tool",buttonActive:"ce-inline-tool--active",buttonModifier:"ce-inline-tool--bold"},this.nodes={button:void 0}}static get sanitize(){return{b:{}}}render(){return this.nodes.button=document.createElement("button"),this.nodes.button.type="button",this.nodes.button.classList.add(this.CSS.button,this.CSS.buttonModifier),this.nodes.button.innerHTML='',this.nodes.button}surround(){document.execCommand(this.commandName)}checkState(){const e=document.queryCommandState(this.commandName);return this.nodes.button.classList.toggle(this.CSS.buttonActive,e),e}get shortcut(){return"CMD+B"}}dt.isInline=!0,dt.title="Bold";class ht{constructor(){this.commandName="italic",this.CSS={button:"ce-inline-tool",buttonActive:"ce-inline-tool--active",buttonModifier:"ce-inline-tool--italic"},this.nodes={button:null}}static get sanitize(){return{i:{}}}render(){return this.nodes.button=document.createElement("button"),this.nodes.button.type="button",this.nodes.button.classList.add(this.CSS.button,this.CSS.buttonModifier),this.nodes.button.innerHTML='',this.nodes.button}surround(){document.execCommand(this.commandName)}checkState(){const e=document.queryCommandState(this.commandName);return this.nodes.button.classList.toggle(this.CSS.buttonActive,e),e}get shortcut(){return"CMD+I"}}ht.isInline=!0,ht.title="Italic";class pt{constructor({api:e}){this.commandLink="createLink",this.commandUnlink="unlink",this.ENTER_KEY=13,this.CSS={button:"ce-inline-tool",buttonActive:"ce-inline-tool--active",buttonModifier:"ce-inline-tool--link",buttonUnlink:"ce-inline-tool--unlink",input:"ce-inline-tool-input",inputShowed:"ce-inline-tool-input--showed"},this.nodes={button:null,input:null},this.inputOpened=!1,this.toolbar=e.toolbar,this.inlineToolbar=e.inlineToolbar,this.notifier=e.notifier,this.i18n=e.i18n,this.selection=new V}static get sanitize(){return{a:{href:!0,target:"_blank",rel:"nofollow"}}}render(){return this.nodes.button=document.createElement("button"),this.nodes.button.type="button",this.nodes.button.classList.add(this.CSS.button,this.CSS.buttonModifier),this.nodes.button.innerHTML=xe,this.nodes.button}renderActions(){return this.nodes.input=document.createElement("input"),this.nodes.input.placeholder=this.i18n.t("Add a link"),this.nodes.input.classList.add(this.CSS.input),this.nodes.input.addEventListener("keydown",(e=>{e.keyCode===this.ENTER_KEY&&this.enterPressed(e)})),this.nodes.input}surround(e){if(e){this.inputOpened?(this.selection.restore(),this.selection.removeFakeBackground()):(this.selection.setFakeBackground(),this.selection.save());const e=this.selection.findParentTag("A");if(e)return this.selection.expandToTag(e),this.unlink(),this.closeActions(),this.checkState(),void this.toolbar.close()}this.toggleActions()}checkState(){const e=this.selection.findParentTag("A");if(e){this.nodes.button.innerHTML='',this.nodes.button.classList.add(this.CSS.buttonUnlink),this.nodes.button.classList.add(this.CSS.buttonActive),this.openActions();const t=e.getAttribute("href");this.nodes.input.value="null"!==t?t:"",this.selection.save()}else this.nodes.button.innerHTML=xe,this.nodes.button.classList.remove(this.CSS.buttonUnlink),this.nodes.button.classList.remove(this.CSS.buttonActive);return!!e}clear(){this.closeActions()}get shortcut(){return"CMD+K"}toggleActions(){this.inputOpened?this.closeActions(!1):this.openActions(!0)}openActions(e=!1){this.nodes.input.classList.add(this.CSS.inputShowed),e&&this.nodes.input.focus(),this.inputOpened=!0}closeActions(e=!0){if(this.selection.isFakeBackgroundEnabled){const e=new V;e.save(),this.selection.restore(),this.selection.removeFakeBackground(),e.restore()}this.nodes.input.classList.remove(this.CSS.inputShowed),this.nodes.input.value="",e&&this.selection.clearSaved(),this.inputOpened=!1}enterPressed(e){let t=this.nodes.input.value||"";return t.trim()?this.validateURL(t)?(t=this.prepareLink(t),this.selection.restore(),this.selection.removeFakeBackground(),this.insertLink(t),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.selection.collapseToEnd(),void this.inlineToolbar.close()):(this.notifier.show({message:"Pasted link is not valid.",style:"error"}),void b("Incorrect Link pasted","warn",t)):(this.selection.restore(),this.unlink(),e.preventDefault(),void this.closeActions())}validateURL(e){return!/\s/.test(e)}prepareLink(e){return e=e.trim(),e=this.addProtocol(e)}addProtocol(e){if(/^(\w+):(\/\/)?/.test(e))return e;const t=/^\/[^/\s]/.test(e),o="#"===e.substring(0,1),n=/^\/\/[^/\s]/.test(e);return!t&&!o&&!n&&(e="http://"+e),e}insertLink(e){const t=this.selection.findParentTag("A");t&&this.selection.expandToTag(t),document.execCommand(this.commandLink,!1,e)}unlink(){document.execCommand(this.commandUnlink)}}pt.isInline=!0,pt.title="Link";class ut{constructor({data:e,api:t}){this.CSS={wrapper:"ce-stub",info:"ce-stub__info",title:"ce-stub__title",subtitle:"ce-stub__subtitle"},this.api=t,this.title=e.title||this.api.i18n.t("Error"),this.subtitle=this.api.i18n.t("The block can not be displayed correctly."),this.savedData=e.savedData,this.wrapper=this.make()}render(){return this.wrapper}save(){return this.savedData}make(){const e=H.make("div",this.CSS.wrapper),t=H.make("div",this.CSS.info),o=H.make("div",this.CSS.title,{textContent:this.title}),n=H.make("div",this.CSS.subtitle,{textContent:this.subtitle});return e.innerHTML='',t.appendChild(o),t.appendChild(n),e.appendChild(t),e}}ut.isReadOnlySupported=!0;class ft extends Ge{constructor(){super(...arguments),this.type=We.Inline}get title(){return this.constructable[qe.Title]}create(){return new this.constructable({api:this.api.getMethodsForTool(this),config:this.settings})}}class gt extends Ge{constructor(){super(...arguments),this.type=We.Tune}create(e,t){return new this.constructable({api:this.api.getMethodsForTool(this),config:this.settings,block:t,data:e})}}class mt extends Map{get blockTools(){const e=Array.from(this.entries()).filter((([,e])=>e.isBlock()));return new mt(e)}get inlineTools(){const e=Array.from(this.entries()).filter((([,e])=>e.isInline()));return new mt(e)}get blockTunes(){const e=Array.from(this.entries()).filter((([,e])=>e.isTune()));return new mt(e)}get internalTools(){const e=Array.from(this.entries()).filter((([,e])=>e.isInternal));return new mt(e)}get externalTools(){const e=Array.from(this.entries()).filter((([,e])=>!e.isInternal));return new mt(e)}}var bt=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,vt=(e,t,o,n)=>{for(var i,s=n>1?void 0:n?kt(t,o):t,r=e.length-1;r>=0;r--)(i=e[r])&&(s=(n?i(t,o,s):i(s))||s);return n&&s&&bt(t,o,s),s};class xt extends Ge{constructor(){super(...arguments),this.type=We.Block,this.inlineTools=new mt,this.tunes=new mt}create(e,t,o){return new this.constructable({data:e,block:t,readOnly:o,api:this.api.getMethodsForTool(this),config:this.settings})}get isReadOnlySupported(){return!0===this.constructable[Ve.IsReadOnlySupported]}get isLineBreaksEnabled(){return this.constructable[Ve.IsEnabledLineBreaks]}get toolbox(){const e=this.constructable[Ve.Toolbox],t=this.config[Xe.Toolbox];if(!S(e)&&!1!==t)return t?Array.isArray(e)?Array.isArray(t)?t.map(((t,o)=>{const n=e[o];return n?{...n,...t}:t})):[t]:Array.isArray(t)?t:[{...e,...t}]:Array.isArray(e)?e:[e]}get conversionConfig(){return this.constructable[Ve.ConversionConfig]}get enabledInlineTools(){return this.config[Xe.EnabledInlineTools]||!1}get enabledBlockTunes(){return this.config[Xe.EnabledBlockTunes]}get pasteConfig(){return this.constructable[Ve.PasteConfig]??{}}get sanitizeConfig(){const e=super.sanitizeConfig,t=this.baseSanitizeConfig;if(S(e))return t;const o={};for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const i=e[n];y(i)?o[n]=Object.assign({},t,i):o[n]=i}return o}get baseSanitizeConfig(){const e={};return Array.from(this.inlineTools.values()).forEach((t=>Object.assign(e,t.sanitizeConfig))),Array.from(this.tunes.values()).forEach((t=>Object.assign(e,t.sanitizeConfig))),e}}vt([R],xt.prototype,"sanitizeConfig",1),vt([R],xt.prototype,"baseSanitizeConfig",1);class yt{constructor(e,t,o){this.api=o,this.config=e,this.editorConfig=t}get(e){const{class:t,isInternal:o=!1,...n}=this.config[e];return new(this.getConstructor(t))({name:e,constructable:t,config:n,api:this.api,isDefault:e===this.editorConfig.defaultBlock,defaultPlaceholder:this.editorConfig.placeholder,isInternal:o})}getConstructor(e){switch(!0){case e[qe.IsInline]:return ft;case e[Ze.IsTune]:return gt;default:return xt}}}class wt{constructor({api:e}){this.CSS={animation:"wobble"},this.api=e}render(){return{icon:ve,title:this.api.i18n.t("Move down"),onActivate:()=>this.handleClick(),name:"move-down"}}handleClick(){const e=this.api.blocks.getCurrentBlockIndex(),t=this.api.blocks.getBlockByIndex(e+1);if(!t)throw new Error("Unable to move Block down since it is already the last");const o=t.holder,n=o.getBoundingClientRect();let i=Math.abs(window.innerHeight-o.offsetHeight);n.top',title:this.api.i18n.t("Delete"),name:"delete",confirmation:{title:this.api.i18n.t("Click to delete"),onActivate:()=>this.handleClick()}}}handleClick(){this.api.blocks.delete()}}Et.isTune=!0;class Ct{constructor({api:e}){this.CSS={animation:"wobble"},this.api=e}render(){return{icon:'',title:this.api.i18n.t("Move up"),onActivate:()=>this.handleClick(),name:"move-up"}}handleClick(){const e=this.api.blocks.getCurrentBlockIndex(),t=this.api.blocks.getBlockByIndex(e),o=this.api.blocks.getBlockByIndex(e-1);if(0===e||!t||!o)throw new Error("Unable to move Block up since it is already the first");const n=t.holder,i=o.holder,s=n.getBoundingClientRect(),r=i.getBoundingClientRect();let a;a=r.top>0?Math.abs(s.top)-Math.abs(r.top):Math.abs(s.top)+r.height,window.scrollBy(0,-1*a),this.api.blocks.move(e-1),this.api.toolbar.toggleBlockSettings(!0)}}Ct.isTune=!0;var St=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor;class Tt extends K{constructor(){super(...arguments),this.stubTool="stub",this.toolsAvailable=new mt,this.toolsUnavailable=new mt}get available(){return this.toolsAvailable}get unavailable(){return this.toolsUnavailable}get inlineTools(){return this.available.inlineTools}get blockTools(){return this.available.blockTools}get blockTunes(){return this.available.blockTunes}get defaultTool(){return this.blockTools.get(this.config.defaultBlock)}get internal(){return this.available.internalTools}async prepare(){if(this.validateTools(),this.config.tools=O({},this.internalTools,this.config.tools),!Object.prototype.hasOwnProperty.call(this.config,"tools")||0===Object.keys(this.config.tools).length)throw Error("Can't start without tools");const e=this.prepareConfig();this.factory=new yt(e,this.config,this.Editor.API);const t=this.getListOfPrepareFunctions(e);if(0===t.length)return Promise.resolve();await T(t,(e=>{this.toolPrepareMethodSuccess(e)}),(e=>{this.toolPrepareMethodFallback(e)})),this.prepareBlockTools()}getAllInlineToolsSanitizeConfig(){const e={};return Array.from(this.inlineTools.values()).forEach((t=>{Object.assign(e,t.sanitizeConfig)})),e}destroy(){Object.values(this.available).forEach((async e=>{x(e.reset)&&await e.reset()}))}get internalTools(){return{bold:{class:dt,isInternal:!0},italic:{class:ht,isInternal:!0},link:{class:pt,isInternal:!0},paragraph:{class:ct,inlineToolbar:!0,isInternal:!0},stub:{class:ut,isInternal:!0},moveUp:{class:Ct,isInternal:!0},delete:{class:Et,isInternal:!0},moveDown:{class:wt,isInternal:!0}}}toolPrepareMethodSuccess(e){const t=this.factory.get(e.toolName);if(t.isInline()){const e=["render","surround","checkState"].filter((e=>!t.create()[e]));if(e.length)return b(`Incorrect Inline Tool: ${t.name}. Some of required methods is not implemented %o`,"warn",e),void this.toolsUnavailable.set(t.name,t)}this.toolsAvailable.set(t.name,t)}toolPrepareMethodFallback(e){this.toolsUnavailable.set(e.toolName,this.factory.get(e.toolName))}getListOfPrepareFunctions(e){const t=[];return Object.entries(e).forEach((([e,o])=>{t.push({function:x(o.class.prepare)?o.class.prepare:()=>{},data:{toolName:e,config:o.config}})})),t}prepareBlockTools(){Array.from(this.blockTools.values()).forEach((e=>{this.assignInlineToolsToBlockTool(e),this.assignBlockTunesToBlockTool(e)}))}assignInlineToolsToBlockTool(e){if(!1!==this.config.inlineToolbar){if(!0===e.enabledInlineTools)return void(e.inlineTools=new mt(Array.isArray(this.config.inlineToolbar)?this.config.inlineToolbar.map((e=>[e,this.inlineTools.get(e)])):Array.from(this.inlineTools.entries())));Array.isArray(e.enabledInlineTools)&&(e.inlineTools=new mt(e.enabledInlineTools.map((e=>[e,this.inlineTools.get(e)]))))}}assignBlockTunesToBlockTool(e){if(!1!==e.enabledBlockTunes){if(Array.isArray(e.enabledBlockTunes)){const t=new mt(e.enabledBlockTunes.map((e=>[e,this.blockTunes.get(e)])));return void(e.tunes=new mt([...t,...this.blockTunes.internalTools]))}if(Array.isArray(this.config.tunes)){const t=new mt(this.config.tunes.map((e=>[e,this.blockTunes.get(e)])));return void(e.tunes=new mt([...t,...this.blockTunes.internalTools]))}e.tunes=this.blockTunes.internalTools}}validateTools(){for(const e in this.config.tools)if(Object.prototype.hasOwnProperty.call(this.config.tools,e)){if(e in this.internalTools)return;const t=this.config.tools[e];if(!x(t)&&!x(t.class))throw Error(`Tool «${e}» must be a constructor function or an object with function in the «class» property`)}}prepareConfig(){const e={};for(const t in this.config.tools)y(this.config.tools[t])?e[t]=this.config.tools[t]:e[t]={class:this.config.tools[t]};return e}}((e,t,o,n)=>{for(var i,s=n>1?void 0:n?Bt(t,o):t,r=e.length-1;r>=0;r--)(i=e[r])&&(s=(n?i(t,o,s):i(s))||s);n&&s&&St(t,o,s)})([R],Tt.prototype,"getAllInlineToolsSanitizeConfig",1);const It=':root{--selectionColor: #e1f2ff;--inlineSelectionColor: #d4ecff;--bg-light: #eff2f5;--grayText: #707684;--color-dark: #1D202B;--color-active-icon: #388AE5;--color-gray-border: rgba(201, 201, 204, .48);--content-width: 650px;--narrow-mode-right-padding: 50px;--toolbox-buttons-size: 26px;--toolbox-buttons-size--mobile: 36px;--icon-size: 20px;--icon-size--mobile: 28px;--block-padding-vertical: .4em;--color-line-gray: #EFF0F1 }.codex-editor{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}.codex-editor .hide{display:none}.codex-editor__redactor [contenteditable]:empty:after{content:"\\feff"}@media (min-width: 651px){.codex-editor--narrow .codex-editor__redactor{margin-right:50px}}@media (min-width: 651px){.codex-editor--narrow.codex-editor--rtl .codex-editor__redactor{margin-left:50px;margin-right:0}}@media (min-width: 651px){.codex-editor--narrow .ce-toolbar__actions{right:-5px}}.codex-editor-copyable{position:absolute;height:1px;width:1px;top:-400%;opacity:.001}.codex-editor-overlay{position:fixed;top:0px;left:0px;right:0px;bottom:0px;z-index:999;pointer-events:none;overflow:hidden}.codex-editor-overlay__container{position:relative;pointer-events:auto;z-index:0}.codex-editor-overlay__rectangle{position:absolute;pointer-events:none;background-color:#2eaadc33;border:1px solid transparent}.codex-editor svg{max-height:100%}.codex-editor path{stroke:currentColor}.codex-editor ::-moz-selection{background-color:#d4ecff}.codex-editor ::selection{background-color:#d4ecff}.codex-editor--toolbox-opened [contentEditable=true][data-placeholder]:focus:before{opacity:0!important}.ce-scroll-locked{overflow:hidden}.ce-scroll-locked--hard{overflow:hidden;top:calc(-1 * var(--window-scroll-offset));position:fixed;width:100%}.ce-toolbar{position:absolute;left:0;right:0;top:0;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;will-change:opacity,top;display:none}.ce-toolbar--opened{display:block}.ce-toolbar__content{max-width:650px;margin:0 auto;position:relative}.ce-toolbar__plus{color:#1d202b;cursor:pointer;width:26px;height:26px;border-radius:7px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-negative:0;flex-shrink:0}@media (max-width: 650px){.ce-toolbar__plus{width:36px;height:36px}}@media (hover: hover){.ce-toolbar__plus:hover{background-color:#eff2f5}}.ce-toolbar__plus--active{background-color:#eff2f5;-webkit-animation:bounceIn .75s 1;animation:bounceIn .75s 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.ce-toolbar__plus-shortcut{opacity:.6;word-spacing:-2px;margin-top:5px}@media (max-width: 650px){.ce-toolbar__plus{position:absolute;background-color:#fff;border:1px solid #E8E8EB;-webkit-box-shadow:0 3px 15px -3px rgba(13,20,33,.13);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;z-index:2;position:static}.ce-toolbar__plus--left-oriented:before{left:15px;margin-left:0}.ce-toolbar__plus--right-oriented:before{left:auto;right:15px;margin-left:0}}.ce-toolbar__actions{position:absolute;right:100%;opacity:0;display:-webkit-box;display:-ms-flexbox;display:flex;padding-right:5px}.ce-toolbar__actions--opened{opacity:1}@media (max-width: 650px){.ce-toolbar__actions{right:auto}}.ce-toolbar__settings-btn{color:#1d202b;width:26px;height:26px;border-radius:7px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;margin-left:3px;cursor:pointer;user-select:none}@media (max-width: 650px){.ce-toolbar__settings-btn{width:36px;height:36px}}@media (hover: hover){.ce-toolbar__settings-btn:hover{background-color:#eff2f5}}.ce-toolbar__settings-btn--active{background-color:#eff2f5;-webkit-animation:bounceIn .75s 1;animation:bounceIn .75s 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (min-width: 651px){.ce-toolbar__settings-btn{width:24px}}.ce-toolbar__settings-btn--hidden{display:none}@media (max-width: 650px){.ce-toolbar__settings-btn{position:absolute;background-color:#fff;border:1px solid #E8E8EB;-webkit-box-shadow:0 3px 15px -3px rgba(13,20,33,.13);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;z-index:2;position:static}.ce-toolbar__settings-btn--left-oriented:before{left:15px;margin-left:0}.ce-toolbar__settings-btn--right-oriented:before{left:auto;right:15px;margin-left:0}}.ce-toolbar__plus svg,.ce-toolbar__settings-btn svg{width:24px;height:24px}@media (min-width: 651px){.codex-editor--narrow .ce-toolbar__plus{left:5px}}@media (min-width: 651px){.codex-editor--narrow .ce-toolbox .ce-popover{right:0;left:auto;left:initial}}.ce-inline-toolbar{--y-offset: 8px;position:absolute;background-color:#fff;border:1px solid #E8E8EB;-webkit-box-shadow:0 3px 15px -3px rgba(13,20,33,.13);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;z-index:2;-webkit-transform:translateX(-50%) translateY(8px) scale(.94);transform:translate(-50%) translateY(8px) scale(.94);opacity:0;visibility:hidden;-webkit-transition:opacity .25s ease,-webkit-transform .15s ease;transition:opacity .25s ease,-webkit-transform .15s ease;transition:transform .15s ease,opacity .25s ease;transition:transform .15s ease,opacity .25s ease,-webkit-transform .15s ease;will-change:transform,opacity;top:0;left:0;z-index:3}.ce-inline-toolbar--left-oriented:before{left:15px;margin-left:0}.ce-inline-toolbar--right-oriented:before{left:auto;right:15px;margin-left:0}.ce-inline-toolbar--showed{opacity:1;visibility:visible;-webkit-transform:translateX(-50%);transform:translate(-50%)}.ce-inline-toolbar--left-oriented{-webkit-transform:translateX(-23px) translateY(8px) scale(.94);transform:translate(-23px) translateY(8px) scale(.94)}.ce-inline-toolbar--left-oriented.ce-inline-toolbar--showed{-webkit-transform:translateX(-23px);transform:translate(-23px)}.ce-inline-toolbar--right-oriented{-webkit-transform:translateX(-100%) translateY(8px) scale(.94);transform:translate(-100%) translateY(8px) scale(.94);margin-left:23px}.ce-inline-toolbar--right-oriented.ce-inline-toolbar--showed{-webkit-transform:translateX(-100%);transform:translate(-100%)}.ce-inline-toolbar [hidden]{display:none!important}.ce-inline-toolbar__toggler-and-button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:0 6px}.ce-inline-toolbar__buttons{display:-webkit-box;display:-ms-flexbox;display:flex}.ce-inline-toolbar__dropdown{display:-webkit-box;display:-ms-flexbox;display:flex;padding:6px;margin:0 6px 0 -6px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;border-right:1px solid rgba(201,201,204,.48);-webkit-box-sizing:border-box;box-sizing:border-box}@media (hover: hover){.ce-inline-toolbar__dropdown:hover{background:#eff2f5}}.ce-inline-toolbar__dropdown--hidden{display:none}.ce-inline-toolbar__dropdown-content,.ce-inline-toolbar__dropdown-arrow{display:-webkit-box;display:-ms-flexbox;display:flex}.ce-inline-toolbar__dropdown-content svg,.ce-inline-toolbar__dropdown-arrow svg{width:20px;height:20px}.ce-inline-toolbar__shortcut{opacity:.6;word-spacing:-3px;margin-top:3px}.ce-inline-tool{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:6px 1px;cursor:pointer;border:0;outline:none;background-color:transparent;vertical-align:bottom;color:inherit;margin:0;border-radius:0;line-height:normal}.ce-inline-tool svg{width:20px;height:20px}@media (max-width: 650px){.ce-inline-tool svg{width:28px;height:28px}}@media (hover: hover){.ce-inline-tool:hover{background-color:#eff2f5}}.ce-inline-tool--active{color:#388ae5}.ce-inline-tool--focused{background:rgba(34,186,255,.08)!important}.ce-inline-tool--focused{-webkit-box-shadow:inset 0 0 0px 1px rgba(7,161,227,.08);box-shadow:inset 0 0 0 1px #07a1e314}.ce-inline-tool--focused-animated{-webkit-animation-name:buttonClicked;animation-name:buttonClicked;-webkit-animation-duration:.25s;animation-duration:.25s}.ce-inline-tool--link .icon--unlink,.ce-inline-tool--unlink .icon--link{display:none}.ce-inline-tool--unlink .icon--unlink{display:inline-block;margin-bottom:-1px}.ce-inline-tool-input{outline:none;border:0;border-radius:0 0 4px 4px;margin:0;font-size:13px;padding:10px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;font-weight:500;border-top:1px solid rgba(201,201,204,.48);-webkit-appearance:none;font-family:inherit}@media (max-width: 650px){.ce-inline-tool-input{font-size:15px;font-weight:500}}.ce-inline-tool-input::-webkit-input-placeholder{color:#707684}.ce-inline-tool-input::-moz-placeholder{color:#707684}.ce-inline-tool-input:-ms-input-placeholder{color:#707684}.ce-inline-tool-input::-ms-input-placeholder{color:#707684}.ce-inline-tool-input::placeholder{color:#707684}.ce-inline-tool-input--showed{display:block}.ce-conversion-toolbar{position:absolute;background-color:#fff;border:1px solid #E8E8EB;-webkit-box-shadow:0 3px 15px -3px rgba(13,20,33,.13);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;z-index:2;opacity:0;visibility:hidden;will-change:transform,opacity;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;-webkit-transform:translateY(-8px);transform:translateY(-8px);left:-1px;width:190px;margin-top:5px;-webkit-box-sizing:content-box;box-sizing:content-box}.ce-conversion-toolbar--left-oriented:before{left:15px;margin-left:0}.ce-conversion-toolbar--right-oriented:before{left:auto;right:15px;margin-left:0}.ce-conversion-toolbar--showed{opacity:1;visibility:visible;-webkit-transform:none;transform:none}.ce-conversion-toolbar [hidden]{display:none!important}.ce-conversion-toolbar__buttons{display:-webkit-box;display:-ms-flexbox;display:flex}.ce-conversion-toolbar__label{color:#707684;font-size:11px;font-weight:500;letter-spacing:.33px;padding:10px 10px 5px;text-transform:uppercase}.ce-conversion-tool{display:-webkit-box;display:-ms-flexbox;display:flex;padding:5px 10px;font-size:14px;line-height:20px;font-weight:500;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ce-conversion-tool--hidden{display:none}.ce-conversion-tool--focused{background:rgba(34,186,255,.08)!important}.ce-conversion-tool--focused{-webkit-box-shadow:inset 0 0 0px 1px rgba(7,161,227,.08);box-shadow:inset 0 0 0 1px #07a1e314}.ce-conversion-tool--focused-animated{-webkit-animation-name:buttonClicked;animation-name:buttonClicked;-webkit-animation-duration:.25s;animation-duration:.25s}.ce-conversion-tool:hover{background:#eff2f5}.ce-conversion-tool__icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:26px;height:26px;-webkit-box-shadow:0 0 0 1px rgba(201,201,204,.48);box-shadow:0 0 0 1px #c9c9cc7a;border-radius:5px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#fff;-webkit-box-sizing:content-box;box-sizing:content-box;-ms-flex-negative:0;flex-shrink:0;margin-right:10px}.ce-conversion-tool__icon svg{width:20px;height:20px}@media (max-width: 650px){.ce-conversion-tool__icon{width:36px;height:36px;border-radius:8px}.ce-conversion-tool__icon svg{width:28px;height:28px}}.ce-conversion-tool--last{margin-right:0!important}.ce-conversion-tool--active{color:#388ae5!important}.ce-conversion-tool--active{-webkit-animation:bounceIn .75s 1;animation:bounceIn .75s 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.ce-conversion-tool__secondary-label{color:#707684;font-size:12px;margin-left:auto;white-space:nowrap;letter-spacing:-.1em;padding-right:5px;margin-bottom:-2px;opacity:.6}@media (max-width: 650px){.ce-conversion-tool__secondary-label{display:none}}.ce-settings__button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:6px 1px;border-radius:3px;cursor:pointer;border:0;outline:none;background-color:transparent;vertical-align:bottom;color:inherit;margin:0;line-height:32px}.ce-settings__button svg{width:20px;height:20px}@media (max-width: 650px){.ce-settings__button svg{width:28px;height:28px}}@media (hover: hover){.ce-settings__button:hover{background-color:#eff2f5}}.ce-settings__button--active{color:#388ae5}.ce-settings__button--focused{background:rgba(34,186,255,.08)!important}.ce-settings__button--focused{-webkit-box-shadow:inset 0 0 0px 1px rgba(7,161,227,.08);box-shadow:inset 0 0 0 1px #07a1e314}.ce-settings__button--focused-animated{-webkit-animation-name:buttonClicked;animation-name:buttonClicked;-webkit-animation-duration:.25s;animation-duration:.25s}.ce-settings__button:not(:nth-child(3n+3)){margin-right:3px}.ce-settings__button:nth-child(n+4){margin-top:3px}.ce-settings__button--disabled{cursor:not-allowed!important}.ce-settings__button--disabled{opacity:.3}.ce-settings__button--selected{color:#388ae5}@media (min-width: 651px){.codex-editor--narrow .ce-settings .ce-popover{right:0;left:auto;left:initial}}@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ce-block{-webkit-animation:fade-in .3s ease;animation:fade-in .3s ease;-webkit-animation-fill-mode:none;animation-fill-mode:none;-webkit-animation-fill-mode:initial;animation-fill-mode:initial}.ce-block:first-of-type{margin-top:0}.ce-block--selected .ce-block__content{background:#e1f2ff}.ce-block--selected .ce-block__content [contenteditable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ce-block--selected .ce-block__content img,.ce-block--selected .ce-block__content .ce-stub{opacity:.55}.ce-block--stretched .ce-block__content{max-width:none}.ce-block__content{position:relative;max-width:650px;margin:0 auto;-webkit-transition:background-color .15s ease;transition:background-color .15s ease}.ce-block--drop-target .ce-block__content:before{content:"";position:absolute;top:100%;left:-20px;margin-top:-1px;height:8px;width:8px;border:solid #388AE5;border-width:1px 1px 0 0;-webkit-transform-origin:right;transform-origin:right;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ce-block--drop-target .ce-block__content:after{content:"";position:absolute;top:100%;height:1px;width:100%;color:#388ae5;background:repeating-linear-gradient(90deg,#388AE5,#388AE5 1px,#fff 1px,#fff 6px)}.ce-block a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.ce-block b{font-weight:700}.ce-block i{font-style:italic}@media (min-width: 651px){.codex-editor--narrow .ce-block--focused{margin-right:-50px;padding-right:50px}}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}20%{-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}60%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}20%{-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}60%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@-webkit-keyframes selectionBounce{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}50%{-webkit-transform:scale3d(1.01,1.01,1.01);transform:scale3d(1.01,1.01,1.01)}70%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes selectionBounce{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}50%{-webkit-transform:scale3d(1.01,1.01,1.01);transform:scale3d(1.01,1.01,1.01)}70%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@-webkit-keyframes buttonClicked{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.95,.95,.95);transform:scale3d(.95,.95,.95)}60%{-webkit-transform:scale3d(1.02,1.02,1.02);transform:scale3d(1.02,1.02,1.02)}80%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}@keyframes buttonClicked{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.95,.95,.95);transform:scale3d(.95,.95,.95)}60%{-webkit-transform:scale3d(1.02,1.02,1.02);transform:scale3d(1.02,1.02,1.02)}80%{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}}.cdx-block{padding:.4em 0}.cdx-block::-webkit-input-placeholder{line-height:normal!important}.cdx-input{border:1px solid rgba(201,201,204,.48);-webkit-box-shadow:inset 0 1px 2px 0 rgba(35,44,72,.06);box-shadow:inset 0 1px 2px #232c480f;border-radius:3px;padding:10px 12px;outline:none;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.cdx-input[data-placeholder]:before{position:static!important}.cdx-input[data-placeholder]:before{display:inline-block;width:0;white-space:nowrap;pointer-events:none}.cdx-settings-button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:6px 1px;border-radius:3px;cursor:pointer;border:0;outline:none;background-color:transparent;vertical-align:bottom;color:inherit;margin:0;min-width:26px;min-height:26px}.cdx-settings-button svg{width:20px;height:20px}@media (max-width: 650px){.cdx-settings-button svg{width:28px;height:28px}}@media (hover: hover){.cdx-settings-button:hover{background-color:#eff2f5}}.cdx-settings-button--focused{background:rgba(34,186,255,.08)!important}.cdx-settings-button--focused{-webkit-box-shadow:inset 0 0 0px 1px rgba(7,161,227,.08);box-shadow:inset 0 0 0 1px #07a1e314}.cdx-settings-button--focused-animated{-webkit-animation-name:buttonClicked;animation-name:buttonClicked;-webkit-animation-duration:.25s;animation-duration:.25s}.cdx-settings-button--active{color:#388ae5}.cdx-settings-button svg{width:auto;height:auto}@media (max-width: 650px){.cdx-settings-button{width:36px;height:36px;border-radius:8px}}.cdx-loader{position:relative;border:1px solid rgba(201,201,204,.48)}.cdx-loader:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-11px 0 0 -11px;border:2px solid rgba(201,201,204,.48);border-left-color:#388ae5;border-radius:50%;-webkit-animation:cdxRotation 1.2s infinite linear;animation:cdxRotation 1.2s infinite linear}@-webkit-keyframes cdxRotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes cdxRotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cdx-button{padding:13px;border-radius:3px;border:1px solid rgba(201,201,204,.48);font-size:14.9px;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(18,30,57,.04);box-shadow:0 2px 2px #121e390a;color:#707684;text-align:center;cursor:pointer}@media (hover: hover){.cdx-button:hover{background:#FBFCFE;-webkit-box-shadow:0 1px 3px 0 rgba(18,30,57,.08);box-shadow:0 1px 3px #121e3914}}.cdx-button svg{height:20px;margin-right:.2em;margin-top:-2px}.ce-stub{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 18px;margin:10px 0;border-radius:10px;background:#eff2f5;border:1px solid #EFF0F1;color:#707684;font-size:14px}.ce-stub svg{width:20px;height:20px}.ce-stub__info{margin-left:14px}.ce-stub__title{font-weight:500;text-transform:capitalize}.codex-editor.codex-editor--rtl{direction:rtl}.codex-editor.codex-editor--rtl .cdx-list{padding-left:0;padding-right:40px}.codex-editor.codex-editor--rtl .ce-toolbar__plus{right:-26px;left:auto}.codex-editor.codex-editor--rtl .ce-toolbar__actions{right:auto;left:-26px}@media (max-width: 650px){.codex-editor.codex-editor--rtl .ce-toolbar__actions{margin-left:0;margin-right:auto;padding-right:0;padding-left:10px}}.codex-editor.codex-editor--rtl .ce-settings{left:5px;right:auto}.codex-editor.codex-editor--rtl .ce-settings:before{right:auto;left:25px}.codex-editor.codex-editor--rtl .ce-settings__button:not(:nth-child(3n+3)){margin-left:3px;margin-right:0}.codex-editor.codex-editor--rtl .ce-conversion-tool__icon{margin-right:0;margin-left:10px}.codex-editor.codex-editor--rtl .ce-inline-toolbar__dropdown{border-right:0px solid transparent;border-left:1px solid rgba(201,201,204,.48);margin:0 -6px 0 6px}.codex-editor.codex-editor--rtl .ce-inline-toolbar__dropdown .icon--toggler-down{margin-left:0;margin-right:4px}@media (min-width: 651px){.codex-editor--narrow.codex-editor--rtl .ce-toolbar__plus{left:0px;right:5px}}@media (min-width: 651px){.codex-editor--narrow.codex-editor--rtl .ce-toolbar__actions{left:-5px}}.cdx-search-field{--icon-margin-right: 10px;background:rgba(232,232,235,.49);border:1px solid rgba(226,226,229,.2);border-radius:6px;padding:2px;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto}.cdx-search-field__icon{width:26px;height:26px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:var(--icon-margin-right)}.cdx-search-field__icon svg{width:20px;height:20px;color:#707684}.cdx-search-field__input{font-size:14px;outline:none;font-weight:500;font-family:inherit;border:0;background:transparent;margin:0;padding:0;line-height:22px;min-width:calc(100% - 26px - var(--icon-margin-right))}.cdx-search-field__input::-webkit-input-placeholder{color:#707684;font-weight:500}.cdx-search-field__input::-moz-placeholder{color:#707684;font-weight:500}.cdx-search-field__input:-ms-input-placeholder{color:#707684;font-weight:500}.cdx-search-field__input::-ms-input-placeholder{color:#707684;font-weight:500}.cdx-search-field__input::placeholder{color:#707684;font-weight:500}.ce-popover{--border-radius: 6px;--width: 200px;--max-height: 270px;--padding: 6px;--offset-from-target: 8px;--color-border: #e8e8eb;--color-shadow: rgba(13,20,33,.13);--color-background: white;--color-text-primary: black;--color-text-secondary: #707684;--color-border-icon: rgba(201, 201, 204, .48);--color-border-icon-disabled: #EFF0F1;--color-text-icon-active: #388AE5;--color-background-icon-active: rgba(56, 138, 229, .1);--color-background-item-focus: rgba(34, 186, 255, .08);--color-shadow-item-focus: rgba(7, 161, 227, .08);--color-background-item-hover: #eff2f5;--color-background-item-confirm: #E24A4A;--color-background-item-confirm-hover: #CE4343;min-width:var(--width);width:var(--width);max-height:var(--max-height);border-radius:var(--border-radius);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 3px 15px -3px var(--color-shadow);box-shadow:0 3px 15px -3px var(--color-shadow);position:absolute;left:0;top:calc(100% + var(--offset-from-target));background:var(--color-background);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:4;opacity:0;max-height:0;pointer-events:none;padding:0;border:none}.ce-popover--opened{opacity:1;padding:var(--padding);max-height:var(--max-height);pointer-events:auto;-webkit-animation:panelShowing .1s ease;animation:panelShowing .1s ease;border:1px solid var(--color-border)}@media (max-width: 650px){.ce-popover--opened{-webkit-animation:panelShowingMobile .25s ease;animation:panelShowingMobile .25s ease}}.ce-popover__items{overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain}@media (max-width: 650px){.ce-popover__overlay{position:fixed;top:0;bottom:0;left:0;right:0;background:#1D202B;z-index:3;opacity:.5;-webkit-transition:opacity .12s ease-in;transition:opacity .12s ease-in;will-change:opacity;visibility:visible}}.ce-popover__overlay--hidden{display:none}.ce-popover--open-top{top:calc(-1 * (var(--offset-from-target) + var(--popover-height)))}@media (max-width: 650px){.ce-popover{--offset: 5px;position:fixed;max-width:none;min-width:calc(100% - var(--offset) * 2);left:var(--offset);right:var(--offset);bottom:calc(var(--offset) + env(safe-area-inset-bottom));top:auto;border-radius:10px}.ce-popover .ce-popover__search{display:none}}.ce-popover__search,.ce-popover__custom-content:not(:empty){margin-bottom:5px}.ce-popover__nothing-found-message{color:#707684;display:none;cursor:default;padding:3px;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ce-popover__nothing-found-message--displayed{display:block}.ce-popover__custom-content:not(:empty){padding:4px}@media (min-width: 651px){.ce-popover__custom-content:not(:empty){padding:0}}.ce-popover__custom-content--hidden{display:none}.ce-popover-item{--border-radius: 6px;--icon-size: 20px;--icon-size-mobile: 28px;border-radius:var(--border-radius);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px;color:var(--color-text-primary);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (max-width: 650px){.ce-popover-item{padding:4px}}.ce-popover-item:not(:last-of-type){margin-bottom:1px}.ce-popover-item__icon{border-radius:5px;width:26px;height:26px;-webkit-box-shadow:0 0 0 1px var(--color-border-icon);box-shadow:0 0 0 1px var(--color-border-icon);background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:10px}.ce-popover-item__icon svg{width:20px;height:20px}@media (max-width: 650px){.ce-popover-item__icon{width:36px;height:36px;border-radius:8px}.ce-popover-item__icon svg{width:var(--icon-size-mobile);height:var(--icon-size-mobile)}}.ce-popover-item__title{font-size:14px;line-height:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width: 650px){.ce-popover-item__title{font-size:16px}}.ce-popover-item__secondary-title{color:var(--color-text-secondary);font-size:12px;margin-left:auto;white-space:nowrap;letter-spacing:-.1em;padding-right:5px;margin-bottom:-2px;opacity:.6}@media (max-width: 650px){.ce-popover-item__secondary-title{display:none}}.ce-popover-item--active{background:var(--color-background-icon-active);color:var(--color-text-icon-active)}.ce-popover-item--active .ce-popover-item__icon{-webkit-box-shadow:none;box-shadow:none}.ce-popover-item--disabled{color:var(--color-text-secondary);cursor:default;pointer-events:none}.ce-popover-item--disabled .ce-popover-item__icon{-webkit-box-shadow:0 0 0 1px var(--color-border-icon-disabled);box-shadow:0 0 0 1px var(--color-border-icon-disabled)}.ce-popover-item--focused:not(.ce-popover-item--no-focus){background:var(--color-background-item-focus)!important}.ce-popover-item--focused:not(.ce-popover-item--no-focus){-webkit-box-shadow:inset 0 0 0px 1px var(--color-shadow-item-focus);box-shadow:inset 0 0 0 1px var(--color-shadow-item-focus)}.ce-popover-item--hidden{display:none}@media (hover: hover){.ce-popover-item:hover{cursor:pointer}.ce-popover-item:hover:not(.ce-popover-item--no-hover){background-color:var(--color-background-item-hover)}.ce-popover-item:hover .ce-popover-item__icon{-webkit-box-shadow:none;box-shadow:none}}.ce-popover-item--confirmation{background:var(--color-background-item-confirm)}.ce-popover-item--confirmation .ce-popover-item__icon{color:var(--color-background-item-confirm)}.ce-popover-item--confirmation .ce-popover-item__title{color:#fff}@media (hover: hover){.ce-popover-item--confirmation:not(.ce-popover-item--no-hover):hover{background:var(--color-background-item-confirm-hover)}}.ce-popover-item--confirmation:not(.ce-popover-item--no-focus).ce-popover-item--focused{background:var(--color-background-item-confirm-hover)!important}.ce-popover-item--confirmation .ce-popover-item__icon,.ce-popover-item--active .ce-popover-item__icon,.ce-popover-item--focused .ce-popover-item__icon{-webkit-box-shadow:none;box-shadow:none}@-webkit-keyframes panelShowing{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.9);transform:translateY(-8px) scale(.9)}70%{opacity:1;-webkit-transform:translateY(2px);transform:translateY(2px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes panelShowing{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.9);transform:translateY(-8px) scale(.9)}70%{opacity:1;-webkit-transform:translateY(2px);transform:translateY(2px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes panelShowingMobile{0%{opacity:0;-webkit-transform:translateY(14px) scale(.98);transform:translateY(14px) scale(.98)}70%{opacity:1;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes panelShowingMobile{0%{opacity:0;-webkit-transform:translateY(14px) scale(.98);transform:translateY(14px) scale(.98)}70%{opacity:1;-webkit-transform:translateY(-4px);transform:translateY(-4px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble;-webkit-animation-duration:.4s;animation-duration:.4s}@-webkit-keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-9%,0,0);transform:translate3d(-9%,0,0)}30%{-webkit-transform:translate3d(9%,0,0);transform:translate3d(9%,0,0)}45%{-webkit-transform:translate3d(-4%,0,0);transform:translate3d(-4%,0,0)}60%{-webkit-transform:translate3d(4%,0,0);transform:translate3d(4%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-9%,0,0);transform:translate3d(-9%,0,0)}30%{-webkit-transform:translate3d(9%,0,0);transform:translate3d(9%,0,0)}45%{-webkit-transform:translate3d(-4%,0,0);transform:translate3d(-4%,0,0)}60%{-webkit-transform:translate3d(4%,0,0);transform:translate3d(4%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}\n';const _t={BlocksAPI:class extends K{constructor(){super(...arguments),this.insert=(e=this.config.defaultBlock,t={},o={},n,i,s,r)=>new W(this.Editor.BlockManager.insert({id:r,tool:e,data:t,index:n,needToFocus:i,replace:s})),this.composeBlockData=async e=>{const t=this.Editor.Tools.blockTools.get(e);return new te({tool:t,api:this.Editor.API,readOnly:!0,data:{},tunesData:{}}).data},this.update=async(e,t)=>{const{BlockManager:o}=this.Editor,n=o.getBlockById(e);if(void 0===n)throw new Error(`Block with id "${e}" not found`);return new W(await o.update(n,t))},this.convert=(e,t,o)=>{var n,i;const{BlockManager:s,Tools:r}=this.Editor,a=s.getBlockById(e);if(!a)throw new Error(`Block with id "${e}" not found`);const l=r.blockTools.get(a.name),c=r.blockTools.get(t);if(!c)throw new Error(`Block Tool with type "${t}" not found`);const d=void 0!==(null==(n=null==l?void 0:l.conversionConfig)?void 0:n.export),h=void 0!==(null==(i=c.conversionConfig)?void 0:i.import);if(!d||!h){const e=[!d&&A(a.name),!h&&A(t)].filter(Boolean).join(" and ");throw new Error(`Conversion from "${a.name}" to "${t}" is not possible. ${e} tool(s) should provide a "conversionConfig"`)}s.convert(a,t,o)},this.insertMany=(e,t=this.Editor.BlockManager.blocks.length-1)=>{this.validateIndex(t);const o=e.map((({id:e,type:t,data:o})=>this.Editor.BlockManager.composeBlock({id:e,tool:t||this.config.defaultBlock,data:o})));return this.Editor.BlockManager.insertMany(o,t),o.map((e=>new W(e)))}}get methods(){return{clear:()=>this.clear(),render:e=>this.render(e),renderFromHTML:e=>this.renderFromHTML(e),delete:e=>this.delete(e),swap:(e,t)=>this.swap(e,t),move:(e,t)=>this.move(e,t),getBlockByIndex:e=>this.getBlockByIndex(e),getById:e=>this.getById(e),getCurrentBlockIndex:()=>this.getCurrentBlockIndex(),getBlockIndex:e=>this.getBlockIndex(e),getBlocksCount:()=>this.getBlocksCount(),stretchBlock:(e,t=!0)=>this.stretchBlock(e,t),insertNewBlock:()=>this.insertNewBlock(),insert:this.insert,insertMany:this.insertMany,update:this.update,composeBlockData:this.composeBlockData,convert:this.convert}}getBlocksCount(){return this.Editor.BlockManager.blocks.length}getCurrentBlockIndex(){return this.Editor.BlockManager.currentBlockIndex}getBlockIndex(e){const t=this.Editor.BlockManager.getBlockById(e);if(t)return this.Editor.BlockManager.getBlockIndex(t);k("There is no block with id `"+e+"`","warn")}getBlockByIndex(e){const t=this.Editor.BlockManager.getBlockByIndex(e);if(void 0!==t)return new W(t);k("There is no block at index `"+e+"`","warn")}getById(e){const t=this.Editor.BlockManager.getBlockById(e);return void 0===t?(k("There is no block with id `"+e+"`","warn"),null):new W(t)}swap(e,t){b("`blocks.swap()` method is deprecated and will be removed in the next major release. Use `block.move()` method instead","info"),this.Editor.BlockManager.swap(e,t)}move(e,t){this.Editor.BlockManager.move(e,t)}delete(e=this.Editor.BlockManager.currentBlockIndex){try{const t=this.Editor.BlockManager.getBlockByIndex(e);this.Editor.BlockManager.removeBlock(t)}catch(e){return void k(e,"warn")}0===this.Editor.BlockManager.blocks.length&&this.Editor.BlockManager.insert(),this.Editor.BlockManager.currentBlock&&this.Editor.Caret.setToBlock(this.Editor.BlockManager.currentBlock,this.Editor.Caret.positions.END),this.Editor.Toolbar.close()}async clear(){await this.Editor.BlockManager.clear(!0),this.Editor.InlineToolbar.close()}async render(e){if(void 0===e||void 0===e.blocks)throw new Error("Incorrect data passed to the render() method");this.Editor.ModificationsObserver.disable(),await this.Editor.BlockManager.clear(),await this.Editor.Renderer.render(e.blocks),this.Editor.ModificationsObserver.enable()}renderFromHTML(e){return this.Editor.BlockManager.clear(),this.Editor.Paste.processText(e,!0)}stretchBlock(e,t=!0){D(!0,"blocks.stretchBlock()","BlockAPI");const o=this.Editor.BlockManager.getBlockByIndex(e);o&&(o.stretched=t)}insertNewBlock(){b("Method blocks.insertNewBlock() is deprecated and it will be removed in the next major release. Use blocks.insert() instead.","warn"),this.insert()}validateIndex(e){if("number"!=typeof e)throw new Error("Index should be a number");if(e<0)throw new Error("Index should be greater than or equal to 0");if(null===e)throw new Error("Index should be greater than or equal to 0")}},CaretAPI:class extends K{constructor(){super(...arguments),this.setToFirstBlock=(e=this.Editor.Caret.positions.DEFAULT,t=0)=>!!this.Editor.BlockManager.firstBlock&&(this.Editor.Caret.setToBlock(this.Editor.BlockManager.firstBlock,e,t),!0),this.setToLastBlock=(e=this.Editor.Caret.positions.DEFAULT,t=0)=>!!this.Editor.BlockManager.lastBlock&&(this.Editor.Caret.setToBlock(this.Editor.BlockManager.lastBlock,e,t),!0),this.setToPreviousBlock=(e=this.Editor.Caret.positions.DEFAULT,t=0)=>!!this.Editor.BlockManager.previousBlock&&(this.Editor.Caret.setToBlock(this.Editor.BlockManager.previousBlock,e,t),!0),this.setToNextBlock=(e=this.Editor.Caret.positions.DEFAULT,t=0)=>!!this.Editor.BlockManager.nextBlock&&(this.Editor.Caret.setToBlock(this.Editor.BlockManager.nextBlock,e,t),!0),this.setToBlock=(e,t=this.Editor.Caret.positions.DEFAULT,o=0)=>!!this.Editor.BlockManager.blocks[e]&&(this.Editor.Caret.setToBlock(this.Editor.BlockManager.blocks[e],t,o),!0),this.focus=(e=!1)=>e?this.setToLastBlock(this.Editor.Caret.positions.END):this.setToFirstBlock(this.Editor.Caret.positions.START)}get methods(){return{setToFirstBlock:this.setToFirstBlock,setToLastBlock:this.setToLastBlock,setToPreviousBlock:this.setToPreviousBlock,setToNextBlock:this.setToNextBlock,setToBlock:this.setToBlock,focus:this.focus}}},EventsAPI:class extends K{get methods(){return{emit:(e,t)=>this.emit(e,t),off:(e,t)=>this.off(e,t),on:(e,t)=>this.on(e,t)}}on(e,t){this.eventsDispatcher.on(e,t)}emit(e,t){this.eventsDispatcher.emit(e,t)}off(e,t){this.eventsDispatcher.off(e,t)}},I18nAPI:oe,API:class extends K{get methods(){return{blocks:this.Editor.BlocksAPI.methods,caret:this.Editor.CaretAPI.methods,events:this.Editor.EventsAPI.methods,listeners:this.Editor.ListenersAPI.methods,notifier:this.Editor.NotifierAPI.methods,sanitizer:this.Editor.SanitizerAPI.methods,saver:this.Editor.SaverAPI.methods,selection:this.Editor.SelectionAPI.methods,styles:this.Editor.StylesAPI.classes,toolbar:this.Editor.ToolbarAPI.methods,inlineToolbar:this.Editor.InlineToolbarAPI.methods,tooltip:this.Editor.TooltipAPI.methods,i18n:this.Editor.I18nAPI.methods,readOnly:this.Editor.ReadOnlyAPI.methods,ui:this.Editor.UiAPI.methods}}getMethodsForTool(e){return Object.assign(this.methods,{i18n:this.Editor.I18nAPI.getMethodsForTool(e)})}},InlineToolbarAPI:class extends K{get methods(){return{close:()=>this.close(),open:()=>this.open()}}open(){this.Editor.InlineToolbar.tryToShow()}close(){this.Editor.InlineToolbar.close()}},ListenersAPI:class extends K{get methods(){return{on:(e,t,o,n)=>this.on(e,t,o,n),off:(e,t,o,n)=>this.off(e,t,o,n),offById:e=>this.offById(e)}}on(e,t,o,n){return this.listeners.on(e,t,o,n)}off(e,t,o,n){this.listeners.off(e,t,o,n)}offById(e){this.listeners.offById(e)}},NotifierAPI:class extends K{constructor({config:e,eventsDispatcher:t}){super({config:e,eventsDispatcher:t}),this.notifier=new re}get methods(){return{show:e=>this.show(e)}}show(e){return this.notifier.show(e)}},ReadOnlyAPI:class extends K{get methods(){const e=()=>this.isEnabled;return{toggle:e=>this.toggle(e),get isEnabled(){return e()}}}toggle(e){return this.Editor.ReadOnly.toggle(e)}get isEnabled(){return this.Editor.ReadOnly.isEnabled}},SanitizerAPI:class extends K{get methods(){return{clean:(e,t)=>this.clean(e,t)}}clean(e,t){return he(e,t)}},SaverAPI:class extends K{get methods(){return{save:()=>this.save()}}save(){const e="Editor's content can not be saved in read-only mode";return this.Editor.ReadOnly.isEnabled?(k(e,"warn"),Promise.reject(new Error(e))):this.Editor.Saver.save()}},SelectionAPI:class extends K{get methods(){return{findParentTag:(e,t)=>this.findParentTag(e,t),expandToTag:e=>this.expandToTag(e)}}findParentTag(e,t){return(new V).findParentTag(e,t)}expandToTag(e){(new V).expandToTag(e)}},StylesAPI:class extends K{get classes(){return{block:"cdx-block",inlineToolButton:"ce-inline-tool",inlineToolButtonActive:"ce-inline-tool--active",input:"cdx-input",loader:"cdx-loader",button:"cdx-button",settingsButton:"cdx-settings-button",settingsButtonActive:"cdx-settings-button--active"}}},ToolbarAPI:class extends K{get methods(){return{close:()=>this.close(),open:()=>this.open(),toggleBlockSettings:e=>this.toggleBlockSettings(e),toggleToolbox:e=>this.toggleToolbox(e)}}open(){this.Editor.Toolbar.moveAndOpen()}close(){this.Editor.Toolbar.close()}toggleBlockSettings(e){-1!==this.Editor.BlockManager.currentBlockIndex?e??!this.Editor.BlockSettings.opened?(this.Editor.Toolbar.moveAndOpen(),this.Editor.BlockSettings.open()):this.Editor.BlockSettings.close():k("Could't toggle the Toolbar because there is no block selected ","warn")}toggleToolbox(e){-1!==this.Editor.BlockManager.currentBlockIndex?e??!this.Editor.Toolbar.toolbox.opened?(this.Editor.Toolbar.moveAndOpen(),this.Editor.Toolbar.toolbox.open()):this.Editor.Toolbar.toolbox.close():k("Could't toggle the Toolbox because there is no block selected ","warn")}},TooltipAPI:class extends K{constructor({config:e,eventsDispatcher:t}){super({config:e,eventsDispatcher:t}),this.tooltip=new be}destroy(){this.tooltip.destroy()}get methods(){return{show:(e,t,o)=>this.show(e,t,o),hide:()=>this.hide(),onHover:(e,t,o)=>this.onHover(e,t,o)}}show(e,t,o){this.tooltip.show(e,t,o)}hide(){this.tooltip.hide()}onHover(e,t,o){this.tooltip.onHover(e,t,o)}},UiAPI:class extends K{get methods(){return{nodes:this.editorNodes}}get editorNodes(){return{wrapper:this.Editor.UI.nodes.wrapper,redactor:this.Editor.UI.nodes.redactor}}},BlockSettings:class extends K{constructor(){super(...arguments),this.opened=!1,this.selection=new V,this.onPopoverClose=()=>{this.close()}}get events(){return{opened:"block-settings-opened",closed:"block-settings-closed"}}get CSS(){return{settings:"ce-settings"}}get flipper(){var e;return null==(e=this.popover)?void 0:e.flipper}make(){this.nodes.wrapper=H.make("div",[this.CSS.settings])}destroy(){this.removeAllNodes()}open(e=this.Editor.BlockManager.currentBlock){this.opened=!0,this.selection.save(),e.selected=!0,this.Editor.BlockSelection.clearCache();const[t,o]=e.getTunes();this.eventsDispatcher.emit(this.events.opened),this.popover=new Oe({searchable:!0,items:t.map((e=>this.resolveTuneAliases(e))),customContent:o,customContentFlippableItems:this.getControls(o),scopeElement:this.Editor.API.methods.ui.nodes.redactor,messages:{nothingFound:z.ui(ke.ui.popover,"Nothing found"),search:z.ui(ke.ui.popover,"Filter")}}),this.popover.on(Me.Close,this.onPopoverClose),this.nodes.wrapper.append(this.popover.getElement()),this.popover.show()}getElement(){return this.nodes.wrapper}close(){this.opened=!1,V.isAtEditor||this.selection.restore(),this.selection.clearSaved(),!this.Editor.CrossBlockSelection.isCrossBlockSelectionStarted&&this.Editor.BlockManager.currentBlock&&(this.Editor.BlockManager.currentBlock.selected=!1),this.eventsDispatcher.emit(this.events.closed),this.popover&&(this.popover.off(Me.Close,this.onPopoverClose),this.popover.destroy(),this.popover.getElement().remove(),this.popover=null)}getControls(e){const{StylesAPI:t}=this.Editor,o=e.querySelectorAll(`.${t.classes.settingsButton}, ${H.allInputsSelector}`);return Array.from(o)}resolveTuneAliases(e){const t=function(e,t){const o={};return Object.keys(e).forEach((n=>{const i=t[n];void 0!==i?o[i]=e[n]:o[n]=e[n]})),o}(e,{label:"title"});return e.confirmation&&(t.confirmation=this.resolveTuneAliases(e.confirmation)),t}},ConversionToolbar:Le,Toolbar:class extends K{constructor({config:e,eventsDispatcher:t}){super({config:e,eventsDispatcher:t}),this.toolboxInstance=null,this.tooltip=new be}get CSS(){return{toolbar:"ce-toolbar",content:"ce-toolbar__content",actions:"ce-toolbar__actions",actionsOpened:"ce-toolbar__actions--opened",toolbarOpened:"ce-toolbar--opened",openedToolboxHolderModifier:"codex-editor--toolbox-opened",plusButton:"ce-toolbar__plus",plusButtonShortcut:"ce-toolbar__plus-shortcut",settingsToggler:"ce-toolbar__settings-btn",settingsTogglerHidden:"ce-toolbar__settings-btn--hidden"}}get opened(){return this.nodes.wrapper.classList.contains(this.CSS.toolbarOpened)}get toolbox(){var e;return{opened:null==(e=this.toolboxInstance)?void 0:e.opened,close:()=>{var e;null==(e=this.toolboxInstance)||e.close()},open:()=>{null!==this.toolboxInstance?(this.Editor.BlockManager.currentBlock=this.hoveredBlock,this.toolboxInstance.open()):b("toolbox.open() called before initialization is finished","warn")},toggle:()=>{null!==this.toolboxInstance?this.toolboxInstance.toggle():b("toolbox.toggle() called before initialization is finished","warn")},hasFocus:()=>{var e;return null==(e=this.toolboxInstance)?void 0:e.hasFocus()}}}get blockActions(){return{hide:()=>{this.nodes.actions.classList.remove(this.CSS.actionsOpened)},show:()=>{this.nodes.actions.classList.add(this.CSS.actionsOpened)}}}get blockTunesToggler(){return{hide:()=>this.nodes.settingsToggler.classList.add(this.CSS.settingsTogglerHidden),show:()=>this.nodes.settingsToggler.classList.remove(this.CSS.settingsTogglerHidden)}}toggleReadOnly(e){e?(this.destroy(),this.Editor.BlockSettings.destroy(),this.disableModuleBindings()):window.requestIdleCallback((()=>{this.drawUI(),this.enableModuleBindings()}),{timeout:2e3})}moveAndOpen(e=this.Editor.BlockManager.currentBlock){if(null===this.toolboxInstance)return void b("Can't open Toolbar since Editor initialization is not finished yet","warn");if(this.toolboxInstance.opened&&this.toolboxInstance.close(),this.Editor.BlockSettings.opened&&this.Editor.BlockSettings.close(),!e)return;this.hoveredBlock=e;const t=e.holder,{isMobile:o}=this.Editor.UI,n=e.pluginsContent,i=window.getComputedStyle(n),s=parseInt(i.paddingTop,10),r=t.offsetHeight;let a;a=o?t.offsetTop+r:t.offsetTop+s,this.nodes.wrapper.style.top=`${Math.floor(a)}px`,1===this.Editor.BlockManager.blocks.length&&e.isEmpty?this.blockTunesToggler.hide():this.blockTunesToggler.show(),this.open()}close(){var e;this.Editor.ReadOnly.isEnabled||(this.nodes.wrapper.classList.remove(this.CSS.toolbarOpened),this.blockActions.hide(),null==(e=this.toolboxInstance)||e.close(),this.Editor.BlockSettings.close())}open(e=!0){_((()=>{this.nodes.wrapper.classList.add(this.CSS.toolbarOpened),e?this.blockActions.show():this.blockActions.hide()}),50)()}make(){this.nodes.wrapper=H.make("div",this.CSS.toolbar),["content","actions"].forEach((e=>{this.nodes[e]=H.make("div",this.CSS[e])})),H.append(this.nodes.wrapper,this.nodes.content),H.append(this.nodes.content,this.nodes.actions),this.nodes.plusButton=H.make("div",this.CSS.plusButton,{innerHTML:''}),H.append(this.nodes.actions,this.nodes.plusButton),this.readOnlyMutableListeners.on(this.nodes.plusButton,"click",(()=>{this.tooltip.hide(!0),this.plusButtonClicked()}),!1);const e=H.make("div");e.appendChild(document.createTextNode(z.ui(ke.ui.toolbar.toolbox,"Add"))),e.appendChild(H.make("div",this.CSS.plusButtonShortcut,{textContent:"⇥ Tab"})),this.tooltip.onHover(this.nodes.plusButton,e,{hidingDelay:400}),this.nodes.settingsToggler=H.make("span",this.CSS.settingsToggler,{innerHTML:''}),H.append(this.nodes.actions,this.nodes.settingsToggler),this.tooltip.onHover(this.nodes.settingsToggler,z.ui(ke.ui.blockTunes.toggler,"Click to tune"),{hidingDelay:400}),H.append(this.nodes.actions,this.makeToolbox()),H.append(this.nodes.actions,this.Editor.BlockSettings.getElement()),H.append(this.Editor.UI.nodes.wrapper,this.nodes.wrapper)}makeToolbox(){return this.toolboxInstance=new $e({api:this.Editor.API.methods,tools:this.Editor.Tools.blockTools,i18nLabels:{filter:z.ui(ke.ui.popover,"Filter"),nothingFound:z.ui(ke.ui.popover,"Nothing found")}}),this.toolboxInstance.on(Ue.Opened,(()=>{this.Editor.UI.nodes.wrapper.classList.add(this.CSS.openedToolboxHolderModifier)})),this.toolboxInstance.on(Ue.Closed,(()=>{this.Editor.UI.nodes.wrapper.classList.remove(this.CSS.openedToolboxHolderModifier)})),this.toolboxInstance.on(Ue.BlockAdded,(({block:e})=>{const{BlockManager:t,Caret:o}=this.Editor,n=t.getBlockById(e.id);0===n.inputs.length&&(n===t.lastBlock?(t.insertAtEnd(),o.setToBlock(t.lastBlock)):o.setToBlock(t.nextBlock))})),this.toolboxInstance.make()}plusButtonClicked(){var e;this.Editor.BlockManager.currentBlock=this.hoveredBlock,null==(e=this.toolboxInstance)||e.toggle()}enableModuleBindings(){this.readOnlyMutableListeners.on(this.nodes.settingsToggler,"mousedown",(e=>{var t;e.stopPropagation(),this.settingsTogglerClicked(),null!=(t=this.toolboxInstance)&&t.opened&&this.toolboxInstance.close(),this.tooltip.hide(!0)}),!0),P()||this.eventsDispatcher.on(Ye,(e=>{var t;this.Editor.BlockSettings.opened||null!=(t=this.toolboxInstance)&&t.opened||this.moveAndOpen(e.block)}))}disableModuleBindings(){this.readOnlyMutableListeners.clearAll()}settingsTogglerClicked(){this.Editor.BlockManager.currentBlock=this.hoveredBlock,this.Editor.BlockSettings.opened?this.Editor.BlockSettings.close():this.Editor.BlockSettings.open(this.hoveredBlock)}drawUI(){this.Editor.BlockSettings.make(),this.make()}destroy(){this.removeAllNodes(),this.toolboxInstance&&this.toolboxInstance.destroy(),this.tooltip.destroy()}},InlineToolbar:class extends K{constructor({config:e,eventsDispatcher:t}){super({config:e,eventsDispatcher:t}),this.CSS={inlineToolbar:"ce-inline-toolbar",inlineToolbarShowed:"ce-inline-toolbar--showed",inlineToolbarLeftOriented:"ce-inline-toolbar--left-oriented",inlineToolbarRightOriented:"ce-inline-toolbar--right-oriented",inlineToolbarShortcut:"ce-inline-toolbar__shortcut",buttonsWrapper:"ce-inline-toolbar__buttons",actionsWrapper:"ce-inline-toolbar__actions",inlineToolButton:"ce-inline-tool",inputField:"cdx-input",focusedButton:"ce-inline-tool--focused",conversionToggler:"ce-inline-toolbar__dropdown",conversionTogglerArrow:"ce-inline-toolbar__dropdown-arrow",conversionTogglerHidden:"ce-inline-toolbar__dropdown--hidden",conversionTogglerContent:"ce-inline-toolbar__dropdown-content",togglerAndButtonsWrapper:"ce-inline-toolbar__toggler-and-button-wrapper"},this.opened=!1,this.toolbarVerticalMargin=P()?20:6,this.buttonsList=null,this.width=0,this.flipper=null,this.tooltip=new be}toggleReadOnly(e){e?(this.destroy(),this.Editor.ConversionToolbar.destroy()):window.requestIdleCallback((()=>{this.make()}),{timeout:2e3})}tryToShow(e=!1,t=!0){this.allowedToShow()?(this.move(),this.open(t),this.Editor.Toolbar.close()):e&&this.close()}move(){const e=V.rect,t=this.Editor.UI.nodes.wrapper.getBoundingClientRect(),o={x:e.x-t.left,y:e.y+e.height-t.top+this.toolbarVerticalMargin};e.width&&(o.x+=Math.floor(e.width/2));const n=o.x-this.width/2,i=o.x+this.width/2;this.nodes.wrapper.classList.toggle(this.CSS.inlineToolbarLeftOriented,nthis.Editor.UI.contentRect.right),this.nodes.wrapper.style.left=Math.floor(o.x)+"px",this.nodes.wrapper.style.top=Math.floor(o.y)+"px"}close(){this.opened&&(this.Editor.ReadOnly.isEnabled||(this.nodes.wrapper.classList.remove(this.CSS.inlineToolbarShowed),Array.from(this.toolsInstances.entries()).forEach((([e,t])=>{const o=this.getToolShortcut(e);o&&Pe.remove(this.Editor.UI.nodes.redactor,o),x(t.clear)&&t.clear()})),this.opened=!1,this.flipper.deactivate(),this.Editor.ConversionToolbar.close()))}open(e=!0){if(this.opened)return;this.addToolsFiltered(),this.nodes.wrapper.classList.add(this.CSS.inlineToolbarShowed),this.buttonsList=this.nodes.buttons.querySelectorAll(`.${this.CSS.inlineToolButton}`),this.opened=!0,e&&this.Editor.ConversionToolbar.hasTools()?this.setConversionTogglerContent():this.nodes.conversionToggler.hidden=!0;let t=Array.from(this.buttonsList);t.unshift(this.nodes.conversionToggler),t=t.filter((e=>!e.hidden)),this.flipper.activate(t)}containsNode(e){return this.nodes.wrapper.contains(e)}destroy(){this.flipper&&(this.flipper.deactivate(),this.flipper=null),this.removeAllNodes(),this.tooltip.destroy()}make(){this.nodes.wrapper=H.make("div",[this.CSS.inlineToolbar,...this.isRtl?[this.Editor.UI.CSS.editorRtlFix]:[]]),this.nodes.togglerAndButtonsWrapper=H.make("div",this.CSS.togglerAndButtonsWrapper),this.nodes.buttons=H.make("div",this.CSS.buttonsWrapper),this.nodes.actions=H.make("div",this.CSS.actionsWrapper),this.listeners.on(this.nodes.wrapper,"mousedown",(e=>{e.target.closest(`.${this.CSS.actionsWrapper}`)||e.preventDefault()})),H.append(this.nodes.wrapper,[this.nodes.togglerAndButtonsWrapper,this.nodes.actions]),H.append(this.Editor.UI.nodes.wrapper,this.nodes.wrapper),this.addConversionToggler(),H.append(this.nodes.togglerAndButtonsWrapper,this.nodes.buttons),this.prepareConversionToolbar(),window.requestAnimationFrame((()=>{this.recalculateWidth()})),this.enableFlipper()}allowedToShow(){const e=V.get(),t=V.text;if(!e||!e.anchorNode||e.isCollapsed||t.length<1)return!1;const o=H.isElement(e.anchorNode)?e.anchorNode:e.anchorNode.parentElement;if(e&&["IMG","INPUT"].includes(o.tagName)||null===o.closest('[contenteditable="true"]'))return!1;const n=this.Editor.BlockManager.getBlock(e.anchorNode);return!!n&&0!==n.tool.inlineTools.size}recalculateWidth(){this.width=this.nodes.wrapper.offsetWidth}addConversionToggler(){this.nodes.conversionToggler=H.make("div",this.CSS.conversionToggler),this.nodes.conversionTogglerContent=H.make("div",this.CSS.conversionTogglerContent);const e=H.make("div",this.CSS.conversionTogglerArrow,{innerHTML:ve});this.nodes.conversionToggler.appendChild(this.nodes.conversionTogglerContent),this.nodes.conversionToggler.appendChild(e),this.nodes.togglerAndButtonsWrapper.appendChild(this.nodes.conversionToggler),this.listeners.on(this.nodes.conversionToggler,"click",(()=>{this.Editor.ConversionToolbar.toggle((e=>{!e&&this.opened?this.flipper.activate():this.opened&&this.flipper.deactivate()}))})),!1===P()&&this.tooltip.onHover(this.nodes.conversionToggler,z.ui(ke.ui.inlineToolbar.converter,"Convert to"),{placement:"top",hidingDelay:100})}async setConversionTogglerContent(){const{BlockManager:e}=this.Editor,{currentBlock:t}=e,o=t.name,n=t.tool.conversionConfig,i=n&&n.export;this.nodes.conversionToggler.hidden=!i,this.nodes.conversionToggler.classList.toggle(this.CSS.conversionTogglerHidden,!i);const s=await t.getActiveToolboxEntry()||{};this.nodes.conversionTogglerContent.innerHTML=s.icon||s.title||A(o)}prepareConversionToolbar(){const e=this.Editor.ConversionToolbar.make();H.append(this.nodes.wrapper,e)}addToolsFiltered(){const e=V.get(),t=this.Editor.BlockManager.getBlock(e.anchorNode);this.nodes.buttons.innerHTML="",this.nodes.actions.innerHTML="",this.toolsInstances=new Map,Array.from(t.tool.inlineTools.values()).forEach((e=>{this.addTool(e)})),this.recalculateWidth()}addTool(e){const t=e.create(),o=t.render();if(!o)return void b("Render method must return an instance of Node","warn",e.name);if(o.dataset.tool=e.name,this.nodes.buttons.appendChild(o),this.toolsInstances.set(e.name,t),x(t.renderActions)){const e=t.renderActions();this.nodes.actions.appendChild(e)}this.listeners.on(o,"click",(e=>{this.toolClicked(t),e.preventDefault()}));const n=this.getToolShortcut(e.name);if(n)try{this.enableShortcuts(t,n)}catch{}const i=H.make("div"),s=z.t(ke.toolNames,e.title||A(e.name));i.appendChild(H.text(s)),n&&i.appendChild(H.make("div",this.CSS.inlineToolbarShortcut,{textContent:L(n)})),!1===P()&&this.tooltip.onHover(o,i,{placement:"top",hidingDelay:100}),t.checkState(V.get())}getToolShortcut(e){const{Tools:t}=this.Editor,o=t.inlineTools.get(e),n=t.internal.inlineTools;return Array.from(n.keys()).includes(e)?this.inlineTools[e][Ke.Shortcut]:o.shortcut}enableShortcuts(e,t){Pe.add({name:t,handler:t=>{const{currentBlock:o}=this.Editor.BlockManager;o&&o.tool.enabledInlineTools&&(t.preventDefault(),this.toolClicked(e))},on:this.Editor.UI.nodes.redactor})}toolClicked(e){const t=V.range;e.surround(t),this.checkToolsState(),void 0!==e.renderActions&&this.flipper.deactivate()}checkToolsState(){this.toolsInstances.forEach((e=>{e.checkState(V.get())}))}get inlineTools(){const e={};return Array.from(this.Editor.Tools.inlineTools.entries()).forEach((([t,o])=>{e[t]=o.create()})),e}enableFlipper(){this.flipper=new Ce({focusedItemClass:this.CSS.focusedButton,allowedKeys:[l,a]})}},BlockEvents:class extends K{keydown(e){switch(this.beforeKeydownProcessing(e),e.keyCode){case r:this.backspace(e);break;case f:this.delete(e);break;case l:this.enter(e);break;case p:case u:this.arrowRightAndDown(e);break;case h:case d:this.arrowLeftAndUp(e);break;case a:this.tabPressed(e)}}beforeKeydownProcessing(e){this.needToolbarClosing(e)&&B(e.keyCode)&&(this.Editor.Toolbar.close(),this.Editor.ConversionToolbar.close(),e.ctrlKey||e.metaKey||e.altKey||e.shiftKey||(this.Editor.BlockManager.clearFocused(),this.Editor.BlockSelection.clearSelection(e)))}keyup(e){e.shiftKey||this.Editor.UI.checkEmptiness()}tabPressed(e){this.Editor.BlockSelection.clearSelection(e);const{BlockManager:t,InlineToolbar:o,ConversionToolbar:n}=this.Editor,i=t.currentBlock;if(!i)return;const s=i.isEmpty,r=i.tool.isDefault&&s,a=!s&&n.opened,l=!s&&!V.isCollapsed&&o.opened;r?this.activateToolbox():!a&&!l&&this.activateBlockSettings()}dragOver(e){this.Editor.BlockManager.getBlockByChildNode(e.target).dropTarget=!0}dragLeave(e){this.Editor.BlockManager.getBlockByChildNode(e.target).dropTarget=!1}handleCommandC(e){const{BlockSelection:t}=this.Editor;t.anyBlockSelected&&t.copySelectedBlocks(e)}handleCommandX(e){const{BlockSelection:t,BlockManager:o,Caret:n}=this.Editor;t.anyBlockSelected&&t.copySelectedBlocks(e).then((()=>{const i=o.removeSelectedBlocks(),s=o.insertDefaultBlockAtIndex(i,!0);n.setToBlock(s,n.positions.START),t.clearSelection(e)}))}enter(e){const{BlockManager:t,UI:o}=this.Editor;if(t.currentBlock.tool.isLineBreaksEnabled||o.someToolbarOpened&&o.someFlipperButtonFocused||e.shiftKey)return;let n=this.Editor.BlockManager.currentBlock;this.Editor.Caret.isAtStart&&!this.Editor.BlockManager.currentBlock.hasMedia?this.Editor.BlockManager.insertDefaultBlockAtIndex(this.Editor.BlockManager.currentBlockIndex):n=this.Editor.Caret.isAtEnd?this.Editor.BlockManager.insertDefaultBlockAtIndex(this.Editor.BlockManager.currentBlockIndex+1):this.Editor.BlockManager.split(),this.Editor.Caret.setToBlock(n),this.Editor.Toolbar.moveAndOpen(n),e.preventDefault()}backspace(e){const{BlockManager:t,Caret:o}=this.Editor,{currentBlock:n,previousBlock:i}=t;if(V.isCollapsed&&o.isAtStart)if(e.preventDefault(),this.Editor.Toolbar.close(),n.currentInput===n.firstInput){if(null!==i)if(i.isEmpty)t.removeBlock(i);else if(n.isEmpty){t.removeBlock(n);const e=t.currentBlock;o.setToBlock(e,o.positions.END)}else Q(n,i)?this.mergeBlocks(i,n):o.setToBlock(i,o.positions.END)}else o.navigatePrevious()}delete(e){const{BlockManager:t,Caret:o}=this.Editor,{currentBlock:n,nextBlock:i}=t;if(V.isCollapsed&&o.isAtEnd)if(e.preventDefault(),this.Editor.Toolbar.close(),n.currentInput===n.lastInput){if(null!==i){if(!i.isEmpty)return n.isEmpty?(t.removeBlock(n),void o.setToBlock(i,o.positions.START)):void(Q(n,i)?this.mergeBlocks(n,i):o.setToBlock(i,o.positions.START));t.removeBlock(i)}}else o.navigateNext()}mergeBlocks(e,t){const{BlockManager:o,Caret:n,Toolbar:i}=this.Editor;n.createShadow(e.pluginsContent),o.mergeBlocks(e,t).then((()=>{window.requestAnimationFrame((()=>{n.restoreCaret(e.pluginsContent),e.pluginsContent.normalize(),i.close()}))}))}arrowRightAndDown(e){const t=Ce.usedKeys.includes(e.keyCode)&&(!e.shiftKey||e.keyCode===a);if(this.Editor.UI.someToolbarOpened&&t)return;this.Editor.BlockManager.clearFocused(),this.Editor.Toolbar.close();const o=this.Editor.Caret.isAtEnd||this.Editor.BlockSelection.anyBlockSelected;e.shiftKey&&e.keyCode===p&&o?this.Editor.CrossBlockSelection.toggleBlockSelectedState():((e.keyCode===p||e.keyCode===u&&!this.isRtl?this.Editor.Caret.navigateNext():this.Editor.Caret.navigatePrevious())?e.preventDefault():_((()=>{this.Editor.BlockManager.currentBlock&&this.Editor.BlockManager.currentBlock.updateCurrentInput()}),20)(),this.Editor.BlockSelection.clearSelection(e))}arrowLeftAndUp(e){if(this.Editor.UI.someToolbarOpened){if(Ce.usedKeys.includes(e.keyCode)&&(!e.shiftKey||e.keyCode===a))return;this.Editor.UI.closeAllToolbars()}this.Editor.BlockManager.clearFocused(),this.Editor.Toolbar.close();const t=this.Editor.Caret.isAtStart||this.Editor.BlockSelection.anyBlockSelected;e.shiftKey&&e.keyCode===h&&t?this.Editor.CrossBlockSelection.toggleBlockSelectedState(!1):((e.keyCode===h||e.keyCode===d&&!this.isRtl?this.Editor.Caret.navigatePrevious():this.Editor.Caret.navigateNext())?e.preventDefault():_((()=>{this.Editor.BlockManager.currentBlock&&this.Editor.BlockManager.currentBlock.updateCurrentInput()}),20)(),this.Editor.BlockSelection.clearSelection(e))}needToolbarClosing(e){const t=e.keyCode===l&&this.Editor.Toolbar.toolbox.opened,o=e.keyCode===l&&this.Editor.BlockSettings.opened,n=e.keyCode===l&&this.Editor.InlineToolbar.opened,i=e.keyCode===l&&this.Editor.ConversionToolbar.opened,s=e.keyCode===a;return!(e.shiftKey||s||t||o||n||i)}activateToolbox(){this.Editor.Toolbar.opened||this.Editor.Toolbar.moveAndOpen(),this.Editor.Toolbar.toolbox.open()}activateBlockSettings(){this.Editor.Toolbar.opened||(this.Editor.BlockManager.currentBlock.focused=!0,this.Editor.Toolbar.moveAndOpen()),this.Editor.BlockSettings.opened||this.Editor.BlockSettings.open()}},BlockManager:class extends K{constructor(){super(...arguments),this._currentBlockIndex=-1,this._blocks=null}get currentBlockIndex(){return this._currentBlockIndex}set currentBlockIndex(e){this._currentBlockIndex=e}get firstBlock(){return this._blocks[0]}get lastBlock(){return this._blocks[this._blocks.length-1]}get currentBlock(){return this._blocks[this.currentBlockIndex]}set currentBlock(e){this.currentBlockIndex=this.getBlockIndex(e)}get nextBlock(){return this.currentBlockIndex===this._blocks.length-1?null:this._blocks[this.currentBlockIndex+1]}get nextContentfulBlock(){return this.blocks.slice(this.currentBlockIndex+1).find((e=>!!e.inputs.length))}get previousContentfulBlock(){return this.blocks.slice(0,this.currentBlockIndex).reverse().find((e=>!!e.inputs.length))}get previousBlock(){return 0===this.currentBlockIndex?null:this._blocks[this.currentBlockIndex-1]}get blocks(){return this._blocks.array}get isEditorEmpty(){return this.blocks.every((e=>e.isEmpty))}prepare(){const e=new Je(this.Editor.UI.nodes.redactor);this._blocks=new Proxy(e,{set:Je.set,get:Je.get}),this.listeners.on(document,"copy",(e=>this.Editor.BlockEvents.handleCommandC(e)))}toggleReadOnly(e){e?this.disableModuleBindings():this.enableModuleBindings()}composeBlock({tool:e,data:t={},id:o,tunes:n={}}){const i=this.Editor.ReadOnly.isEnabled,s=this.Editor.Tools.blockTools.get(e),r=new te({id:o,data:t,tool:s,api:this.Editor.API,readOnly:i,tunesData:n},this.eventsDispatcher);return i||window.requestIdleCallback((()=>{this.bindBlockEvents(r)}),{timeout:2e3}),r}insert({id:e,tool:t=this.config.defaultBlock,data:o={},index:n,needToFocus:i=!0,replace:s=!1,tunes:r={}}={}){let a=n;void 0===a&&(a=this.currentBlockIndex+(s?0:1));const l=this.composeBlock({id:e,tool:t,data:o,tunes:r});return s&&this.blockDidMutated(Qe,this.getBlockByIndex(a),{index:a}),this._blocks.insert(a,l,s),this.blockDidMutated(et,l,{index:a}),i?this.currentBlockIndex=a:a<=this.currentBlockIndex&&this.currentBlockIndex++,l}insertMany(e,t=0){this._blocks.insertMany(e,t)}async update(e,t){const o=await e.data,n=this.composeBlock({id:e.id,tool:e.name,data:Object.assign({},o,t),tunes:e.tunes}),i=this.getBlockIndex(e);return this._blocks.replace(i,n),this.blockDidMutated(tt,n,{index:i}),n}replace(e,t,o){const n=this.getBlockIndex(e);this.insert({tool:t,data:o,index:n,replace:!0})}paste(e,t,o=!1){const n=this.insert({tool:e,replace:o});try{n.call(ee.ON_PASTE,t)}catch(t){b(`${e}: onPaste callback call is failed`,"error",t)}return n}insertDefaultBlockAtIndex(e,t=!1){const o=this.composeBlock({tool:this.config.defaultBlock});return this._blocks[e]=o,this.blockDidMutated(et,o,{index:e}),t?this.currentBlockIndex=e:e<=this.currentBlockIndex&&this.currentBlockIndex++,o}insertAtEnd(){return this.currentBlockIndex=this.blocks.length-1,this.insert()}async mergeBlocks(e,t){const o=await t.data;S(o)||await e.mergeWith(o),this.removeBlock(t),this.currentBlockIndex=this._blocks.indexOf(e)}removeBlock(e,t=!0){return new Promise((o=>{const n=this._blocks.indexOf(e);if(!this.validateIndex(n))throw new Error("Can't find a Block to remove");e.destroy(),this._blocks.remove(n),this.blockDidMutated(Qe,e,{index:n}),this.currentBlockIndex>=n&&this.currentBlockIndex--,this.blocks.length?0===n&&(this.currentBlockIndex=0):(this.currentBlockIndex=-1,t&&this.insert()),o()}))}removeSelectedBlocks(){let e;for(let t=this.blocks.length-1;t>=0;t--)this.blocks[t].selected&&(this.removeBlock(this.blocks[t]),e=t);return e}removeAllBlocks(){for(let e=this.blocks.length-1;e>=0;e--)this._blocks.remove(e);this.currentBlockIndex=-1,this.insert(),this.currentBlock.firstInput.focus()}split(){const e=this.Editor.Caret.extractFragmentFromCaretPosition(),t=H.make("div");t.appendChild(e);const o={text:H.isEmpty(t)?"":t.innerHTML};return this.insert({data:o})}getBlockByIndex(e){return-1===e&&(e=this._blocks.length-1),this._blocks[e]}getBlockIndex(e){return this._blocks.indexOf(e)}getBlockById(e){return this._blocks.array.find((t=>t.id===e))}getBlock(e){H.isElement(e)||(e=e.parentNode);const t=this._blocks.nodes,o=e.closest(`.${te.CSS.wrapper}`),n=t.indexOf(o);if(n>=0)return this._blocks[n]}highlightCurrentNode(){this.clearFocused(),this.currentBlock.focused=!0}clearFocused(){this.blocks.forEach((e=>{e.focused=!1}))}setCurrentBlockByChildNode(e){H.isElement(e)||(e=e.parentNode);const t=e.closest(`.${te.CSS.wrapper}`);if(!t)return;const o=t.closest(`.${this.Editor.UI.CSS.editorWrapper}`);return null!=o&&o.isEqualNode(this.Editor.UI.nodes.wrapper)?(this.currentBlockIndex=this._blocks.nodes.indexOf(t),this.currentBlock.updateCurrentInput(),this.currentBlock):void 0}getBlockByChildNode(e){H.isElement(e)||(e=e.parentNode);const t=e.closest(`.${te.CSS.wrapper}`);return this.blocks.find((e=>e.holder===t))}swap(e,t){this._blocks.swap(e,t),this.currentBlockIndex=t}move(e,t=this.currentBlockIndex){isNaN(e)||isNaN(t)?b("Warning during 'move' call: incorrect indices provided.","warn"):this.validateIndex(e)&&this.validateIndex(t)?(this._blocks.move(e,t),this.currentBlockIndex=e,this.blockDidMutated("block-moved",this.currentBlock,{fromIndex:t,toIndex:e})):b("Warning during 'move' call: indices cannot be lower than 0 or greater than the amount of blocks.","warn")}async convert(e,t,o){if(!await e.save())throw new Error("Could not convert Block. Failed to extract original Block data.");const n=this.Editor.Tools.blockTools.get(t);if(!n)throw new Error(`Could not convert Block. Tool «${t}» not found.`);let i=function(e,t){const o=null==t?void 0:t.import;return x(o)?o(e):w(o)?{[o]:e}:(void 0!==o&&b("Conversion «import» property must be a string or function. String means key of tool data to import. Function accepts a imported string and return composed tool data."),{})}(he(await e.exportDataAsString(),n.sanitizeConfig),n.conversionConfig);o&&(i=Object.assign(i,o)),this.replace(e,n.name,i)}dropPointer(){this.currentBlockIndex=-1,this.clearFocused()}async clear(e=!1){const t=new ot;this.blocks.forEach((e=>{t.add((async()=>{await this.removeBlock(e,!1)}))})),await t.completed,this.dropPointer(),e&&this.insert(),this.Editor.UI.checkEmptiness()}async destroy(){await Promise.all(this.blocks.map((e=>e.destroy())))}bindBlockEvents(e){const{BlockEvents:t}=this.Editor;this.readOnlyMutableListeners.on(e.holder,"keydown",(e=>{t.keydown(e)})),this.readOnlyMutableListeners.on(e.holder,"keyup",(e=>{t.keyup(e)})),this.readOnlyMutableListeners.on(e.holder,"dragover",(e=>{t.dragOver(e)})),this.readOnlyMutableListeners.on(e.holder,"dragleave",(e=>{t.dragLeave(e)})),e.on("didMutated",(e=>this.blockDidMutated(tt,e,{index:this.getBlockIndex(e)})))}disableModuleBindings(){this.readOnlyMutableListeners.clearAll()}enableModuleBindings(){this.readOnlyMutableListeners.on(document,"cut",(e=>this.Editor.BlockEvents.handleCommandX(e))),this.blocks.forEach((e=>{this.bindBlockEvents(e)}))}validateIndex(e){return!(e<0||e>=this._blocks.length)}blockDidMutated(e,t,o){const n=new CustomEvent(e,{detail:{target:new W(t),...o}});return this.eventsDispatcher.emit(Z,{event:n}),t}},BlockSelection:class extends K{constructor(){super(...arguments),this.anyBlockSelectedCache=null,this.needToSelectAll=!1,this.nativeInputSelected=!1,this.readyToBlockSelection=!1}get sanitizerConfig(){return{p:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},ol:{},ul:{},li:{},br:!0,img:{src:!0,width:!0,height:!0},a:{href:!0},b:{},i:{},u:{}}}get allBlocksSelected(){const{BlockManager:e}=this.Editor;return e.blocks.every((e=>!0===e.selected))}set allBlocksSelected(e){const{BlockManager:t}=this.Editor;t.blocks.forEach((t=>{t.selected=e})),this.clearCache()}get anyBlockSelected(){const{BlockManager:e}=this.Editor;return null===this.anyBlockSelectedCache&&(this.anyBlockSelectedCache=e.blocks.some((e=>!0===e.selected))),this.anyBlockSelectedCache}get selectedBlocks(){return this.Editor.BlockManager.blocks.filter((e=>e.selected))}prepare(){this.selection=new V,Pe.add({name:"CMD+A",handler:e=>{const{BlockManager:t,ReadOnly:o}=this.Editor;if(o.isEnabled)return e.preventDefault(),void this.selectAllBlocks();t.currentBlock&&this.handleCommandA(e)},on:this.Editor.UI.nodes.redactor})}toggleReadOnly(){V.get().removeAllRanges(),this.allBlocksSelected=!1}unSelectBlockByIndex(e){const{BlockManager:t}=this.Editor;let o;o=isNaN(e)?t.currentBlock:t.getBlockByIndex(e),o.selected=!1,this.clearCache()}clearSelection(e,t=!1){const{BlockManager:o,Caret:n,RectangleSelection:i}=this.Editor;this.needToSelectAll=!1,this.nativeInputSelected=!1,this.readyToBlockSelection=!1;const s=e&&e instanceof KeyboardEvent,r=s&&B(e.keyCode);if(this.anyBlockSelected&&s&&r&&!V.isSelectionExists){const t=o.removeSelectedBlocks();o.insertDefaultBlockAtIndex(t,!0),n.setToBlock(o.currentBlock),_((()=>{const t=e.key;n.insertContentAtCaretPosition(t.length>1?"":t)}),20)()}this.Editor.CrossBlockSelection.clear(e),this.anyBlockSelected&&!i.isRectActivated()?(t&&this.selection.restore(),this.allBlocksSelected=!1):this.Editor.RectangleSelection.clearSelection()}copySelectedBlocks(e){e.preventDefault();const t=H.make("div");this.selectedBlocks.forEach((e=>{const o=he(e.holder.innerHTML,this.sanitizerConfig),n=H.make("p");n.innerHTML=o,t.appendChild(n)}));const o=Array.from(t.childNodes).map((e=>e.textContent)).join("\n\n"),n=t.innerHTML;return e.clipboardData.setData("text/plain",o),e.clipboardData.setData("text/html",n),Promise.all(this.selectedBlocks.map((e=>e.save()))).then((t=>{try{e.clipboardData.setData(this.Editor.Paste.MIME_TYPE,JSON.stringify(t))}catch{}}))}selectBlockByIndex(e){const{BlockManager:t}=this.Editor;let o;t.clearFocused(),o=isNaN(e)?t.currentBlock:t.getBlockByIndex(e),this.selection.save(),V.get().removeAllRanges(),o.selected=!0,this.clearCache(),this.Editor.InlineToolbar.close()}clearCache(){this.anyBlockSelectedCache=null}destroy(){Pe.remove(this.Editor.UI.nodes.redactor,"CMD+A")}handleCommandA(e){if(this.Editor.RectangleSelection.clearSelection(),H.isNativeInput(e.target)&&!this.readyToBlockSelection)return void(this.readyToBlockSelection=!0);const t=this.Editor.BlockManager.getBlock(e.target).inputs;t.length>1&&!this.readyToBlockSelection?this.readyToBlockSelection=!0:1!==t.length||this.needToSelectAll?this.needToSelectAll?(e.preventDefault(),this.selectAllBlocks(),this.needToSelectAll=!1,this.readyToBlockSelection=!1,this.Editor.ConversionToolbar.close()):this.readyToBlockSelection&&(e.preventDefault(),this.selectBlockByIndex(),this.needToSelectAll=!0):this.needToSelectAll=!0}selectAllBlocks(){this.selection.save(),V.get().removeAllRanges(),this.allBlocksSelected=!0,this.Editor.InlineToolbar.close()}},Caret:nt,CrossBlockSelection:class extends K{constructor(){super(...arguments),this.onMouseUp=()=>{this.listeners.off(document,"mouseover",this.onMouseOver),this.listeners.off(document,"mouseup",this.onMouseUp)},this.onMouseOver=e=>{const{BlockManager:t,BlockSelection:o}=this.Editor,n=t.getBlockByChildNode(e.relatedTarget)||this.lastSelectedBlock,i=t.getBlockByChildNode(e.target);if(n&&i&&i!==n){if(n===this.firstSelectedBlock)return V.get().removeAllRanges(),n.selected=!0,i.selected=!0,void o.clearCache();if(i===this.firstSelectedBlock)return n.selected=!1,i.selected=!1,void o.clearCache();this.Editor.InlineToolbar.close(),this.toggleBlocksSelectedState(n,i),this.lastSelectedBlock=i}}}async prepare(){this.listeners.on(document,"mousedown",(e=>{this.enableCrossBlockSelection(e)}))}watchSelection(e){if(e.button!==g)return;const{BlockManager:t}=this.Editor;this.firstSelectedBlock=t.getBlock(e.target),this.lastSelectedBlock=this.firstSelectedBlock,this.listeners.on(document,"mouseover",this.onMouseOver),this.listeners.on(document,"mouseup",this.onMouseUp)}get isCrossBlockSelectionStarted(){return!!this.firstSelectedBlock&&!!this.lastSelectedBlock}toggleBlockSelectedState(e=!0){const{BlockManager:t,BlockSelection:o}=this.Editor;this.lastSelectedBlock||(this.lastSelectedBlock=this.firstSelectedBlock=t.currentBlock),this.firstSelectedBlock===this.lastSelectedBlock&&(this.firstSelectedBlock.selected=!0,o.clearCache(),V.get().removeAllRanges());const n=t.blocks.indexOf(this.lastSelectedBlock)+(e?1:-1),i=t.blocks[n];i&&(this.lastSelectedBlock.selected!==i.selected?(i.selected=!0,o.clearCache()):(this.lastSelectedBlock.selected=!1,o.clearCache()),this.lastSelectedBlock=i,this.Editor.InlineToolbar.close(),i.holder.scrollIntoView({block:"nearest"}))}clear(e){const{BlockManager:t,BlockSelection:o,Caret:n}=this.Editor,i=t.blocks.indexOf(this.firstSelectedBlock),s=t.blocks.indexOf(this.lastSelectedBlock);if(o.anyBlockSelected&&i>-1&&s>-1)if(e&&e instanceof KeyboardEvent)switch(e.keyCode){case p:case u:n.setToBlock(t.blocks[Math.max(i,s)],n.positions.END);break;case h:case d:n.setToBlock(t.blocks[Math.min(i,s)],n.positions.START);break;default:n.setToBlock(t.blocks[Math.max(i,s)],n.positions.END)}else n.setToBlock(t.blocks[Math.max(i,s)],n.positions.END);this.firstSelectedBlock=this.lastSelectedBlock=null}enableCrossBlockSelection(e){const{UI:t}=this.Editor;V.isCollapsed||this.Editor.BlockSelection.clearSelection(e),t.nodes.redactor.contains(e.target)?this.watchSelection(e):this.Editor.BlockSelection.clearSelection(e)}toggleBlocksSelectedState(e,t){const{BlockManager:o,BlockSelection:n}=this.Editor,i=o.blocks.indexOf(e),s=o.blocks.indexOf(t),r=e.selected!==t.selected;for(let a=Math.min(i,s);a<=Math.max(i,s);a++){const i=o.blocks[a];i!==this.firstSelectedBlock&&i!==(r?e:t)&&(o.blocks[a].selected=!o.blocks[a].selected,n.clearCache())}}},DragNDrop:class extends K{constructor(){super(...arguments),this.isStartedAtEditor=!1}toggleReadOnly(e){e?this.disableModuleBindings():this.enableModuleBindings()}enableModuleBindings(){const{UI:e}=this.Editor;this.readOnlyMutableListeners.on(e.nodes.holder,"drop",(async e=>{await this.processDrop(e)}),!0),this.readOnlyMutableListeners.on(e.nodes.holder,"dragstart",(()=>{this.processDragStart()})),this.readOnlyMutableListeners.on(e.nodes.holder,"dragover",(e=>{this.processDragOver(e)}),!0)}disableModuleBindings(){this.readOnlyMutableListeners.clearAll()}async processDrop(e){const{BlockManager:t,Caret:o,Paste:n}=this.Editor;e.preventDefault(),t.blocks.forEach((e=>{e.dropTarget=!1})),V.isAtEditor&&!V.isCollapsed&&this.isStartedAtEditor&&document.execCommand("delete"),this.isStartedAtEditor=!1;const i=t.setCurrentBlockByChildNode(e.target);if(i)this.Editor.Caret.setToBlock(i,o.positions.END);else{const e=t.setCurrentBlockByChildNode(t.lastBlock.holder);this.Editor.Caret.setToBlock(e,o.positions.END)}await n.processDataTransfer(e.dataTransfer,!0)}processDragStart(){V.isAtEditor&&!V.isCollapsed&&(this.isStartedAtEditor=!0),this.Editor.InlineToolbar.close()}processDragOver(e){e.preventDefault()}},ModificationsObserver:class extends K{constructor({config:e,eventsDispatcher:t}){super({config:e,eventsDispatcher:t}),this.disabled=!1,this.batchingTimeout=null,this.batchingOnChangeQueue=new Map,this.batchTime=400,this.mutationObserver=new MutationObserver((e=>{this.redactorChanged(e)})),this.eventsDispatcher.on(Z,(e=>{this.particularBlockChanged(e.event)})),this.eventsDispatcher.on(G,(()=>{this.disable()})),this.eventsDispatcher.on(J,(()=>{this.enable()}))}enable(){this.mutationObserver.observe(this.Editor.UI.nodes.redactor,{childList:!0,subtree:!0,characterData:!0,attributes:!0}),this.disabled=!1}disable(){this.mutationObserver.disconnect(),this.disabled=!0}particularBlockChanged(e){this.disabled||!x(this.config.onChange)||(this.batchingOnChangeQueue.set(`block:${e.detail.target.id}:event:${e.type}`,e),this.batchingTimeout&&clearTimeout(this.batchingTimeout),this.batchingTimeout=setTimeout((()=>{let e;e=1===this.batchingOnChangeQueue.size?this.batchingOnChangeQueue.values().next().value:Array.from(this.batchingOnChangeQueue.values()),this.config.onChange&&this.config.onChange(this.Editor.API.methods,e),this.batchingOnChangeQueue.clear()}),this.batchTime))}redactorChanged(e){this.eventsDispatcher.emit(q,{mutations:e})}},Paste:st,ReadOnly:class extends K{constructor(){super(...arguments),this.toolsDontSupportReadOnly=[],this.readOnlyEnabled=!1}get isEnabled(){return this.readOnlyEnabled}async prepare(){const{Tools:e}=this.Editor,{blockTools:t}=e,o=[];Array.from(t.entries()).forEach((([e,t])=>{t.isReadOnlySupported||o.push(e)})),this.toolsDontSupportReadOnly=o,this.config.readOnly&&o.length>0&&this.throwCriticalError(),this.toggle(this.config.readOnly)}async toggle(e=!this.readOnlyEnabled){e&&this.toolsDontSupportReadOnly.length>0&&this.throwCriticalError();const t=this.readOnlyEnabled;this.readOnlyEnabled=e;for(const t in this.Editor)this.Editor[t].toggleReadOnly&&this.Editor[t].toggleReadOnly(e);if(t===e)return this.readOnlyEnabled;const o=await this.Editor.Saver.save();return await this.Editor.BlockManager.clear(),await this.Editor.Renderer.render(o.blocks),this.readOnlyEnabled}throwCriticalError(){throw new $(`To enable read-only mode all connected tools should support it. Tools ${this.toolsDontSupportReadOnly.join(", ")} don't support read-only mode.`)}},RectangleSelection:rt,Renderer:class extends K{async render(e){return new Promise((t=>{const{Tools:o,BlockManager:n}=this.Editor,i=e.map((({type:e,data:t,tunes:i,id:s})=>{let r;!1===o.available.has(e)&&(k(`Tool «${e}» is not found. Check 'tools' property at the Editor.js config.`,"warn"),t=this.composeStubDataForTool(e,t,s),e=o.stubTool);try{r=n.composeBlock({id:s,tool:e,data:t,tunes:i})}catch(a){b(`Block «${e}» skipped because of plugins error`,"error",{data:t,error:a}),t=this.composeStubDataForTool(e,t,s),e=o.stubTool,r=n.composeBlock({id:s,tool:e,data:t,tunes:i})}return r}));n.insertMany(i),window.requestIdleCallback((()=>{t()}),{timeout:2e3})}))}composeStubDataForTool(e,t,o){const{Tools:n}=this.Editor;let i=e;if(n.unavailable.has(e)){const t=n.unavailable.get(e).toolbox;void 0!==t&&void 0!==t[0].title&&(i=t[0].title)}return{savedData:{id:o,type:e,data:t},title:i}}},Saver:class extends K{async save(){const{BlockManager:e,Tools:t}=this.Editor,o=e.blocks,n=[];try{o.forEach((e=>{n.push(this.getSavedData(e))}));const e=await Promise.all(n),i=await de(e,(e=>t.blockTools.get(e).sanitizeConfig));return this.makeOutput(i)}catch(e){k("Saving failed due to the Error %o","error",e)}}async getSavedData(e){const t=await e.save(),o=t&&await e.validate(t.data);return{...t,isValid:o}}makeOutput(e){const t=[];return e.forEach((({id:e,tool:o,data:n,tunes:i,isValid:s})=>{if(!s)return void b(`Block «${o}» skipped because saved data is invalid`);if(o===this.Editor.Tools.stubTool)return void t.push(n);const r={id:e,type:o,data:n,...!S(i)&&{tunes:i}};t.push(r)})),{time:+new Date,blocks:t,version:"2.28.0"}}},Tools:Tt,UI:class extends K{constructor(){super(...arguments),this.isMobile=!1,this.contentRectCache=void 0,this.resizeDebouncer=function(e,t,o){let n;return(...i)=>{const s=this,r=o&&!n;window.clearTimeout(n),n=window.setTimeout((()=>{n=null,o||e.apply(s,i)}),t),r&&e.apply(s,i)}}((()=>{this.windowResize()}),200)}get CSS(){return{editorWrapper:"codex-editor",editorWrapperNarrow:"codex-editor--narrow",editorZone:"codex-editor__redactor",editorZoneHidden:"codex-editor__redactor--hidden",editorEmpty:"codex-editor--empty",editorRtlFix:"codex-editor--rtl"}}get contentRect(){if(this.contentRectCache)return this.contentRectCache;const e=this.nodes.wrapper.querySelector(`.${te.CSS.content}`);return e?(this.contentRectCache=e.getBoundingClientRect(),this.contentRectCache):{width:650,left:0,right:0}}async prepare(){this.checkIsMobile(),this.make(),this.loadStyles()}toggleReadOnly(e){e?this.disableModuleBindings():this.enableModuleBindings()}checkEmptiness(){const{BlockManager:e}=this.Editor;this.nodes.wrapper.classList.toggle(this.CSS.editorEmpty,e.isEditorEmpty)}get someToolbarOpened(){const{Toolbar:e,BlockSettings:t,InlineToolbar:o,ConversionToolbar:n}=this.Editor;return t.opened||o.opened||n.opened||e.toolbox.opened}get someFlipperButtonFocused(){return!!this.Editor.Toolbar.toolbox.hasFocus()||Object.entries(this.Editor).filter((([e,t])=>t.flipper instanceof Ce)).some((([e,t])=>t.flipper.hasFocus()))}destroy(){this.nodes.holder.innerHTML=""}closeAllToolbars(){const{Toolbar:e,BlockSettings:t,InlineToolbar:o,ConversionToolbar:n}=this.Editor;t.close(),o.close(),n.close(),e.toolbox.close()}checkIsMobile(){this.isMobile=window.innerWidth<650}make(){this.nodes.holder=H.getHolder(this.config.holder),this.nodes.wrapper=H.make("div",[this.CSS.editorWrapper,...this.isRtl?[this.CSS.editorRtlFix]:[]]),this.nodes.redactor=H.make("div",this.CSS.editorZone),this.nodes.holder.offsetWidth{this.redactorClicked(e)}),!1),this.readOnlyMutableListeners.on(this.nodes.redactor,"mousedown",(e=>{this.documentTouched(e)}),!0),this.readOnlyMutableListeners.on(this.nodes.redactor,"touchstart",(e=>{this.documentTouched(e)}),!0),this.readOnlyMutableListeners.on(document,"keydown",(e=>{this.documentKeydown(e)}),!0),this.readOnlyMutableListeners.on(document,"mousedown",(e=>{this.documentClicked(e)}),!0),this.readOnlyMutableListeners.on(document,"selectionchange",(()=>{this.selectionChanged()}),!0),this.readOnlyMutableListeners.on(window,"resize",(()=>{this.resizeDebouncer()}),{passive:!0}),this.watchBlockHoveredEvents()}watchBlockHoveredEvents(){let e;this.readOnlyMutableListeners.on(this.nodes.redactor,"mousemove",M((t=>{const o=t.target.closest(".ce-block");this.Editor.BlockSelection.anyBlockSelected||o&&e!==o&&(e=o,this.eventsDispatcher.emit(Ye,{block:this.Editor.BlockManager.getBlockByChildNode(o)}))}),20),{passive:!0})}disableModuleBindings(){this.readOnlyMutableListeners.clearAll()}windowResize(){this.contentRectCache=null,this.checkIsMobile()}documentKeydown(e){switch(e.keyCode){case l:this.enterPressed(e);break;case r:case f:this.backspacePressed(e);break;case c:this.escapePressed(e);break;default:this.defaultBehaviour(e)}}defaultBehaviour(e){const{currentBlock:t}=this.Editor.BlockManager,o=e.target.closest(`.${this.CSS.editorWrapper}`),n=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;void 0===t||null!==o?o||t&&n||(this.Editor.BlockManager.dropPointer(),this.Editor.Toolbar.close()):this.Editor.BlockEvents.keydown(e)}backspacePressed(e){const{BlockManager:t,BlockSelection:o,Caret:n}=this.Editor;if(o.anyBlockSelected&&!V.isSelectionExists){const i=t.removeSelectedBlocks();n.setToBlock(t.insertDefaultBlockAtIndex(i,!0),n.positions.START),o.clearSelection(e),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()}}escapePressed(e){this.Editor.BlockSelection.clearSelection(e),this.Editor.Toolbar.toolbox.opened?(this.Editor.Toolbar.toolbox.close(),this.Editor.Caret.setToBlock(this.Editor.BlockManager.currentBlock)):this.Editor.BlockSettings.opened?this.Editor.BlockSettings.close():this.Editor.ConversionToolbar.opened?this.Editor.ConversionToolbar.close():this.Editor.InlineToolbar.opened?this.Editor.InlineToolbar.close():this.Editor.Toolbar.close()}enterPressed(e){const{BlockManager:t,BlockSelection:o}=this.Editor,n=t.currentBlockIndex>=0;if(o.anyBlockSelected&&!V.isSelectionExists)return o.clearSelection(e),e.preventDefault(),e.stopImmediatePropagation(),void e.stopPropagation();if(!this.someToolbarOpened&&n&&"BODY"===e.target.tagName){const e=this.Editor.BlockManager.insert();this.Editor.Caret.setToBlock(e),this.Editor.BlockManager.highlightCurrentNode(),this.Editor.Toolbar.moveAndOpen(e)}this.Editor.BlockSelection.clearSelection(e)}documentClicked(e){if(!e.isTrusted)return;const t=e.target;this.nodes.holder.contains(t)||V.isAtEditor||(this.Editor.BlockManager.dropPointer(),this.Editor.Toolbar.close());const o=this.Editor.BlockSettings.nodes.wrapper.contains(t),n=this.Editor.Toolbar.nodes.settingsToggler.contains(t),i=o||n;if(this.Editor.BlockSettings.opened&&!i){this.Editor.BlockSettings.close();const e=this.Editor.BlockManager.getBlockByChildNode(t);this.Editor.Toolbar.moveAndOpen(e)}this.Editor.BlockSelection.clearSelection(e)}documentTouched(e){let t=e.target;if(t===this.nodes.redactor){const o=e instanceof MouseEvent?e.clientX:e.touches[0].clientX,n=e instanceof MouseEvent?e.clientY:e.touches[0].clientY;t=document.elementFromPoint(o,n)}try{this.Editor.BlockManager.setCurrentBlockByChildNode(t),this.Editor.BlockManager.highlightCurrentNode()}catch{this.Editor.RectangleSelection.isRectActivated()||this.Editor.Caret.setToTheLastBlock()}this.Editor.Toolbar.moveAndOpen()}redactorClicked(e){const{BlockSelection:t}=this.Editor;if(!V.isCollapsed)return;const o=()=>{e.stopImmediatePropagation(),e.stopPropagation()},n=e.target,i=e.metaKey||e.ctrlKey;if(H.isAnchor(n)&&i){o();const e=function(e){try{return new URL(e).href}catch{}return"//"===e.substring(0,2)?window.location.protocol+e:window.location.origin+e}(n.getAttribute("href"));return void function(e){window.open(e,"_blank")}(e)}const s=this.Editor.BlockManager.getBlockByIndex(-1),r=H.offset(s.holder).bottom,a=e.pageY;if(e.target instanceof Element&&e.target.isEqualNode(this.nodes.redactor)&&!t.anyBlockSelected&&r{t=e,o=n})),Promise.resolve().then((async()=>{this.configuration=e,this.validate(),this.init(),await this.start(),await this.render();const{BlockManager:o,Caret:n,UI:i,ModificationsObserver:s}=this.moduleInstances;i.checkEmptiness(),s.enable(),this.configuration.autofocus&&(n.setToBlock(o.blocks[0],n.positions.START),o.highlightCurrentNode()),t()})).catch((e=>{b(`Editor.js is not ready because of ${e}`,"error"),o(e)}))}set configuration(e){var t,o;y(e)?this.config={...e}:this.config={holder:e},D(!!this.config.holderId,"config.holderId","config.holder"),this.config.holderId&&!this.config.holder&&(this.config.holder=this.config.holderId,this.config.holderId=null),null==this.config.holder&&(this.config.holder="editorjs"),this.config.logLevel||(this.config.logLevel=s.VERBOSE),function(e){m.logLevel=e}(this.config.logLevel),D(!!this.config.initialBlock,"config.initialBlock","config.defaultBlock"),this.config.defaultBlock=this.config.defaultBlock||this.config.initialBlock||"paragraph",this.config.minHeight=void 0!==this.config.minHeight?this.config.minHeight:300;const n={type:this.config.defaultBlock,data:{}};this.config.placeholder=this.config.placeholder||!1,this.config.sanitizer=this.config.sanitizer||{p:!0,b:!0,a:!0},this.config.hideToolbar=!!this.config.hideToolbar&&this.config.hideToolbar,this.config.tools=this.config.tools||{},this.config.i18n=this.config.i18n||{},this.config.data=this.config.data||{blocks:[]},this.config.onReady=this.config.onReady||(()=>{}),this.config.onChange=this.config.onChange||(()=>{}),this.config.inlineToolbar=void 0===this.config.inlineToolbar||this.config.inlineToolbar,(S(this.config.data)||!this.config.data.blocks||0===this.config.data.blocks.length)&&(this.config.data={blocks:[n]}),this.config.readOnly=this.config.readOnly||!1,null!=(t=this.config.i18n)&&t.messages&&z.setDictionary(this.config.i18n.messages),this.config.i18n.direction=(null==(o=this.config.i18n)?void 0:o.direction)||"ltr"}get configuration(){return this.config}validate(){const{holderId:e,holder:t}=this.config;if(e&&t)throw Error("«holderId» and «holder» param can't assign at the same time.");if(w(t)&&!H.get(t))throw Error(`element with ID «${t}» is missing. Pass correct holder's ID.`);if(t&&y(t)&&!H.isElement(t))throw Error("«holder» value must be an Element node")}init(){this.constructModules(),this.configureModules()}async start(){await["Tools","UI","BlockManager","Paste","BlockSelection","RectangleSelection","CrossBlockSelection","ReadOnly"].reduce(((e,t)=>e.then((async()=>{try{await this.moduleInstances[t].prepare()}catch(e){if(e instanceof $)throw new Error(e.message);b(`Module ${t} was skipped because of %o`,"warn",e)}}))),Promise.resolve())}render(){return this.moduleInstances.Renderer.render(this.config.data.blocks)}constructModules(){Object.entries(_t).forEach((([e,t])=>{try{this.moduleInstances[e]=new t({config:this.configuration,eventsDispatcher:this.eventsDispatcher})}catch(t){b("[constructModules]",`Module ${e} skipped because`,"error",t)}}))}configureModules(){for(const e in this.moduleInstances)Object.prototype.hasOwnProperty.call(this.moduleInstances,e)&&(this.moduleInstances[e].state=this.getModulesDiff(e))}getModulesDiff(e){const t={};for(const o in this.moduleInstances)o!==e&&(t[o]=this.moduleInstances[o]);return t}} +/** + * Editor.js + * + * @license Apache-2.0 + * @see Editor.js + * @author CodeX Team + */class At{static get version(){return"2.28.0"}constructor(e){let t=()=>{};y(e)&&x(e.onReady)&&(t=e.onReady);const o=new Mt(e);this.isReady=o.isReady.then((()=>{this.exportAPI(o),t()}))}exportAPI(e){["configuration"].forEach((t=>{this[t]=e[t]})),this.destroy=()=>{Object.values(e.moduleInstances).forEach((e=>{x(e.destroy)&&e.destroy(),e.listeners.removeAll()})),e=null;for(const e in this)Object.prototype.hasOwnProperty.call(this,e)&&delete this[e];Object.setPrototypeOf(this,null)},Object.setPrototypeOf(this,e.moduleInstances.API.methods),delete this.exportAPI,Object.entries({blocks:{clear:"clear",render:"render"},caret:{focus:"focus"},events:{on:"on",off:"off",emit:"emit"},saver:{save:"save"}}).forEach((([t,o])=>{Object.entries(o).forEach((([o,n])=>{this[n]=e.moduleInstances.API.methods[t][o]}))}))}}}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={id:n,exports:{}};return e[n].call(s.exports,s,s.exports,o),s.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nc=void 0;var n=o(1384),i=((Rock="undefined"==typeof Rock?{}:Rock).UI=Rock.UI||{}).StructuredContentEditor=Rock.UI.StructuredContentEditor||{};for(var s in n)i[s]=n[s];n.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})(); +//# sourceMappingURL=editor.js.map \ No newline at end of file diff --git a/RockWeb/Themes/Fuse/Assets/Images/newspring-logo.png b/RockWeb/Themes/Fuse/Assets/Images/newspring-logo.png new file mode 100644 index 00000000000..3b4513056b1 Binary files /dev/null and b/RockWeb/Themes/Fuse/Assets/Images/newspring-logo.png differ diff --git a/RockWeb/Themes/Fuse/Layouts/Checkin.aspx b/RockWeb/Themes/Fuse/Layouts/Checkin.aspx new file mode 100644 index 00000000000..87ecff8e34f --- /dev/null +++ b/RockWeb/Themes/Fuse/Layouts/Checkin.aspx @@ -0,0 +1,9 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ +
+ +
diff --git a/RockWeb/Themes/Fuse/Layouts/Site.Master b/RockWeb/Themes/Fuse/Layouts/Site.Master new file mode 100644 index 00000000000..f4f4e69bf22 --- /dev/null +++ b/RockWeb/Themes/Fuse/Layouts/Site.Master @@ -0,0 +1,78 @@ +<%@ Master Language="C#" AutoEventWireup="true" Inherits="Rock.Web.UI.RockMasterPage" %> + +<%@ Import Namespace="System.Web.Optimization" %> + + + + + + + + + + + + + + + + + + + + " /> + + + + + + + +
+ + +
+ + + + diff --git a/RockWeb/Themes/Fuse/Styles/checkin-theme.css b/RockWeb/Themes/Fuse/Styles/checkin-theme.css new file mode 100644 index 00000000000..f2b26b5693a --- /dev/null +++ b/RockWeb/Themes/Fuse/Styles/checkin-theme.css @@ -0,0 +1,129 @@ +.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.333333333em;line-height:0.75em;vertical-align:-0.0667em}.fa-xs{font-size:0.75em}.fa-sm{font-size:0.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:0.1em;border:solid 0.08em #eee;padding:0.2em 0.25em 0.15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:0.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:0.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)} +100%{transform:rotate(360deg)}} +.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(-1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f004"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f328"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.fa{font-family:'FontAwesome';font-weight:900}.fas{font-family:'FontAwesome';font-weight:900}.far{font-family:'FontAwesome';font-weight:400}.fal{font-family:'FontAwesome';font-weight:300}.fab{font-family:"FontAwesome Brands";font-weight:normal}.fa.fa-rating-selected:before,.fa.fa-rating-on:before{content:"\f005"}.fa.fa-rating-unselected:before,.fa.fa-rating-off:before{font-weight:400;content:"\f005"}.fa.fa-clone,.fa.fa-file-text-o,.fa.fa-refresh{font-family:'FontAwesome';font-weight:900}.fa-layers{position:relative;display:inline-block;width:1em;height:1em;text-align:center;vertical-align:-0.125em}.fa-layers i{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.fa-layers-counter{top:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:1.5em;max-width:5em;height:1.5em;padding:0.25em;overflow:hidden;line-height:1;color:#fff;text-overflow:ellipsis;background-color:#d9534f;border-radius:1em;-webkit-transform:scale(0.25);transform:scale(0.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-counter,.fa-layers-text{position:absolute;display:inline-block;text-align:center}.fa.fa-500px,.fa.fa-accessible-icon,.fa.fa-accusoft,.fa.fa-adn,.fa.fa-adversal,.fa.fa-affiliatetheme,.fa.fa-algolia,.fa.fa-amazon,.fa.fa-amilia,.fa.fa-android,.fa.fa-angellist,.fa.fa-angrycreative,.fa.fa-angular,.fa.fa-app-store,.fa.fa-app-store-ios,.fa.fa-apper,.fa.fa-apple,.fa.fa-apple-pay,.fa.fa-asymmetrik,.fa.fa-audible,.fa.fa-autoprefixer,.fa.fa-avianex,.fa.fa-aviato,.fa.fa-aws,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bimobject,.fa.fa-bitbucket,.fa.fa-bitcoin,.fa.fa-bity,.fa.fa-black-tie,.fa.fa-blackberry,.fa.fa-blogger,.fa.fa-blogger-b,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buromobelexperte,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-apple-pay,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-centercode,.fa.fa-chrome,.fa.fa-cloudscale,.fa.fa-cloudsmith,.fa.fa-cloudversify,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-cpanel,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-css3-alt,.fa.fa-cuttlefish,.fa.fa-d-and-d,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deploydog,.fa.fa-deskpro,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-digital-ocean,.fa.fa-discord,.fa.fa-discourse,.fa.fa-dochub,.fa.fa-docker,.fa.fa-draft2digital,.fa.fa-dribbble,.fa.fa-dribbble-square,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-dyalog,.fa.fa-earlybirds,.fa.fa-edge,.fa.fa-ember,.fa.fa-empire,.fa.fa-envira,.fa.fa-erlang,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-messenger,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-firstdraft,.fa.fa-flickr,.fa.fa-fly,.fa.fa-font-awesome,.fa.fa-font-awesome-alt,.fa.fa-font-awesome-flag,.fa.fa-fonticons,.fa.fa-fonticons-fi,.fa.fa-fort-awesome,.fa.fa-fort-awesome-alt,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-freebsd,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitkraken,.fa.fa-gitlab,.fa.fa-gitter,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-gofore,.fa.fa-goodreads,.fa.fa-goodreads-g,.fa.fa-google,.fa.fa-google-drive,.fa.fa-google-play,.fa.fa-google-plus,.fa.fa-google-plus-g,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-gripfire,.fa.fa-grunt,.fa.fa-gulp,.fa.fa-hacker-news,.fa.fa-hacker-news-square,.fa.fa-hire-a-helper,.fa.fa-hooli,.fa.fa-hotjar,.fa.fa-houzz,.fa.fa-html5,.fa.fa-hubspot,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-itunes,.fa.fa-itunes-note,.fa.fa-jenkins,.fa.fa-joget,.fa.fa-joomla,.fa.fa-js,.fa.fa-js-square,.fa.fa-jsfiddle,.fa.fa-keycdn,.fa.fa-kickstarter,.fa.fa-kickstarter-k,.fa.fa-laravel,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-less,.fa.fa-line,.fa.fa-linkedin,.fa.fa-linkedin-in,.fa.fa-linode,.fa.fa-linux,.fa.fa-lyft,.fa.fa-magento,.fa.fa-maxcdn,.fa.fa-medapps,.fa.fa-medium,.fa.fa-medium-m,.fa.fa-medrt,.fa.fa-meetup,.fa.fa-microsoft,.fa.fa-mix,.fa.fa-mixcloud,.fa.fa-mizuni,.fa.fa-modx,.fa.fa-monero,.fa.fa-napster,.fa.fa-nintendo-switch,.fa.fa-node,.fa.fa-node-js,.fa.fa-npm,.fa.fa-ns8,.fa.fa-nutritionix,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-osi,.fa.fa-page4,.fa.fa-pagelines,.fa.fa-palfed,.fa.fa-patreon,.fa.fa-paypal,.fa.fa-periscope,.fa.fa-phabricator,.fa.fa-phoenix-framework,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-playstation,.fa.fa-product-hunt,.fa.fa-pushed,.fa.fa-python,.fa.fa-qq,.fa.fa-quora,.fa.fa-ravelry,.fa.fa-react,.fa.fa-rebel,.fa.fa-red-river,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-rendact,.fa.fa-renren,.fa.fa-replyd,.fa.fa-resolving,.fa.fa-rocketchat,.fa.fa-rockrms,.fa.fa-safari,.fa.fa-sass,.fa.fa-schlix,.fa.fa-scribd,.fa.fa-searchengin,.fa.fa-sellcast,.fa.fa-sellsy,.fa.fa-servicestack,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-sistrix,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slack-hash,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-speakap,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-staylinked,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-steam-symbol,.fa.fa-sticker-mule,.fa.fa-strava,.fa.fa-stripe,.fa.fa-stripe-s,.fa.fa-studiovinari,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-supple,.fa.fa-telegram,.fa.fa-telegram-plane,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-typo3,.fa.fa-uber,.fa.fa-uikit,.fa.fa-uniregistry,.fa.fa-untappd,.fa.fa-usb,.fa.fa-ussunnah,.fa.fa-vaadin,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-viber,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vimeo-v,.fa.fa-vine,.fa.fa-vk,.fa.fa-vnv,.fa.fa-vuejs,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-whatsapp-square,.fa.fa-whmcs,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wordpress-simple,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xbox,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-yahoo,.fa.fa-yandex,.fa.fa-yandex-international,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-linkedin-square,.fa.fa-youtube-square,.fa.fa-youtube-play,.fa.fa-bitbucket-square,.fa.fa-gittip,.fa.fa-ra,.fa.fa-resistance,.fa.fa-ge,.fa.fa-y-combinator-square,.fa.fa-yc-square,.fa.fa-wechat,.fa.fa-meanpath,.fa.fa-facebook-official,.fa.fa-yc,.fa.fa-wheelchair-alt,.fa.fa-google-plus-official,.fa.fa-google-plus-circle,.fa.fa-fa,.fa.fa-eercast{font-family:"FontAwesome Brands";font-weight:normal !important}.fa.fa-star-o,.fa.fa-trash-o,.fa.fa-file-o,.fa.fa-clock-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-up,.fa.fa-play-circle-o,.fa.fa-list-alt,.fa.fa-picture-o,.fa.fa-photo,.fa.fa-image,.fa.fa-pencil-square-o,.fa.fa-share-square-o,.fa.fa-check-square-o,.fa.fa-times-circle-o,.fa.fa-check-circle-o,.fa.fa-eye-slash,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-thumbs-o-up,.fa.fa-thumbs-o-down,.fa.fa-heart-o,.fa.fa-lemon-o,.fa.fa-square-o,.fa.fa-bookmark-o,.fa.fa-credit-card,.fa.fa-hdd-o,.fa.fa-hand-o-right,.fa.fa-hand-o-left,.fa.fa-hand-o-up,.fa.fa-hand-o-down,.fa.fa-files-o,.fa.fa-floppy-o,.fa.fa-money,.fa.fa-comment-o,.fa.fa-comments-o,.fa.fa-clipboard,.fa.fa-paste,.fa.fa-lightbulb-o,.fa.fa-bell-o,.fa.fa-file-text-o,.fa.fa-building-o,.fa.fa-hospital-o,.fa.fa-circle-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-smile-o,.fa.fa-frown-o,.fa.fa-meh-o,.fa.fa-keyboard-o,.fa.fa-flag-o,.fa.fa-star-half-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-calendar-o,.fa.fa-minus-square-o,.fa.fa-compass,.fa.fa-caret-square-o-down,.fa.fa-toggle-down,.fa.fa-caret-square-o-up,.fa.fa-toggle-up,.fa.fa-caret-square-o-right,.fa.fa-toggle-right,.fa.fa-sun-o,.fa.fa-moon-o,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-left,.fa.fa-caret-square-o-left,.fa.fa-toggle-left,.fa.fa-dot-circle-o,.fa.fa-plus-square-o,.fa.fa-envelope-o,.fa.fa-file-pdf-o,.fa.fa-file-word-o,.fa.fa-file-excel-o,.fa.fa-file-powerpoint-o,.fa.fa-file-image-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-archive-o,.fa.fa-file-zip-o,.fa.fa-file-audio-o,.fa.fa-file-sound-o,.fa.fa-file-video-o,.fa.fa-file-movie-o,.fa.fa-file-code-o,.fa.fa-life-ring,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-saver,.fa.fa-support,.fa.fa-paper-plane-o,.fa.fa-send-o,.fa.fa-circle-thin,.fa.fa-futbol-o,.fa.fa-soccer-ball-o,.fa.fa-newspaper-o,.fa.fa-bell-slash-o,.fa.fa-copyright,.fa.fa-cc,.fa.fa-diamond,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o,.fa.fa-clone,.fa.fa-hourglass-o,.fa.fa-hand-rock-o,.fa.fa-hand-grab-o,.fa.fa-hand-paper-o,.fa.fa-hand-stop-o,.fa.fa-hand-scissors-o,.fa.fa-hand-lizard-o,.fa.fa-hand-spock-o,.fa.fa-hand-pointer-o,.fa.fa-hand-peace-o,.fa.fa-registered,.fa.fa-calendar-plus-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-times-o,.fa.fa-calendar-check-o,.fa.fa-map-o,.fa.fa-commenting-o,.fa.fa-pause-circle-o,.fa.fa-stop-circle-o,.fa.fa-question-circle-o,.fa.fa-handshake-o,.fa.fa-envelope-open-o,.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-vcard-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-drivers-license-o,.fa.fa-window-maximize,.fa.fa-window-restore,.fa.fa-window-close-o,.fa.fa-times-rectangle-o,.fa.fa-snowflake-o{font-family:'FontAwesome';font-weight:400}.fa-address-book-o:before{content:"\f2b9"}.fa-address-card-o:before{content:"\f2bb"}.fa-area-chart:before{content:"\f1fe"}.fa-arrow-circle-o-down:before{content:"\f358"}.fa-arrow-circle-o-left:before{content:"\f359"}.fa-arrow-circle-o-right:before{content:"\f35a"}.fa-arrow-circle-o-up:before{content:"\f35b"}.fa-arrows:before{content:"\f0b2"}.fa-arrows-alt:before{content:"\f31e"}.fa-arrows-h:before{content:"\f337"}.fa-arrows-v:before{content:"\f338"}.fa-asl-interpreting:before{content:"\f2a3"}.fa-automobile:before{content:"\f1b9"}.fa-bank:before,.fa-institution:before{content:"\f19c"}.fa-bar-chart-o:before{content:"\f080"}.fa-bar-chart:before{content:"\f080"}.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-battery:before{content:"\f240"}.fa-battery-0:before{content:"\f244"}.fa-battery-1:before{content:"\f243"}.fa-battery-2:before{content:"\f242"}.fa-battery-3:before{content:"\f241"}.fa-battery-4:before{content:"\f240"}.fa-bell-o:before{content:"\f0f3"}.fa-bell-slash-o:before{content:"\f1f6"}.fa-bitbucket-square:before{content:"\f171"}.fa-bitcoin:before{content:"\f15a"}.fa-bookmark-o:before{content:"\f02e"}.fa-building-o:before{content:"\f1ad"}.fa-cab:before{content:"\f1ba"}.fa-calendar-check-o:before{content:"\f274"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-o:before{content:"\f133"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-times-o:before{content:"\f273"}.fa-caret-square-o-down:before{content:"\f150"}.fa-caret-square-o-left:before{content:"\f191"}.fa-caret-square-o-right:before{content:"\f152"}.fa-caret-square-o-up:before{content:"\f151"}.fa-cc:before{content:"\f20a"}.fa-chain:before{content:"\f0c1"}.fa-chain-broken:before{content:"\f127"}.fa-check-circle-o:before{content:"\f058"}.fa-check-square-o:before{content:"\f14a"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-circle-o:before,.fa-circle-thin:before{content:"\f111"}.fa-clock-o:before{content:"\f017"}.fa-close:before{content:"\f00d"}.fa-cloud-download:before{content:"\f381"}.fa-cloud-upload:before{content:"\f382"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-code-fork:before{content:"\f126"}.fa-comment-o:before{content:"\f075"}.fa-commenting-o:before,.fa-commenting:before{content:"\f27a"}.fa-comments-o:before{content:"\f086"}.fa-credit-card-alt:before{content:"\f09d"}.fa-cutlery:before{content:"\f2e7"}.fa-dashboard:before{content:"\f3fd"}.fa-deafness:before{content:"\f2a4"}.fa-dedent:before{content:"\f03b"}.fa-diamond:before{content:"\f3a5"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-dot-circle-o:before{content:"\f192"}.fa-drivers-license-o:before{content:"\f2c2"}.fa-drivers-license:before{content:"\f2c2"}.fa-eercast:before{content:"\f2da"}.fa-envelope-o:before{content:"\f0e0"}.fa-envelope-open-o:before{content:"\f2b6"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-exchange:before{content:"\f362"}.fa-external-link-square:before{content:"\f360"}.fa-external-link:before{content:"\f35d"}.fa-eyedropper:before{content:"\f1fb"}.fa-fa:before{content:"\f2b4"}.fa-facebook-f:before,.fa-facebook:before{content:"\f39e"}.fa-facebook-official:before{content:"\f09a"}.fa-feed:before{content:"\f09e"}.fa-file-archive-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-code-o:before{content:"\f1c9"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-o:before{content:"\f15b"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-text:before,.fa-file-text-o:before{content:"\f15c"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-zip-o:before{content:"\f1c6"}.fa-files-o:before{content:"\f0c5"}.fa-flag-o:before{content:"\f024"}.fa-flash:before{content:"\f0e7"}.fa-floppy-o:before{content:"\f0c7"}.fa-folder-o:before{content:"\f07b"}.fa-folder-open-o:before{content:"\f07c"}.fa-frown-o:before{content:"\f119"}.fa-futbol-o:before{content:"\f1e3"}.fa-gbp:before{content:"\f154"}.fa-ge:before{content:"\f1d1"}.fa-gear:before{content:"\f013"}.fa-gears:before{content:"\f085"}.fa-gittip:before{content:"\f184"}.fa-glass:before{content:"\f000"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-google-plus:before{content:"\f0d5"}.fa-group:before{content:"\f0c0"}.fa-hand-grab-o:before{content:"\f255"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-o-down:before{content:"\f0a7"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-peace-o:before{content:"\f25b"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-rock-o:before{content:"\f255"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-spock-o:before{content:"\f259"}.fa-handshake-o:before{content:"\f2b5"}.fa-hard-of-hearing:before{content:"\f2a4"}.fa-hdd-o:before{content:"\f0a0"}.fa-header:before{content:"\f1dc"}.fa-heart-o:before{content:"\f004"}.fa-hospital-o:before{content:"\f0f8"}.fa-hotel:before{content:"\f236"}.fa-hourglass-1:before{content:"\f251"}.fa-hourglass-2:before{content:"\f252"}.fa-hourglass-3:before{content:"\f253"}.fa-hourglass-o:before{content:"\f254"}.fa-id-card-o:before{content:"\f2c2"}.fa-ils:before{content:"\f20b"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-inr:before{content:"\f156"}.fa-intersex:before{content:"\f224"}.fa-keyboard-o:before{content:"\f11c"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-legal:before{content:"\f0e3"}.fa-lemon-o:before{content:"\f094"}.fa-level-down:before{content:"\f3be"}.fa-level-up:before{content:"\f3bf"}.fa-life-bouy:before,.fa-life-saver:before{content:"\f1cd"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-line-chart:before{content:"\f201"}.fa-linkedin:before{content:"\f0e1"}.fa-linkedin-square:before{content:"\f08c"}.fa-long-arrow-down:before{content:"\f309"}.fa-long-arrow-left:before{content:"\f30a"}.fa-long-arrow-right:before{content:"\f30b"}.fa-long-arrow-up:before{content:"\f30c"}.fa-mail-forward:before{content:"\f064"}.fa-mail-reply-all:before{content:"\f122"}.fa-mail-reply:before{content:"\f3e5"}.fa-map-marker:before{content:"\f3c5"}.fa-map-o:before{content:"\f279"}.fa-meanpath:before{content:"\f2b4"}.fa-meh-o:before{content:"\f11a"}.fa-minus-square-o:before{content:"\f146"}.fa-mobile-phone:before{content:"\f3cd"}.fa-mobile:before{content:"\f3cd"}.fa-money:before{content:"\f3d1"}.fa-moon-o:before{content:"\f186"}.fa-mortar-board:before{content:"\f19d"}.fa-navicon:before{content:"\f0c9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-paper-plane-o:before{content:"\f1d8"}.fa-paste:before{content:"\f328"}.fa-pause-circle-o:before{content:"\f28b"}.fa-pencil-square-o:before{content:"\f044"}.fa-pencil-square:before{content:"\f14b"}.fa-pencil:before{content:"\f303"}.fa-pie-chart:before{content:"\f200"}.fa-play-circle-o:before{content:"\f144"}.fa-plus-square-o:before{content:"\f0fe"}.fa-question-circle-o:before{content:"\f059"}.fa-ra:before{content:"\f1d0"}.fa-refresh:before{content:"\f021"}.fa-remove:before{content:"\f00d"}.fa-reorder:before{content:"\f0c9"}.fa-repeat:before{content:"\f01e"}.fa-resistance:before{content:"\f1d0"}.fa-rotate-left:before{content:"\f0e2"}.fa-rotate-right:before{content:"\f01e"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-rupee:before{content:"\f156"}.fa-scissors:before{content:"\f0c4"}.fa-send-o:before{content:"\f1d8"}.fa-send:before{content:"\f1d8"}.fa-share-square-o:before{content:"\f14d"}.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-shield:before{content:"\f3ed"}.fa-sign-in:before{content:"\f2f6"}.fa-sign-out:before{content:"\f2f5"}.fa-signing:before{content:"\f2a7"}.fa-sliders:before{content:"\f1de"}.fa-smile-o:before{content:"\f118"}.fa-snowflake-o:before{content:"\f2dc"}.fa-soccer-ball-o:before{content:"\f1e3"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-asc:before{content:"\f0de"}.fa-sort-desc:before{content:"\f0dd"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-spoon:before{content:"\f2e5"}.fa-square-o:before{content:"\f0c8"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f089"}.fa-star-o:before{content:"\f005"}.fa-sticky-note-o:before{content:"\f249"}.fa-stop-circle-o:before{content:"\f28d"}.fa-sun-o:before{content:"\f185"}.fa-support:before{content:"\f1cd"}.fa-tablet:before{content:"\f3fa"}.fa-tachometer:before{content:"\f3fd"}.fa-television:before{content:"\f26c"}.fa-thermometer-0:before{content:"\f2cb"}.fa-thermometer-1:before{content:"\f2ca"}.fa-thermometer-2:before{content:"\f2c9"}.fa-thermometer-3:before{content:"\f2c8"}.fa-thermometer-4:before,.fa-thermometer:before{content:"\f2c7"}.fa-thumb-tack:before{content:"\f08d"}.fa-thumbs-o-down:before{content:"\f165"}.fa-thumbs-o-up:before{content:"\f164"}.fa-ticket:before{content:"\f3ff"}.fa-times-circle-o:before{content:"\f057"}.fa-times-rectangle:before,.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f410"}.fa-toggle-down:before{content:"\f150"}.fa-toggle-left:before{content:"\f191"}.fa-toggle-right:before{content:"\f152"}.fa-toggle-up:before{content:"\f151"}.fa-trash:before,.fa-trash-o:before{content:"\f2ed"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-unsorted:before{content:"\f0dc"}.fa-user-circle-o:before{content:"\f2bd"}.fa-user-o:before{content:"\f007"}.fa-vcard:before,.fa-vcard-o:before{content:"\f2bb"}.fa-video-camera:before{content:"\f03d"}.fa-vimeo:before{content:"\f27d"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-warning:before{content:"\f071"}.fa-wechat:before{content:"\f1d7"}.fa-wheelchair-alt:before{content:"\f368"}.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-yc:before{content:"\f23b"}.fa-youtube-play:before{content:"\f167"}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:1.125rem;-webkit-tap-highlight-color:transparent}body{font-family:'colfax-web','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:18px;line-height:1.428571429;color:#fff;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:25px;margin-bottom:25px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:25px;margin-bottom:12.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:12.5px;margin-bottom:12.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:28px}h2,.h2{font-size:38px}h3,.h3{font-size:31px}h4,.h4{font-size:23px}h5,.h5{font-size:18px}h6,.h6{font-size:16px}p{margin:0 0 12.5px}.lead{margin-bottom:25px;font-size:20px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:27px}}small,.small{font-size:88%}mark,.mark{padding:0.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:11.5px;margin:50px 0 25px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:12.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:25px}dt,dd{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase;text-transform:uppercase !important}blockquote{padding:12.5px 25px;margin:0 0 25px;font-size:22.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:25px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:12px;margin:0 0 12.5px;font-size:17px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.666666667%}.col-xs-10{width:83.333333333%}.col-xs-9{width:75%}.col-xs-8{width:66.666666667%}.col-xs-7{width:58.333333333%}.col-xs-6{width:50%}.col-xs-5{width:41.666666667%}.col-xs-4{width:33.333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666667%}.col-xs-1{width:8.333333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.666666667%}.col-xs-pull-10{right:83.333333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.666666667%}.col-xs-pull-7{right:58.333333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.666666667%}.col-xs-pull-4{right:33.333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666667%}.col-xs-pull-1{right:8.333333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.666666667%}.col-xs-push-10{left:83.333333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.666666667%}.col-xs-push-7{left:58.333333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.666666667%}.col-xs-push-4{left:33.333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666667%}.col-xs-push-1{left:8.333333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.666666667%}.col-xs-offset-10{margin-left:83.333333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.666666667%}.col-xs-offset-7{margin-left:58.333333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.666666667%}.col-xs-offset-4{margin-left:33.333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666667%}.col-xs-offset-1{margin-left:8.333333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.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-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.666666667%}.col-sm-10{width:83.333333333%}.col-sm-9{width:75%}.col-sm-8{width:66.666666667%}.col-sm-7{width:58.333333333%}.col-sm-6{width:50%}.col-sm-5{width:41.666666667%}.col-sm-4{width:33.333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666667%}.col-sm-1{width:8.333333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.666666667%}.col-sm-pull-10{right:83.333333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.666666667%}.col-sm-pull-7{right:58.333333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.666666667%}.col-sm-pull-4{right:33.333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666667%}.col-sm-pull-1{right:8.333333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.666666667%}.col-sm-push-10{left:83.333333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.666666667%}.col-sm-push-7{left:58.333333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.666666667%}.col-sm-push-4{left:33.333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666667%}.col-sm-push-1{left:8.333333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.666666667%}.col-sm-offset-10{margin-left:83.333333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.666666667%}.col-sm-offset-7{margin-left:58.333333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.666666667%}.col-sm-offset-4{margin-left:33.333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666667%}.col-sm-offset-1{margin-left:8.333333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.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-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.666666667%}.col-md-10{width:83.333333333%}.col-md-9{width:75%}.col-md-8{width:66.666666667%}.col-md-7{width:58.333333333%}.col-md-6{width:50%}.col-md-5{width:41.666666667%}.col-md-4{width:33.333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666667%}.col-md-1{width:8.333333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.666666667%}.col-md-pull-10{right:83.333333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.666666667%}.col-md-pull-7{right:58.333333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.666666667%}.col-md-pull-4{right:33.333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666667%}.col-md-pull-1{right:8.333333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.666666667%}.col-md-push-10{left:83.333333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.666666667%}.col-md-push-7{left:58.333333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.666666667%}.col-md-push-4{left:33.333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666667%}.col-md-push-1{left:8.333333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.666666667%}.col-md-offset-10{margin-left:83.333333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.666666667%}.col-md-offset-7{margin-left:58.333333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.666666667%}.col-md-offset-4{margin-left:33.333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666667%}.col-md-offset-1{margin-left:8.333333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.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-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.666666667%}.col-lg-10{width:83.333333333%}.col-lg-9{width:75%}.col-lg-8{width:66.666666667%}.col-lg-7{width:58.333333333%}.col-lg-6{width:50%}.col-lg-5{width:41.666666667%}.col-lg-4{width:33.333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666667%}.col-lg-1{width:8.333333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.666666667%}.col-lg-pull-10{right:83.333333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.666666667%}.col-lg-pull-7{right:58.333333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.666666667%}.col-lg-pull-4{right:33.333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666667%}.col-lg-pull-1{right:8.333333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.666666667%}.col-lg-push-10{left:83.333333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.666666667%}.col-lg-push-7{left:58.333333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.666666667%}.col-lg-push-4{left:33.333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666667%}.col-lg-push-1{left:8.333333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.666666667%}.col-lg-offset-10{margin-left:83.333333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.666666667%}.col-lg-offset-7{margin-left:58.333333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.666666667%}.col-lg-offset-4{margin-left:33.333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666667%}.col-lg-offset-1{margin-left:8.333333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:25px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:0.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:18.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:25px;font-size:27px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:600}input[type="search"]{box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:18px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:39px;padding:6px 12px;font-size:18px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}select.form-control{padding:6px 36px 6px 12px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 12px;border-radius:4px;appearance:none}select.form-control[multiple],select.form-control[size]:not([size="1"]){padding-right:12px;background-image:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #555}select.form-control:focus::-ms-value{color:#555;background-color:#fff}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:36px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:53px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:25px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:43px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}select.input-sm{height:36px;padding:5px 36px 5px 10px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:36px;line-height:1.5}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:1.5;min-height:41px;padding:6px 10px;font-size:16px;line-height:1.5}.input-lg{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}select.input-lg{height:53px;padding:10px 36px 10px 16px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:53px;line-height:53px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:53px;min-height:48px;padding:11px 16px;font-size:23px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:53px;height:53px;line-height:53px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:36px;height:36px;line-height:36px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:30px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#fff}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:23px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:16px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:18px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#fff;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#fff;background-color:#333;border-color:#333}.btn-default:focus,.btn-default.focus{color:#fff;background-color:#1a1a1a;border-color:#000}.btn-default:hover{color:#fff;background-color:#1a1a1a;border-color:#141414}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#fff;background-color:#1a1a1a;background-image:none;border-color:#141414}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#fff;background-color:#080808;border-color:#000}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#333;border-color:#333}.btn-default .badge{color:#333;background-color:#fff}.btn-primary{color:#fff;background-color:#737373;border-color:#737373}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#5a5a5a;border-color:#333}.btn-primary:hover{color:#fff;background-color:#5a5a5a;border-color:#545454}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#5a5a5a;background-image:none;border-color:#545454}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#484848;border-color:#333}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#737373;border-color:#737373}.btn-primary .badge{color:#737373;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:16px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1050;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:18px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>li.indent>a{padding-left:40px}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:16px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.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:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:53px;padding:10px 36px 10px 16px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:36px;padding:5px 36px 5px 10px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-sm>select.form-control,.input-group-lg>select.form-control,.form-group-sm select.form-control{padding-right:36px}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:18px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:16px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:23px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.dropdown-toggle:nth-last-child(n+3),.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:25px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:12.5px 15px;font-size:23px;line-height:25px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:25px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:25px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:12.5px;padding-bottom:12.5px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:5.5px;margin-bottom:5.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:5.5px;margin-bottom:5.5px}.navbar-btn.btn-sm{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:12.5px;margin-bottom:12.5px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:25px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:25px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:23px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:16px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:25px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:0.2em 0.6em 0.3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:16px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:27px;font-weight:200}.jumbotron>hr{border-top-color:#d4d4d4}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:81px}}.thumbnail{display:block;padding:4px;margin-bottom:25px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#fff}.alert{padding:15px;margin-bottom:25px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0}} +@keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0}} +.progress{height:25px;margin-bottom:25px;overflow:hidden;line-height:25px;font-size:16px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;color:#fff;text-align:center;background-color:#337ab7;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:25px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:21px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:25px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:27px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:0.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:0.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:0.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:'colfax-web','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:16px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:'colfax-web','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:18px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:18px;background-color:#f7f7f7;border-bottom:1px solid #eaeaea;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:transparent;filter:alpha(opacity=50);opacity:0.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:0.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;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;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container-fluid:before,.row:before,.dl-horizontal dd:before,.form-horizontal .form-group:before,.btn-toolbar:before,.btn-group-vertical>.btn-group:before,.nav:before,.navbar:before,.navbar-header:before,.navbar-collapse:before,.pager:before,.panel-body:before,.modal-header:before,.modal-footer:before,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{display:table;content:" "}.clearfix:after,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width} +.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.datepicker{direction:ltr;border-radius:4px}.datepicker-inline{width:220px}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown::before{position:absolute;display:inline-block;content:"";border-top:0;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,0.15);border-left:7px solid transparent}.datepicker-dropdown::after{position:absolute;display:inline-block;content:"";border-top:0;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.datepicker-dropdown.datepicker-orient-left::before{left:6px}.datepicker-dropdown.datepicker-orient-left::after{left:7px}.datepicker-dropdown.datepicker-orient-right::before{right:6px}.datepicker-dropdown.datepicker-orient-right::after{right:7px}.datepicker-dropdown.datepicker-orient-bottom::before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom::after{top:-6px}.datepicker-dropdown.datepicker-orient-top::before{bottom:-7px;border-top:7px solid rgba(0,0,0,0.15);border-bottom:0}.datepicker-dropdown.datepicker-orient-top::after{bottom:-6px;border-top:6px solid #fff;border-bottom:0}.datepicker table{margin:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.datepicker table tr td,.datepicker table tr th{width:34px;height:34px;padding:0;text-align:center;border:0;border-radius:4px}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.old,.datepicker table tr td.new{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{cursor:pointer;background:#eee}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{color:#777;cursor:default;background:none}.datepicker table tr td.highlighted{color:#000;background:#d9edf7;border-radius:0}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{color:#777;background:#d9edf7}.datepicker table tr td.today{color:#000;background-color:#ffdb99}.datepicker table tr td.today:hover,.datepicker table tr td.today:focus{background:#ffbc42}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{color:#777;background:#ffdb99}.datepicker table tr td.range{color:#000;background:#eee;border-radius:0}.datepicker table tr td.range.focused,.datepicker table tr td.range:hover{background:#d4d4d4}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{color:#777;background:#eee}.datepicker table tr td.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.datepicker table tr td.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.datepicker table tr td.range.highlighted{color:#000 0;background:#e4eef3}.datepicker table tr td.range.highlighted.focused{background:#c0d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{color:#777;background:#e4eef3}.datepicker table tr td.range.today{color:#000;background:#f7ca77}.datepicker table tr td.range.today:hover{background:#f4b747}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{color:#777;background:#f7ca77}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#777}.datepicker table tr td.selected:hover,.datepicker table tr td.selected.highlighted:hover{background:#5e5e5e}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#5a5a5a}.datepicker table tr td.active:hover,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:focus,.datepicker table tr td.active.highlighted:focus{background:#484848}.datepicker table tr td span{display:block;float:left;width:23%;height:54px;margin:1%;line-height:54px;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{color:#777;cursor:default;background:none}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#737373}.datepicker table tr td span.old,.datepicker table tr td span.new{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .prev,.datepicker .next,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .prev.disabled,.datepicker .next.disabled{visibility:hidden}.datepicker .cw{width:12px;padding:0 2px 0 5px;font-size:10px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.rock-checkbox-icon{cursor:pointer}.in-columns{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;-webkit-column-width:130px;-moz-column-width:130px;column-width:130px}.in-columns-1{-moz-column-count:1;-webkit-column-count:1;column-count:1}.in-columns-2{-moz-column-count:2;-webkit-column-count:2;column-count:2}.in-columns-3{-moz-column-count:3;-webkit-column-count:3;column-count:3}.in-columns-4{-moz-column-count:4;-webkit-column-count:4;column-count:4}.in-columns-5{-moz-column-count:5;-webkit-column-count:5;column-count:5}.in-columns-6{-moz-column-count:6;-webkit-column-count:6;column-count:6}.in-columns .radio,.in-columns .checkbox,.in-columns .radio-inline,.in-columns .checkbox-inline{display:block;padding-right:0}.in-columns .radio:first-child,.in-columns .checkbox:first-child,.in-columns .radio-inline:first-child,.in-columns .checkbox-inline:first-child{margin-top:0}.in-columns .checkbox-inline:first-child,.in-columns .radio-inline:first-child{padding-left:20px}.in-columns .label-text{display:inline-block;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-column-break-inside:avoid-column;break-inside:avoid-column}.in-columns .radio-inline+.radio-inline,.in-columns .checkbox-inline+.checkbox-inline{margin-left:0}.radio-inline label,.checkbox-inline label{font-weight:400}.checkbox-inline:first-child,.radio-inline:first-child{padding-left:30px}.checkbox-inline:first-child.rock-checkbox-icon,.radio-inline:first-child.rock-checkbox-icon{padding-left:0 !important}.checkbox-inline:first-child.rock-checkbox-icon i,.radio-inline:first-child.rock-checkbox-icon i{width:30px}.assessment .radio,.assessment .checkbox{min-height:20px;margin-top:8px;margin-bottom:8px}.assessment .radio label,.assessment .checkbox label{padding-left:0}.assessment .modal-body>.checkbox label input{z-index:0;opacity:1}.assessment .radio-inline,.assessment .checkbox-inline{padding-right:16px;padding-left:30px;margin-left:0}.assessment .radio-inline label,.assessment .checkbox-inline label{margin-bottom:0}.assessment .form-align .radio,.assessment .form-horizontal .radio,.assessment .form-align .checkbox,.assessment .form-horizontal .checkbox,.assessment .form-align .radio-inline,.assessment .form-horizontal .radio-inline,.assessment .form-align .checkbox-inline,.assessment .form-horizontal .checkbox-inline{padding-top:0;margin-top:7px !important;margin-bottom:7px !important}.assessment .form-align .radio-inline+.radio-inline,.assessment .form-horizontal .radio-inline+.radio-inline,.assessment .form-align .checkbox-inline+.checkbox-inline,.assessment .form-horizontal .checkbox-inline+.checkbox-inline{margin-top:7px}.assessment .radio,.assessment .checkbox,.assessment .radio-inline,.assessment .checkbox-inline{padding-left:28px}.assessment .radio.deselected,.assessment .checkbox.deselected,.assessment .radio-inline.deselected,.assessment .checkbox-inline.deselected{opacity:0.5}.assessment .radio .label-text::before,.assessment .checkbox .label-text::before,.assessment .radio-inline .label-text::before,.assessment .checkbox-inline .label-text::before{position:absolute;top:0;left:0;display:block;width:20px;height:20px;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:2px solid #ccc;border-radius:0.25rem}.assessment .radio .label-text::after,.assessment .checkbox .label-text::after,.assessment .radio-inline .label-text::after,.assessment .checkbox-inline .label-text::after{position:absolute;top:0;left:0;display:block;width:20px;height:20px;content:"";background:no-repeat center/50%}.assessment .radio input,.assessment .checkbox input,.assessment .radio-inline input,.assessment .checkbox-inline input{position:absolute;z-index:-1;opacity:0}.assessment .radio input:checked~.label-text::before,.assessment .checkbox input:checked~.label-text::before,.assessment .radio-inline input:checked~.label-text::before,.assessment .checkbox-inline input:checked~.label-text::before{background-color:#337ab7;border-color:#337ab7}.assessment .radio input:focus~.label-text::before,.assessment .checkbox input:focus~.label-text::before,.assessment .radio-inline input:focus~.label-text::before,.assessment .checkbox-inline input:focus~.label-text::before{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(51,122,183,0.2)}.assessment .radio input:active~.label-text::before,.assessment .checkbox input:active~.label-text::before,.assessment .radio-inline input:active~.label-text::before,.assessment .checkbox-inline input:active~.label-text::before{color:#fff;background-color:#a0c4e4}.assessment .radio input:disabled~.label-text,.assessment .checkbox input:disabled~.label-text,.assessment .radio-inline input:disabled~.label-text,.assessment .checkbox-inline input:disabled~.label-text{color:#777}.assessment .radio input:disabled~.label-text::before,.assessment .checkbox input:disabled~.label-text::before,.assessment .radio-inline input:disabled~.label-text::before,.assessment .checkbox-inline input:disabled~.label-text::before{background-color:#eee}.assessment .radio input:checked:disabled~.label-text::before,.assessment .checkbox input:checked:disabled~.label-text::before,.assessment .radio-inline input:checked:disabled~.label-text::before,.assessment .checkbox-inline input:checked:disabled~.label-text::before{background-color:#337ab7;opacity:0.5}.assessment .radio-inline+.radio-inline,.assessment .checkbox-inline+.checkbox-inline{margin-left:0}.assessment .checkbox input:checked~.label-text::after,.assessment .checkbox-inline input:checked~.label-text::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='%23ffffff' 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")}.assessment .radio .label-text::before,.assessment .radio-inline .label-text::before{border-radius:50%}.assessment .radio input:checked~.label-text::after,.assessment .radio-inline input:checked~.label-text::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='%23ffffff'/%3E%3C/svg%3E")}.assessment .rock-checkbox-icon{padding-left:0}.assessment .rock-checkbox-icon i{width:20px;margin-right:3px;font-size:22px;text-align:center}@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +.btn svg{display:block;width:auto;height:1em;fill:currentColor}h1,h2,h3{letter-spacing:-0.03em}h1{color:#fff}.close{color:#fff}.form-group label{margin-bottom:6px}.btn-block+.btn-block{margin-top:12px}.btn-checkin-select{padding-top:14px;padding-bottom:14px;margin-bottom:20px;font-size:24px;font-weight:500;white-space:normal}.btn-checkin-select .row{display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-wrap:wrap;flex-wrap:wrap;align-items:center;margin-right:0;margin-left:0}.btn-checkin-select .row::before,.btn-checkin-select .row::after{content:normal}.btn-checkin-select .checkbox-container,.btn-checkin-select .photo-container,.btn-checkin-select .name-container{padding-right:5px;padding-left:5px}.btn-checkin-select .checkbox-container,.btn-checkin-select .photo-container{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.btn-checkin-select .checkbox-container{margin-right:5px}.btn-checkin-select .name-container,.btn-checkin-select .col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.btn-barcode{position:relative;margin-top:40px;overflow:hidden}.btn-barcode video{object-fit:cover;position:absolute;inset:0;height:100%}.btn-barcode #qr-shaded-region{bottom:-5px !important}.btn-checkin-change{color:#fff;background-color:#949494;border-color:#737373;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:center;align-items:center;justify-content:center;height:100%;border-left:0}.btn-checkin-change:focus,.btn-checkin-change.focus{color:#fff;background-color:#7b7b7b;border-color:#333}.btn-checkin-change:hover{color:#fff;background-color:#7b7b7b;border-color:#545454}.btn-checkin-change:active,.btn-checkin-change.active,.open>.dropdown-toggle.btn-checkin-change{color:#fff;background-color:#7b7b7b;background-image:none;border-color:#545454}.btn-checkin-change:active:hover,.btn-checkin-change.active:hover,.open>.dropdown-toggle.btn-checkin-change:hover,.btn-checkin-change:active:focus,.btn-checkin-change.active:focus,.open>.dropdown-toggle.btn-checkin-change:focus,.btn-checkin-change:active.focus,.btn-checkin-change.active.focus,.open>.dropdown-toggle.btn-checkin-change.focus{color:#fff;background-color:dimgray;border-color:#333}.btn-checkin-change.disabled:hover,.btn-checkin-change[disabled]:hover,fieldset[disabled] .btn-checkin-change:hover,.btn-checkin-change.disabled:focus,.btn-checkin-change[disabled]:focus,fieldset[disabled] .btn-checkin-change:focus,.btn-checkin-change.disabled.focus,.btn-checkin-change[disabled].focus,fieldset[disabled] .btn-checkin-change.focus{background-color:#949494;border-color:#737373}.btn-checkin-change .badge{color:#949494;background-color:#fff}.row-checkin-item{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin-bottom:20px}.row-checkin-item .btn-checkin-select{margin-bottom:0}.checkin-change .btn{border-top-left-radius:0;border-bottom-left-radius:0}.checkin-person-has-change .btn{border-top-right-radius:0;border-bottom-right-radius:0}.table-responsive{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}a.help{margin-left:6px;color:#86b8cc;outline:0}.alert-validation{color:#a94442;background-color:#fcf8e3;border-color:#f7ecb5;font-weight:700}.alert-validation hr{border-top-color:#f5e79e}.alert-validation .alert-link{color:#843534}.alert-validation ul,.alert-validation span{font-weight:400;color:#484848}.alert-validation ul{padding:5px 25px 0;line-height:1.5}#cms-admin-footer,.config-bar{display:none}.btn-dimmed{opacity:0.33}body{background-color:#404040;background-image:url('../Assets/Images/newspring-logo.png');background-position:bottom right;background-repeat:no-repeat;background-size:20%;overflow-x:hidden;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover}@media all and (-webkit-min-device-pixel-ratio:1.5){body{background-size:1348px 1024px}}.body-content{position:relative;height:100vh}.checkin-header{margin:45px 30px 24px}.checkin-header h1{font-size:48px;font-weight:600}.checkin-header .checkin-sub-title{margin-top:12px;font-size:24px;color:#bde2ef}.btn .checkin-sub-title{margin-left:20px;font-size:20px;font-weight:300;white-space:normal}.checkin-body .checkin-actions{text-align:right}.checkin-body .checkin-actions .btn-primary{font-size:36px}.checkin-body-container>label{padding:0 0 6px 0}.checkin-search-actions{text-align:center}.checkin-search-actions a{display:inline-flex;justify-content:center;width:520px;max-width:100%;padding:20px;font-size:48px;font-weight:600;line-height:48px}.checkin-start{margin-top:25%;text-align:center}.checkin-camera{margin-top:24px;text-align:center}.checkin-footer{position:absolute;right:0;bottom:0;left:0;padding:0 45px;margin-top:6px;margin-bottom:12px}.checkin-footer .btn-primary{float:right}.checkin-actions .btn{padding:12px 24px;font-size:22px;font-weight:600}.checkin-actions .btn-primary{padding:14px 26px;font-size:28px}.btn-checkbox{padding:24px;font-size:20px;color:#fff;background-color:#333;border-color:#333}.btn-checkbox.active,.btn-checkbox.active:focus{color:#fff;background-color:#737373;border-color:#737373}.btn-checkbox i{display:block;font-size:92px;line-height:92px}.btn-checkbox.active i::before{content:"\f14a"}.tenkey{width:265px;text-align:center}.tenkey .btn{width:80px;height:80px;margin:2px}.tenkey .btn:focus,.tenkey .btn:active{background-color:#333}.tenkey .btn.digit{font-size:48px;font-weight:500}.tenkey .btn.command{padding-top:28px;font-size:20px;font-weight:300}.bootbox{z-index:1060}.bootbox .modal-content{color:#fff;background-color:#404040}.bootbox .modal-footer{border-top-color:#e5e5e5}.btn-checkin-override{position:absolute;right:0;bottom:0;width:110px;height:110px;background-color:transparent;border:0}.photo-round{background-repeat:no-repeat;background-position-x:center;background-size:cover}.photo-round.photo-round-md{width:60px;height:60px;border-radius:50%}img[src*="no-photo"]{opacity:0.4}.checkin-search-body{width:360px;margin:0 auto}.checkin-search-body.search-phone{width:260px}.search-phone-form-group{width:260px;margin:0 auto}input.checkin-phone-entry{width:260px;height:60px;padding:6px 20px;margin:0 auto 10px;font-size:36px;font-weight:600}input.namesearch{width:360px;height:60px;padding:6px 20px;margin:0 auto 10px;font-size:36px;font-weight:600}.checkin-phone-keypad{margin:0 auto 24px}.checkin-time-select{display:table;margin:0 auto}.checkin-time-select .control-label{display:block;font-size:28px;font-weight:500}.checkin-timelist{margin-bottom:12px}.checkin-messages,.checkin-summary{padding:0;margin:0;list-style-type:none}.checkin-messages li,.checkin-summary li{margin-bottom:18px;font-size:22px;color:#fff}.checkin-error{padding:0;list-style-type:none}.checkin-closed-header>h1{margin-bottom:0;font-size:5em;line-height:1}@media (min-width: 768px){.checkin-closed-header>h1{font-size:9em}}@media (min-width: 992px){.checkin-closed-header>h1{font-size:14em}}@media (min-width: 1200px){.checkin-closed-header>h1{font-size:17em}}.checkin-closed-body{padding-left:0.5em}@media (min-width: 768px){.checkin-closed-body{padding-left:1em}}@media (min-width: 992px){.checkin-closed-body{padding-left:2em}}.family-personselect{font-size:26px;text-align:left}.family-auto-select{padding-left:10px !important;font-size:16px;text-align:left}.auto-select-caption{opacity:0.75}.btn-action{color:#fff;background-color:#777;border-color:#6a6a6a}.btn-action:focus,.btn-action.focus{color:#fff;background-color:#5e5e5e;border-color:#2a2a2a}.btn-action:hover{color:#fff;background-color:#5e5e5e;border-color:#4b4b4b}.btn-action:active,.btn-action.active,.open>.dropdown-toggle.btn-action{color:#fff;background-color:#5e5e5e;background-image:none;border-color:#4b4b4b}.btn-action:active:hover,.btn-action.active:hover,.open>.dropdown-toggle.btn-action:hover,.btn-action:active:focus,.btn-action.active:focus,.open>.dropdown-toggle.btn-action:focus,.btn-action:active.focus,.btn-action.active.focus,.open>.dropdown-toggle.btn-action.focus{color:#fff;background-color:#4c4c4c;border-color:#2a2a2a}.btn-action.disabled:hover,.btn-action[disabled]:hover,fieldset[disabled] .btn-action:hover,.btn-action.disabled:focus,.btn-action[disabled]:focus,fieldset[disabled] .btn-action:focus,.btn-action.disabled.focus,.btn-action[disabled].focus,fieldset[disabled] .btn-action.focus{background-color:#777;border-color:#6a6a6a}.btn-action .badge{color:#777;background-color:#fff}.value-list-rows .controls-row{margin-bottom:6px}.value-list-rows .controls-row .input-width-lg{width:100%;max-width:calc(100% - 50px)}.form-control-group .form-control{float:left;margin-right:6px}.datepicker{color:#fff}.toggle-container{margin-top:31px;margin-bottom:15px}.toggle-container.form-group{margin-top:0}.toggle-container .btn-group{display:-ms-flexbox;display:flex;height:39px;border-radius:50px}.toggle-container .btn-group>.btn{width:100%;margin-bottom:0;border-radius:50px}.toggle-container .btn-group>.btn:active{box-shadow:none}.toggle-container .btn-group>.btn:active:focus{color:#fff;background-color:rgba(118,194,78,0.75)}.toggle-container .btn-group>.btn-default{color:#a09fa0;background-color:#fff;border-color:#dad8d6}.toggle-container .btn-group>.active,.toggle-container .btn-group>.active:hover,.toggle-container .btn-group:active{color:#fff;background-color:#76c24e;border-color:#76c24e;box-shadow:none}.table>tbody>tr>td{vertical-align:middle}.table>tbody>tr:last-child>td{border-bottom:1px solid #ddd}.form-group.required .control-label::after{margin-left:4px;font-family:'FontAwesome';font-size:6px;font-weight:900;color:#eca9a7;vertical-align:super;content:"\f111"}.qr-code-container{position:relative;display:block;width:60vw;width:100%;max-width:75%;padding:0;margin:0 auto 32px;overflow:hidden;border-radius:6px}.qr-code-container::before{display:block;padding-top:100%;content:""}.qr-code-container .qr-code{position:absolute;top:0;left:0;width:100%;height:100%}.checkin-scroll-panel{position:absolute;top:45px;bottom:24px;z-index:1;width:100%;overflow:hidden}.scroller{position:absolute;z-index:1;width:100%;padding:0 30px;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-moz-text-size-adjust:none;text-size-adjust:none}.iScrollIndicator{position:absolute;box-sizing:border-box;display:block;width:100%;min-height:100px;background-color:rgba(255,255,255,0.4);border-radius:20px;-webkit-transition:0ms cubic-bezier(0.1,0.57,0.1,1);transition:0ms cubic-bezier(0.1,0.57,0.1,1);transform:translate(0,0) translateZ(0)}.iScrollVerticalScrollbar,.iScrollLoneScrollbar{position:absolute;top:2px;right:1px;bottom:2px;z-index:1;width:20px;overflow:hidden}.kioskmanager-activate{position:absolute;right:12px;bottom:8px;z-index:1000;color:#fff;opacity:0.5}.kioskmanager-activate:hover{color:#fff}.kioskmanager-locations{max-width:75%}.kioskmanager-location{position:relative;padding:16px;margin:0 60px 0 0;background-color:rgba(0,0,0,0.1);border-radius:4px}.kioskmanager-location:before,.kioskmanager-location:after{display:table;content:" "}.kioskmanager-location:after{clear:both}.kioskmanager-location .kioskmanager-location-toggle{float:left;margin-top:4px}.kioskmanager-location .kioskmanager-location-label{float:left;padding-left:8px;font-size:36px;font-weight:600}.kioskmanager-location .kioskmanager-location-count{position:absolute;right:12px;margin-top:12px;font-size:24px;font-weight:600}.kioskmanager-actions{position:absolute;bottom:0;left:75%}.kioskmanager-counts .kioskmanager-count h3,.kioskmanager-counts .kioskmanager-count li{color:#fff}.kioskmanager-counts .kioskmanager-count-locations,.kioskmanager-counts .kioskmanager-count-groups,.kioskmanager-counts .kioskmanager-count-schedules{padding:0;list-style:none}.kioskmanager-counts .kioskmanager-count-locations>li{margin-right:12px}.kioskmanager-counts .kioskmanager-counts ul li{float:left;margin-right:24px}.checkin-summary h3{margin-top:0;margin-bottom:24px}.checkin-summary .card{margin-bottom:30px;text-align:left}.checkin-summary .person-name{display:block;font-size:20px;font-weight:700}.checkin-celebrations>.row,.checkin-confirmations>.row{display:flex;flex-wrap:wrap;justify-content:center}.checkin-celebrations+.checkin-confirmations{padding:48px 0 0;margin:36px 0 0;border-top:1px solid #ddd}.checkin-celebrations .card{box-shadow:0 0 12px 0 #7ecdef}.checkin-celebrations .card-body{display:flex;flex-direction:row;align-items:center}.checkin-celebrations .person-name{-webkit-animation:fade-in-bottom 0.6s cubic-bezier(0.25,0.1,0.25,1) 200ms both;animation:fade-in-bottom 0.6s cubic-bezier(0.25,0.1,0.25,1) 200ms both}.checkin-celebrations .person-checkin-details{-webkit-animation:fade-in 1.2s cubic-bezier(0.25,0.1,0.25,1) 200ms both;animation:fade-in 1.2s cubic-bezier(0.25,0.1,0.25,1) 200ms both}.left-icon{padding-left:1rem;margin-right:1rem;-webkit-animation:scale-in-center 0.5s cubic-bezier(0.25,0.46,0.45,0.94) both;animation:scale-in-center 0.5s cubic-bezier(0.25,0.46,0.45,0.94) both}.right-icon{margin-left:auto}.right-icon svg{-webkit-animation:rotate-in-diag-1 0.5s cubic-bezier(0.25,0.46,0.45,0.94) 650ms both;animation:rotate-in-diag-1 0.5s cubic-bezier(0.25,0.46,0.45,0.94) 650ms both}.celebration-progress{display:flex;flex-wrap:wrap;padding:16px 0 0;margin:16px 0 0;border-top:1px solid #ddd}.celebration-progress-name{display:block;margin-bottom:4px;font-weight:700}.celebration-progress-stat{align-self:flex-end;margin-left:auto;font-size:12px}.checkin-confirmations .left-icon{padding-left:0;opacity:0.6;-webkit-animation:none;animation:none}.checkin-confirmations .left-icon.complete{opacity:1}@-webkit-keyframes rotate-in-diag-1{0%{opacity:0; +-webkit-transform:rotate3d(1,1,0,-360deg); +transform:rotate3d(1,1,0,-360deg)} +100%{opacity:1; +-webkit-transform:rotate3d(1,1,0,0deg); +transform:rotate3d(1,1,0,0deg)}} +@keyframes rotate-in-diag-1{0%{opacity:0; +-webkit-transform:rotate3d(1,1,0,-360deg); +transform:rotate3d(1,1,0,-360deg)} +100%{opacity:1; +-webkit-transform:rotate3d(1,1,0,0deg); +transform:rotate3d(1,1,0,0deg)}} +@-webkit-keyframes scale-in-center{0%{opacity:1; +-webkit-transform:scale(0); +transform:scale(0)} +100%{opacity:1; +-webkit-transform:scale(1); +transform:scale(1)}} +@keyframes scale-in-center{0%{opacity:1; +-webkit-transform:scale(0); +transform:scale(0)} +100%{opacity:1; +-webkit-transform:scale(1); +transform:scale(1)}} +@-webkit-keyframes fade-in-bottom{0%{opacity:0; +-webkit-transform:translateY(18px); +transform:translateY(18px)} +100%{opacity:1; +-webkit-transform:translateY(0); +transform:translateY(0)}} +@keyframes fade-in-bottom{0%{opacity:0; +-webkit-transform:translateY(18px); +transform:translateY(18px)} +100%{opacity:1; +-webkit-transform:translateY(0); +transform:translateY(0)}} +@-webkit-keyframes fade-in{0%{opacity:0} +100%{opacity:1}} +@keyframes fade-in{0%{opacity:0} +100%{opacity:1}} +body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:0}.modal{left:50%;bottom:auto;right:auto;padding:0;width:500px;margin-left:-250px;background:#404040;border-radius:4px;box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal.container{max-width:none}.modal-open{overflow:hidden;-webkit-overflow-scrolling:auto}.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .modal-scrollable{overflow-y:scroll;-webkit-overflow-scrolling:touch}@media (max-width:979px){.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom{overflow-y:visible}}.modal-scrollable{position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{outline:none;position:absolute;margin-top:0;top:50%;overflow:visible}.modal.fade{top:-100%;-webkit-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-moz-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-o-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out}.modal.fade.in{top:50%}.modal-body{max-height:none;overflow:visible}.modal.modal-absolute{position:absolute;z-index:950}.modal .loading-mask{position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;border-radius:6px}.modal-backdrop.modal-absolute{position:absolute;z-index:940}.modal-backdrop,.modal-backdrop.fade.in{opacity:0.7;filter:alpha(opacity=70);background:#fff}.modal.container{width:940px;margin-left:-470px}.modal-overflow.modal{top:1%}.modal-overflow.modal.fade{top:-100%}.modal-overflow.modal.fade.in{top:1%}.modal-overflow .modal-body{-webkit-overflow-scrolling:touch}@media (min-width:1200px){.modal.container{width:1170px;margin-left:-585px}}@media (max-width:979px){.modal,.modal.container,.modal.modal-overflow{top:1%;right:1%;left:1%;bottom:auto;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important}.modal.fade.in,.modal.container.fade.in,.modal.modal-overflow.fade.in{top:1%;bottom:auto}.modal-body,.modal-overflow .modal-body{position:static;margin:0;height:auto !important;max-height:none !important;overflow:visible !important}.modal-footer,.modal-overflow .modal-footer{position:static}}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)} +10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)} +20%,40%,60%,80%{-webkit-transform:translateX(10px)}} +@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)} +10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)} +20%,40%,60%,80%{-moz-transform:translateX(10px)}} +@-o-keyframes shake{0%,100%{-o-transform:translateX(0)} +10%,30%,50%,70%,90%{-o-transform:translateX(-10px)} +20%,40%,60%,80%{-o-transform:translateX(10px)}} +@keyframes shake{0%,100%{transform:translateX(0)} +10%,30%,50%,70%,90%{transform:translateX(-10px)} +20%,40%,60%,80%{transform:translateX(10px)}} +.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}body.rock-modal{background:transparent}body.rock-modal .modal-content{border:0 !important;box-shadow:none}.modal-content.rock-modal,.rock-modal .modal-content{background:transparent;border:0;box-shadow:0 12px 24px 0 rgba(0,0,0,0.1)}.modal-content.rock-modal .modal-header,.rock-modal .modal-content .modal-header{min-height:34px;padding:5px 15px;color:#fff;background-color:#404040}.modal-content.rock-modal .modal-header:before,.rock-modal .modal-content .modal-header:before,.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{display:table;content:" "}.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{clear:both}.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{margin-right:12px}.modal-content.rock-modal .modal-header a,.rock-modal .modal-content .modal-header a{color:#fff;text-decoration:underline}.modal-content.rock-modal .modal-header .close,.rock-modal .modal-content .modal-header .close{padding:6px;text-decoration:none;color:#000;text-shadow:none}.modal-content.rock-modal .modal-header .label,.rock-modal .modal-content .modal-header .label{margin-top:8px}.modal-content.rock-modal .modal-header small,.rock-modal .modal-content .modal-header small{display:block;margin-top:12px;color:#e6e6e6}@media screen and (min-width:768px){.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{float:left}}.modal-content.rock-modal .modal-body,.rock-modal .modal-content .modal-body{padding:8px 12px 12px;color:#fff;text-align:left;background-color:#404040}.modal-content.rock-modal .modal-body>.scroll-container,.rock-modal .modal-content .modal-body>.scroll-container{width:720px}.modal-content.rock-modal .modal-body>.scroll-container>.viewport,.rock-modal .modal-content .modal-body>.scroll-container>.viewport{width:670px}.modal-content.rock-modal .modal-body.iframe,.rock-modal .modal-content .modal-body.iframe{overflow:hidden}.modal-content.rock-modal .modal-footer,.rock-modal .modal-content .modal-footer{padding:8px 8px;margin-top:0;color:#fff;background-color:#404040;border-radius:0 0 4px 4px}.rock-modal .modal-footer .btn{float:right;margin-left:5px}.rock-modal-frame{border-radius:6px !important}.modal.modal-overflow{top:30px;margin-bottom:30px}@supports (-webkit-overflow-scrolling: touch){.modal.modal-overflow{top:1%;height:calc(100% - 1px) !important}} +#modal-popup_iframe{display:block;width:100%;height:100%;border:0}.modal-backdrop,.modal-backdrop.fade.in{background:#000;filter:alpha(opacity=70);opacity:0.5}.modal-dialog{width:auto;margin:0}.modal-content{border:none}.primary-color{color:#fff;background-color:#737373}.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-top{vertical-align:text-top !important}.align-text-bottom{vertical-align:text-bottom !important}.bg-primary{background-color:#337ab7 !important}.bg-success{background-color:#5cb85c !important}.bg-info{background-color:#5bc0de !important}.bg-warning{background-color:#f0ad4e !important}.bg-danger{background-color:#d9534f !important}.bg-critical{background-color:#ee7624 !important}.bg-body,.bg-color{background-color:#fff !important}.border{border:1px solid #000 !important}.border-top{border-top:1px solid #000 !important}.border-right{border-right:1px solid #000 !important}.border-bottom{border-bottom:1px solid #000 !important}.border-left{border-left:1px solid #000 !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:#337ab7 !important}.border-success{border-color:#5cb85c !important}.border-danger{border-color:#d9534f !important}.border-warning{border-color:#f0ad4e !important}.border-info{border-color:#5bc0de !important}.border-critical{border-color:#ee7624 !important}.border-panel{border-color:#cde1f1 !important}.rounded{border-radius:4px !important}.rounded-sm{border-radius:3px !important}.rounded-lg{border-radius:6px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:999px !important}.rounded-0{border-radius:0 !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #ddd;border-radius:4px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.card-body{flex:1 1 auto;min-height:1px;padding:18px 18px}.card-body{color:#161e2e}.card-title{margin-top:0;margin-bottom:0.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:18px}.card-header{padding:0.75rem 1.25rem;margin-top:0;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid #ddd}.card-header:first-child{border-radius:calc(4px - 1px) calc(4px - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:0.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid #ddd}.card-footer:last-child{border-radius:0 0 calc(4px - 1px) calc(4px - 1px)}.card-header-tabs{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(4px - 1px);border-top-right-radius:calc(4px - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(4px - 1px);border-bottom-left-radius:calc(4px - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{margin-bottom:-1px;border-radius:0}.card-sm .card-body{padding:0.75rem 0.75rem}.card-schedule{min-height:99px;margin-bottom:16px;border-radius:6px}.card-schedule .card-body{padding-right:0}.card-schedule .card-title{font-size:20px}.card-schedule .schedule-date{font-weight:500}.card-schedule .schedule-occurrence,.card-schedule .schedule-occurrence-schedule{display:block}.card-schedule .schedule-confirm{display:flex;flex-basis:180px;flex-wrap:wrap;align-items:center;align-self:center;justify-content:flex-end;margin-right:0.75rem}.card-schedule .schedule-confirm .btn-primary{margin:4px 0 4px 8px}.card-schedule.schedule-unavailable{background:#f5f5f5}.bg-transparent{background-color:transparent !important}.bg-current{background-color:currentColor !important}.bg-black{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-gray-100{background-color:#f8f9fa !important}.bg-gray-200{background-color:#e9ecef !important}.bg-gray-300{background-color:#dee2e6 !important}.bg-gray-400{background-color:#ced4da !important}.bg-gray-500{background-color:#adb5bd !important}.bg-gray-600{background-color:#6c757d !important}.bg-gray-700{background-color:#495057 !important}.bg-gray-800{background-color:#343a40 !important}.bg-gray-900{background-color:#212529 !important}.bg-red-100{background-color:#fff5f5 !important}.bg-red-200{background-color:#fed7d7 !important}.bg-red-300{background-color:#feb2b2 !important}.bg-red-400{background-color:#fc8181 !important}.bg-red-500{background-color:#f56565 !important}.bg-red-600{background-color:#e53e3e !important}.bg-red-700{background-color:#c53030 !important}.bg-red-800{background-color:#9b2c2c !important}.bg-red-900{background-color:#742a2a !important}.bg-orange-100{background-color:#fffaf0 !important}.bg-orange-200{background-color:#feebc8 !important}.bg-orange-300{background-color:#fbd38d !important}.bg-orange-400{background-color:#f6ad55 !important}.bg-orange-500{background-color:#ed8936 !important}.bg-orange-600{background-color:#dd6b20 !important}.bg-orange-700{background-color:#c05621 !important}.bg-orange-800{background-color:#9c4221 !important}.bg-orange-900{background-color:#7b341e !important}.bg-yellow-100{background-color:ivory !important}.bg-yellow-200{background-color:#fefcbf !important}.bg-yellow-300{background-color:#faf089 !important}.bg-yellow-400{background-color:#f6e05e !important}.bg-yellow-500{background-color:#ecc94b !important}.bg-yellow-600{background-color:#d69e2e !important}.bg-yellow-700{background-color:#b7791f !important}.bg-yellow-800{background-color:#975a16 !important}.bg-yellow-900{background-color:#744210 !important}.bg-green-100{background-color:#f0fff4 !important}.bg-green-200{background-color:#c6f6d5 !important}.bg-green-300{background-color:#9ae6b4 !important}.bg-green-400{background-color:#68d391 !important}.bg-green-500{background-color:#48bb78 !important}.bg-green-600{background-color:#38a169 !important}.bg-green-700{background-color:#2f855a !important}.bg-green-800{background-color:#276749 !important}.bg-green-900{background-color:#22543d !important}.bg-teal-100{background-color:#e6fffa !important}.bg-teal-200{background-color:#b2f5ea !important}.bg-teal-300{background-color:#81e6d9 !important}.bg-teal-400{background-color:#4fd1c5 !important}.bg-teal-500{background-color:#38b2ac !important}.bg-teal-600{background-color:#319795 !important}.bg-teal-700{background-color:#2c7a7b !important}.bg-teal-800{background-color:#285e61 !important}.bg-teal-900{background-color:#234e52 !important}.bg-blue-100{background-color:#ebf8ff !important}.bg-blue-200{background-color:#bee3f8 !important}.bg-blue-300{background-color:#90cdf4 !important}.bg-blue-400{background-color:#63b3ed !important}.bg-blue-500{background-color:#4299e1 !important}.bg-blue-600{background-color:#3182ce !important}.bg-blue-700{background-color:#2b6cb0 !important}.bg-blue-800{background-color:#2c5282 !important}.bg-blue-900{background-color:#2a4365 !important}.bg-indigo-100{background-color:#ebf4ff !important}.bg-indigo-200{background-color:#c3dafe !important}.bg-indigo-300{background-color:#a3bffa !important}.bg-indigo-400{background-color:#7f9cf5 !important}.bg-indigo-500{background-color:#667eea !important}.bg-indigo-600{background-color:#5a67d8 !important}.bg-indigo-700{background-color:#4c51bf !important}.bg-indigo-800{background-color:#434190 !important}.bg-indigo-900{background-color:#3c366b !important}.bg-purple-100{background-color:#faf5ff !important}.bg-purple-200{background-color:#e9d8fd !important}.bg-purple-300{background-color:#d6bcfa !important}.bg-purple-400{background-color:#b794f4 !important}.bg-purple-500{background-color:#9f7aea !important}.bg-purple-600{background-color:#805ad5 !important}.bg-purple-700{background-color:#6b46c1 !important}.bg-purple-800{background-color:#553c9a !important}.bg-purple-900{background-color:#44337a !important}.bg-pink-100{background-color:#fff5f7 !important}.bg-pink-200{background-color:#fed7e2 !important}.bg-pink-300{background-color:#fbb6ce !important}.bg-pink-400{background-color:#f687b3 !important}.bg-pink-500{background-color:#ed64a6 !important}.bg-pink-600{background-color:#d53f8c !important}.bg-pink-700{background-color:#b83280 !important}.bg-pink-800{background-color:#97266d !important}.bg-pink-900{background-color:#702459 !important}.text-transparent{color:transparent !important}.text-current{color:currentColor !important}.text-black{color:#000 !important}.text-white{color:#fff !important}.text-gray-100{color:#f8f9fa !important}.text-gray-200{color:#e9ecef !important}.text-gray-300{color:#dee2e6 !important}.text-gray-400{color:#ced4da !important}.text-gray-500{color:#adb5bd !important}.text-gray-600{color:#6c757d !important}.text-gray-700{color:#495057 !important}.text-gray-800{color:#343a40 !important}.text-gray-900{color:#212529 !important}.text-red-100{color:#fff5f5 !important}.text-red-200{color:#fed7d7 !important}.text-red-300{color:#feb2b2 !important}.text-red-400{color:#fc8181 !important}.text-red-500{color:#f56565 !important}.text-red-600{color:#e53e3e !important}.text-red-700{color:#c53030 !important}.text-red-800{color:#9b2c2c !important}.text-red-900{color:#742a2a !important}.text-orange-100{color:#fffaf0 !important}.text-orange-200{color:#feebc8 !important}.text-orange-300{color:#fbd38d !important}.text-orange-400{color:#f6ad55 !important}.text-orange-500{color:#ed8936 !important}.text-orange-600{color:#dd6b20 !important}.text-orange-700{color:#c05621 !important}.text-orange-800{color:#9c4221 !important}.text-orange-900{color:#7b341e !important}.text-yellow-100{color:ivory !important}.text-yellow-200{color:#fefcbf !important}.text-yellow-300{color:#faf089 !important}.text-yellow-400{color:#f6e05e !important}.text-yellow-500{color:#ecc94b !important}.text-yellow-600{color:#d69e2e !important}.text-yellow-700{color:#b7791f !important}.text-yellow-800{color:#975a16 !important}.text-yellow-900{color:#744210 !important}.text-green-100{color:#f0fff4 !important}.text-green-200{color:#c6f6d5 !important}.text-green-300{color:#9ae6b4 !important}.text-green-400{color:#68d391 !important}.text-green-500{color:#48bb78 !important}.text-green-600{color:#38a169 !important}.text-green-700{color:#2f855a !important}.text-green-800{color:#276749 !important}.text-green-900{color:#22543d !important}.text-teal-100{color:#e6fffa !important}.text-teal-200{color:#b2f5ea !important}.text-teal-300{color:#81e6d9 !important}.text-teal-400{color:#4fd1c5 !important}.text-teal-500{color:#38b2ac !important}.text-teal-600{color:#319795 !important}.text-teal-700{color:#2c7a7b !important}.text-teal-800{color:#285e61 !important}.text-teal-900{color:#234e52 !important}.text-blue-100{color:#ebf8ff !important}.text-blue-200{color:#bee3f8 !important}.text-blue-300{color:#90cdf4 !important}.text-blue-400{color:#63b3ed !important}.text-blue-500{color:#4299e1 !important}.text-blue-600{color:#3182ce !important}.text-blue-700{color:#2b6cb0 !important}.text-blue-800{color:#2c5282 !important}.text-blue-900{color:#2a4365 !important}.text-indigo-100{color:#ebf4ff !important}.text-indigo-200{color:#c3dafe !important}.text-indigo-300{color:#a3bffa !important}.text-indigo-400{color:#7f9cf5 !important}.text-indigo-500{color:#667eea !important}.text-indigo-600{color:#5a67d8 !important}.text-indigo-700{color:#4c51bf !important}.text-indigo-800{color:#434190 !important}.text-indigo-900{color:#3c366b !important}.text-purple-100{color:#faf5ff !important}.text-purple-200{color:#e9d8fd !important}.text-purple-300{color:#d6bcfa !important}.text-purple-400{color:#b794f4 !important}.text-purple-500{color:#9f7aea !important}.text-purple-600{color:#805ad5 !important}.text-purple-700{color:#6b46c1 !important}.text-purple-800{color:#553c9a !important}.text-purple-900{color:#44337a !important}.text-pink-100{color:#fff5f7 !important}.text-pink-200{color:#fed7e2 !important}.text-pink-300{color:#fbb6ce !important}.text-pink-400{color:#f687b3 !important}.text-pink-500{color:#ed64a6 !important}.text-pink-600{color:#d53f8c !important}.text-pink-700{color:#b83280 !important}.text-pink-800{color:#97266d !important}.text-pink-900{color:#702459 !important}.border-transparent{border-color:transparent !important}.border-black{border-color:#000 !important}.border-white{border-color:#fff !important}.border-gray-100{border-color:#f7fafc !important}.border-gray-200{border-color:#edf2f7 !important}.border-gray-300{border-color:#e2e8f0 !important}.border-gray-400{border-color:#cbd5e0 !important}.border-gray-500{border-color:#a0aec0 !important}.border-gray-600{border-color:#718096 !important}.border-gray-700{border-color:#4a5568 !important}.border-gray-800{border-color:#2d3748 !important}.border-gray-900{border-color:#1a202c !important}.border-red-100{border-color:#fff5f5 !important}.border-red-200{border-color:#fed7d7 !important}.border-red-300{border-color:#feb2b2 !important}.border-red-400{border-color:#fc8181 !important}.border-red-500{border-color:#f56565 !important}.border-red-600{border-color:#e53e3e !important}.border-red-700{border-color:#c53030 !important}.border-red-800{border-color:#9b2c2c !important}.border-red-900{border-color:#742a2a !important}.border-orange-100{border-color:#fffaf0 !important}.border-orange-200{border-color:#feebc8 !important}.border-orange-300{border-color:#fbd38d !important}.border-orange-400{border-color:#f6ad55 !important}.border-orange-500{border-color:#ed8936 !important}.border-orange-600{border-color:#dd6b20 !important}.border-orange-700{border-color:#c05621 !important}.border-orange-800{border-color:#9c4221 !important}.border-orange-900{border-color:#7b341e !important}.border-yellow-100{border-color:ivory !important}.border-yellow-200{border-color:#fefcbf !important}.border-yellow-300{border-color:#faf089 !important}.border-yellow-400{border-color:#f6e05e !important}.border-yellow-500{border-color:#ecc94b !important}.border-yellow-600{border-color:#d69e2e !important}.border-yellow-700{border-color:#b7791f !important}.border-yellow-800{border-color:#975a16 !important}.border-yellow-900{border-color:#744210 !important}.border-green-100{border-color:#f0fff4 !important}.border-green-200{border-color:#c6f6d5 !important}.border-green-300{border-color:#9ae6b4 !important}.border-green-400{border-color:#68d391 !important}.border-green-500{border-color:#48bb78 !important}.border-green-600{border-color:#38a169 !important}.border-green-700{border-color:#2f855a !important}.border-green-800{border-color:#276749 !important}.border-green-900{border-color:#22543d !important}.border-teal-100{border-color:#e6fffa !important}.border-teal-200{border-color:#b2f5ea !important}.border-teal-300{border-color:#81e6d9 !important}.border-teal-400{border-color:#4fd1c5 !important}.border-teal-500{border-color:#38b2ac !important}.border-teal-600{border-color:#319795 !important}.border-teal-700{border-color:#2c7a7b !important}.border-teal-800{border-color:#285e61 !important}.border-teal-900{border-color:#234e52 !important}.border-blue-100{border-color:#ebf8ff !important}.border-blue-200{border-color:#bee3f8 !important}.border-blue-300{border-color:#90cdf4 !important}.border-blue-400{border-color:#63b3ed !important}.border-blue-500{border-color:#4299e1 !important}.border-blue-600{border-color:#3182ce !important}.border-blue-700{border-color:#2b6cb0 !important}.border-blue-800{border-color:#2c5282 !important}.border-blue-900{border-color:#2a4365 !important}.border-indigo-100{border-color:#ebf4ff !important}.border-indigo-200{border-color:#c3dafe !important}.border-indigo-300{border-color:#a3bffa !important}.border-indigo-400{border-color:#7f9cf5 !important}.border-indigo-500{border-color:#667eea !important}.border-indigo-600{border-color:#5a67d8 !important}.border-indigo-700{border-color:#4c51bf !important}.border-indigo-800{border-color:#434190 !important}.border-indigo-900{border-color:#3c366b !important}.border-purple-100{border-color:#faf5ff !important}.border-purple-200{border-color:#e9d8fd !important}.border-purple-300{border-color:#d6bcfa !important}.border-purple-400{border-color:#b794f4 !important}.border-purple-500{border-color:#9f7aea !important}.border-purple-600{border-color:#805ad5 !important}.border-purple-700{border-color:#6b46c1 !important}.border-purple-800{border-color:#553c9a !important}.border-purple-900{border-color:#44337a !important}.border-pink-100{border-color:#fff5f7 !important}.border-pink-200{border-color:#fed7e2 !important}.border-pink-300{border-color:#fbb6ce !important}.border-pink-400{border-color:#f687b3 !important}.border-pink-500{border-color:#ed64a6 !important}.border-pink-600{border-color:#d53f8c !important}.border-pink-700{border-color:#b83280 !important}.border-pink-800{border-color:#97266d !important}.border-pink-900{border-color:#702459 !important}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer,.clickable{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.cursor-grabbing{cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.cursor-zoom-in{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.cursor-zoom-out{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.row-eq-height{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}@media (min-width:992px){.row-eq-height-md{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.hover-underline:hover{text-decoration:underline}.object-contain{object-fit:contain !important}.object-cover{object-fit:cover !important}.object-fill{object-fit:fill !important}.object-none{object-fit:none !important}.object-scale-down{object-fit:scale-down !important}.o-00,.o-0{opacity:0 !important}.o-10{opacity:0.1 !important}.o-20{opacity:0.2 !important}.o-30{opacity:0.3 !important}.o-40{opacity:0.4 !important}.o-50{opacity:0.5 !important}.o-60{opacity:0.6 !important}.o-70{opacity:0.7 !important}.o-80{opacity:0.8 !important}.o-90{opacity:0.9 !important}.o-100{opacity:1 !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1050}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1050}.inset-0{position:absolute;top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.bottom-0{bottom:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06) !important}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05) !important}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04) !important}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25) !important}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06) !important}.shadow-none{box-shadow:none !important}.w-1{width:1% !important}.w-20{width:20% !important}.w-25,.width-quarter{width:25% !important}.width-third{width:33.33333% !important}.w-50,.width-half{width:50% !important}.w-75{width:75% !important}.w-100,.width-full{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-w-0{min-width:0 !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.padding-all-none{padding:0 !important}.padding-all-sm{padding:8px !important}.padding-all-md{padding:15px !important}.padding-all-lg{padding:30px !important}.padding-all-xl{padding:60px !important}.margin-all-none{margin:0 !important}.margin-all-sm{margin:8px !important}.margin-all-md{margin:15px !important}.margin-all-lg{margin:30px !important}.margin-all-xl{margin:60px !important}.padding-v-none{padding-top:0 !important;padding-bottom:0 !important}.padding-v-sm{padding-top:8px !important;padding-bottom:8px !important}.padding-v-md{padding-top:15px !important;padding-bottom:15px !important}.padding-v-lg{padding-top:30px !important;padding-bottom:30px !important}.padding-v-xl{padding-top:60px !important;padding-bottom:60px !important}.margin-v-none{margin-top:0 !important;margin-bottom:0 !important}.margin-v-sm{margin-top:8px !important;margin-bottom:8px !important}.margin-v-md{margin-top:15px !important;margin-bottom:15px !important}.margin-v-lg{margin-top:30px !important;margin-bottom:30px !important}.margin-v-xl{margin-top:60px !important;margin-bottom:60px !important}.padding-h-none{padding-right:0 !important;padding-left:0 !important}.padding-h-sm{padding-right:8px !important;padding-left:8px !important}.padding-h-md{padding-right:15px !important;padding-left:15px !important}.padding-h-lg{padding-right:30px !important;padding-left:30px !important}.padding-h-xl{padding-right:60px !important;padding-left:60px !important}.margin-h-none{margin-right:0 !important;margin-left:0 !important}.margin-h-sm{margin-right:8px !important;margin-left:8px !important}.margin-h-md{margin-right:15px !important;margin-left:15px !important}.margin-h-lg{margin-right:30px !important;margin-left:30px !important}.margin-h-xl{margin-right:60px !important;margin-left:60px !important}.padding-t-none{padding-top:0 !important}.padding-t-sm{padding-top:8px !important}.padding-t-md{padding-top:15px !important}.padding-t-lg{padding-top:30px !important}.padding-t-xl{padding-top:60px !important}.margin-t-none{margin-top:0 !important}.margin-t-sm{margin-top:8px !important}.margin-t-md{margin-top:15px !important}.margin-t-lg{margin-top:30px !important}.margin-t-xl{margin-top:60px !important}.padding-b-none{padding-bottom:0 !important}.padding-b-sm{padding-bottom:8px !important}.padding-b-md{padding-bottom:15px !important}.padding-b-lg{padding-bottom:30px !important}.padding-b-xl{padding-bottom:60px !important}.margin-b-none{margin-bottom:0 !important}.margin-b-sm{margin-bottom:8px !important}.margin-b-md{margin-bottom:15px !important}.margin-b-lg{margin-bottom:30px !important}.margin-b-xl{margin-bottom:60px !important}.padding-r-none{padding-right:0 !important}.padding-r-sm{padding-right:8px !important}.padding-r-md{padding-right:15px !important}.padding-r-lg{padding-right:30px !important}.padding-r-xl{padding-right:60px !important}.margin-r-none{margin-right:0 !important}.margin-r-sm{margin-right:8px !important}.margin-r-md{margin-right:15px !important}.margin-r-lg{margin-right:30px !important}.margin-r-xl{margin-right:60px !important}.padding-l-none{padding-left:0 !important}.padding-l-sm{padding-left:8px !important}.padding-l-md{padding-left:15px !important}.padding-l-lg{padding-left:30px !important}.padding-l-xl{padding-left:60px !important}.margin-l-none{margin-left:0 !important}.margin-l-sm{margin-left:8px !important}.margin-l-md{margin-left:15px !important}.margin-l-lg{margin-left:30px !important}.margin-l-xl{margin-left:60px !important}.mx--panel-body{margin-right:-15px;margin-left:-15px}.font-monospace{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light,.text-light{font-weight:300 !important}.font-weight-lighter{font-weight:200 !important}.font-weight-normal,.text-normal{font-weight:400 !important}.font-weight-semibold{font-weight:500 !important}.font-weight-bold,.text-semibold{font-weight:600 !important}.font-weight-bolder,.text-bold{font-weight:900 !important}.font-italic{font-style:italic !important}.text-primary{color:#337ab7 !important}.text-success{color:#5cb85c !important}.text-danger{color:#d9534f !important}.text-warning{color:#f0ad4e !important}.text-info{color:#5bc0de !important}.text-critical{color:#ee7624 !important}.text-color,.text-body{color:#fff !important}.text-muted{color:#777 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-decoration-none{text-decoration:none !important}.text-linethrough{text-decoration:line-through !important}.text-reset{color:inherit !important}.text-shadow-light{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.text-shadow{text-shadow:-1px -1px 0 #777,1px -1px 0 #777,-1px 1px 0 #777,1px 1px 0 #777}.text-shadow-dark{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.leading-tight{line-height:0.9 !important}.leading-snug{line-height:1 !important}.leading-normal{line-height:1.5 !important}.leading-relaxed{line-height:1.75 !important}.leading-loose{line-height:2 !important}.select-none,.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.-z-10{z-index:-10 !important}.z-0{z-index:0 !important}.z-10{z-index:10 !important}.z-20{z-index:20 !important}.z-30{z-index:30 !important}.z-40{z-index:40 !important}.z-50{z-index:50 !important}.z-auto{z-index:auto !important}.is-inactive{opacity:0.6}.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:flex !important}.d-inline-flex{display:inline-flex !important}.col{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:0.25rem !important}.m-2{margin:0.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:0.25rem !important}.mt-2{margin-top:0.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.mr-0{margin-right:0 !important}.mr-1{margin-right:0.25rem !important}.mr-2{margin-right:0.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mr-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:0.25rem !important}.mb-2{margin-bottom:0.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ml-0{margin-left:0 !important}.ml-1{margin-left:0.25rem !important}.ml-2{margin-left:0.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.ml-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:0.25rem !important}.p-2{padding:0.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:0.25rem !important}.pt-2{padding-top:0.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pr-0{padding-right:0 !important}.pr-1{padding-right:0.25rem !important}.pr-2{padding-right:0.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:0.25rem !important}.pb-2{padding-bottom:0.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.pl-0{padding-left:0 !important}.pl-1{padding-left:0.25rem !important}.pl-2{padding-left:0.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width:768px){.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:flex !important}.d-sm-inline-flex{display:inline-flex !important}.col-sm{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:0.25rem !important}.m-sm-2{margin:0.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-sm-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-sm-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:0.25rem !important}.mt-sm-2{margin-top:0.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.mr-sm-0{margin-right:0 !important}.mr-sm-1{margin-right:0.25rem !important}.mr-sm-2{margin-right:0.5rem !important}.mr-sm-3{margin-right:1rem !important}.mr-sm-4{margin-right:1.5rem !important}.mr-sm-5{margin-right:3rem !important}.mr-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:0.25rem !important}.mb-sm-2{margin-bottom:0.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ml-sm-0{margin-left:0 !important}.ml-sm-1{margin-left:0.25rem !important}.ml-sm-2{margin-left:0.5rem !important}.ml-sm-3{margin-left:1rem !important}.ml-sm-4{margin-left:1.5rem !important}.ml-sm-5{margin-left:3rem !important}.ml-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:0.25rem !important}.p-sm-2{padding:0.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-sm-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-sm-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:0.25rem !important}.pt-sm-2{padding-top:0.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pr-sm-0{padding-right:0 !important}.pr-sm-1{padding-right:0.25rem !important}.pr-sm-2{padding-right:0.5rem !important}.pr-sm-3{padding-right:1rem !important}.pr-sm-4{padding-right:1.5rem !important}.pr-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:0.25rem !important}.pb-sm-2{padding-bottom:0.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.pl-sm-0{padding-left:0 !important}.pl-sm-1{padding-left:0.25rem !important}.pl-sm-2{padding-left:0.5rem !important}.pl-sm-3{padding-left:1rem !important}.pl-sm-4{padding-left:1.5rem !important}.pl-sm-5{padding-left:3rem !important}.text-sm-left,.sm-text-left{text-align:left !important}.text-sm-right,.sm-text-right{text-align:right !important}.text-sm-center,.sm-text-right{text-align:center !important}}@media (min-width:992px){.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:flex !important}.d-md-inline-flex{display:inline-flex !important}.col-md{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:0.25rem !important}.m-md-2{margin:0.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-md-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-md-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:0.25rem !important}.mt-md-2{margin-top:0.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.mr-md-0{margin-right:0 !important}.mr-md-1{margin-right:0.25rem !important}.mr-md-2{margin-right:0.5rem !important}.mr-md-3{margin-right:1rem !important}.mr-md-4{margin-right:1.5rem !important}.mr-md-5{margin-right:3rem !important}.mr-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:0.25rem !important}.mb-md-2{margin-bottom:0.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ml-md-0{margin-left:0 !important}.ml-md-1{margin-left:0.25rem !important}.ml-md-2{margin-left:0.5rem !important}.ml-md-3{margin-left:1rem !important}.ml-md-4{margin-left:1.5rem !important}.ml-md-5{margin-left:3rem !important}.ml-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:0.25rem !important}.p-md-2{padding:0.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-md-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-md-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:0.25rem !important}.pt-md-2{padding-top:0.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pr-md-0{padding-right:0 !important}.pr-md-1{padding-right:0.25rem !important}.pr-md-2{padding-right:0.5rem !important}.pr-md-3{padding-right:1rem !important}.pr-md-4{padding-right:1.5rem !important}.pr-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:0.25rem !important}.pb-md-2{padding-bottom:0.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.pl-md-0{padding-left:0 !important}.pl-md-1{padding-left:0.25rem !important}.pl-md-2{padding-left:0.5rem !important}.pl-md-3{padding-left:1rem !important}.pl-md-4{padding-left:1.5rem !important}.pl-md-5{padding-left:3rem !important}.text-md-left,.md-text-left{text-align:left !important}.text-md-right,.md-text-right{text-align:right !important}.text-md-center,.md-text-right{text-align:center !important}}@media (min-width:1200px){.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:flex !important}.d-lg-inline-flex{display:inline-flex !important}.col-lg{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:0.25rem !important}.m-lg-2{margin:0.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-lg-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-lg-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:0.25rem !important}.mt-lg-2{margin-top:0.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.mr-lg-0{margin-right:0 !important}.mr-lg-1{margin-right:0.25rem !important}.mr-lg-2{margin-right:0.5rem !important}.mr-lg-3{margin-right:1rem !important}.mr-lg-4{margin-right:1.5rem !important}.mr-lg-5{margin-right:3rem !important}.mr-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:0.25rem !important}.mb-lg-2{margin-bottom:0.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ml-lg-0{margin-left:0 !important}.ml-lg-1{margin-left:0.25rem !important}.ml-lg-2{margin-left:0.5rem !important}.ml-lg-3{margin-left:1rem !important}.ml-lg-4{margin-left:1.5rem !important}.ml-lg-5{margin-left:3rem !important}.ml-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:0.25rem !important}.p-lg-2{padding:0.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-lg-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-lg-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:0.25rem !important}.pt-lg-2{padding-top:0.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pr-lg-0{padding-right:0 !important}.pr-lg-1{padding-right:0.25rem !important}.pr-lg-2{padding-right:0.5rem !important}.pr-lg-3{padding-right:1rem !important}.pr-lg-4{padding-right:1.5rem !important}.pr-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:0.25rem !important}.pb-lg-2{padding-bottom:0.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.pl-lg-0{padding-left:0 !important}.pl-lg-1{padding-left:0.25rem !important}.pl-lg-2{padding-left:0.5rem !important}.pl-lg-3{padding-left:1rem !important}.pl-lg-4{padding-left:1.5rem !important}.pl-lg-5{padding-left:3rem !important}.text-lg-left,.lg-text-left{text-align:left !important}.text-lg-right,.lg-text-right{text-align:right !important}.text-lg-center,.lg-text-right{text-align:center !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:flex !important}.d-print-inline-flex{display:inline-flex !important}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.abs-scroll-list{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}@font-face{font-family:'colfax-web'; +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.eot'); +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.eot?#iefix') format('embedded-opentype'),url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.woff') format('woff'); +font-style:normal; +font-weight:500} +@font-face{font-family:'colfax-web'; +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.eot'); +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.eot?#iefix') format('embedded-opentype'),url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.woff') format('woff'); +font-style:normal; +font-weight:400} +@font-face{font-family:'colfax-web'; +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.eot'); +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.eot?#iefix') format('embedded-opentype'),url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.woff') format('woff'); +font-style:normal; +font-weight:700} +@font-face{font-family:'colfax-web'; +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.eot'); +src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.eot?#iefix') format('embedded-opentype'),url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.woff') format('woff'); +font-style:normal; +font-weight:900} +body{background-image:none}body:after{content:'';position:absolute;bottom:0;right:0;width:120px;height:120px;background-image:url('../Assets/Images/newspring-logo.png');background-size:cover;z-index:-1}.btn-primary.active{background-color:#6bac43;border-color:#6bac43}@media (min-width:768px){.modal .modal-dialog{margin:0;width:100%}} \ No newline at end of file diff --git a/RockWeb/Themes/Fuse/Styles/checkin-theme.less b/RockWeb/Themes/Fuse/Styles/checkin-theme.less new file mode 100644 index 00000000000..ae12534e089 --- /dev/null +++ b/RockWeb/Themes/Fuse/Styles/checkin-theme.less @@ -0,0 +1,171 @@ +/* + + Fuse Check-in Theme + Crafted by: @briankalwat + � NewSpring + + */ + +// +// Imports +// -------------------------------------------------- + +@import "../../../Styles/FontAwesome/font-awesome.less"; +@import "../../../Styles/Bootstrap/bootstrap.less"; +@import "../../../Styles/_checkin-core.less"; +@import "../../../Styles/_modal.less"; +@import "../../../Styles/_helpers.less"; + +// +// Variables +// -------------------------------------------------- + +// Font Variables +@font-family-base: 'colfax-web', 'Helvetica Neue', Helvetica, Arial, sans-serif; +@font-weight-light: 300; +@font-weight-bold: 600; +@font-weight-semibold: 500; + +@bg-color: #404040; +@fg-color: #6bac43; // NewSpring Green +@neg-color: #B83833; +@text-color: #fff; + +@modal-body-bg: @bg-color; +@modal-body-text-color: @text-color; +@modal-header-bg: @bg-color; +@modal-header-text-color: @text-color; +@modal-footer-bg: @bg-color; +@modal-footer-text-color: @text-color; + +@header-text-color: #fff; +@header-font-weight: @font-weight-bold; + +@subheader-text-color: #bde2ef; +@subheader-font-weight: @font-weight-light; + +// Button Styles +@btn-default-bg: darken(@bg-color, 5); +@btn-default-color: #fff; +@btn-default-border: darken(@bg-color, 5); +@checkin-button-text-weight: @font-weight-bold; +@checkin-button-alttext-weight: @font-weight-light; + +@btn-primary-color: #fff; +@btn-primary-border: lighten(@bg-color, 20); +@btn-primary-bg: lighten(@bg-color, 20); + +@btn-disabled-color: @btn-primary-border; +@btn-disabled-bg: darken(@btn-primary-bg, 20%); + +// scroll bar +@scrollbar-bg: #000; +@scrollbar-border: #adaeaf; + +// colors +@accent-color: @fg-color; +@accent-text-color: @btn-primary-color; + +@accent-light-color: @btn-default-bg; +@accent-light-text-color: @btn-primary-color; + +@accent-semibold-color: @btn-default-bg; +@accent-semibold-text-color: @btn-primary-color; + +// override accent bold to use an offset color +@accent-bold-color: @neg-color; +@accent-bold-text-color: @btn-primary-color; + +// Fonts +// ------------------------- + +// regular (weight 'normal' aka 400) +@font-face{ + font-family:'colfax-web'; + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.eot'); + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.eot?#iefix') format('embedded-opentype'), + url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/medium.woff') format('woff'); + font-style:normal; + font-weight:500; +} + +// light (weight 300) +@font-face{ + font-family:'colfax-web'; + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.eot'); + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.eot?#iefix') format('embedded-opentype'), + url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/regular.woff') format('woff'); + font-style:normal; + font-weight:400; +} + +// semi-bold (weight 600) +@font-face{ + font-family:'colfax-web'; + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.eot'); + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.eot?#iefix') format('embedded-opentype'), + url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/bold.woff') format('woff'); + font-style:normal; + font-weight:700; +} + +// bold (weight 700) +@font-face{ + font-family:'colfax-web'; + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.eot'); + src:url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.eot?#iefix') format('embedded-opentype'), + url('//d3n6tjerleuu41.cloudfront.net/fonts/colfax/black.woff') format('woff'); + font-style:normal; + font-weight:900; +} + + +// +// Mix-ins +// -------------------------------------------------- +.checkinBackground () { + background-color: @bg-color; + background-image: url('../Assets/Images/newspring-logo.png'); + background-position: bottom right; + background-repeat: no-repeat; + background-size: 20%; +} + +.checkinBackgroundRetina() +{ + //background-image: url('../Assets/Images/background@2x.jpg'); + background-size: 1348px 1024px; // should be 1/2 of the actual +} + +// +// Custom Overrides +// -------------------------------------------------- +body { + background-image: none; +} + +body:after { + content: ''; + position: absolute; + bottom: 0; + right: 0; + width: 120px; + height: 120px; + background-image: url('../Assets/Images/newspring-logo.png'); + background-size: cover; + z-index: -1; +} + +.btn-primary.active { + background-color: @accent-color; + border-color: @accent-color; +} + +@media (min-width: 768px) { + + .modal .modal-dialog { + margin: 0; + width: 100%; + } + +} \ No newline at end of file diff --git a/RockWeb/Themes/KidSpring/Assets/Images/background.jpg b/RockWeb/Themes/KidSpring/Assets/Images/background.jpg new file mode 100644 index 00000000000..3b3937a3395 Binary files /dev/null and b/RockWeb/Themes/KidSpring/Assets/Images/background.jpg differ diff --git a/RockWeb/Themes/KidSpring/Assets/Images/background@2x.jpg b/RockWeb/Themes/KidSpring/Assets/Images/background@2x.jpg new file mode 100644 index 00000000000..7d90a956fbc Binary files /dev/null and b/RockWeb/Themes/KidSpring/Assets/Images/background@2x.jpg differ diff --git a/RockWeb/Themes/KidSpring/Assets/Images/kidspring-logo.png b/RockWeb/Themes/KidSpring/Assets/Images/kidspring-logo.png new file mode 100644 index 00000000000..d28932d28f4 Binary files /dev/null and b/RockWeb/Themes/KidSpring/Assets/Images/kidspring-logo.png differ diff --git a/RockWeb/Themes/KidSpring/Layouts/404.aspx b/RockWeb/Themes/KidSpring/Layouts/404.aspx new file mode 100644 index 00000000000..0a731951b7f --- /dev/null +++ b/RockWeb/Themes/KidSpring/Layouts/404.aspx @@ -0,0 +1,18 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ + +
+
+

Sorry About That, It Looks Like Iggy Misplaced That Link.

+ Go Back One Page +
+ +
+ +
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/KidSpring/Layouts/Checkin.aspx b/RockWeb/Themes/KidSpring/Layouts/Checkin.aspx new file mode 100644 index 00000000000..87ecff8e34f --- /dev/null +++ b/RockWeb/Themes/KidSpring/Layouts/Checkin.aspx @@ -0,0 +1,9 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ +
+ +
diff --git a/RockWeb/Themes/KidSpring/Layouts/Error.aspx b/RockWeb/Themes/KidSpring/Layouts/Error.aspx new file mode 100644 index 00000000000..48655231f88 --- /dev/null +++ b/RockWeb/Themes/KidSpring/Layouts/Error.aspx @@ -0,0 +1,72 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Error.aspx.cs" Inherits="RockWeb.Themes.KidSpring.Layouts.Error" %> + + + + + + + Error | Rock Attended Checkin + + " /> + + + + +
+ +
+ +
+
+
+
+

It looks like Iggy is a little tied up...

+ +

Go Back One Page

+ +

+ + View Error Message + +

+ + +
+
+
+ +
+

Test Heading

+

Message
This is a message

+

Stack Trace

This is a stack trace detail section

+
+
+
+
+ +
+
+
+
+
+ + + +
+ + diff --git a/RockWeb/Themes/KidSpring/Layouts/Error.aspx.cs b/RockWeb/Themes/KidSpring/Layouts/Error.aspx.cs new file mode 100644 index 00000000000..d674f1d074e --- /dev/null +++ b/RockWeb/Themes/KidSpring/Layouts/Error.aspx.cs @@ -0,0 +1,120 @@ +// +// Copyright 2013 by the Spark Development Network +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +using Rock; +using Rock.Data; +using Rock.Model; +using RockFramework = Rock; + +namespace RockWeb.Themes.KidSpring.Layouts +{ + public partial class Error : System.Web.UI.Page + { + /// + /// Handles the Load event of the Page control. + /// + /// The source of the event. + /// The instance containing the event data. + protected void Page_Load( object sender, EventArgs e ) + { + Exception ex = GetSavedValue( "RockLastException" ) as Exception; + if ( ex != null ) + { + int? errorLevel = ( GetSavedValue( "RockExceptionOrder" ) ?? "" ).ToString().AsIntegerOrNull(); + + ClearSavedValue( "RockExceptionOrder" ); + ClearSavedValue( "RockLastException" ); + + bool showDetails = errorLevel.HasValue && errorLevel.Value == 66; + if ( !showDetails ) + { + try + { + // check to see if the user is an admin, if so allow them to view the error details + var userLogin = RockFramework.Model.UserLoginService.GetCurrentUser(); + GroupService service = new GroupService( new RockContext() ); + Group adminGroup = service.GetByGuid( new Guid( RockFramework.SystemGuid.Group.GROUP_ADMINISTRATORS ) ); + showDetails = userLogin != null && adminGroup.Members.Where( m => m.PersonId == userLogin.PersonId ).Count() > 0; + } + catch { } + } + } + } + + /// + /// Processes the exception. + /// + /// The ex. + /// The ex level. + private void ProcessException( Exception ex, string exLevel ) + { + lErrorInfo.Text += "
"; + lErrorInfo.Text += "
"; + lErrorInfo.Text += "
"; + lErrorInfo.Text += "

" + exLevel + ex.GetType().Name + " in " + ex.Source + "

"; + lErrorInfo.Text += "

Message
" + ex.Message + "

"; + lErrorInfo.Text += "

Stack Trace

" + ex.StackTrace + "

"; + lErrorInfo.Text += "
"; + lErrorInfo.Text += "
"; + lErrorInfo.Text += "
"; + // check for inner exception + if ( ex.InnerException != null ) + { + //lErrorInfo.Text += "

"; + ProcessException( ex.InnerException, "-" + exLevel ); + } + } + + ///

+ /// Gets the saved value. + /// + /// The key. + /// + private object GetSavedValue( string key ) + { + object item = null; + if ( Context.Session != null ) + { + item = Context.Session[key]; + } + if ( item == null ) + { + item = Context.Cache[key]; + } + return item; + } + + /// + /// Clears the saved value. + /// + /// The key. + private void ClearSavedValue( string key ) + { + if ( Context.Session != null ) + { + Context.Session.Remove( key ); + } + Context.Cache.Remove( key ); + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/KidSpring/Layouts/Site.Master b/RockWeb/Themes/KidSpring/Layouts/Site.Master new file mode 100644 index 00000000000..6dd682a5df8 --- /dev/null +++ b/RockWeb/Themes/KidSpring/Layouts/Site.Master @@ -0,0 +1,77 @@ +<%@ Master Language="C#" AutoEventWireup="true" Inherits="Rock.Web.UI.RockMasterPage" %> + +<%@ Import Namespace="System.Web.Optimization" %> + + + + + + + + + + + + + + + + + + + " /> + + + + + + + +
+ + +
+ + + + diff --git a/RockWeb/Themes/KidSpring/Styles/checkin-theme.css b/RockWeb/Themes/KidSpring/Styles/checkin-theme.css new file mode 100644 index 00000000000..26425191b3c --- /dev/null +++ b/RockWeb/Themes/KidSpring/Styles/checkin-theme.css @@ -0,0 +1,129 @@ +.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.333333333em;line-height:0.75em;vertical-align:-0.0667em}.fa-xs{font-size:0.75em}.fa-sm{font-size:0.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:0.1em;border:solid 0.08em #eee;padding:0.2em 0.25em 0.15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:0.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:0.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)} +100%{transform:rotate(360deg)}} +.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(-1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f004"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f328"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.fa{font-family:'FontAwesome';font-weight:900}.fas{font-family:'FontAwesome';font-weight:900}.far{font-family:'FontAwesome';font-weight:400}.fal{font-family:'FontAwesome';font-weight:300}.fab{font-family:"FontAwesome Brands";font-weight:normal}.fa.fa-rating-selected:before,.fa.fa-rating-on:before{content:"\f005"}.fa.fa-rating-unselected:before,.fa.fa-rating-off:before{font-weight:400;content:"\f005"}.fa.fa-clone,.fa.fa-file-text-o,.fa.fa-refresh{font-family:'FontAwesome';font-weight:900}.fa-layers{position:relative;display:inline-block;width:1em;height:1em;text-align:center;vertical-align:-0.125em}.fa-layers i{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.fa-layers-counter{top:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:1.5em;max-width:5em;height:1.5em;padding:0.25em;overflow:hidden;line-height:1;color:#fff;text-overflow:ellipsis;background-color:#d9534f;border-radius:1em;-webkit-transform:scale(0.25);transform:scale(0.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-counter,.fa-layers-text{position:absolute;display:inline-block;text-align:center}.fa.fa-500px,.fa.fa-accessible-icon,.fa.fa-accusoft,.fa.fa-adn,.fa.fa-adversal,.fa.fa-affiliatetheme,.fa.fa-algolia,.fa.fa-amazon,.fa.fa-amilia,.fa.fa-android,.fa.fa-angellist,.fa.fa-angrycreative,.fa.fa-angular,.fa.fa-app-store,.fa.fa-app-store-ios,.fa.fa-apper,.fa.fa-apple,.fa.fa-apple-pay,.fa.fa-asymmetrik,.fa.fa-audible,.fa.fa-autoprefixer,.fa.fa-avianex,.fa.fa-aviato,.fa.fa-aws,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bimobject,.fa.fa-bitbucket,.fa.fa-bitcoin,.fa.fa-bity,.fa.fa-black-tie,.fa.fa-blackberry,.fa.fa-blogger,.fa.fa-blogger-b,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buromobelexperte,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-apple-pay,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-centercode,.fa.fa-chrome,.fa.fa-cloudscale,.fa.fa-cloudsmith,.fa.fa-cloudversify,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-cpanel,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-css3-alt,.fa.fa-cuttlefish,.fa.fa-d-and-d,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deploydog,.fa.fa-deskpro,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-digital-ocean,.fa.fa-discord,.fa.fa-discourse,.fa.fa-dochub,.fa.fa-docker,.fa.fa-draft2digital,.fa.fa-dribbble,.fa.fa-dribbble-square,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-dyalog,.fa.fa-earlybirds,.fa.fa-edge,.fa.fa-ember,.fa.fa-empire,.fa.fa-envira,.fa.fa-erlang,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-messenger,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-firstdraft,.fa.fa-flickr,.fa.fa-fly,.fa.fa-font-awesome,.fa.fa-font-awesome-alt,.fa.fa-font-awesome-flag,.fa.fa-fonticons,.fa.fa-fonticons-fi,.fa.fa-fort-awesome,.fa.fa-fort-awesome-alt,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-freebsd,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitkraken,.fa.fa-gitlab,.fa.fa-gitter,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-gofore,.fa.fa-goodreads,.fa.fa-goodreads-g,.fa.fa-google,.fa.fa-google-drive,.fa.fa-google-play,.fa.fa-google-plus,.fa.fa-google-plus-g,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-gripfire,.fa.fa-grunt,.fa.fa-gulp,.fa.fa-hacker-news,.fa.fa-hacker-news-square,.fa.fa-hire-a-helper,.fa.fa-hooli,.fa.fa-hotjar,.fa.fa-houzz,.fa.fa-html5,.fa.fa-hubspot,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-itunes,.fa.fa-itunes-note,.fa.fa-jenkins,.fa.fa-joget,.fa.fa-joomla,.fa.fa-js,.fa.fa-js-square,.fa.fa-jsfiddle,.fa.fa-keycdn,.fa.fa-kickstarter,.fa.fa-kickstarter-k,.fa.fa-laravel,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-less,.fa.fa-line,.fa.fa-linkedin,.fa.fa-linkedin-in,.fa.fa-linode,.fa.fa-linux,.fa.fa-lyft,.fa.fa-magento,.fa.fa-maxcdn,.fa.fa-medapps,.fa.fa-medium,.fa.fa-medium-m,.fa.fa-medrt,.fa.fa-meetup,.fa.fa-microsoft,.fa.fa-mix,.fa.fa-mixcloud,.fa.fa-mizuni,.fa.fa-modx,.fa.fa-monero,.fa.fa-napster,.fa.fa-nintendo-switch,.fa.fa-node,.fa.fa-node-js,.fa.fa-npm,.fa.fa-ns8,.fa.fa-nutritionix,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-osi,.fa.fa-page4,.fa.fa-pagelines,.fa.fa-palfed,.fa.fa-patreon,.fa.fa-paypal,.fa.fa-periscope,.fa.fa-phabricator,.fa.fa-phoenix-framework,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-playstation,.fa.fa-product-hunt,.fa.fa-pushed,.fa.fa-python,.fa.fa-qq,.fa.fa-quora,.fa.fa-ravelry,.fa.fa-react,.fa.fa-rebel,.fa.fa-red-river,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-rendact,.fa.fa-renren,.fa.fa-replyd,.fa.fa-resolving,.fa.fa-rocketchat,.fa.fa-rockrms,.fa.fa-safari,.fa.fa-sass,.fa.fa-schlix,.fa.fa-scribd,.fa.fa-searchengin,.fa.fa-sellcast,.fa.fa-sellsy,.fa.fa-servicestack,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-sistrix,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slack-hash,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-speakap,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-staylinked,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-steam-symbol,.fa.fa-sticker-mule,.fa.fa-strava,.fa.fa-stripe,.fa.fa-stripe-s,.fa.fa-studiovinari,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-supple,.fa.fa-telegram,.fa.fa-telegram-plane,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-typo3,.fa.fa-uber,.fa.fa-uikit,.fa.fa-uniregistry,.fa.fa-untappd,.fa.fa-usb,.fa.fa-ussunnah,.fa.fa-vaadin,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-viber,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vimeo-v,.fa.fa-vine,.fa.fa-vk,.fa.fa-vnv,.fa.fa-vuejs,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-whatsapp-square,.fa.fa-whmcs,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wordpress-simple,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xbox,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-yahoo,.fa.fa-yandex,.fa.fa-yandex-international,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-linkedin-square,.fa.fa-youtube-square,.fa.fa-youtube-play,.fa.fa-bitbucket-square,.fa.fa-gittip,.fa.fa-ra,.fa.fa-resistance,.fa.fa-ge,.fa.fa-y-combinator-square,.fa.fa-yc-square,.fa.fa-wechat,.fa.fa-meanpath,.fa.fa-facebook-official,.fa.fa-yc,.fa.fa-wheelchair-alt,.fa.fa-google-plus-official,.fa.fa-google-plus-circle,.fa.fa-fa,.fa.fa-eercast{font-family:"FontAwesome Brands";font-weight:normal !important}.fa.fa-star-o,.fa.fa-trash-o,.fa.fa-file-o,.fa.fa-clock-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-up,.fa.fa-play-circle-o,.fa.fa-list-alt,.fa.fa-picture-o,.fa.fa-photo,.fa.fa-image,.fa.fa-pencil-square-o,.fa.fa-share-square-o,.fa.fa-check-square-o,.fa.fa-times-circle-o,.fa.fa-check-circle-o,.fa.fa-eye-slash,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-thumbs-o-up,.fa.fa-thumbs-o-down,.fa.fa-heart-o,.fa.fa-lemon-o,.fa.fa-square-o,.fa.fa-bookmark-o,.fa.fa-credit-card,.fa.fa-hdd-o,.fa.fa-hand-o-right,.fa.fa-hand-o-left,.fa.fa-hand-o-up,.fa.fa-hand-o-down,.fa.fa-files-o,.fa.fa-floppy-o,.fa.fa-money,.fa.fa-comment-o,.fa.fa-comments-o,.fa.fa-clipboard,.fa.fa-paste,.fa.fa-lightbulb-o,.fa.fa-bell-o,.fa.fa-file-text-o,.fa.fa-building-o,.fa.fa-hospital-o,.fa.fa-circle-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-smile-o,.fa.fa-frown-o,.fa.fa-meh-o,.fa.fa-keyboard-o,.fa.fa-flag-o,.fa.fa-star-half-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-calendar-o,.fa.fa-minus-square-o,.fa.fa-compass,.fa.fa-caret-square-o-down,.fa.fa-toggle-down,.fa.fa-caret-square-o-up,.fa.fa-toggle-up,.fa.fa-caret-square-o-right,.fa.fa-toggle-right,.fa.fa-sun-o,.fa.fa-moon-o,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-left,.fa.fa-caret-square-o-left,.fa.fa-toggle-left,.fa.fa-dot-circle-o,.fa.fa-plus-square-o,.fa.fa-envelope-o,.fa.fa-file-pdf-o,.fa.fa-file-word-o,.fa.fa-file-excel-o,.fa.fa-file-powerpoint-o,.fa.fa-file-image-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-archive-o,.fa.fa-file-zip-o,.fa.fa-file-audio-o,.fa.fa-file-sound-o,.fa.fa-file-video-o,.fa.fa-file-movie-o,.fa.fa-file-code-o,.fa.fa-life-ring,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-saver,.fa.fa-support,.fa.fa-paper-plane-o,.fa.fa-send-o,.fa.fa-circle-thin,.fa.fa-futbol-o,.fa.fa-soccer-ball-o,.fa.fa-newspaper-o,.fa.fa-bell-slash-o,.fa.fa-copyright,.fa.fa-cc,.fa.fa-diamond,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o,.fa.fa-clone,.fa.fa-hourglass-o,.fa.fa-hand-rock-o,.fa.fa-hand-grab-o,.fa.fa-hand-paper-o,.fa.fa-hand-stop-o,.fa.fa-hand-scissors-o,.fa.fa-hand-lizard-o,.fa.fa-hand-spock-o,.fa.fa-hand-pointer-o,.fa.fa-hand-peace-o,.fa.fa-registered,.fa.fa-calendar-plus-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-times-o,.fa.fa-calendar-check-o,.fa.fa-map-o,.fa.fa-commenting-o,.fa.fa-pause-circle-o,.fa.fa-stop-circle-o,.fa.fa-question-circle-o,.fa.fa-handshake-o,.fa.fa-envelope-open-o,.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-vcard-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-drivers-license-o,.fa.fa-window-maximize,.fa.fa-window-restore,.fa.fa-window-close-o,.fa.fa-times-rectangle-o,.fa.fa-snowflake-o{font-family:'FontAwesome';font-weight:400}.fa-address-book-o:before{content:"\f2b9"}.fa-address-card-o:before{content:"\f2bb"}.fa-area-chart:before{content:"\f1fe"}.fa-arrow-circle-o-down:before{content:"\f358"}.fa-arrow-circle-o-left:before{content:"\f359"}.fa-arrow-circle-o-right:before{content:"\f35a"}.fa-arrow-circle-o-up:before{content:"\f35b"}.fa-arrows:before{content:"\f0b2"}.fa-arrows-alt:before{content:"\f31e"}.fa-arrows-h:before{content:"\f337"}.fa-arrows-v:before{content:"\f338"}.fa-asl-interpreting:before{content:"\f2a3"}.fa-automobile:before{content:"\f1b9"}.fa-bank:before,.fa-institution:before{content:"\f19c"}.fa-bar-chart-o:before{content:"\f080"}.fa-bar-chart:before{content:"\f080"}.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-battery:before{content:"\f240"}.fa-battery-0:before{content:"\f244"}.fa-battery-1:before{content:"\f243"}.fa-battery-2:before{content:"\f242"}.fa-battery-3:before{content:"\f241"}.fa-battery-4:before{content:"\f240"}.fa-bell-o:before{content:"\f0f3"}.fa-bell-slash-o:before{content:"\f1f6"}.fa-bitbucket-square:before{content:"\f171"}.fa-bitcoin:before{content:"\f15a"}.fa-bookmark-o:before{content:"\f02e"}.fa-building-o:before{content:"\f1ad"}.fa-cab:before{content:"\f1ba"}.fa-calendar-check-o:before{content:"\f274"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-o:before{content:"\f133"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-times-o:before{content:"\f273"}.fa-caret-square-o-down:before{content:"\f150"}.fa-caret-square-o-left:before{content:"\f191"}.fa-caret-square-o-right:before{content:"\f152"}.fa-caret-square-o-up:before{content:"\f151"}.fa-cc:before{content:"\f20a"}.fa-chain:before{content:"\f0c1"}.fa-chain-broken:before{content:"\f127"}.fa-check-circle-o:before{content:"\f058"}.fa-check-square-o:before{content:"\f14a"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-circle-o:before,.fa-circle-thin:before{content:"\f111"}.fa-clock-o:before{content:"\f017"}.fa-close:before{content:"\f00d"}.fa-cloud-download:before{content:"\f381"}.fa-cloud-upload:before{content:"\f382"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-code-fork:before{content:"\f126"}.fa-comment-o:before{content:"\f075"}.fa-commenting-o:before,.fa-commenting:before{content:"\f27a"}.fa-comments-o:before{content:"\f086"}.fa-credit-card-alt:before{content:"\f09d"}.fa-cutlery:before{content:"\f2e7"}.fa-dashboard:before{content:"\f3fd"}.fa-deafness:before{content:"\f2a4"}.fa-dedent:before{content:"\f03b"}.fa-diamond:before{content:"\f3a5"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-dot-circle-o:before{content:"\f192"}.fa-drivers-license-o:before{content:"\f2c2"}.fa-drivers-license:before{content:"\f2c2"}.fa-eercast:before{content:"\f2da"}.fa-envelope-o:before{content:"\f0e0"}.fa-envelope-open-o:before{content:"\f2b6"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-exchange:before{content:"\f362"}.fa-external-link-square:before{content:"\f360"}.fa-external-link:before{content:"\f35d"}.fa-eyedropper:before{content:"\f1fb"}.fa-fa:before{content:"\f2b4"}.fa-facebook-f:before,.fa-facebook:before{content:"\f39e"}.fa-facebook-official:before{content:"\f09a"}.fa-feed:before{content:"\f09e"}.fa-file-archive-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-code-o:before{content:"\f1c9"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-o:before{content:"\f15b"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-text:before,.fa-file-text-o:before{content:"\f15c"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-zip-o:before{content:"\f1c6"}.fa-files-o:before{content:"\f0c5"}.fa-flag-o:before{content:"\f024"}.fa-flash:before{content:"\f0e7"}.fa-floppy-o:before{content:"\f0c7"}.fa-folder-o:before{content:"\f07b"}.fa-folder-open-o:before{content:"\f07c"}.fa-frown-o:before{content:"\f119"}.fa-futbol-o:before{content:"\f1e3"}.fa-gbp:before{content:"\f154"}.fa-ge:before{content:"\f1d1"}.fa-gear:before{content:"\f013"}.fa-gears:before{content:"\f085"}.fa-gittip:before{content:"\f184"}.fa-glass:before{content:"\f000"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-google-plus:before{content:"\f0d5"}.fa-group:before{content:"\f0c0"}.fa-hand-grab-o:before{content:"\f255"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-o-down:before{content:"\f0a7"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-peace-o:before{content:"\f25b"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-rock-o:before{content:"\f255"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-spock-o:before{content:"\f259"}.fa-handshake-o:before{content:"\f2b5"}.fa-hard-of-hearing:before{content:"\f2a4"}.fa-hdd-o:before{content:"\f0a0"}.fa-header:before{content:"\f1dc"}.fa-heart-o:before{content:"\f004"}.fa-hospital-o:before{content:"\f0f8"}.fa-hotel:before{content:"\f236"}.fa-hourglass-1:before{content:"\f251"}.fa-hourglass-2:before{content:"\f252"}.fa-hourglass-3:before{content:"\f253"}.fa-hourglass-o:before{content:"\f254"}.fa-id-card-o:before{content:"\f2c2"}.fa-ils:before{content:"\f20b"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-inr:before{content:"\f156"}.fa-intersex:before{content:"\f224"}.fa-keyboard-o:before{content:"\f11c"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-legal:before{content:"\f0e3"}.fa-lemon-o:before{content:"\f094"}.fa-level-down:before{content:"\f3be"}.fa-level-up:before{content:"\f3bf"}.fa-life-bouy:before,.fa-life-saver:before{content:"\f1cd"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-line-chart:before{content:"\f201"}.fa-linkedin:before{content:"\f0e1"}.fa-linkedin-square:before{content:"\f08c"}.fa-long-arrow-down:before{content:"\f309"}.fa-long-arrow-left:before{content:"\f30a"}.fa-long-arrow-right:before{content:"\f30b"}.fa-long-arrow-up:before{content:"\f30c"}.fa-mail-forward:before{content:"\f064"}.fa-mail-reply-all:before{content:"\f122"}.fa-mail-reply:before{content:"\f3e5"}.fa-map-marker:before{content:"\f3c5"}.fa-map-o:before{content:"\f279"}.fa-meanpath:before{content:"\f2b4"}.fa-meh-o:before{content:"\f11a"}.fa-minus-square-o:before{content:"\f146"}.fa-mobile-phone:before{content:"\f3cd"}.fa-mobile:before{content:"\f3cd"}.fa-money:before{content:"\f3d1"}.fa-moon-o:before{content:"\f186"}.fa-mortar-board:before{content:"\f19d"}.fa-navicon:before{content:"\f0c9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-paper-plane-o:before{content:"\f1d8"}.fa-paste:before{content:"\f328"}.fa-pause-circle-o:before{content:"\f28b"}.fa-pencil-square-o:before{content:"\f044"}.fa-pencil-square:before{content:"\f14b"}.fa-pencil:before{content:"\f303"}.fa-pie-chart:before{content:"\f200"}.fa-play-circle-o:before{content:"\f144"}.fa-plus-square-o:before{content:"\f0fe"}.fa-question-circle-o:before{content:"\f059"}.fa-ra:before{content:"\f1d0"}.fa-refresh:before{content:"\f021"}.fa-remove:before{content:"\f00d"}.fa-reorder:before{content:"\f0c9"}.fa-repeat:before{content:"\f01e"}.fa-resistance:before{content:"\f1d0"}.fa-rotate-left:before{content:"\f0e2"}.fa-rotate-right:before{content:"\f01e"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-rupee:before{content:"\f156"}.fa-scissors:before{content:"\f0c4"}.fa-send-o:before{content:"\f1d8"}.fa-send:before{content:"\f1d8"}.fa-share-square-o:before{content:"\f14d"}.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-shield:before{content:"\f3ed"}.fa-sign-in:before{content:"\f2f6"}.fa-sign-out:before{content:"\f2f5"}.fa-signing:before{content:"\f2a7"}.fa-sliders:before{content:"\f1de"}.fa-smile-o:before{content:"\f118"}.fa-snowflake-o:before{content:"\f2dc"}.fa-soccer-ball-o:before{content:"\f1e3"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-asc:before{content:"\f0de"}.fa-sort-desc:before{content:"\f0dd"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-spoon:before{content:"\f2e5"}.fa-square-o:before{content:"\f0c8"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f089"}.fa-star-o:before{content:"\f005"}.fa-sticky-note-o:before{content:"\f249"}.fa-stop-circle-o:before{content:"\f28d"}.fa-sun-o:before{content:"\f185"}.fa-support:before{content:"\f1cd"}.fa-tablet:before{content:"\f3fa"}.fa-tachometer:before{content:"\f3fd"}.fa-television:before{content:"\f26c"}.fa-thermometer-0:before{content:"\f2cb"}.fa-thermometer-1:before{content:"\f2ca"}.fa-thermometer-2:before{content:"\f2c9"}.fa-thermometer-3:before{content:"\f2c8"}.fa-thermometer-4:before,.fa-thermometer:before{content:"\f2c7"}.fa-thumb-tack:before{content:"\f08d"}.fa-thumbs-o-down:before{content:"\f165"}.fa-thumbs-o-up:before{content:"\f164"}.fa-ticket:before{content:"\f3ff"}.fa-times-circle-o:before{content:"\f057"}.fa-times-rectangle:before,.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f410"}.fa-toggle-down:before{content:"\f150"}.fa-toggle-left:before{content:"\f191"}.fa-toggle-right:before{content:"\f152"}.fa-toggle-up:before{content:"\f151"}.fa-trash:before,.fa-trash-o:before{content:"\f2ed"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-unsorted:before{content:"\f0dc"}.fa-user-circle-o:before{content:"\f2bd"}.fa-user-o:before{content:"\f007"}.fa-vcard:before,.fa-vcard-o:before{content:"\f2bb"}.fa-video-camera:before{content:"\f03d"}.fa-vimeo:before{content:"\f27d"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-warning:before{content:"\f071"}.fa-wechat:before{content:"\f1d7"}.fa-wheelchair-alt:before{content:"\f368"}.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-yc:before{content:"\f23b"}.fa-youtube-play:before{content:"\f167"}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:1.125rem;-webkit-tap-highlight-color:transparent}body{font-family:'OpenSans','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:18px;line-height:1.428571429;color:#fff;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:25px;margin-bottom:25px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:25px;margin-bottom:12.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:12.5px;margin-bottom:12.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:28px}h2,.h2{font-size:38px}h3,.h3{font-size:31px}h4,.h4{font-size:23px}h5,.h5{font-size:18px}h6,.h6{font-size:16px}p{margin:0 0 12.5px}.lead{margin-bottom:25px;font-size:20px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:27px}}small,.small{font-size:88%}mark,.mark{padding:0.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:11.5px;margin:50px 0 25px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:12.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:25px}dt,dd{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase;text-transform:uppercase !important}blockquote{padding:12.5px 25px;margin:0 0 25px;font-size:22.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:25px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:12px;margin:0 0 12.5px;font-size:17px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.666666667%}.col-xs-10{width:83.333333333%}.col-xs-9{width:75%}.col-xs-8{width:66.666666667%}.col-xs-7{width:58.333333333%}.col-xs-6{width:50%}.col-xs-5{width:41.666666667%}.col-xs-4{width:33.333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666667%}.col-xs-1{width:8.333333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.666666667%}.col-xs-pull-10{right:83.333333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.666666667%}.col-xs-pull-7{right:58.333333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.666666667%}.col-xs-pull-4{right:33.333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666667%}.col-xs-pull-1{right:8.333333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.666666667%}.col-xs-push-10{left:83.333333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.666666667%}.col-xs-push-7{left:58.333333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.666666667%}.col-xs-push-4{left:33.333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666667%}.col-xs-push-1{left:8.333333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.666666667%}.col-xs-offset-10{margin-left:83.333333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.666666667%}.col-xs-offset-7{margin-left:58.333333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.666666667%}.col-xs-offset-4{margin-left:33.333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666667%}.col-xs-offset-1{margin-left:8.333333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.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-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.666666667%}.col-sm-10{width:83.333333333%}.col-sm-9{width:75%}.col-sm-8{width:66.666666667%}.col-sm-7{width:58.333333333%}.col-sm-6{width:50%}.col-sm-5{width:41.666666667%}.col-sm-4{width:33.333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666667%}.col-sm-1{width:8.333333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.666666667%}.col-sm-pull-10{right:83.333333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.666666667%}.col-sm-pull-7{right:58.333333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.666666667%}.col-sm-pull-4{right:33.333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666667%}.col-sm-pull-1{right:8.333333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.666666667%}.col-sm-push-10{left:83.333333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.666666667%}.col-sm-push-7{left:58.333333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.666666667%}.col-sm-push-4{left:33.333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666667%}.col-sm-push-1{left:8.333333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.666666667%}.col-sm-offset-10{margin-left:83.333333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.666666667%}.col-sm-offset-7{margin-left:58.333333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.666666667%}.col-sm-offset-4{margin-left:33.333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666667%}.col-sm-offset-1{margin-left:8.333333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.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-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.666666667%}.col-md-10{width:83.333333333%}.col-md-9{width:75%}.col-md-8{width:66.666666667%}.col-md-7{width:58.333333333%}.col-md-6{width:50%}.col-md-5{width:41.666666667%}.col-md-4{width:33.333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666667%}.col-md-1{width:8.333333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.666666667%}.col-md-pull-10{right:83.333333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.666666667%}.col-md-pull-7{right:58.333333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.666666667%}.col-md-pull-4{right:33.333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666667%}.col-md-pull-1{right:8.333333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.666666667%}.col-md-push-10{left:83.333333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.666666667%}.col-md-push-7{left:58.333333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.666666667%}.col-md-push-4{left:33.333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666667%}.col-md-push-1{left:8.333333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.666666667%}.col-md-offset-10{margin-left:83.333333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.666666667%}.col-md-offset-7{margin-left:58.333333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.666666667%}.col-md-offset-4{margin-left:33.333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666667%}.col-md-offset-1{margin-left:8.333333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.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-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.666666667%}.col-lg-10{width:83.333333333%}.col-lg-9{width:75%}.col-lg-8{width:66.666666667%}.col-lg-7{width:58.333333333%}.col-lg-6{width:50%}.col-lg-5{width:41.666666667%}.col-lg-4{width:33.333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666667%}.col-lg-1{width:8.333333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.666666667%}.col-lg-pull-10{right:83.333333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.666666667%}.col-lg-pull-7{right:58.333333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.666666667%}.col-lg-pull-4{right:33.333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666667%}.col-lg-pull-1{right:8.333333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.666666667%}.col-lg-push-10{left:83.333333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.666666667%}.col-lg-push-7{left:58.333333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.666666667%}.col-lg-push-4{left:33.333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666667%}.col-lg-push-1{left:8.333333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.666666667%}.col-lg-offset-10{margin-left:83.333333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.666666667%}.col-lg-offset-7{margin-left:58.333333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.666666667%}.col-lg-offset-4{margin-left:33.333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666667%}.col-lg-offset-1{margin-left:8.333333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:25px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:0.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:18.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:25px;font-size:27px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:18px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:39px;padding:6px 12px;font-size:18px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}select.form-control{padding:6px 36px 6px 12px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 12px;border-radius:4px;appearance:none}select.form-control[multiple],select.form-control[size]:not([size="1"]){padding-right:12px;background-image:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #555}select.form-control:focus::-ms-value{color:#555;background-color:#fff}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:36px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:53px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:25px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:43px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}select.input-sm{height:36px;padding:5px 36px 5px 10px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:36px;line-height:1.5}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:1.5;min-height:41px;padding:6px 10px;font-size:16px;line-height:1.5}.input-lg{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}select.input-lg{height:53px;padding:10px 36px 10px 16px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:53px;line-height:53px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:53px;min-height:48px;padding:11px 16px;font-size:23px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:53px;height:53px;line-height:53px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:36px;height:36px;line-height:36px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:30px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#fff}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:23px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:16px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:18px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#fff;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#fff;background-color:#0070ad;border-color:#0070ad}.btn-default:focus,.btn-default.focus{color:#fff;background-color:#004f7a;border-color:#001d2d}.btn-default:hover{color:#fff;background-color:#004f7a;border-color:#00496f}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#fff;background-color:#004f7a;background-image:none;border-color:#00496f}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#fff;background-color:#003856;border-color:#001d2d}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#0070ad;border-color:#0070ad}.btn-default .badge{color:#0070ad;background-color:#fff}.btn-primary{color:#fff;background-color:#006093;border-color:#006093}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#003f60;border-color:#000d13}.btn-primary:hover{color:#fff;background-color:#003f60;border-color:#003856}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#003f60;background-image:none;border-color:#003856}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#00273c;border-color:#000d13}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#006093;border-color:#006093}.btn-primary .badge{color:#006093;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:16px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1050;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:18px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>li.indent>a{padding-left:40px}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:16px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.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:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:53px;padding:10px 16px;font-size:23px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:53px;padding:10px 36px 10px 16px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:36px;padding:5px 10px;font-size:16px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:36px;padding:5px 36px 5px 10px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-sm>select.form-control,.input-group-lg>select.form-control,.form-group-sm select.form-control{padding-right:36px}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:18px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:16px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:23px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.dropdown-toggle:nth-last-child(n+3),.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:25px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:12.5px 15px;font-size:23px;line-height:25px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:25px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:25px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:12.5px;padding-bottom:12.5px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:5.5px;margin-bottom:5.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:5.5px;margin-bottom:5.5px}.navbar-btn.btn-sm{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:12.5px;margin-bottom:12.5px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:25px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:25px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:23px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:16px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:25px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:0.2em 0.6em 0.3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:16px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:27px;font-weight:200}.jumbotron>hr{border-top-color:#d4d4d4}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:81px}}.thumbnail{display:block;padding:4px;margin-bottom:25px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#fff}.alert{padding:15px;margin-bottom:25px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0}} +@keyframes progress-bar-stripes{from{background-position:40px 0} +to{background-position:0 0}} +.progress{height:25px;margin-bottom:25px;overflow:hidden;line-height:25px;font-size:16px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;color:#fff;text-align:center;background-color:#337ab7;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:25px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:21px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:25px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:27px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:0.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:0.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:0.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:'OpenSans','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:16px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:'OpenSans','Helvetica Neue',Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.428571429;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:18px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:18px;background-color:#f7f7f7;border-bottom:1px solid #eaeaea;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:transparent;filter:alpha(opacity=50);opacity:0.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:0.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;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;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container-fluid:before,.row:before,.dl-horizontal dd:before,.form-horizontal .form-group:before,.btn-toolbar:before,.btn-group-vertical>.btn-group:before,.nav:before,.navbar:before,.navbar-header:before,.navbar-collapse:before,.pager:before,.panel-body:before,.modal-header:before,.modal-footer:before,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{display:table;content:" "}.clearfix:after,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width} +.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.datepicker{direction:ltr;border-radius:4px}.datepicker-inline{width:220px}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown::before{position:absolute;display:inline-block;content:"";border-top:0;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,0.15);border-left:7px solid transparent}.datepicker-dropdown::after{position:absolute;display:inline-block;content:"";border-top:0;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.datepicker-dropdown.datepicker-orient-left::before{left:6px}.datepicker-dropdown.datepicker-orient-left::after{left:7px}.datepicker-dropdown.datepicker-orient-right::before{right:6px}.datepicker-dropdown.datepicker-orient-right::after{right:7px}.datepicker-dropdown.datepicker-orient-bottom::before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom::after{top:-6px}.datepicker-dropdown.datepicker-orient-top::before{bottom:-7px;border-top:7px solid rgba(0,0,0,0.15);border-bottom:0}.datepicker-dropdown.datepicker-orient-top::after{bottom:-6px;border-top:6px solid #fff;border-bottom:0}.datepicker table{margin:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.datepicker table tr td,.datepicker table tr th{width:34px;height:34px;padding:0;text-align:center;border:0;border-radius:4px}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.old,.datepicker table tr td.new{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{cursor:pointer;background:#eee}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{color:#777;cursor:default;background:none}.datepicker table tr td.highlighted{color:#000;background:#d9edf7;border-radius:0}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{color:#777;background:#d9edf7}.datepicker table tr td.today{color:#000;background-color:#ffdb99}.datepicker table tr td.today:hover,.datepicker table tr td.today:focus{background:#ffbc42}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{color:#777;background:#ffdb99}.datepicker table tr td.range{color:#000;background:#eee;border-radius:0}.datepicker table tr td.range.focused,.datepicker table tr td.range:hover{background:#d4d4d4}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{color:#777;background:#eee}.datepicker table tr td.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.datepicker table tr td.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.datepicker table tr td.range.highlighted{color:#000 0;background:#e4eef3}.datepicker table tr td.range.highlighted.focused{background:#c0d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{color:#777;background:#e4eef3}.datepicker table tr td.range.today{color:#000;background:#f7ca77}.datepicker table tr td.range.today:hover{background:#f4b747}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{color:#777;background:#f7ca77}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#777}.datepicker table tr td.selected:hover,.datepicker table tr td.selected.highlighted:hover{background:#5e5e5e}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#003f60}.datepicker table tr td.active:hover,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:focus,.datepicker table tr td.active.highlighted:focus{background:#00273c}.datepicker table tr td span{display:block;float:left;width:23%;height:54px;margin:1%;line-height:54px;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{color:#777;cursor:default;background:none}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#006093}.datepicker table tr td span.old,.datepicker table tr td span.new{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .prev,.datepicker .next,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .prev.disabled,.datepicker .next.disabled{visibility:hidden}.datepicker .cw{width:12px;padding:0 2px 0 5px;font-size:10px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.rock-checkbox-icon{cursor:pointer}.in-columns{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;-webkit-column-width:130px;-moz-column-width:130px;column-width:130px}.in-columns-1{-moz-column-count:1;-webkit-column-count:1;column-count:1}.in-columns-2{-moz-column-count:2;-webkit-column-count:2;column-count:2}.in-columns-3{-moz-column-count:3;-webkit-column-count:3;column-count:3}.in-columns-4{-moz-column-count:4;-webkit-column-count:4;column-count:4}.in-columns-5{-moz-column-count:5;-webkit-column-count:5;column-count:5}.in-columns-6{-moz-column-count:6;-webkit-column-count:6;column-count:6}.in-columns .radio,.in-columns .checkbox,.in-columns .radio-inline,.in-columns .checkbox-inline{display:block;padding-right:0}.in-columns .radio:first-child,.in-columns .checkbox:first-child,.in-columns .radio-inline:first-child,.in-columns .checkbox-inline:first-child{margin-top:0}.in-columns .checkbox-inline:first-child,.in-columns .radio-inline:first-child{padding-left:20px}.in-columns .label-text{display:inline-block;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-column-break-inside:avoid-column;break-inside:avoid-column}.in-columns .radio-inline+.radio-inline,.in-columns .checkbox-inline+.checkbox-inline{margin-left:0}.radio-inline label,.checkbox-inline label{font-weight:400}.checkbox-inline:first-child,.radio-inline:first-child{padding-left:30px}.checkbox-inline:first-child.rock-checkbox-icon,.radio-inline:first-child.rock-checkbox-icon{padding-left:0 !important}.checkbox-inline:first-child.rock-checkbox-icon i,.radio-inline:first-child.rock-checkbox-icon i{width:30px}.assessment .radio,.assessment .checkbox{min-height:20px;margin-top:8px;margin-bottom:8px}.assessment .radio label,.assessment .checkbox label{padding-left:0}.assessment .modal-body>.checkbox label input{z-index:0;opacity:1}.assessment .radio-inline,.assessment .checkbox-inline{padding-right:16px;padding-left:30px;margin-left:0}.assessment .radio-inline label,.assessment .checkbox-inline label{margin-bottom:0}.assessment .form-align .radio,.assessment .form-horizontal .radio,.assessment .form-align .checkbox,.assessment .form-horizontal .checkbox,.assessment .form-align .radio-inline,.assessment .form-horizontal .radio-inline,.assessment .form-align .checkbox-inline,.assessment .form-horizontal .checkbox-inline{padding-top:0;margin-top:7px !important;margin-bottom:7px !important}.assessment .form-align .radio-inline+.radio-inline,.assessment .form-horizontal .radio-inline+.radio-inline,.assessment .form-align .checkbox-inline+.checkbox-inline,.assessment .form-horizontal .checkbox-inline+.checkbox-inline{margin-top:7px}.assessment .radio,.assessment .checkbox,.assessment .radio-inline,.assessment .checkbox-inline{padding-left:28px}.assessment .radio.deselected,.assessment .checkbox.deselected,.assessment .radio-inline.deselected,.assessment .checkbox-inline.deselected{opacity:0.5}.assessment .radio .label-text::before,.assessment .checkbox .label-text::before,.assessment .radio-inline .label-text::before,.assessment .checkbox-inline .label-text::before{position:absolute;top:0;left:0;display:block;width:20px;height:20px;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:2px solid #ccc;border-radius:0.25rem}.assessment .radio .label-text::after,.assessment .checkbox .label-text::after,.assessment .radio-inline .label-text::after,.assessment .checkbox-inline .label-text::after{position:absolute;top:0;left:0;display:block;width:20px;height:20px;content:"";background:no-repeat center/50%}.assessment .radio input,.assessment .checkbox input,.assessment .radio-inline input,.assessment .checkbox-inline input{position:absolute;z-index:-1;opacity:0}.assessment .radio input:checked~.label-text::before,.assessment .checkbox input:checked~.label-text::before,.assessment .radio-inline input:checked~.label-text::before,.assessment .checkbox-inline input:checked~.label-text::before{background-color:#337ab7;border-color:#337ab7}.assessment .radio input:focus~.label-text::before,.assessment .checkbox input:focus~.label-text::before,.assessment .radio-inline input:focus~.label-text::before,.assessment .checkbox-inline input:focus~.label-text::before{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(51,122,183,0.2)}.assessment .radio input:active~.label-text::before,.assessment .checkbox input:active~.label-text::before,.assessment .radio-inline input:active~.label-text::before,.assessment .checkbox-inline input:active~.label-text::before{color:#fff;background-color:#a0c4e4}.assessment .radio input:disabled~.label-text,.assessment .checkbox input:disabled~.label-text,.assessment .radio-inline input:disabled~.label-text,.assessment .checkbox-inline input:disabled~.label-text{color:#777}.assessment .radio input:disabled~.label-text::before,.assessment .checkbox input:disabled~.label-text::before,.assessment .radio-inline input:disabled~.label-text::before,.assessment .checkbox-inline input:disabled~.label-text::before{background-color:#eee}.assessment .radio input:checked:disabled~.label-text::before,.assessment .checkbox input:checked:disabled~.label-text::before,.assessment .radio-inline input:checked:disabled~.label-text::before,.assessment .checkbox-inline input:checked:disabled~.label-text::before{background-color:#337ab7;opacity:0.5}.assessment .radio-inline+.radio-inline,.assessment .checkbox-inline+.checkbox-inline{margin-left:0}.assessment .checkbox input:checked~.label-text::after,.assessment .checkbox-inline input:checked~.label-text::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='%23ffffff' 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")}.assessment .radio .label-text::before,.assessment .radio-inline .label-text::before{border-radius:50%}.assessment .radio input:checked~.label-text::after,.assessment .radio-inline input:checked~.label-text::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='%23ffffff'/%3E%3C/svg%3E")}.assessment .rock-checkbox-icon{padding-left:0}.assessment .rock-checkbox-icon i{width:20px;margin-right:3px;font-size:22px;text-align:center}@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:900; +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +@font-face{font-family:'FontAwesome'; +font-style:normal; +font-weight:400; +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3'); +src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg'); +font-display:block} +.btn svg{display:block;width:auto;height:1em;fill:currentColor}h1,h2,h3{letter-spacing:-0.03em}h1{color:#fff}.close{color:#fff}.form-group label{margin-bottom:6px}.btn-block+.btn-block{margin-top:12px}.btn-checkin-select{padding-top:14px;padding-bottom:14px;margin-bottom:20px;font-size:24px;font-weight:600;white-space:normal}.btn-checkin-select .row{display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-wrap:wrap;flex-wrap:wrap;align-items:center;margin-right:0;margin-left:0}.btn-checkin-select .row::before,.btn-checkin-select .row::after{content:normal}.btn-checkin-select .checkbox-container,.btn-checkin-select .photo-container,.btn-checkin-select .name-container{padding-right:5px;padding-left:5px}.btn-checkin-select .checkbox-container,.btn-checkin-select .photo-container{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.btn-checkin-select .checkbox-container{margin-right:5px}.btn-checkin-select .name-container,.btn-checkin-select .col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.btn-barcode{position:relative;margin-top:40px;overflow:hidden}.btn-barcode video{object-fit:cover;position:absolute;inset:0;height:100%}.btn-barcode #qr-shaded-region{bottom:-5px !important}.btn-checkin-change{color:#fff;background-color:#008bd5;border-color:#006093;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:center;align-items:center;justify-content:center;height:100%;border-left:0}.btn-checkin-change:focus,.btn-checkin-change.focus{color:#fff;background-color:#006aa2;border-color:#000d13}.btn-checkin-change:hover{color:#fff;background-color:#006aa2;border-color:#003856}.btn-checkin-change:active,.btn-checkin-change.active,.open>.dropdown-toggle.btn-checkin-change{color:#fff;background-color:#006aa2;background-image:none;border-color:#003856}.btn-checkin-change:active:hover,.btn-checkin-change.active:hover,.open>.dropdown-toggle.btn-checkin-change:hover,.btn-checkin-change:active:focus,.btn-checkin-change.active:focus,.open>.dropdown-toggle.btn-checkin-change:focus,.btn-checkin-change:active.focus,.btn-checkin-change.active.focus,.open>.dropdown-toggle.btn-checkin-change.focus{color:#fff;background-color:#00527f;border-color:#000d13}.btn-checkin-change.disabled:hover,.btn-checkin-change[disabled]:hover,fieldset[disabled] .btn-checkin-change:hover,.btn-checkin-change.disabled:focus,.btn-checkin-change[disabled]:focus,fieldset[disabled] .btn-checkin-change:focus,.btn-checkin-change.disabled.focus,.btn-checkin-change[disabled].focus,fieldset[disabled] .btn-checkin-change.focus{background-color:#008bd5;border-color:#006093}.btn-checkin-change .badge{color:#008bd5;background-color:#fff}.row-checkin-item{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;margin-bottom:20px}.row-checkin-item .btn-checkin-select{margin-bottom:0}.checkin-change .btn{border-top-left-radius:0;border-bottom-left-radius:0}.checkin-person-has-change .btn{border-top-right-radius:0;border-bottom-right-radius:0}.table-responsive{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}a.help{margin-left:6px;color:#86b8cc;outline:0}.alert-validation{color:#a94442;background-color:#fcf8e3;border-color:#f7ecb5;font-weight:700}.alert-validation hr{border-top-color:#f5e79e}.alert-validation .alert-link{color:#843534}.alert-validation ul,.alert-validation span{font-weight:400;color:#484848}.alert-validation ul{padding:5px 25px 0;line-height:1.5}#cms-admin-footer,.config-bar{display:none}.btn-dimmed{opacity:0.33}body{background-color:#0081c6;background-image:url('../Assets/Images/kidspring-logo.png');background-position:bottom right;background-repeat:no-repeat;background-size:20%;overflow-x:hidden;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover}@media all and (-webkit-min-device-pixel-ratio:1.5){body{background-size:1348px 1024px}}.body-content{position:relative;height:100vh}.checkin-header{margin:45px 30px 24px}.checkin-header h1{font-size:48px;font-weight:700}.checkin-header .checkin-sub-title{margin-top:12px;font-size:24px;color:#bde2ef}.btn .checkin-sub-title{margin-left:20px;font-size:20px;font-weight:300;white-space:normal}.checkin-body .checkin-actions{text-align:right}.checkin-body .checkin-actions .btn-primary{font-size:36px}.checkin-body-container>label{padding:0 0 6px 0}.checkin-search-actions{text-align:center}.checkin-search-actions a{display:inline-flex;justify-content:center;width:520px;max-width:100%;padding:20px;font-size:48px;font-weight:700;line-height:48px}.checkin-start{margin-top:25%;text-align:center}.checkin-camera{margin-top:24px;text-align:center}.checkin-footer{position:absolute;right:0;bottom:0;left:0;padding:0 45px;margin-top:6px;margin-bottom:12px}.checkin-footer .btn-primary{float:right}.checkin-actions .btn{padding:12px 24px;font-size:22px;font-weight:700}.checkin-actions .btn-primary{padding:14px 26px;font-size:28px}.btn-checkbox{padding:24px;font-size:20px;color:#fff;background-color:#0070ad;border-color:#0070ad}.btn-checkbox.active,.btn-checkbox.active:focus{color:#fff;background-color:#006093;border-color:#006093}.btn-checkbox i{display:block;font-size:92px;line-height:92px}.btn-checkbox.active i::before{content:"\f14a"}.tenkey{width:265px;text-align:center}.tenkey .btn{width:80px;height:80px;margin:2px}.tenkey .btn:focus,.tenkey .btn:active{background-color:#0070ad}.tenkey .btn.digit{font-size:48px;font-weight:600}.tenkey .btn.command{padding-top:28px;font-size:20px;font-weight:300}.bootbox{z-index:1060}.bootbox .modal-content{color:#fff;background-color:#0081c6}.bootbox .modal-footer{border-top-color:#e5e5e5}.btn-checkin-override{position:absolute;right:0;bottom:0;width:110px;height:110px;background-color:transparent;border:0}.photo-round{background-repeat:no-repeat;background-position-x:center;background-size:cover}.photo-round.photo-round-md{width:60px;height:60px;border-radius:50%}img[src*="no-photo"]{opacity:0.4}.checkin-search-body{width:360px;margin:0 auto}.checkin-search-body.search-phone{width:260px}.search-phone-form-group{width:260px;margin:0 auto}input.checkin-phone-entry{width:260px;height:60px;padding:6px 20px;margin:0 auto 10px;font-size:36px;font-weight:700}input.namesearch{width:360px;height:60px;padding:6px 20px;margin:0 auto 10px;font-size:36px;font-weight:700}.checkin-phone-keypad{margin:0 auto 24px}.checkin-time-select{display:table;margin:0 auto}.checkin-time-select .control-label{display:block;font-size:28px;font-weight:500}.checkin-timelist{margin-bottom:12px}.checkin-messages,.checkin-summary{padding:0;margin:0;list-style-type:none}.checkin-messages li,.checkin-summary li{margin-bottom:18px;font-size:22px;color:#fff}.checkin-error{padding:0;list-style-type:none}.checkin-closed-header>h1{margin-bottom:0;font-size:5em;line-height:1}@media (min-width: 768px){.checkin-closed-header>h1{font-size:9em}}@media (min-width: 992px){.checkin-closed-header>h1{font-size:14em}}@media (min-width: 1200px){.checkin-closed-header>h1{font-size:17em}}.checkin-closed-body{padding-left:0.5em}@media (min-width: 768px){.checkin-closed-body{padding-left:1em}}@media (min-width: 992px){.checkin-closed-body{padding-left:2em}}.family-personselect{font-size:26px;text-align:left}.family-auto-select{padding-left:10px !important;font-size:16px;text-align:left}.auto-select-caption{opacity:0.75}.btn-action{color:#fff;background-color:#777;border-color:#6a6a6a}.btn-action:focus,.btn-action.focus{color:#fff;background-color:#5e5e5e;border-color:#2a2a2a}.btn-action:hover{color:#fff;background-color:#5e5e5e;border-color:#4b4b4b}.btn-action:active,.btn-action.active,.open>.dropdown-toggle.btn-action{color:#fff;background-color:#5e5e5e;background-image:none;border-color:#4b4b4b}.btn-action:active:hover,.btn-action.active:hover,.open>.dropdown-toggle.btn-action:hover,.btn-action:active:focus,.btn-action.active:focus,.open>.dropdown-toggle.btn-action:focus,.btn-action:active.focus,.btn-action.active.focus,.open>.dropdown-toggle.btn-action.focus{color:#fff;background-color:#4c4c4c;border-color:#2a2a2a}.btn-action.disabled:hover,.btn-action[disabled]:hover,fieldset[disabled] .btn-action:hover,.btn-action.disabled:focus,.btn-action[disabled]:focus,fieldset[disabled] .btn-action:focus,.btn-action.disabled.focus,.btn-action[disabled].focus,fieldset[disabled] .btn-action.focus{background-color:#777;border-color:#6a6a6a}.btn-action .badge{color:#777;background-color:#fff}.value-list-rows .controls-row{margin-bottom:6px}.value-list-rows .controls-row .input-width-lg{width:100%;max-width:calc(100% - 50px)}.form-control-group .form-control{float:left;margin-right:6px}.datepicker{color:#fff}.toggle-container{margin-top:31px;margin-bottom:15px}.toggle-container.form-group{margin-top:0}.toggle-container .btn-group{display:-ms-flexbox;display:flex;height:39px;border-radius:50px}.toggle-container .btn-group>.btn{width:100%;margin-bottom:0;border-radius:50px}.toggle-container .btn-group>.btn:active{box-shadow:none}.toggle-container .btn-group>.btn:active:focus{color:#fff;background-color:rgba(118,194,78,0.75)}.toggle-container .btn-group>.btn-default{color:#a09fa0;background-color:#fff;border-color:#dad8d6}.toggle-container .btn-group>.active,.toggle-container .btn-group>.active:hover,.toggle-container .btn-group:active{color:#fff;background-color:#76c24e;border-color:#76c24e;box-shadow:none}.table>tbody>tr>td{vertical-align:middle}.table>tbody>tr:last-child>td{border-bottom:1px solid #ddd}.form-group.required .control-label::after{margin-left:4px;font-family:'FontAwesome';font-size:6px;font-weight:900;color:#eca9a7;vertical-align:super;content:"\f111"}.qr-code-container{position:relative;display:block;width:60vw;width:100%;max-width:75%;padding:0;margin:0 auto 32px;overflow:hidden;border-radius:6px}.qr-code-container::before{display:block;padding-top:100%;content:""}.qr-code-container .qr-code{position:absolute;top:0;left:0;width:100%;height:100%}.checkin-scroll-panel{position:absolute;top:45px;bottom:24px;z-index:1;width:100%;overflow:hidden}.scroller{position:absolute;z-index:1;width:100%;padding:0 30px;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-moz-text-size-adjust:none;text-size-adjust:none}.iScrollIndicator{position:absolute;box-sizing:border-box;display:block;width:100%;min-height:100px;background-color:rgba(255,255,255,0.4);border-radius:20px;-webkit-transition:0ms cubic-bezier(0.1,0.57,0.1,1);transition:0ms cubic-bezier(0.1,0.57,0.1,1);transform:translate(0,0) translateZ(0)}.iScrollVerticalScrollbar,.iScrollLoneScrollbar{position:absolute;top:2px;right:1px;bottom:2px;z-index:1;width:20px;overflow:hidden}.kioskmanager-activate{position:absolute;right:12px;bottom:8px;z-index:1000;color:#fff;opacity:0.5}.kioskmanager-activate:hover{color:#fff}.kioskmanager-locations{max-width:75%}.kioskmanager-location{position:relative;padding:16px;margin:0 60px 0 0;background-color:rgba(0,0,0,0.1);border-radius:4px}.kioskmanager-location:before,.kioskmanager-location:after{display:table;content:" "}.kioskmanager-location:after{clear:both}.kioskmanager-location .kioskmanager-location-toggle{float:left;margin-top:4px}.kioskmanager-location .kioskmanager-location-label{float:left;padding-left:8px;font-size:36px;font-weight:600}.kioskmanager-location .kioskmanager-location-count{position:absolute;right:12px;margin-top:12px;font-size:24px;font-weight:600}.kioskmanager-actions{position:absolute;bottom:0;left:75%}.kioskmanager-counts .kioskmanager-count h3,.kioskmanager-counts .kioskmanager-count li{color:#fff}.kioskmanager-counts .kioskmanager-count-locations,.kioskmanager-counts .kioskmanager-count-groups,.kioskmanager-counts .kioskmanager-count-schedules{padding:0;list-style:none}.kioskmanager-counts .kioskmanager-count-locations>li{margin-right:12px}.kioskmanager-counts .kioskmanager-counts ul li{float:left;margin-right:24px}.checkin-summary h3{margin-top:0;margin-bottom:24px}.checkin-summary .card{margin-bottom:30px;text-align:left}.checkin-summary .person-name{display:block;font-size:20px;font-weight:700}.checkin-celebrations>.row,.checkin-confirmations>.row{display:flex;flex-wrap:wrap;justify-content:center}.checkin-celebrations+.checkin-confirmations{padding:48px 0 0;margin:36px 0 0;border-top:1px solid #ddd}.checkin-celebrations .card{box-shadow:0 0 12px 0 #7ecdef}.checkin-celebrations .card-body{display:flex;flex-direction:row;align-items:center}.checkin-celebrations .person-name{-webkit-animation:fade-in-bottom 0.6s cubic-bezier(0.25,0.1,0.25,1) 200ms both;animation:fade-in-bottom 0.6s cubic-bezier(0.25,0.1,0.25,1) 200ms both}.checkin-celebrations .person-checkin-details{-webkit-animation:fade-in 1.2s cubic-bezier(0.25,0.1,0.25,1) 200ms both;animation:fade-in 1.2s cubic-bezier(0.25,0.1,0.25,1) 200ms both}.left-icon{padding-left:1rem;margin-right:1rem;-webkit-animation:scale-in-center 0.5s cubic-bezier(0.25,0.46,0.45,0.94) both;animation:scale-in-center 0.5s cubic-bezier(0.25,0.46,0.45,0.94) both}.right-icon{margin-left:auto}.right-icon svg{-webkit-animation:rotate-in-diag-1 0.5s cubic-bezier(0.25,0.46,0.45,0.94) 650ms both;animation:rotate-in-diag-1 0.5s cubic-bezier(0.25,0.46,0.45,0.94) 650ms both}.celebration-progress{display:flex;flex-wrap:wrap;padding:16px 0 0;margin:16px 0 0;border-top:1px solid #ddd}.celebration-progress-name{display:block;margin-bottom:4px;font-weight:700}.celebration-progress-stat{align-self:flex-end;margin-left:auto;font-size:12px}.checkin-confirmations .left-icon{padding-left:0;opacity:0.6;-webkit-animation:none;animation:none}.checkin-confirmations .left-icon.complete{opacity:1}@-webkit-keyframes rotate-in-diag-1{0%{opacity:0; +-webkit-transform:rotate3d(1,1,0,-360deg); +transform:rotate3d(1,1,0,-360deg)} +100%{opacity:1; +-webkit-transform:rotate3d(1,1,0,0deg); +transform:rotate3d(1,1,0,0deg)}} +@keyframes rotate-in-diag-1{0%{opacity:0; +-webkit-transform:rotate3d(1,1,0,-360deg); +transform:rotate3d(1,1,0,-360deg)} +100%{opacity:1; +-webkit-transform:rotate3d(1,1,0,0deg); +transform:rotate3d(1,1,0,0deg)}} +@-webkit-keyframes scale-in-center{0%{opacity:1; +-webkit-transform:scale(0); +transform:scale(0)} +100%{opacity:1; +-webkit-transform:scale(1); +transform:scale(1)}} +@keyframes scale-in-center{0%{opacity:1; +-webkit-transform:scale(0); +transform:scale(0)} +100%{opacity:1; +-webkit-transform:scale(1); +transform:scale(1)}} +@-webkit-keyframes fade-in-bottom{0%{opacity:0; +-webkit-transform:translateY(18px); +transform:translateY(18px)} +100%{opacity:1; +-webkit-transform:translateY(0); +transform:translateY(0)}} +@keyframes fade-in-bottom{0%{opacity:0; +-webkit-transform:translateY(18px); +transform:translateY(18px)} +100%{opacity:1; +-webkit-transform:translateY(0); +transform:translateY(0)}} +@-webkit-keyframes fade-in{0%{opacity:0} +100%{opacity:1}} +@keyframes fade-in{0%{opacity:0} +100%{opacity:1}} +body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:0}.modal{left:50%;bottom:auto;right:auto;padding:0;width:500px;margin-left:-250px;background:#0081c6;border-radius:4px;box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal.container{max-width:none}.modal-open{overflow:hidden;-webkit-overflow-scrolling:auto}.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .modal-scrollable{overflow-y:scroll;-webkit-overflow-scrolling:touch}@media (max-width:979px){.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom{overflow-y:visible}}.modal-scrollable{position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{outline:none;position:absolute;margin-top:0;top:50%;overflow:visible}.modal.fade{top:-100%;-webkit-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-moz-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-o-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out}.modal.fade.in{top:50%}.modal-body{max-height:none;overflow:visible}.modal.modal-absolute{position:absolute;z-index:950}.modal .loading-mask{position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;border-radius:6px}.modal-backdrop.modal-absolute{position:absolute;z-index:940}.modal-backdrop,.modal-backdrop.fade.in{opacity:0.7;filter:alpha(opacity=70);background:#fff}.modal.container{width:940px;margin-left:-470px}.modal-overflow.modal{top:1%}.modal-overflow.modal.fade{top:-100%}.modal-overflow.modal.fade.in{top:1%}.modal-overflow .modal-body{-webkit-overflow-scrolling:touch}@media (min-width:1200px){.modal.container{width:1170px;margin-left:-585px}}@media (max-width:979px){.modal,.modal.container,.modal.modal-overflow{top:1%;right:1%;left:1%;bottom:auto;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important}.modal.fade.in,.modal.container.fade.in,.modal.modal-overflow.fade.in{top:1%;bottom:auto}.modal-body,.modal-overflow .modal-body{position:static;margin:0;height:auto !important;max-height:none !important;overflow:visible !important}.modal-footer,.modal-overflow .modal-footer{position:static}}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)} +10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)} +20%,40%,60%,80%{-webkit-transform:translateX(10px)}} +@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)} +10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)} +20%,40%,60%,80%{-moz-transform:translateX(10px)}} +@-o-keyframes shake{0%,100%{-o-transform:translateX(0)} +10%,30%,50%,70%,90%{-o-transform:translateX(-10px)} +20%,40%,60%,80%{-o-transform:translateX(10px)}} +@keyframes shake{0%,100%{transform:translateX(0)} +10%,30%,50%,70%,90%{transform:translateX(-10px)} +20%,40%,60%,80%{transform:translateX(10px)}} +.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}body.rock-modal{background:transparent}body.rock-modal .modal-content{border:0 !important;box-shadow:none}.modal-content.rock-modal,.rock-modal .modal-content{background:transparent;border:0;box-shadow:0 12px 24px 0 rgba(0,0,0,0.1)}.modal-content.rock-modal .modal-header,.rock-modal .modal-content .modal-header{min-height:34px;padding:5px 15px;color:#fff;background-color:#0081c6}.modal-content.rock-modal .modal-header:before,.rock-modal .modal-content .modal-header:before,.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{display:table;content:" "}.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{clear:both}.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{margin-right:12px}.modal-content.rock-modal .modal-header a,.rock-modal .modal-content .modal-header a{color:#fff;text-decoration:underline}.modal-content.rock-modal .modal-header .close,.rock-modal .modal-content .modal-header .close{padding:6px;text-decoration:none;color:#000;text-shadow:none}.modal-content.rock-modal .modal-header .label,.rock-modal .modal-content .modal-header .label{margin-top:8px}.modal-content.rock-modal .modal-header small,.rock-modal .modal-content .modal-header small{display:block;margin-top:12px;color:#e6e6e6}@media screen and (min-width:768px){.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{float:left}}.modal-content.rock-modal .modal-body,.rock-modal .modal-content .modal-body{padding:8px 12px 12px;color:#fff;text-align:left;background-color:#0081c6}.modal-content.rock-modal .modal-body>.scroll-container,.rock-modal .modal-content .modal-body>.scroll-container{width:720px}.modal-content.rock-modal .modal-body>.scroll-container>.viewport,.rock-modal .modal-content .modal-body>.scroll-container>.viewport{width:670px}.modal-content.rock-modal .modal-body.iframe,.rock-modal .modal-content .modal-body.iframe{overflow:hidden}.modal-content.rock-modal .modal-footer,.rock-modal .modal-content .modal-footer{padding:8px 8px;margin-top:0;color:#fff;background-color:#0081c6;border-radius:0 0 4px 4px}.rock-modal .modal-footer .btn{float:right;margin-left:5px}.rock-modal-frame{border-radius:6px !important}.modal.modal-overflow{top:30px;margin-bottom:30px}@supports (-webkit-overflow-scrolling: touch){.modal.modal-overflow{top:1%;height:calc(100% - 1px) !important}} +#modal-popup_iframe{display:block;width:100%;height:100%;border:0}.modal-backdrop,.modal-backdrop.fade.in{background:#000;filter:alpha(opacity=70);opacity:0.5}.modal-dialog{width:auto;margin:0}.modal-content{border:none}.primary-color{color:#fff;background-color:#006093}.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-top{vertical-align:text-top !important}.align-text-bottom{vertical-align:text-bottom !important}.bg-primary{background-color:#337ab7 !important}.bg-success{background-color:#5cb85c !important}.bg-info{background-color:#5bc0de !important}.bg-warning{background-color:#f0ad4e !important}.bg-danger{background-color:#d9534f !important}.bg-critical{background-color:#ee7624 !important}.bg-body,.bg-color{background-color:#fff !important}.border{border:1px solid #000 !important}.border-top{border-top:1px solid #000 !important}.border-right{border-right:1px solid #000 !important}.border-bottom{border-bottom:1px solid #000 !important}.border-left{border-left:1px solid #000 !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:#337ab7 !important}.border-success{border-color:#5cb85c !important}.border-danger{border-color:#d9534f !important}.border-warning{border-color:#f0ad4e !important}.border-info{border-color:#5bc0de !important}.border-critical{border-color:#ee7624 !important}.border-panel{border-color:#cde1f1 !important}.rounded{border-radius:4px !important}.rounded-sm{border-radius:3px !important}.rounded-lg{border-radius:6px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:999px !important}.rounded-0{border-radius:0 !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #ddd;border-radius:4px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.card-body{flex:1 1 auto;min-height:1px;padding:18px 18px}.card-body{color:#161e2e}.card-title{margin-top:0;margin-bottom:0.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:18px}.card-header{padding:0.75rem 1.25rem;margin-top:0;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid #ddd}.card-header:first-child{border-radius:calc(4px - 1px) calc(4px - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:0.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid #ddd}.card-footer:last-child{border-radius:0 0 calc(4px - 1px) calc(4px - 1px)}.card-header-tabs{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(4px - 1px);border-top-right-radius:calc(4px - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(4px - 1px);border-bottom-left-radius:calc(4px - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{margin-bottom:-1px;border-radius:0}.card-sm .card-body{padding:0.75rem 0.75rem}.card-schedule{min-height:99px;margin-bottom:16px;border-radius:6px}.card-schedule .card-body{padding-right:0}.card-schedule .card-title{font-size:20px}.card-schedule .schedule-date{font-weight:600}.card-schedule .schedule-occurrence,.card-schedule .schedule-occurrence-schedule{display:block}.card-schedule .schedule-confirm{display:flex;flex-basis:180px;flex-wrap:wrap;align-items:center;align-self:center;justify-content:flex-end;margin-right:0.75rem}.card-schedule .schedule-confirm .btn-primary{margin:4px 0 4px 8px}.card-schedule.schedule-unavailable{background:#f5f5f5}.bg-transparent{background-color:transparent !important}.bg-current{background-color:currentColor !important}.bg-black{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-gray-100{background-color:#f8f9fa !important}.bg-gray-200{background-color:#e9ecef !important}.bg-gray-300{background-color:#dee2e6 !important}.bg-gray-400{background-color:#ced4da !important}.bg-gray-500{background-color:#adb5bd !important}.bg-gray-600{background-color:#6c757d !important}.bg-gray-700{background-color:#495057 !important}.bg-gray-800{background-color:#343a40 !important}.bg-gray-900{background-color:#212529 !important}.bg-red-100{background-color:#fff5f5 !important}.bg-red-200{background-color:#fed7d7 !important}.bg-red-300{background-color:#feb2b2 !important}.bg-red-400{background-color:#fc8181 !important}.bg-red-500{background-color:#f56565 !important}.bg-red-600{background-color:#e53e3e !important}.bg-red-700{background-color:#c53030 !important}.bg-red-800{background-color:#9b2c2c !important}.bg-red-900{background-color:#742a2a !important}.bg-orange-100{background-color:#fffaf0 !important}.bg-orange-200{background-color:#feebc8 !important}.bg-orange-300{background-color:#fbd38d !important}.bg-orange-400{background-color:#f6ad55 !important}.bg-orange-500{background-color:#ed8936 !important}.bg-orange-600{background-color:#dd6b20 !important}.bg-orange-700{background-color:#c05621 !important}.bg-orange-800{background-color:#9c4221 !important}.bg-orange-900{background-color:#7b341e !important}.bg-yellow-100{background-color:ivory !important}.bg-yellow-200{background-color:#fefcbf !important}.bg-yellow-300{background-color:#faf089 !important}.bg-yellow-400{background-color:#f6e05e !important}.bg-yellow-500{background-color:#ecc94b !important}.bg-yellow-600{background-color:#d69e2e !important}.bg-yellow-700{background-color:#b7791f !important}.bg-yellow-800{background-color:#975a16 !important}.bg-yellow-900{background-color:#744210 !important}.bg-green-100{background-color:#f0fff4 !important}.bg-green-200{background-color:#c6f6d5 !important}.bg-green-300{background-color:#9ae6b4 !important}.bg-green-400{background-color:#68d391 !important}.bg-green-500{background-color:#48bb78 !important}.bg-green-600{background-color:#38a169 !important}.bg-green-700{background-color:#2f855a !important}.bg-green-800{background-color:#276749 !important}.bg-green-900{background-color:#22543d !important}.bg-teal-100{background-color:#e6fffa !important}.bg-teal-200{background-color:#b2f5ea !important}.bg-teal-300{background-color:#81e6d9 !important}.bg-teal-400{background-color:#4fd1c5 !important}.bg-teal-500{background-color:#38b2ac !important}.bg-teal-600{background-color:#319795 !important}.bg-teal-700{background-color:#2c7a7b !important}.bg-teal-800{background-color:#285e61 !important}.bg-teal-900{background-color:#234e52 !important}.bg-blue-100{background-color:#ebf8ff !important}.bg-blue-200{background-color:#bee3f8 !important}.bg-blue-300{background-color:#90cdf4 !important}.bg-blue-400{background-color:#63b3ed !important}.bg-blue-500{background-color:#4299e1 !important}.bg-blue-600{background-color:#3182ce !important}.bg-blue-700{background-color:#2b6cb0 !important}.bg-blue-800{background-color:#2c5282 !important}.bg-blue-900{background-color:#2a4365 !important}.bg-indigo-100{background-color:#ebf4ff !important}.bg-indigo-200{background-color:#c3dafe !important}.bg-indigo-300{background-color:#a3bffa !important}.bg-indigo-400{background-color:#7f9cf5 !important}.bg-indigo-500{background-color:#667eea !important}.bg-indigo-600{background-color:#5a67d8 !important}.bg-indigo-700{background-color:#4c51bf !important}.bg-indigo-800{background-color:#434190 !important}.bg-indigo-900{background-color:#3c366b !important}.bg-purple-100{background-color:#faf5ff !important}.bg-purple-200{background-color:#e9d8fd !important}.bg-purple-300{background-color:#d6bcfa !important}.bg-purple-400{background-color:#b794f4 !important}.bg-purple-500{background-color:#9f7aea !important}.bg-purple-600{background-color:#805ad5 !important}.bg-purple-700{background-color:#6b46c1 !important}.bg-purple-800{background-color:#553c9a !important}.bg-purple-900{background-color:#44337a !important}.bg-pink-100{background-color:#fff5f7 !important}.bg-pink-200{background-color:#fed7e2 !important}.bg-pink-300{background-color:#fbb6ce !important}.bg-pink-400{background-color:#f687b3 !important}.bg-pink-500{background-color:#ed64a6 !important}.bg-pink-600{background-color:#d53f8c !important}.bg-pink-700{background-color:#b83280 !important}.bg-pink-800{background-color:#97266d !important}.bg-pink-900{background-color:#702459 !important}.text-transparent{color:transparent !important}.text-current{color:currentColor !important}.text-black{color:#000 !important}.text-white{color:#fff !important}.text-gray-100{color:#f8f9fa !important}.text-gray-200{color:#e9ecef !important}.text-gray-300{color:#dee2e6 !important}.text-gray-400{color:#ced4da !important}.text-gray-500{color:#adb5bd !important}.text-gray-600{color:#6c757d !important}.text-gray-700{color:#495057 !important}.text-gray-800{color:#343a40 !important}.text-gray-900{color:#212529 !important}.text-red-100{color:#fff5f5 !important}.text-red-200{color:#fed7d7 !important}.text-red-300{color:#feb2b2 !important}.text-red-400{color:#fc8181 !important}.text-red-500{color:#f56565 !important}.text-red-600{color:#e53e3e !important}.text-red-700{color:#c53030 !important}.text-red-800{color:#9b2c2c !important}.text-red-900{color:#742a2a !important}.text-orange-100{color:#fffaf0 !important}.text-orange-200{color:#feebc8 !important}.text-orange-300{color:#fbd38d !important}.text-orange-400{color:#f6ad55 !important}.text-orange-500{color:#ed8936 !important}.text-orange-600{color:#dd6b20 !important}.text-orange-700{color:#c05621 !important}.text-orange-800{color:#9c4221 !important}.text-orange-900{color:#7b341e !important}.text-yellow-100{color:ivory !important}.text-yellow-200{color:#fefcbf !important}.text-yellow-300{color:#faf089 !important}.text-yellow-400{color:#f6e05e !important}.text-yellow-500{color:#ecc94b !important}.text-yellow-600{color:#d69e2e !important}.text-yellow-700{color:#b7791f !important}.text-yellow-800{color:#975a16 !important}.text-yellow-900{color:#744210 !important}.text-green-100{color:#f0fff4 !important}.text-green-200{color:#c6f6d5 !important}.text-green-300{color:#9ae6b4 !important}.text-green-400{color:#68d391 !important}.text-green-500{color:#48bb78 !important}.text-green-600{color:#38a169 !important}.text-green-700{color:#2f855a !important}.text-green-800{color:#276749 !important}.text-green-900{color:#22543d !important}.text-teal-100{color:#e6fffa !important}.text-teal-200{color:#b2f5ea !important}.text-teal-300{color:#81e6d9 !important}.text-teal-400{color:#4fd1c5 !important}.text-teal-500{color:#38b2ac !important}.text-teal-600{color:#319795 !important}.text-teal-700{color:#2c7a7b !important}.text-teal-800{color:#285e61 !important}.text-teal-900{color:#234e52 !important}.text-blue-100{color:#ebf8ff !important}.text-blue-200{color:#bee3f8 !important}.text-blue-300{color:#90cdf4 !important}.text-blue-400{color:#63b3ed !important}.text-blue-500{color:#4299e1 !important}.text-blue-600{color:#3182ce !important}.text-blue-700{color:#2b6cb0 !important}.text-blue-800{color:#2c5282 !important}.text-blue-900{color:#2a4365 !important}.text-indigo-100{color:#ebf4ff !important}.text-indigo-200{color:#c3dafe !important}.text-indigo-300{color:#a3bffa !important}.text-indigo-400{color:#7f9cf5 !important}.text-indigo-500{color:#667eea !important}.text-indigo-600{color:#5a67d8 !important}.text-indigo-700{color:#4c51bf !important}.text-indigo-800{color:#434190 !important}.text-indigo-900{color:#3c366b !important}.text-purple-100{color:#faf5ff !important}.text-purple-200{color:#e9d8fd !important}.text-purple-300{color:#d6bcfa !important}.text-purple-400{color:#b794f4 !important}.text-purple-500{color:#9f7aea !important}.text-purple-600{color:#805ad5 !important}.text-purple-700{color:#6b46c1 !important}.text-purple-800{color:#553c9a !important}.text-purple-900{color:#44337a !important}.text-pink-100{color:#fff5f7 !important}.text-pink-200{color:#fed7e2 !important}.text-pink-300{color:#fbb6ce !important}.text-pink-400{color:#f687b3 !important}.text-pink-500{color:#ed64a6 !important}.text-pink-600{color:#d53f8c !important}.text-pink-700{color:#b83280 !important}.text-pink-800{color:#97266d !important}.text-pink-900{color:#702459 !important}.border-transparent{border-color:transparent !important}.border-black{border-color:#000 !important}.border-white{border-color:#fff !important}.border-gray-100{border-color:#f7fafc !important}.border-gray-200{border-color:#edf2f7 !important}.border-gray-300{border-color:#e2e8f0 !important}.border-gray-400{border-color:#cbd5e0 !important}.border-gray-500{border-color:#a0aec0 !important}.border-gray-600{border-color:#718096 !important}.border-gray-700{border-color:#4a5568 !important}.border-gray-800{border-color:#2d3748 !important}.border-gray-900{border-color:#1a202c !important}.border-red-100{border-color:#fff5f5 !important}.border-red-200{border-color:#fed7d7 !important}.border-red-300{border-color:#feb2b2 !important}.border-red-400{border-color:#fc8181 !important}.border-red-500{border-color:#f56565 !important}.border-red-600{border-color:#e53e3e !important}.border-red-700{border-color:#c53030 !important}.border-red-800{border-color:#9b2c2c !important}.border-red-900{border-color:#742a2a !important}.border-orange-100{border-color:#fffaf0 !important}.border-orange-200{border-color:#feebc8 !important}.border-orange-300{border-color:#fbd38d !important}.border-orange-400{border-color:#f6ad55 !important}.border-orange-500{border-color:#ed8936 !important}.border-orange-600{border-color:#dd6b20 !important}.border-orange-700{border-color:#c05621 !important}.border-orange-800{border-color:#9c4221 !important}.border-orange-900{border-color:#7b341e !important}.border-yellow-100{border-color:ivory !important}.border-yellow-200{border-color:#fefcbf !important}.border-yellow-300{border-color:#faf089 !important}.border-yellow-400{border-color:#f6e05e !important}.border-yellow-500{border-color:#ecc94b !important}.border-yellow-600{border-color:#d69e2e !important}.border-yellow-700{border-color:#b7791f !important}.border-yellow-800{border-color:#975a16 !important}.border-yellow-900{border-color:#744210 !important}.border-green-100{border-color:#f0fff4 !important}.border-green-200{border-color:#c6f6d5 !important}.border-green-300{border-color:#9ae6b4 !important}.border-green-400{border-color:#68d391 !important}.border-green-500{border-color:#48bb78 !important}.border-green-600{border-color:#38a169 !important}.border-green-700{border-color:#2f855a !important}.border-green-800{border-color:#276749 !important}.border-green-900{border-color:#22543d !important}.border-teal-100{border-color:#e6fffa !important}.border-teal-200{border-color:#b2f5ea !important}.border-teal-300{border-color:#81e6d9 !important}.border-teal-400{border-color:#4fd1c5 !important}.border-teal-500{border-color:#38b2ac !important}.border-teal-600{border-color:#319795 !important}.border-teal-700{border-color:#2c7a7b !important}.border-teal-800{border-color:#285e61 !important}.border-teal-900{border-color:#234e52 !important}.border-blue-100{border-color:#ebf8ff !important}.border-blue-200{border-color:#bee3f8 !important}.border-blue-300{border-color:#90cdf4 !important}.border-blue-400{border-color:#63b3ed !important}.border-blue-500{border-color:#4299e1 !important}.border-blue-600{border-color:#3182ce !important}.border-blue-700{border-color:#2b6cb0 !important}.border-blue-800{border-color:#2c5282 !important}.border-blue-900{border-color:#2a4365 !important}.border-indigo-100{border-color:#ebf4ff !important}.border-indigo-200{border-color:#c3dafe !important}.border-indigo-300{border-color:#a3bffa !important}.border-indigo-400{border-color:#7f9cf5 !important}.border-indigo-500{border-color:#667eea !important}.border-indigo-600{border-color:#5a67d8 !important}.border-indigo-700{border-color:#4c51bf !important}.border-indigo-800{border-color:#434190 !important}.border-indigo-900{border-color:#3c366b !important}.border-purple-100{border-color:#faf5ff !important}.border-purple-200{border-color:#e9d8fd !important}.border-purple-300{border-color:#d6bcfa !important}.border-purple-400{border-color:#b794f4 !important}.border-purple-500{border-color:#9f7aea !important}.border-purple-600{border-color:#805ad5 !important}.border-purple-700{border-color:#6b46c1 !important}.border-purple-800{border-color:#553c9a !important}.border-purple-900{border-color:#44337a !important}.border-pink-100{border-color:#fff5f7 !important}.border-pink-200{border-color:#fed7e2 !important}.border-pink-300{border-color:#fbb6ce !important}.border-pink-400{border-color:#f687b3 !important}.border-pink-500{border-color:#ed64a6 !important}.border-pink-600{border-color:#d53f8c !important}.border-pink-700{border-color:#b83280 !important}.border-pink-800{border-color:#97266d !important}.border-pink-900{border-color:#702459 !important}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer,.clickable{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.cursor-grabbing{cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.cursor-zoom-in{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.cursor-zoom-out{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.row-eq-height{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}@media (min-width:992px){.row-eq-height-md{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.hover-underline:hover{text-decoration:underline}.object-contain{object-fit:contain !important}.object-cover{object-fit:cover !important}.object-fill{object-fit:fill !important}.object-none{object-fit:none !important}.object-scale-down{object-fit:scale-down !important}.o-00,.o-0{opacity:0 !important}.o-10{opacity:0.1 !important}.o-20{opacity:0.2 !important}.o-30{opacity:0.3 !important}.o-40{opacity:0.4 !important}.o-50{opacity:0.5 !important}.o-60{opacity:0.6 !important}.o-70{opacity:0.7 !important}.o-80{opacity:0.8 !important}.o-90{opacity:0.9 !important}.o-100{opacity:1 !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1050}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1050}.inset-0{position:absolute;top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.bottom-0{bottom:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06) !important}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05) !important}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04) !important}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25) !important}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06) !important}.shadow-none{box-shadow:none !important}.w-1{width:1% !important}.w-20{width:20% !important}.w-25,.width-quarter{width:25% !important}.width-third{width:33.33333% !important}.w-50,.width-half{width:50% !important}.w-75{width:75% !important}.w-100,.width-full{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-w-0{min-width:0 !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.padding-all-none{padding:0 !important}.padding-all-sm{padding:8px !important}.padding-all-md{padding:15px !important}.padding-all-lg{padding:30px !important}.padding-all-xl{padding:60px !important}.margin-all-none{margin:0 !important}.margin-all-sm{margin:8px !important}.margin-all-md{margin:15px !important}.margin-all-lg{margin:30px !important}.margin-all-xl{margin:60px !important}.padding-v-none{padding-top:0 !important;padding-bottom:0 !important}.padding-v-sm{padding-top:8px !important;padding-bottom:8px !important}.padding-v-md{padding-top:15px !important;padding-bottom:15px !important}.padding-v-lg{padding-top:30px !important;padding-bottom:30px !important}.padding-v-xl{padding-top:60px !important;padding-bottom:60px !important}.margin-v-none{margin-top:0 !important;margin-bottom:0 !important}.margin-v-sm{margin-top:8px !important;margin-bottom:8px !important}.margin-v-md{margin-top:15px !important;margin-bottom:15px !important}.margin-v-lg{margin-top:30px !important;margin-bottom:30px !important}.margin-v-xl{margin-top:60px !important;margin-bottom:60px !important}.padding-h-none{padding-right:0 !important;padding-left:0 !important}.padding-h-sm{padding-right:8px !important;padding-left:8px !important}.padding-h-md{padding-right:15px !important;padding-left:15px !important}.padding-h-lg{padding-right:30px !important;padding-left:30px !important}.padding-h-xl{padding-right:60px !important;padding-left:60px !important}.margin-h-none{margin-right:0 !important;margin-left:0 !important}.margin-h-sm{margin-right:8px !important;margin-left:8px !important}.margin-h-md{margin-right:15px !important;margin-left:15px !important}.margin-h-lg{margin-right:30px !important;margin-left:30px !important}.margin-h-xl{margin-right:60px !important;margin-left:60px !important}.padding-t-none{padding-top:0 !important}.padding-t-sm{padding-top:8px !important}.padding-t-md{padding-top:15px !important}.padding-t-lg{padding-top:30px !important}.padding-t-xl{padding-top:60px !important}.margin-t-none{margin-top:0 !important}.margin-t-sm{margin-top:8px !important}.margin-t-md{margin-top:15px !important}.margin-t-lg{margin-top:30px !important}.margin-t-xl{margin-top:60px !important}.padding-b-none{padding-bottom:0 !important}.padding-b-sm{padding-bottom:8px !important}.padding-b-md{padding-bottom:15px !important}.padding-b-lg{padding-bottom:30px !important}.padding-b-xl{padding-bottom:60px !important}.margin-b-none{margin-bottom:0 !important}.margin-b-sm{margin-bottom:8px !important}.margin-b-md{margin-bottom:15px !important}.margin-b-lg{margin-bottom:30px !important}.margin-b-xl{margin-bottom:60px !important}.padding-r-none{padding-right:0 !important}.padding-r-sm{padding-right:8px !important}.padding-r-md{padding-right:15px !important}.padding-r-lg{padding-right:30px !important}.padding-r-xl{padding-right:60px !important}.margin-r-none{margin-right:0 !important}.margin-r-sm{margin-right:8px !important}.margin-r-md{margin-right:15px !important}.margin-r-lg{margin-right:30px !important}.margin-r-xl{margin-right:60px !important}.padding-l-none{padding-left:0 !important}.padding-l-sm{padding-left:8px !important}.padding-l-md{padding-left:15px !important}.padding-l-lg{padding-left:30px !important}.padding-l-xl{padding-left:60px !important}.margin-l-none{margin-left:0 !important}.margin-l-sm{margin-left:8px !important}.margin-l-md{margin-left:15px !important}.margin-l-lg{margin-left:30px !important}.margin-l-xl{margin-left:60px !important}.mx--panel-body{margin-right:-15px;margin-left:-15px}.font-monospace{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light,.text-light{font-weight:300 !important}.font-weight-lighter{font-weight:200 !important}.font-weight-normal,.text-normal{font-weight:400 !important}.font-weight-semibold{font-weight:600 !important}.font-weight-bold,.text-semibold{font-weight:700 !important}.font-weight-bolder,.text-bold{font-weight:900 !important}.font-italic{font-style:italic !important}.text-primary{color:#337ab7 !important}.text-success{color:#5cb85c !important}.text-danger{color:#d9534f !important}.text-warning{color:#f0ad4e !important}.text-info{color:#5bc0de !important}.text-critical{color:#ee7624 !important}.text-color,.text-body{color:#fff !important}.text-muted{color:#777 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-decoration-none{text-decoration:none !important}.text-linethrough{text-decoration:line-through !important}.text-reset{color:inherit !important}.text-shadow-light{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.text-shadow{text-shadow:-1px -1px 0 #777,1px -1px 0 #777,-1px 1px 0 #777,1px 1px 0 #777}.text-shadow-dark{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.leading-tight{line-height:0.9 !important}.leading-snug{line-height:1 !important}.leading-normal{line-height:1.5 !important}.leading-relaxed{line-height:1.75 !important}.leading-loose{line-height:2 !important}.select-none,.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.-z-10{z-index:-10 !important}.z-0{z-index:0 !important}.z-10{z-index:10 !important}.z-20{z-index:20 !important}.z-30{z-index:30 !important}.z-40{z-index:40 !important}.z-50{z-index:50 !important}.z-auto{z-index:auto !important}.is-inactive{opacity:0.6}.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:flex !important}.d-inline-flex{display:inline-flex !important}.col{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:0.25rem !important}.m-2{margin:0.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:0.25rem !important}.mt-2{margin-top:0.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.mr-0{margin-right:0 !important}.mr-1{margin-right:0.25rem !important}.mr-2{margin-right:0.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mr-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:0.25rem !important}.mb-2{margin-bottom:0.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ml-0{margin-left:0 !important}.ml-1{margin-left:0.25rem !important}.ml-2{margin-left:0.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.ml-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:0.25rem !important}.p-2{padding:0.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:0.25rem !important}.pt-2{padding-top:0.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pr-0{padding-right:0 !important}.pr-1{padding-right:0.25rem !important}.pr-2{padding-right:0.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:0.25rem !important}.pb-2{padding-bottom:0.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.pl-0{padding-left:0 !important}.pl-1{padding-left:0.25rem !important}.pl-2{padding-left:0.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width:768px){.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:flex !important}.d-sm-inline-flex{display:inline-flex !important}.col-sm{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:0.25rem !important}.m-sm-2{margin:0.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-sm-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-sm-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:0.25rem !important}.mt-sm-2{margin-top:0.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.mr-sm-0{margin-right:0 !important}.mr-sm-1{margin-right:0.25rem !important}.mr-sm-2{margin-right:0.5rem !important}.mr-sm-3{margin-right:1rem !important}.mr-sm-4{margin-right:1.5rem !important}.mr-sm-5{margin-right:3rem !important}.mr-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:0.25rem !important}.mb-sm-2{margin-bottom:0.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ml-sm-0{margin-left:0 !important}.ml-sm-1{margin-left:0.25rem !important}.ml-sm-2{margin-left:0.5rem !important}.ml-sm-3{margin-left:1rem !important}.ml-sm-4{margin-left:1.5rem !important}.ml-sm-5{margin-left:3rem !important}.ml-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:0.25rem !important}.p-sm-2{padding:0.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-sm-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-sm-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:0.25rem !important}.pt-sm-2{padding-top:0.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pr-sm-0{padding-right:0 !important}.pr-sm-1{padding-right:0.25rem !important}.pr-sm-2{padding-right:0.5rem !important}.pr-sm-3{padding-right:1rem !important}.pr-sm-4{padding-right:1.5rem !important}.pr-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:0.25rem !important}.pb-sm-2{padding-bottom:0.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.pl-sm-0{padding-left:0 !important}.pl-sm-1{padding-left:0.25rem !important}.pl-sm-2{padding-left:0.5rem !important}.pl-sm-3{padding-left:1rem !important}.pl-sm-4{padding-left:1.5rem !important}.pl-sm-5{padding-left:3rem !important}.text-sm-left,.sm-text-left{text-align:left !important}.text-sm-right,.sm-text-right{text-align:right !important}.text-sm-center,.sm-text-right{text-align:center !important}}@media (min-width:992px){.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:flex !important}.d-md-inline-flex{display:inline-flex !important}.col-md{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:0.25rem !important}.m-md-2{margin:0.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-md-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-md-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:0.25rem !important}.mt-md-2{margin-top:0.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.mr-md-0{margin-right:0 !important}.mr-md-1{margin-right:0.25rem !important}.mr-md-2{margin-right:0.5rem !important}.mr-md-3{margin-right:1rem !important}.mr-md-4{margin-right:1.5rem !important}.mr-md-5{margin-right:3rem !important}.mr-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:0.25rem !important}.mb-md-2{margin-bottom:0.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ml-md-0{margin-left:0 !important}.ml-md-1{margin-left:0.25rem !important}.ml-md-2{margin-left:0.5rem !important}.ml-md-3{margin-left:1rem !important}.ml-md-4{margin-left:1.5rem !important}.ml-md-5{margin-left:3rem !important}.ml-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:0.25rem !important}.p-md-2{padding:0.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-md-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-md-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:0.25rem !important}.pt-md-2{padding-top:0.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pr-md-0{padding-right:0 !important}.pr-md-1{padding-right:0.25rem !important}.pr-md-2{padding-right:0.5rem !important}.pr-md-3{padding-right:1rem !important}.pr-md-4{padding-right:1.5rem !important}.pr-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:0.25rem !important}.pb-md-2{padding-bottom:0.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.pl-md-0{padding-left:0 !important}.pl-md-1{padding-left:0.25rem !important}.pl-md-2{padding-left:0.5rem !important}.pl-md-3{padding-left:1rem !important}.pl-md-4{padding-left:1.5rem !important}.pl-md-5{padding-left:3rem !important}.text-md-left,.md-text-left{text-align:left !important}.text-md-right,.md-text-right{text-align:right !important}.text-md-center,.md-text-right{text-align:center !important}}@media (min-width:1200px){.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:flex !important}.d-lg-inline-flex{display:inline-flex !important}.col-lg{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:0.25rem !important}.m-lg-2{margin:0.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-lg-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-lg-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:0.25rem !important}.mt-lg-2{margin-top:0.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.mr-lg-0{margin-right:0 !important}.mr-lg-1{margin-right:0.25rem !important}.mr-lg-2{margin-right:0.5rem !important}.mr-lg-3{margin-right:1rem !important}.mr-lg-4{margin-right:1.5rem !important}.mr-lg-5{margin-right:3rem !important}.mr-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:0.25rem !important}.mb-lg-2{margin-bottom:0.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ml-lg-0{margin-left:0 !important}.ml-lg-1{margin-left:0.25rem !important}.ml-lg-2{margin-left:0.5rem !important}.ml-lg-3{margin-left:1rem !important}.ml-lg-4{margin-left:1.5rem !important}.ml-lg-5{margin-left:3rem !important}.ml-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:0.25rem !important}.p-lg-2{padding:0.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-lg-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-lg-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:0.25rem !important}.pt-lg-2{padding-top:0.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pr-lg-0{padding-right:0 !important}.pr-lg-1{padding-right:0.25rem !important}.pr-lg-2{padding-right:0.5rem !important}.pr-lg-3{padding-right:1rem !important}.pr-lg-4{padding-right:1.5rem !important}.pr-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:0.25rem !important}.pb-lg-2{padding-bottom:0.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.pl-lg-0{padding-left:0 !important}.pl-lg-1{padding-left:0.25rem !important}.pl-lg-2{padding-left:0.5rem !important}.pl-lg-3{padding-left:1rem !important}.pl-lg-4{padding-left:1.5rem !important}.pl-lg-5{padding-left:3rem !important}.text-lg-left,.lg-text-left{text-align:left !important}.text-lg-right,.lg-text-right{text-align:right !important}.text-lg-center,.lg-text-right{text-align:center !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:flex !important}.d-print-inline-flex{display:inline-flex !important}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.abs-scroll-list{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}@font-face{font-family:'OpenSans'; +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.eot'); +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.woff') format('woff'),url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.ttf') format('truetype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); +font-weight:400; +font-style:normal} +@font-face{font-family:'OpenSans'; +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.eot'); +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.woff') format('woff'),url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.ttf') format('truetype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); +font-weight:300; +font-style:normal} +@font-face{font-family:'OpenSans'; +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.eot'); +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.woff') format('woff'),url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.ttf') format('truetype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); +font-weight:600; +font-style:normal} +@font-face{font-family:'OpenSans'; +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.eot'); +src:url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.woff') format('woff'),url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.ttf') format('truetype'),url('s../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); +font-weight:700; +font-style:normal} +body{background-image:none}body:after{content:'';position:absolute;bottom:20px;right:50px;width:220px;height:220px;background-image:url('../Assets/Images/kidspring-logo.png');background-size:cover;z-index:-1}.btn-primary.active{background-color:#6bac43;border-color:#6bac43}.row--fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;padding:60px}.row--fullscreen:before{float:none;content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.row--fullscreen:after{display:none}.row--fullscreen .align--middle{float:none;display:inline-block;vertical-align:middle;margin-right:-4px}.push--bottom{margin-bottom:30px}@media (min-width:768px){.modal .modal-dialog{margin:0;width:100%}} \ No newline at end of file diff --git a/RockWeb/Themes/KidSpring/Styles/checkin-theme.less b/RockWeb/Themes/KidSpring/Styles/checkin-theme.less new file mode 100644 index 00000000000..70ff8da6539 --- /dev/null +++ b/RockWeb/Themes/KidSpring/Styles/checkin-theme.less @@ -0,0 +1,215 @@ +/* + + Rock Park Check-in Theme + Crafted by: Spark Development Network + + */ + +// +// Imports +// -------------------------------------------------- +@import "../../../Styles/FontAwesome/font-awesome.less"; +@import "../../../Styles/Bootstrap/bootstrap.less"; +@import "../../../Styles/_checkin-core.less"; +@import "../../../Styles/_modal.less"; +@import "../../../Styles/_helpers.less"; + +// +// Variables +// -------------------------------------------------- + +// Font Variables +@font-family-base: 'OpenSans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +@font-weight-light: 300; +@font-weight-bold: 700; +@font-weight-semibold: 600; + +@bg-color: #0081C6; // KidSpring Blue +@fg-color: #6bac43; // NewSpring Green +@neg-color: #B83833; +@text-color: #fff; + +@modal-body-bg: @bg-color; +@modal-body-text-color: @text-color; +@modal-header-bg: @bg-color; +@modal-header-text-color: @text-color; +@modal-footer-bg: @bg-color; +@modal-footer-text-color: @text-color; + +@header-text-color: #fff; +@header-font-weight: @font-weight-bold; + +@subheader-text-color: #bde2ef; +@subheader-font-weight: @font-weight-light; + +// Button Styles +@btn-default-bg: darken(@bg-color, 5); +@btn-default-color: #fff; +@btn-default-border: darken(@bg-color, 5); +@checkin-button-text-weight: @font-weight-bold; +@checkin-button-alttext-weight: @font-weight-light; + +@btn-primary-color: #fff; +@btn-primary-border: darken(@bg-color, 10); +@btn-primary-bg: darken(@bg-color, 10); + +@btn-disabled-color: @btn-primary-border; +@btn-disabled-bg: darken(@btn-primary-bg, 20%); + +// scroll bar +@scrollbar-bg: #000; +@scrollbar-border: #adaeaf; + +// colors +@accent-color: @fg-color; +@accent-text-color: @btn-primary-color; + +@accent-light-color: @btn-default-bg; +@accent-light-text-color: @btn-primary-color; + +@accent-semibold-color: @btn-default-bg; +@accent-semibold-text-color: @btn-primary-color; + +// override accent bold to use an offset color +@accent-bold-color: @neg-color; +@accent-bold-text-color: @btn-primary-color; + +@base-spacing-unit: 30px; + +// Fonts +// ------------------------- + +// regular (weight 'normal' aka 400) +@font-face { + font-family: 'OpenSans'; + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.eot'); + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.woff') format('woff'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.ttf') format('truetype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); + font-weight: 400; + font-style: normal; +} + +// light (weight 300) +@font-face { + font-family: 'OpenSans'; + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.eot'); + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.woff') format('woff'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.ttf') format('truetype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Light-webfont.svg#OpenSansLight') format('svg'); + font-weight: 300; + font-style: normal; +} + +// semi-bold (weight 600) +@font-face { + font-family: 'OpenSans'; + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.eot'); + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.woff') format('woff'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.ttf') format('truetype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg'); + font-weight: 600; + font-style: normal; +} + +// bold (weight 700) +@font-face { + font-family: 'OpenSans'; + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.eot'); + src: url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.woff') format('woff'), + url('../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.ttf') format('truetype'), + url('s../../../Assets/Fonts/OpenSans/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg'); + font-weight: 700; + font-style: normal; +} + + +// +// Mix-ins +// -------------------------------------------------- +.checkinBackground () { + background-color: @bg-color; + background-image: url('../Assets/Images/kidspring-logo.png'); + background-position: bottom right; + background-repeat: no-repeat; + background-size: 20%; +} + +.checkinBackgroundRetina() +{ + //background-image: url('../Assets/Images/background@2x.jpg'); + background-size: 1348px 1024px; // should be 1/2 of the actual +} + + +// +// Custom Overrides +// -------------------------------------------------- +body { + background-image: none; +} + +body:after { + content: ''; + position: absolute; + bottom: 20px; + right: 50px; + width: 220px; + height: 220px; + background-image: url('../Assets/Images/kidspring-logo.png'); + background-size: cover; + z-index: -1; +} + +.btn-primary.active { + background-color: @accent-color; + border-color: @accent-color; +} + +.row--fullscreen { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: @base-spacing-unit*2; + + &:before { + float: none; + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; + margin-right: -0.25em; + } + + &:after { + display: none; + } + + .align--middle { + // vertical-align: middle; + // display: table-cell; + float:none; + display:inline-block; + vertical-align:middle; + margin-right:-4px; + } +} + +.push--bottom { + margin-bottom: @base-spacing-unit; +} + +@media (min-width: 768px) { + + .modal .modal-dialog { + margin: 0; + width: 100%; + } + +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/.nocompile b/RockWeb/Themes/NewSpring/.nocompile new file mode 100644 index 00000000000..e69de29bb2d diff --git a/RockWeb/Themes/NewSpring/Layouts/FullWidth.aspx b/RockWeb/Themes/NewSpring/Layouts/FullWidth.aspx new file mode 100644 index 00000000000..327efcc3b70 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/FullWidth.aspx @@ -0,0 +1,41 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + +
+ + + + + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ + + +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/LeftSidebar.aspx b/RockWeb/Themes/NewSpring/Layouts/LeftSidebar.aspx new file mode 100644 index 00000000000..1b5673f4f57 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/LeftSidebar.aspx @@ -0,0 +1,42 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + + + +
+ + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ +
+ +
+
+ +
+ +
+
+ + + +
+ +
+ + + +
+ +
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/Navless.aspx b/RockWeb/Themes/NewSpring/Layouts/Navless.aspx new file mode 100644 index 00000000000..bb9ceab1785 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/Navless.aspx @@ -0,0 +1,41 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ + + + + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ + + +
+ + +
+ +
+ + + +
+ +
+ + +
+ +
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/NavlessLeftSidebar.aspx b/RockWeb/Themes/NewSpring/Layouts/NavlessLeftSidebar.aspx new file mode 100644 index 00000000000..18fca494974 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/NavlessLeftSidebar.aspx @@ -0,0 +1,39 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ + + +
+
+
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/NavlessRightSidebar.aspx b/RockWeb/Themes/NewSpring/Layouts/NavlessRightSidebar.aspx new file mode 100644 index 00000000000..a915c5fd75e --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/NavlessRightSidebar.aspx @@ -0,0 +1,39 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ + + +
+
+
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/RightSidebar.aspx b/RockWeb/Themes/NewSpring/Layouts/RightSidebar.aspx new file mode 100644 index 00000000000..f447570f245 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/RightSidebar.aspx @@ -0,0 +1,42 @@ +<%@ Page Language="C#" MasterPageFile="Site.Master" AutoEventWireup="true" Inherits="Rock.Web.UI.RockPage" %> + + + +
+ + + + + + + + + {% assign pageColor = CurrentPage | Attribute:'PageColor' %} +
+
+ + + +
+
+
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ +
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Layouts/Site.Master b/RockWeb/Themes/NewSpring/Layouts/Site.Master new file mode 100644 index 00000000000..d75ae713dbe --- /dev/null +++ b/RockWeb/Themes/NewSpring/Layouts/Site.Master @@ -0,0 +1,137 @@ +<%@ Master Language="C#" AutoEventWireup="true" Inherits="Rock.Web.UI.RockMasterPage" %> +<%@ Import Namespace="System.Web.Optimization" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% assign newStyles = CurrentPage | Attribute:'UseNewStyles' %} + {% if newStyles == 'Yes' %} + + + + + + + + {% else %} + + + {% endif %} + + + + + + + +
+ + + {% assign hasRights = 'Global' | Page:'Id' | HasRightsTo:'Edit','Rock.Model.Page' %} + {% assign transparentNav = CurrentPage | Attribute:'TransparentNavigation','RawValue' %} + +
+ + + + +
+ + +
+ + + +
+ + <%-- controls for scriptmanager and update panel --%> + + + +
+
+
+
+
+ +
+
+ + + + + + diff --git a/RockWeb/Themes/NewSpring/Scripts/accordions.js b/RockWeb/Themes/NewSpring/Scripts/accordions.js new file mode 100644 index 00000000000..91d36145f00 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/accordions.js @@ -0,0 +1,20 @@ +document.addEventListener( + "DOMContentLoaded", + function () { + let collapsables = $('[data-toggle="collapse"]'); + collapsables.each(function (i) { + $(this).bind("click", function () { + let icon = $(this).find(".fa-plus, .fa-minus"); + let hasClass = icon.hasClass("fa-plus"); + if (hasClass) { + icon.removeClass("fa-plus"); + icon.addClass("fa-minus"); + } else { + icon.addClass("fa-plus"); + icon.removeClass("fa-minus"); + } + }); + }); + }, + false +); diff --git a/RockWeb/Themes/NewSpring/Scripts/append-query.js b/RockWeb/Themes/NewSpring/Scripts/append-query.js new file mode 100644 index 00000000000..14407910cde --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/append-query.js @@ -0,0 +1,36 @@ +document.addEventListener("DOMContentLoaded", function() { + var appendQueryInstances = document.querySelectorAll("[data-append-query]"); + + for (var i = 0; i < appendQueryInstances.length; i++) { + + if (appendQueryInstances[i].tagName == 'INPUT') { + // Handle as form + + // Get parent form of input + var form = appendQueryInstances[i].form; + + // Bind to form submit + form.addEventListener("submit", function(e){ + e.preventDefault(); + var destination = e.target.querySelector("[data-append-query]").dataset.appendQuery; + var queryValue = e.target.querySelector("[data-append-query]").value.trim(); + var url = destination + encodeURIComponent(queryValue); + window.location.href = url; + }); + + + } else { + // Handle as link + + // Bind to link click + appendQueryInstances[i].addEventListener("click", function(e){ + e.preventDefault(); + var destination = e.target.href; + var queryValue = e.target.dataset.appendQuery; + var url = destination + '?' + queryValue; + window.location.href = url; + }); + + } + } +}); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/counter.js b/RockWeb/Themes/NewSpring/Scripts/counter.js new file mode 100644 index 00000000000..2551e8f970e --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/counter.js @@ -0,0 +1,9 @@ +/*! + * purecounter.js - A simple yet configurable native javascript counter which you can count on. + * Author: Stig Rex + * Version: 1.5.0 + * Url: https://github.com/srexi/purecounterjs + * License: MIT + */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PureCounter=t():e.PureCounter=t()}(self,(function(){return e={638:function(e){function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r={};for(var n in e)if(t=={}||t.hasOwnProperty(n)){var o=c(e[n]);r[n]=o,n.match(/duration|pulse/)&&(r[n]="boolean"!=typeof o?1e3*o:o)}return Object.assign({},t,r)}function i(e,t){var r=(t.end-t.start)/(t.duration/t.delay),n="inc";t.start>t.end&&(n="dec",r*=-1);var o=c(t.start);e.innerHTML=u(o,t),!0===t.once&&e.setAttribute("data-purecounter-duration",0);var i=setInterval((function(){var a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"inc";return e=c(e),t=c(t),parseFloat("inc"===r?e+t:e-t)}(o,r,n);e.innerHTML=u(a,t),((o=a)>=t.end&&"inc"==n||o<=t.end&&"dec"==n)&&(e.innerHTML=u(t.end,t),t.pulse&&(e.setAttribute("data-purecounter-duration",0),setTimeout((function(){e.setAttribute("data-purecounter-duration",t.duration/1e3)}),t.pulse)),clearInterval(i))}),t.delay)}function a(e,t){return Math.pow(e,t)}function u(e,t){var r={minimumFractionDigits:t.decimals,maximumFractionDigits:t.decimals},n="string"==typeof t.formater?t.formater:void 0;return e=function(e,t){if(t.filesizing||t.currency){e=Math.abs(Number(e));var r=1e3,n=t.currency&&"string"==typeof t.currency?t.currency:"",o=t.decimals||1,i=["","K","M","B","T"],u="";t.filesizing&&(r=1024,i=["bytes","KB","MB","GB","TB"]);for(var c=4;c>=0;c--)if(0===c&&(u="".concat(e.toFixed(o)," ").concat(i[c])),e>=a(r,c)){u="".concat((e/a(r,c)).toFixed(o)," ").concat(i[c]);break}return n+u}return parseFloat(e)}(e,t),function(e,t){if(t.formater){var r=t.separator?"string"==typeof t.separator?t.separator:",":"";return"en-US"!==t.formater&&!0===t.separator?e:(n=r,e.replace(/^(?:(\d{1,3},(?:\d{1,3},?)*)|(\d{1,3}\.(?:\d{1,3}\.?)*)|(\d{1,3}(?:\s\d{1,3})*))([\.,]?\d{0,2}?)$/gi,(function(e,t,r,o,i){var a="",u="";if(void 0!==t?(a=t.replace(new RegExp(/,/gi,"gi"),n),u=","):void 0!==r?a=r.replace(new RegExp(/\./gi,"gi"),n):void 0!==o&&(a=o.replace(new RegExp(/ /gi,"gi"),n)),void 0!==i){var c=","!==u&&","!==n?",":".";a+=void 0!==i?i.replace(new RegExp(/\.|,/gi,"gi"),c):""}return a})))}var n;return e}(e=t.formater?e.toLocaleString(n,r):parseInt(e).toString(),t)}function c(e){return/^[0-9]+\.[0-9]+$/.test(e)?parseFloat(e):/^[0-9]+$/.test(e)?parseInt(e):/^true|false/i.test(e)?/^true/i.test(e):e}function f(e){for(var t=e.offsetTop,r=e.offsetLeft,n=e.offsetWidth,o=e.offsetHeight;e.offsetParent;)t+=(e=e.offsetParent).offsetTop,r+=e.offsetLeft;return t>=window.pageYOffset&&r>=window.pageXOffset&&t+o<=window.pageYOffset+window.innerHeight&&r+n<=window.pageXOffset+window.innerWidth}function s(){return"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype}e.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n={start:0,end:100,duration:2e3,delay:10,once:!0,pulse:!1,decimals:0,legacy:!0,filesizing:!1,currency:!1,separator:!1,formater:"us-US",selector:".purecounter"},a=o(e,n);function d(){var e=document.querySelectorAll(a.selector);if(0!==e.length)if(s()){var t=new IntersectionObserver(p.bind(this),{root:null,rootMargin:"20px",threshold:.5});e.forEach((function(e){t.observe(e)}))}else window.addEventListener&&(l(e),window.addEventListener("scroll",(function(t){l(e)}),{passive:!0}))}function l(e){e.forEach((function(e){!0===v(e).legacy&&f(e)&&p([e])}))}function p(e,t){e.forEach((function(e){var r=e.target||e,n=v(r);if(n.duration<=0)return r.innerHTML=u(n.end,n);if(!t&&!f(e)||t&&e.intersectionRatio<.5){var o=n.start>n.end?n.end:n.start;return r.innerHTML=u(o,n)}setTimeout((function(){return i(r,n)}),n.delay)}))}function v(e){var n=a,i=[].filter.call(e.attributes,(function(e){return/^data-purecounter-/.test(e.name)}));return o(0!=i.length?Object.assign.apply(Object,[{}].concat(r(i.map((function(e){var r=e.name,n=e.value;return t({},r.replace("data-purecounter-","").toLowerCase(),c(n))}))))):{},n)}d()}}},t={},r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(638),r;var e,t,r})); +//# sourceMappingURL=purecounter_vanilla.js.map \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/dynamic-aos.js b/RockWeb/Themes/NewSpring/Scripts/dynamic-aos.js new file mode 100644 index 00000000000..1d7dc0e38a6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/dynamic-aos.js @@ -0,0 +1,27 @@ +document.addEventListener( + "DOMContentLoaded", + function () { + let content = document.querySelector('#content'); + content.querySelectorAll("h1:not([data-aos], [data-aos] *), h2:not([data-aos], [data-aos] *), h3:not([data-aos], [data-aos] *), h4:not([data-aos], [data-aos] *), h5:not([data-aos], [data-aos] *), h6:not([data-aos], [data-aos] *), p:not([data-aos], [data-aos] *), i:not([data-aos], [data-aos] i, #cms-admin-footer i), .dropdown-toggle").forEach(function (a, t) { + a.dataset.aos = "fade-up"; + }), + AOS.init({ + disable: "phone", + startEvent: "DOMContentLoaded", + initClassName: "aos-init", + animatedClassName: "aos-animate", + useClassNames: !1, + disableMutationObserver: !1, + debounceDelay: 50, + throttleDelay: 99, + offset: 100, + delay: 0, + duration: 400, + easing: "ease-in-out", + once: !1, + mirror: !1, + anchorPlacement: "top-bottom", + }); + }, + !1 +); diff --git a/RockWeb/Themes/NewSpring/Scripts/followings.js b/RockWeb/Themes/NewSpring/Scripts/followings.js new file mode 100644 index 00000000000..ee0a7bba2fe --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/followings.js @@ -0,0 +1,51 @@ +document.addEventListener("DOMContentLoaded", function (event) { + const followingsApiRoute = "/api/Followings"; + const followingClass = "js-following"; + + // TAG BUTTON INTERACTION + let followButtons = document.querySelectorAll("[data-follow]"); + followButtons.forEach(function (followButton, i) { + followButton.addEventListener("click", function (e) { + e.preventDefault(); + + const followButton = followButtons[i]; + + toggleFollowing(followButton); + }); + }); + + // CREATE TOPIC RELATIONSHIP + function toggleFollowing(button) { + const isFollowing = button.classList.contains(followingClass); + const followingPersonAliasId = button.dataset.follow.split(",")[0]; + const followingEntityTypeId = button.dataset.follow.split(",")[1]; + const followingEntityId = button.dataset.follow.split(",")[2]; + + // UI State Handling + if (isFollowing) { + // UNFOLLOW + button.classList.add("bg-gray-darker"); + button.classList.remove(followingClass); + document.activeElement.blur(); + } else { + // FOLLOW + button.classList.remove("bg-gray-darker"); + button.classList.add(followingClass); + document.activeElement.blur(); + } + + // API Request + var myHeaders = new Headers(); + + var requestOptions = { + method: isFollowing ? "DELETE" : "POST", + headers: myHeaders, + redirect: "follow", + }; + + fetch(followingsApiRoute + "/" + followingEntityTypeId + "/" + followingEntityId, requestOptions) + .then((response) => response.text()) + .then((result) => console.log(result)) + .catch((error) => console.log("error", error)); + } +}); diff --git a/RockWeb/Themes/NewSpring/Scripts/get-distance.js b/RockWeb/Themes/NewSpring/Scripts/get-distance.js new file mode 100644 index 00000000000..0bf7145a9ba --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/get-distance.js @@ -0,0 +1,140 @@ +document.addEventListener("DOMContentLoaded", function(){ + + // Get query string value by key + var getQueryString = function ( field, url ) { + var href = url ? url : window.location.href; + var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' ); + var string = reg.exec(href); + return string ? string[1] : null; + }; + + // Used for inserting distance indicators on location cards + function insertAfter(el, referenceNode) { + referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); + } + + function distance(lat1, lon1, lat2, lon2, unit) { + var radlat1 = Math.PI * lat1/180 + var radlat2 = Math.PI * lat2/180 + var theta = lon1-lon2 + var radtheta = Math.PI * theta/180 + var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); + if (dist > 1) { + dist = 1; + } + dist = Math.acos(dist) + dist = dist * 180/Math.PI + dist = dist * 60 * 1.1515 + if (unit=="K") { dist = dist * 1.609344 } + if (unit=="N") { dist = dist * 0.8684 } + return dist + } + + function reorderLocations(origin) { + + // Define geocoder + var geocoder = new google.maps.Geocoder(); + var originLatitude; + var originLongitude; + + // Find and remove all previous distance indicators + var distanceIndicators = document.querySelectorAll(".display-miles"); + + // If distance indicators are present in cards, remove them + if (distanceIndicators.length > 0) { + for (var i = 0; i < distanceIndicators.length; i++) { + distanceIndicators[i].parentNode.removeChild(distanceIndicators[i]); + } + } + + // Get lat/lon of origin + geocoder.geocode( { 'address': origin}, function(results, status) { + if (status == google.maps.GeocoderStatus.OK) { + originLatitude = results[0].geometry.location.lat(); + originLongitude = results[0].geometry.location.lng(); + } + + // Loop through locations to get distances + for (var i = 0; i < locationsCount; i++) { + + // Setup Card + var locationCard = locations[i]; + + // Get lat/lon values from data attribute + var latlon = locationCard.dataset.latlon; + latlon = latlon.split(','); + lat = latlon[0]; + lon = latlon[1]; + + // Calculate distance from query location to campus + var locationDistance = distance(originLatitude, originLongitude, lat, lon, 'M'); + + // Round to nearest tenth + locationDistance = Math.round(10*locationDistance)/10; + + // Send distance back to card in new data attribute + locationCard.setAttribute('data-distance', locationDistance); + + // Get the card heading so we can add the distance indicator after it + var locationCardHeading = locationCard.querySelector('h2'); + + // Create distance indicator element and add it + var newElement = document.createElement('p'); + newElement.classList.add('display-miles', 'display-inline-block', 'label', 'label-info', 'push-half-bottom', 'sans-serif', 'circular'); + newElement.innerHTML = locationDistance + ' miles away'; + if(lat && lon) { + insertAfter(newElement, locationCardHeading); + } + + } + + var items = distanceSearchLocations.childNodes; + + var itemsArr = []; + + for (var i in items) { + if (items[i].nodeType == 1) { // get rid of the whitespace text nodes + itemsArr.push(items[i]); + } + } + + itemsArr.sort(function(a, b) { + return a.dataset.distance == b.dataset.distance + ? 0 + : (Number(a.dataset.distance) > Number(b.dataset.distance) ? 1 : -1); + }); + + for (i = 0; i < itemsArr.length; ++i) { + distanceSearchLocations.appendChild(itemsArr[i]); + } + + // swiper.update(); + // swiper.slideTo(0, 50, false); + + // Scroll to locations card slider after sorting + var anchor = document.querySelector('#locations'); + + + // Scroll constructor located in _smooth-scroll.js, compiled into main.js + window.scroll.animateScroll(anchor); + + }); + } + + // Get location query string value + var origin = decodeURI(getQueryString('location')).trim(); + + // If origin exists as query string, go ahead and reorder locations + if (origin !== 'null') { + + // Reorder location cards + reorderLocations(origin); + } + + // Get distance finder instances + var distanceSearchForm = document.querySelector("[data-locations-search]"); + var distanceSearchLocations = document.querySelector("[data-locations]"); + var locations = distanceSearchLocations.children; + var locationsCount = locations.length; + +}); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/layout.js b/RockWeb/Themes/NewSpring/Scripts/layout.js new file mode 100644 index 00000000000..5e4ebe332e6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/layout.js @@ -0,0 +1,146 @@ +$(document).ready(function(){ + + let columnsNew = $('.js-dynamic-columns [id^=bid_]'); + for (let i = 0; i < columnsNew.length; i++) { + let elem = columnsNew[i], + colElem = $(elem).find('[data-column]:not([data-column=""])'); + + if (colElem.length >= 1) { + // Get column classes from data attribute + columnClasses = colElem[0].dataset.column.split(" "); + } else { + // Set default column classes if none are present + columnClasses = []; + columnClasses.push('col-xs-12'); + } + + if (columnClasses.includes('none')) { + // If 'none' is specified for columnClasses, do not wrap and move onto the next block + continue; + } + + columnClasses.push('js-col'); + + // Create new js column element + let column = document.createElement('div'); + // Add classes from data attribute to new js column element + for (let j = 0; j < columnClasses.length; j++) { + let className = columnClasses[j]; + if(className && className != ''){ + column.classList.add(className); + } + } + // Insert new js column element into dom before block wrapper + elem.parentNode.insertBefore(column, elem); + // Move block wrapper element inside of new js column element + column.appendChild(elem); + + } + + + // Dynamic Rows & Containers + let jscolumns = $('[class*=js-col]'), + elemsToMove = [], + newRow = null; + + // Loop through jscolumns + for (let i = 0; i < jscolumns.length; i++) { + let elem = $(jscolumns[i]), + prev = elem.prevAll('.js-col'), + next = elem.nextAll('.js-col'), + parentDiv = elem.parent()[0]; + + // Push current column element into array to be dumped into new row + elemsToMove.push(elem); + + // If there is no next element, build the container/row and put it into the DOM + if(next.length === 0) { + + // Create new row element + newRow = document.createElement("div"); + + // Assign row classes + newRow.classList.add('js-row','row','row-no-gutters'); + + // Create new container element + let newContainer = document.createElement("div"); + + // Assign container classes + newContainer.classList.add('js-container','container-fluid','soft-sides','xs-soft-half-sides'); + + // Insert newRow into newContainer + newContainer.append(newRow); + + // Insert newContainer back into DOM + parentDiv.insertBefore(newContainer, elemsToMove[0].get(0)); + + // Loop through elemsToMove and add them to newRow + for (let j = 0; j < elemsToMove.length; j++) { + let elemToMove = elemsToMove[j].get(0); + newRow.appendChild(elemToMove); + } + + // Reset elemsToMove array and keep going + elemsToMove = []; + + } + } + + + + + + + var c, + currentScrollTop = 0, + body = $('body'), + navWrapper = document.querySelector('#navigation-wrapper'); + windowHeight = $(window).height(), + heroHeight = $('.hero').height(), + navHeight = navWrapper.offsetHeight, + adminBarHeight = $('#cms-admin-footer').height(), + transparentNav = $('.js-classes').hasClass('nav-transparent'); + + if(!transparentNav) { + body.css('padding-top',navHeight); + } + + /* full height elements (bc lame webkit bug) */ + expandVH100Elements(); + window.onresize = expandVH100Elements; + + function expandVH100Elements() { + $('.vh-100').height(windowHeight); + } + + $(window).scroll(function () { + var a = $(window).scrollTop(); + var b = navWrapper.offsetHeight; + + currentScrollTop = a; + + if (c < currentScrollTop && a > b) { + navWrapper.style.marginTop = b*-1 + 'px' + } else if (c > currentScrollTop && !(a <= b)) { + navWrapper.style.marginTop = 0 + 'px' + } + + if (transparentNav) { + if (a > heroHeight - b) { + // add white background + $('.js-classes').removeClass('nav-transparent'); + } else { + // remove white background + $('.js-classes').addClass('nav-transparent'); + } + } + + c = currentScrollTop; + }); + + // If page loads mid-page, hide nav + if($(window).scrollTop() > 100) { + navWrapper.style.marginTop = navWrapper.offsetHeight * -1 + 'px'; + } + +}); diff --git a/RockWeb/Themes/NewSpring/Scripts/likes.js b/RockWeb/Themes/NewSpring/Scripts/likes.js new file mode 100644 index 00000000000..87e8a3290d6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/likes.js @@ -0,0 +1,31 @@ +$('[data-like]').on('click', function(){ + event.preventDefault(); + + // Save HTML Elements of Like Button and Split into Icon/Count + var likeHtml = $(this)[0].innerHTML.split(''); + likeHtml[0] = likeHtml[0] + ''; + + if ($(this).find('i').hasClass('far')) { + // Change Icon Class & Text Color + likeHtml[0] = likeHtml[0].replace('far','fas text-danger'); + // Increment if not liked + likeHtml[1] = Number(likeHtml[1]) + 1 + } else { + // Change Icon Class & Text Color + likeHtml[0] = likeHtml[0].replace('fas text-danger','far'); + // Decrement if liked + + likeCount = Number(likeHtml[1]); + + if (likeCount == 1) { + // If going to zero, set to blank instead of zero + likeHtml[1] = ''; + } else { + // If not, decrement + likeHtml[1] = Number(likeHtml[1]) - 1; + } + } + + // Update like UI + $(this)[0].innerHTML = likeHtml.join(' '); +}); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/navigation.js b/RockWeb/Themes/NewSpring/Scripts/navigation.js new file mode 100644 index 00000000000..33c79d5d7b9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/navigation.js @@ -0,0 +1,16 @@ +// $(document).ready(function(){ +// var subnav = $('#secondary-nav'); + +// if(subnav.length >= 1) { +// $(window).scroll(function(){ +// if ($(window).scrollTop() >= 63) { +// $('#secondary-nav').addClass('fixed-header'); +// $('body').css('padding-top', 60); +// } +// else { +// $('#secondary-nav').removeClass('fixed-header'); +// $('body').css('padding-top', 0); +// } +// }); +// } +// }); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/scroll-spy.js b/RockWeb/Themes/NewSpring/Scripts/scroll-spy.js new file mode 100644 index 00000000000..035bb2fb77e --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/scroll-spy.js @@ -0,0 +1,431 @@ +/*! + * gumshoejs v3.5.1: A simple, framework-agnostic scrollspy script. + * (c) 2018 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ + +(function (root, factory) { + if ( typeof define === 'function' && define.amd ) { + define([], factory(root)); + } else if ( typeof exports === 'object' ) { + module.exports = factory(root); + } else { + root.gumshoe = factory(root); + } +})(typeof global !== 'undefined' ? global : this.window || this.global, (function (root) { + + 'use strict'; + + // + // Variables + // + + var gumshoe = {}; // Object for public APIs + var navs = []; // Array for nav elements + var settings, eventTimeout, docHeight, header, headerHeight, currentNav, scrollEventDelay; + + // Default settings + var defaults = { + selector: '[data-gumshoe] a', + selectorHeader: '[data-gumshoe-header]', + container: root, + offset: 0, + activeClass: 'active', + scrollDelay: false, + callback: function () {} + }; + + + // + // Methods + // + + var supports = function () { + return ('querySelector' in document && 'addEventListener' in root && 'classList' in document.createElement('_')); + }; + + /** + * A simple forEach() implementation for Arrays, Objects and NodeLists. + * @private + * @author Todd Motto + * @link https://github.com/toddmotto/foreach + * @param {Array|Object|NodeList} collection Collection of items to iterate + * @param {Function} callback Callback function for each iteration + * @param {Array|Object|NodeList} scope Object/NodeList/Array that forEach is iterating over (aka `this`) + */ + var forEach = function ( collection, callback, scope ) { + if ( Object.prototype.toString.call( collection ) === '[object Object]' ) { + for ( var prop in collection ) { + if ( Object.prototype.hasOwnProperty.call( collection, prop ) ) { + callback.call( scope, collection[prop], prop, collection ); + } + } + } else { + for ( var i = 0, len = collection.length; i < len; i++ ) { + callback.call( scope, collection[i], i, collection ); + } + } + }; + + /** + * Merge two or more objects. Returns a new object. + * @private + * @param {Boolean} deep If true, do a deep (or recursive) merge [optional] + * @param {Object} objects The objects to merge together + * @returns {Object} Merged values of defaults and options + */ + var extend = function () { + + // Variables + var extended = {}; + var deep = false; + var i = 0; + var length = arguments.length; + + // Check if a deep merge + if ( Object.prototype.toString.call( arguments[0] ) === '[object Boolean]' ) { + deep = arguments[0]; + i++; + } + + // Merge the object into the extended object + var merge = function (obj) { + for ( var prop in obj ) { + if ( Object.prototype.hasOwnProperty.call( obj, prop ) ) { + // If deep merge and property is an object, merge properties + if ( deep && Object.prototype.toString.call(obj[prop]) === '[object Object]' ) { + extended[prop] = extend( true, extended[prop], obj[prop] ); + } else { + extended[prop] = obj[prop]; + } + } + } + }; + + // Loop through each object and conduct a merge + for ( ; i < length; i++ ) { + var obj = arguments[i]; + merge(obj); + } + + return extended; + + }; + + /** + * Get the height of an element. + * @private + * @param {Node} elem The element to get the height of + * @return {Number} The element's height in pixels + */ + var getHeight = function ( elem ) { + return Math.max( elem.scrollHeight, elem.offsetHeight, elem.clientHeight ); + }; + + /** + * Get the document element's height + * @private + * @returns {Number} + */ + var getDocumentHeight = function () { + return Math.max( + document.body.scrollHeight, document.documentElement.scrollHeight, + document.body.offsetHeight, document.documentElement.offsetHeight, + document.body.clientHeight, document.documentElement.clientHeight + ); + }; + + /** + * Get an element's distance from the top of the Document. + * @private + * @param {Node} elem The element + * @return {Number} Distance from the top in pixels + */ + var getOffsetTop = function ( elem ) { + var location = 0; + if (elem.offsetParent) { + do { + location += elem.offsetTop; + elem = elem.offsetParent; + } while (elem); + } else { + location = elem.offsetTop; + } + location = location - headerHeight - settings.offset; + return location >= 0 ? location : 0; + }; + + /** + * Determine if an element is in the viewport + * @param {Node} elem The element + * @return {Boolean} Returns true if element is in the viewport + */ + var isInViewport = function ( elem ) { + var distance = elem.getBoundingClientRect(); + return ( + distance.top >= 0 && + distance.left >= 0 && + distance.bottom <= (root.innerHeight || document.documentElement.clientHeight) && + distance.right <= (root.innerWidth || document.documentElement.clientWidth) + ); + }; + + /** + * Arrange nagivation elements from furthest from the top to closest + * @private + */ + var sortNavs = function () { + navs.sort( (function (a, b) { + if (a.distance > b.distance) { + return -1; + } + if (a.distance < b.distance) { + return 1; + } + return 0; + })); + }; + + /** + * Calculate the distance of elements from the top of the document + * @public + */ + gumshoe.setDistances = function () { + + // Calculate distances + docHeight = getDocumentHeight(); // The document + headerHeight = header ? ( getHeight(header) + getOffsetTop(header) ) : 0; // The fixed header + forEach(navs, (function (nav) { + nav.distance = getOffsetTop(nav.target); // Each navigation target + })); + + // When done, organization navigation elements + sortNavs(); + + }; + + /** + * Get all navigation elements and store them in an array + * @private + */ + var getNavs = function () { + + // Get all navigation links + var navLinks = document.querySelectorAll( settings.selector ); + + // For each link, create an object of attributes and push to an array + forEach( navLinks, (function (nav) { + if ( !nav.hash ) return; + var target = document.querySelector( nav.hash ); + if ( !target ) return; + navs.push({ + nav: nav, + target: target, + parent: nav.parentNode.tagName.toLowerCase() === 'li' ? nav.parentNode : null, + distance: 0 + }); + })); + + }; + + + /** + * Remove the activation class from the currently active navigation element + * @private + */ + var deactivateCurrentNav = function () { + if ( currentNav ) { + currentNav.nav.classList.remove( settings.activeClass ); + if ( currentNav.parent ) { + currentNav.parent.classList.remove( settings.activeClass ); + } + } + }; + + /** + * Add the activation class to the currently active navigation element + * @private + * @param {Node} nav The currently active nav + */ + var activateNav = function ( nav ) { + + // If a current Nav is set, deactivate it + deactivateCurrentNav(); + + // Activate the current target's navigation element + nav.nav.classList.add( settings.activeClass ); + if ( nav.parent ) { + nav.parent.classList.add( settings.activeClass ); + } + + settings.callback( nav ); // Callback after methods are run + + // Set new currentNav + currentNav = { + nav: nav.nav, + parent: nav.parent + }; + + }; + + /** + * Determine which navigation element is currently active and run activation method + * @public + * @returns {Object} The current nav data. + */ + gumshoe.getCurrentNav = function () { + + // Get current position from top of the document + var position = root.pageYOffset; + + // If at the bottom of the page and last section is in the viewport, activate the last nav + if ( (root.innerHeight + position) >= docHeight && isInViewport( navs[0].target ) ) { + activateNav( navs[0] ); + return navs[0]; + } + + // Otherwise, loop through each nav until you find the active one + for (var i = 0, len = navs.length; i < len; i++) { + var nav = navs[i]; + if ( nav.distance <= position ) { + activateNav( nav ); + return nav; + } + } + + // If no active nav is found, deactivate the current nav + deactivateCurrentNav(); + settings.callback(); + + }; + + /** + * If nav element has active class on load, set it as currently active navigation + * @private + */ + var setInitCurrentNav = function () { + forEach(navs, (function (nav) { + if ( nav.nav.classList.contains( settings.activeClass ) ) { + currentNav = { + nav: nav.nav, + parent: nav.parent + }; + } + })); + }; + + /** + * Destroy the current initialization. + * @public + */ + gumshoe.destroy = function () { + + // If plugin isn't already initialized, stop + if ( !settings ) return; + + // Remove event listeners + settings.container.removeEventListener('resize', eventThrottler, false); + settings.container.removeEventListener('scroll', eventThrottler, false); + + // Reset variables + navs = []; + settings = null; + eventTimeout = null; + docHeight = null; + header = null; + headerHeight = null; + currentNav = null; + scrollEventDelay = null; + + }; + + /** + * Run functions after scrolling stops + * @param {[type]} event [description] + * @return {[type]} [description] + */ + var scrollStop = function (event) { + + // Clear our timeout throughout the scroll + window.clearTimeout( eventTimeout ); + + // recalculate distances and then get currently active nav + eventTimeout = setTimeout((function() { + gumshoe.setDistances(); + gumshoe.getCurrentNav(); + }), 66); + + }; + + /** + * On window scroll and resize, only run events at a rate of 15fps for better performance + * @private + * @param {Function} eventTimeout Timeout function + * @param {Object} settings + */ + var eventThrottler = function (event) { + if ( !eventTimeout ) { + eventTimeout = setTimeout((function() { + + eventTimeout = null; // Reset timeout + + // If scroll event, get currently active nav + if ( event.type === 'scroll' ) { + gumshoe.getCurrentNav(); + } + + // If resize event, recalculate distances and then get currently active nav + if ( event.type === 'resize' ) { + gumshoe.setDistances(); + gumshoe.getCurrentNav(); + } + + }), 66); + } + }; + + /** + * Initialize Plugin + * @public + * @param {Object} options User settings + */ + gumshoe.init = function ( options ) { + + // feature test + if ( !supports() ) return; + + // Destroy any existing initializations + gumshoe.destroy(); + + // Set variables + settings = extend( defaults, options || {} ); // Merge user options with defaults + header = document.querySelector( settings.selectorHeader ); // Get fixed header + getNavs(); // Get navigation elements + + // If no navigation elements exist, stop running gumshoe + if ( navs.length === 0 ) return; + + // Run init methods + setInitCurrentNav(); + gumshoe.setDistances(); + gumshoe.getCurrentNav(); + + // Listen for events + settings.container.addEventListener('resize', eventThrottler, false); + if ( settings.scrollDelay ) { + settings.container.addEventListener('scroll', scrollStop, false); + } else { + settings.container.addEventListener('scroll', eventThrottler, false); + } + + }; + + + // + // Public APIs + // + + return gumshoe; + +})); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/skrollr.js b/RockWeb/Themes/NewSpring/Scripts/skrollr.js new file mode 100644 index 00000000000..fcf7d853e97 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/skrollr.js @@ -0,0 +1,889 @@ +/*! skrollr 0.6.30 (2015-08-12) | Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr | Free to use under terms of MIT license */ +!(function (a, b, c) { + "use strict"; + function d(c) { + if ( + ((e = b.documentElement), + (f = b.body), + T(), + (ha = this), + (c = c || {}), + (ma = c.constants || {}), + c.easing) + ) + for (var d in c.easing) W[d] = c.easing[d]; + (ta = c.edgeStrategy || "set"), + (ka = { + beforerender: c.beforerender, + render: c.render, + keyframe: c.keyframe, + }), + (la = c.forceHeight !== !1), + la && (Ka = c.scale || 1), + (na = c.mobileDeceleration || y), + (pa = c.smoothScrolling !== !1), + (qa = c.smoothScrollingDuration || A), + (ra = { targetTop: ha.getScrollTop() }), + (Sa = ( + c.mobileCheck || + function () { + return /Android|iPhone|iPad|iPod|BlackBerry/i.test( + navigator.userAgent || navigator.vendor || a.opera + ); + } + )()), + Sa + ? ((ja = b.getElementById(c.skrollrBody || z)), + ja && ga(), + X(), + Ea(e, [s, v], [t])) + : Ea(e, [s, u], [t]), + ha.refresh(), + wa(a, "resize orientationchange", function () { + var a = e.clientWidth, + b = e.clientHeight; + (b !== Pa || a !== Oa) && ((Pa = b), (Oa = a), (Qa = !0)); + }); + var g = U(); + return ( + (function h() { + $(), (va = g(h)); + })(), + ha + ); + } + var e, + f, + g = { + get: function () { + return ha; + }, + init: function (a) { + return ha || new d(a); + }, + VERSION: "0.6.30", + }, + h = Object.prototype.hasOwnProperty, + i = a.Math, + j = a.getComputedStyle, + k = "touchstart", + l = "touchmove", + m = "touchcancel", + n = "touchend", + o = "skrollable", + p = o + "-before", + q = o + "-between", + r = o + "-after", + s = "skrollr", + t = "no-" + s, + u = s + "-desktop", + v = s + "-mobile", + w = "linear", + x = 1e3, + y = 0.004, + z = "skrollr-body", + A = 200, + B = "start", + C = "end", + D = "center", + E = "bottom", + F = "___skrollable_id", + G = /^(?:input|textarea|button|select)$/i, + H = /^\s+|\s+$/g, + I = + /^data(?:-(_\w+))?(?:-?(-?\d*\.?\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/, + J = /\s*(@?[\w\-\[\]]+)\s*:\s*(.+?)\s*(?:;|$)/gi, + K = /^(@?[a-z\-]+)\[(\w+)\]$/, + L = /-([a-z0-9_])/g, + M = function (a, b) { + return b.toUpperCase(); + }, + N = /[\-+]?[\d]*\.?[\d]+/g, + O = /\{\?\}/g, + P = /rgba?\(\s*-?\d+\s*,\s*-?\d+\s*,\s*-?\d+/g, + Q = /[a-z\-]+-gradient/g, + R = "", + S = "", + T = function () { + var a = /^(?:O|Moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/; + if (j) { + var b = j(f, null); + for (var c in b) + if ((R = c.match(a) || (+c == c && b[c].match(a)))) break; + if (!R) return void (R = S = ""); + (R = R[0]), + "-" === R.slice(0, 1) + ? ((S = R), + (R = { + "-webkit-": "webkit", + "-moz-": "Moz", + "-ms-": "ms", + "-o-": "O", + }[R])) + : (S = "-" + R.toLowerCase() + "-"); + } + }, + U = function () { + var b = + a.requestAnimationFrame || + a[R.toLowerCase() + "RequestAnimationFrame"], + c = Ha(); + return ( + (Sa || !b) && + (b = function (b) { + var d = Ha() - c, + e = i.max(0, 1e3 / 60 - d); + return a.setTimeout(function () { + (c = Ha()), b(); + }, e); + }), + b + ); + }, + V = function () { + var b = + a.cancelAnimationFrame || + a[R.toLowerCase() + "CancelAnimationFrame"]; + return ( + (Sa || !b) && + (b = function (b) { + return a.clearTimeout(b); + }), + b + ); + }, + W = { + begin: function () { + return 0; + }, + end: function () { + return 1; + }, + linear: function (a) { + return a; + }, + quadratic: function (a) { + return a * a; + }, + cubic: function (a) { + return a * a * a; + }, + swing: function (a) { + return -i.cos(a * i.PI) / 2 + 0.5; + }, + sqrt: function (a) { + return i.sqrt(a); + }, + outCubic: function (a) { + return i.pow(a - 1, 3) + 1; + }, + bounce: function (a) { + var b; + if (0.5083 >= a) b = 3; + else if (0.8489 >= a) b = 9; + else if (0.96208 >= a) b = 27; + else { + if (!(0.99981 >= a)) return 1; + b = 91; + } + return 1 - i.abs((3 * i.cos(a * b * 1.028)) / b); + }, + }; + (d.prototype.refresh = function (a) { + var d, + e, + f = !1; + for ( + a === c + ? ((f = !0), + (ia = []), + (Ra = 0), + (a = b.getElementsByTagName("*"))) + : a.length === c && (a = [a]), + d = 0, + e = a.length; + e > d; + d++ + ) { + var g = a[d], + h = g, + i = [], + j = pa, + k = ta, + l = !1; + if ((f && F in g && delete g[F], g.attributes)) { + for (var m = 0, n = g.attributes.length; n > m; m++) { + var p = g.attributes[m]; + if ("data-anchor-target" !== p.name) + if ("data-smooth-scrolling" !== p.name) + if ("data-edge-strategy" !== p.name) + if ("data-emit-events" !== p.name) { + var q = p.name.match(I); + if (null !== q) { + var r = { + props: p.value, + element: g, + eventType: p.name.replace(L, M), + }; + i.push(r); + var s = q[1]; + s && (r.constant = s.substr(1)); + var t = q[2]; + /p$/.test(t) + ? ((r.isPercentage = !0), + (r.offset = + (0 | t.slice(0, -1)) / 100)) + : (r.offset = 0 | t); + var u = q[3], + v = q[4] || u; + u && u !== B && u !== C + ? ((r.mode = "relative"), + (r.anchors = [u, v])) + : ((r.mode = "absolute"), + u === C + ? (r.isEnd = !0) + : r.isPercentage || + (r.offset = r.offset * Ka)); + } + } else l = !0; + else k = p.value; + else j = "off" !== p.value; + else if (((h = b.querySelector(p.value)), null === h)) + throw 'Unable to find anchor target "' + p.value + '"'; + } + if (i.length) { + var w, x, y; + !f && F in g + ? ((y = g[F]), + (w = ia[y].styleAttr), + (x = ia[y].classAttr)) + : ((y = g[F] = Ra++), + (w = g.style.cssText), + (x = Da(g))), + (ia[y] = { + element: g, + styleAttr: w, + classAttr: x, + anchorTarget: h, + keyFrames: i, + smoothScrolling: j, + edgeStrategy: k, + emitEvents: l, + lastFrameIndex: -1, + }), + Ea(g, [o], []); + } + } + } + for (Aa(), d = 0, e = a.length; e > d; d++) { + var z = ia[a[d][F]]; + z !== c && (_(z), ba(z)); + } + return ha; + }), + (d.prototype.relativeToAbsolute = function (a, b, c) { + var d = e.clientHeight, + f = a.getBoundingClientRect(), + g = f.top, + h = f.bottom - f.top; + return ( + b === E ? (g -= d) : b === D && (g -= d / 2), + c === E ? (g += h) : c === D && (g += h / 2), + (g += ha.getScrollTop()), + (g + 0.5) | 0 + ); + }), + (d.prototype.animateTo = function (a, b) { + b = b || {}; + var d = Ha(), + e = ha.getScrollTop(), + f = b.duration === c ? x : b.duration; + return ( + (oa = { + startTop: e, + topDiff: a - e, + targetTop: a, + duration: f, + startTime: d, + endTime: d + f, + easing: W[b.easing || w], + done: b.done, + }), + oa.topDiff || (oa.done && oa.done.call(ha, !1), (oa = c)), + ha + ); + }), + (d.prototype.stopAnimateTo = function () { + oa && oa.done && oa.done.call(ha, !0), (oa = c); + }), + (d.prototype.isAnimatingTo = function () { + return !!oa; + }), + (d.prototype.isMobile = function () { + return Sa; + }), + (d.prototype.setScrollTop = function (b, c) { + return ( + (sa = c === !0), + Sa ? (Ta = i.min(i.max(b, 0), Ja)) : a.scrollTo(0, b), + ha + ); + }), + (d.prototype.getScrollTop = function () { + return Sa ? Ta : a.pageYOffset || e.scrollTop || f.scrollTop || 0; + }), + (d.prototype.getMaxScrollTop = function () { + return Ja; + }), + (d.prototype.on = function (a, b) { + return (ka[a] = b), ha; + }), + (d.prototype.off = function (a) { + return delete ka[a], ha; + }), + (d.prototype.destroy = function () { + var a = V(); + a(va), ya(), Ea(e, [t], [s, u, v]); + for (var b = 0, d = ia.length; d > b; b++) fa(ia[b].element); + (e.style.overflow = f.style.overflow = ""), + (e.style.height = f.style.height = ""), + ja && g.setStyle(ja, "transform", "none"), + (ha = c), + (ja = c), + (ka = c), + (la = c), + (Ja = 0), + (Ka = 1), + (ma = c), + (na = c), + (La = "down"), + (Ma = -1), + (Oa = 0), + (Pa = 0), + (Qa = !1), + (oa = c), + (pa = c), + (qa = c), + (ra = c), + (sa = c), + (Ra = 0), + (ta = c), + (Sa = !1), + (Ta = 0), + (ua = c); + }); + var X = function () { + var d, g, h, j, o, p, q, r, s, t, u, v; + wa(e, [k, l, m, n].join(" "), function (a) { + var e = a.changedTouches[0]; + for (j = a.target; 3 === j.nodeType; ) j = j.parentNode; + switch ( + ((o = e.clientY), + (p = e.clientX), + (t = a.timeStamp), + G.test(j.tagName) || a.preventDefault(), + a.type) + ) { + case k: + d && d.blur(), + ha.stopAnimateTo(), + (d = j), + (g = q = o), + (h = p), + (s = t); + break; + case l: + G.test(j.tagName) && + b.activeElement !== j && + a.preventDefault(), + (r = o - q), + (v = t - u), + ha.setScrollTop(Ta - r, !0), + (q = o), + (u = t); + break; + default: + case m: + case n: + var f = g - o, + w = h - p, + x = w * w + f * f; + if (49 > x) { + if (!G.test(d.tagName)) { + d.focus(); + var y = b.createEvent("MouseEvents"); + y.initMouseEvent( + "click", + !0, + !0, + a.view, + 1, + e.screenX, + e.screenY, + e.clientX, + e.clientY, + a.ctrlKey, + a.altKey, + a.shiftKey, + a.metaKey, + 0, + null + ), + d.dispatchEvent(y); + } + return; + } + d = c; + var z = r / v; + z = i.max(i.min(z, 3), -3); + var A = i.abs(z / na), + B = z * A + 0.5 * na * A * A, + C = ha.getScrollTop() - B, + D = 0; + C > Ja + ? ((D = (Ja - C) / B), (C = Ja)) + : 0 > C && ((D = -C / B), (C = 0)), + (A *= 1 - D), + ha.animateTo((C + 0.5) | 0, { + easing: "outCubic", + duration: A, + }); + } + }), + a.scrollTo(0, 0), + (e.style.overflow = f.style.overflow = "hidden"); + }, + Y = function () { + var a, + b, + c, + d, + f, + g, + h, + j, + k, + l, + m, + n = e.clientHeight, + o = Ba(); + for (j = 0, k = ia.length; k > j; j++) + for ( + a = ia[j], + b = a.element, + c = a.anchorTarget, + d = a.keyFrames, + f = 0, + g = d.length; + g > f; + f++ + ) + (h = d[f]), + (l = h.offset), + (m = o[h.constant] || 0), + (h.frame = l), + h.isPercentage && ((l *= n), (h.frame = l)), + "relative" === h.mode && + (fa(b), + (h.frame = + ha.relativeToAbsolute( + c, + h.anchors[0], + h.anchors[1] + ) - l), + fa(b, !0)), + (h.frame += m), + la && !h.isEnd && h.frame > Ja && (Ja = h.frame); + for (Ja = i.max(Ja, Ca()), j = 0, k = ia.length; k > j; j++) { + for ( + a = ia[j], d = a.keyFrames, f = 0, g = d.length; + g > f; + f++ + ) + (h = d[f]), + (m = o[h.constant] || 0), + h.isEnd && (h.frame = Ja - h.offset + m); + a.keyFrames.sort(Ia); + } + }, + Z = function (a, b) { + for (var c = 0, d = ia.length; d > c; c++) { + var e, + f, + i = ia[c], + j = i.element, + k = i.smoothScrolling ? a : b, + l = i.keyFrames, + m = l.length, + n = l[0], + s = l[l.length - 1], + t = k < n.frame, + u = k > s.frame, + v = t ? n : s, + w = i.emitEvents, + x = i.lastFrameIndex; + if (t || u) { + if ((t && -1 === i.edge) || (u && 1 === i.edge)) continue; + switch ( + (t + ? (Ea(j, [p], [r, q]), + w && + x > -1 && + (za(j, n.eventType, La), + (i.lastFrameIndex = -1))) + : (Ea(j, [r], [p, q]), + w && + m > x && + (za(j, s.eventType, La), + (i.lastFrameIndex = m))), + (i.edge = t ? -1 : 1), + i.edgeStrategy) + ) { + case "reset": + fa(j); + continue; + case "ease": + k = v.frame; + break; + default: + case "set": + var y = v.props; + for (e in y) + h.call(y, e) && + ((f = ea(y[e].value)), + 0 === e.indexOf("@") + ? j.setAttribute(e.substr(1), f) + : g.setStyle(j, e, f)); + continue; + } + } else 0 !== i.edge && (Ea(j, [o, q], [p, r]), (i.edge = 0)); + for (var z = 0; m - 1 > z; z++) + if (k >= l[z].frame && k <= l[z + 1].frame) { + var A = l[z], + B = l[z + 1]; + for (e in A.props) + if (h.call(A.props, e)) { + var C = (k - A.frame) / (B.frame - A.frame); + (C = A.props[e].easing(C)), + (f = da( + A.props[e].value, + B.props[e].value, + C + )), + (f = ea(f)), + 0 === e.indexOf("@") + ? j.setAttribute(e.substr(1), f) + : g.setStyle(j, e, f); + } + w && + x !== z && + ("down" === La + ? za(j, A.eventType, La) + : za(j, B.eventType, La), + (i.lastFrameIndex = z)); + break; + } + } + }, + $ = function () { + Qa && ((Qa = !1), Aa()); + var a, + b, + d = ha.getScrollTop(), + e = Ha(); + if (oa) + e >= oa.endTime + ? ((d = oa.targetTop), (a = oa.done), (oa = c)) + : ((b = oa.easing((e - oa.startTime) / oa.duration)), + (d = (oa.startTop + b * oa.topDiff) | 0)), + ha.setScrollTop(d, !0); + else if (!sa) { + var f = ra.targetTop - d; + f && + (ra = { + startTop: Ma, + topDiff: d - Ma, + targetTop: d, + startTime: Na, + endTime: Na + qa, + }), + e <= ra.endTime && + ((b = W.sqrt((e - ra.startTime) / qa)), + (d = (ra.startTop + b * ra.topDiff) | 0)); + } + if (sa || Ma !== d) { + (La = d > Ma ? "down" : Ma > d ? "up" : La), (sa = !1); + var h = { curTop: d, lastTop: Ma, maxTop: Ja, direction: La }, + i = ka.beforerender && ka.beforerender.call(ha, h); + i !== !1 && + (Z(d, ha.getScrollTop()), + Sa && + ja && + g.setStyle( + ja, + "transform", + "translate(0, " + -Ta + "px) " + ua + ), + (Ma = d), + ka.render && ka.render.call(ha, h)), + a && a.call(ha, !1); + } + Na = e; + }, + _ = function (a) { + for (var b = 0, c = a.keyFrames.length; c > b; b++) { + for ( + var d, e, f, g, h = a.keyFrames[b], i = {}; + null !== (g = J.exec(h.props)); + + ) + (f = g[1]), + (e = g[2]), + (d = f.match(K)), + null !== d ? ((f = d[1]), (d = d[2])) : (d = w), + (e = e.indexOf("!") ? aa(e) : [e.slice(1)]), + (i[f] = { value: e, easing: W[d] }); + h.props = i; + } + }, + aa = function (a) { + var b = []; + return ( + (P.lastIndex = 0), + (a = a.replace(P, function (a) { + return a.replace(N, function (a) { + return (a / 255) * 100 + "%"; + }); + })), + S && + ((Q.lastIndex = 0), + (a = a.replace(Q, function (a) { + return S + a; + }))), + (a = a.replace(N, function (a) { + return b.push(+a), "{?}"; + })), + b.unshift(a), + b + ); + }, + ba = function (a) { + var b, + c, + d = {}; + for (b = 0, c = a.keyFrames.length; c > b; b++) + ca(a.keyFrames[b], d); + for (d = {}, b = a.keyFrames.length - 1; b >= 0; b--) + ca(a.keyFrames[b], d); + }, + ca = function (a, b) { + var c; + for (c in b) h.call(a.props, c) || (a.props[c] = b[c]); + for (c in a.props) b[c] = a.props[c]; + }, + da = function (a, b, c) { + var d, + e = a.length; + if (e !== b.length) + throw ( + "Can't interpolate between \"" + + a[0] + + '" and "' + + b[0] + + '"' + ); + var f = [a[0]]; + for (d = 1; e > d; d++) f[d] = a[d] + (b[d] - a[d]) * c; + return f; + }, + ea = function (a) { + var b = 1; + return ( + (O.lastIndex = 0), + a[0].replace(O, function () { + return a[b++]; + }) + ); + }, + fa = function (a, b) { + a = [].concat(a); + for (var c, d, e = 0, f = a.length; f > e; e++) + (d = a[e]), + (c = ia[d[F]]), + c && + (b + ? ((d.style.cssText = c.dirtyStyleAttr), + Ea(d, c.dirtyClassAttr)) + : ((c.dirtyStyleAttr = d.style.cssText), + (c.dirtyClassAttr = Da(d)), + (d.style.cssText = c.styleAttr), + Ea(d, c.classAttr))); + }, + ga = function () { + (ua = "translateZ(0)"), g.setStyle(ja, "transform", ua); + var a = j(ja), + b = a.getPropertyValue("transform"), + c = a.getPropertyValue(S + "transform"), + d = (b && "none" !== b) || (c && "none" !== c); + d || (ua = ""); + }; + g.setStyle = function (a, b, c) { + var d = a.style; + if (((b = b.replace(L, M).replace("-", "")), "zIndex" === b)) + isNaN(c) ? (d[b] = c) : (d[b] = "" + (0 | c)); + else if ("float" === b) d.styleFloat = d.cssFloat = c; + else + try { + R && (d[R + b.slice(0, 1).toUpperCase() + b.slice(1)] = c), + (d[b] = c); + } catch (e) {} + }; + var ha, + ia, + ja, + ka, + la, + ma, + na, + oa, + pa, + qa, + ra, + sa, + ta, + ua, + va, + wa = (g.addEvent = function (b, c, d) { + var e = function (b) { + return ( + (b = b || a.event), + b.target || (b.target = b.srcElement), + b.preventDefault || + (b.preventDefault = function () { + (b.returnValue = !1), (b.defaultPrevented = !0); + }), + d.call(this, b) + ); + }; + c = c.split(" "); + for (var f, g = 0, h = c.length; h > g; g++) + (f = c[g]), + b.addEventListener + ? b.addEventListener(f, d, !1) + : b.attachEvent("on" + f, e), + Ua.push({ element: b, name: f, listener: d }); + }), + xa = (g.removeEvent = function (a, b, c) { + b = b.split(" "); + for (var d = 0, e = b.length; e > d; d++) + a.removeEventListener + ? a.removeEventListener(b[d], c, !1) + : a.detachEvent("on" + b[d], c); + }), + ya = function () { + for (var a, b = 0, c = Ua.length; c > b; b++) + (a = Ua[b]), xa(a.element, a.name, a.listener); + Ua = []; + }, + za = function (a, b, c) { + ka.keyframe && ka.keyframe.call(ha, a, b, c); + }, + Aa = function () { + var a = ha.getScrollTop(); + (Ja = 0), + la && !Sa && (f.style.height = ""), + Y(), + la && !Sa && (f.style.height = Ja + e.clientHeight + "px"), + Sa + ? ha.setScrollTop(i.min(ha.getScrollTop(), Ja)) + : ha.setScrollTop(a, !0), + (sa = !0); + }, + Ba = function () { + var a, + b, + c = e.clientHeight, + d = {}; + for (a in ma) + (b = ma[a]), + "function" == typeof b + ? (b = b.call(ha)) + : /p$/.test(b) && (b = (b.slice(0, -1) / 100) * c), + (d[a] = b); + return d; + }, + Ca = function () { + var a, + b = 0; + return ( + ja && (b = i.max(ja.offsetHeight, ja.scrollHeight)), + (a = i.max( + b, + f.scrollHeight, + f.offsetHeight, + e.scrollHeight, + e.offsetHeight, + e.clientHeight + )), + a - e.clientHeight + ); + }, + Da = function (b) { + var c = "className"; + return ( + a.SVGElement && + b instanceof a.SVGElement && + ((b = b[c]), (c = "baseVal")), + b[c] + ); + }, + Ea = function (b, d, e) { + var f = "className"; + if ( + (a.SVGElement && + b instanceof a.SVGElement && + ((b = b[f]), (f = "baseVal")), + e === c) + ) + return void (b[f] = d); + for (var g = b[f], h = 0, i = e.length; i > h; h++) + g = Ga(g).replace(Ga(e[h]), " "); + g = Fa(g); + for (var j = 0, k = d.length; k > j; j++) + -1 === Ga(g).indexOf(Ga(d[j])) && (g += " " + d[j]); + b[f] = Fa(g); + }, + Fa = function (a) { + return a.replace(H, ""); + }, + Ga = function (a) { + return " " + a + " "; + }, + Ha = + Date.now || + function () { + return +new Date(); + }, + Ia = function (a, b) { + return a.frame - b.frame; + }, + Ja = 0, + Ka = 1, + La = "down", + Ma = -1, + Na = Ha(), + Oa = 0, + Pa = 0, + Qa = !1, + Ra = 0, + Sa = !1, + Ta = 0, + Ua = []; + "function" == typeof define && define.amd + ? define([], function () { + return g; + }) + : "undefined" != typeof module && module.exports + ? (module.exports = g) + : (a.skrollr = g); +})(window, document); diff --git a/RockWeb/Themes/NewSpring/Scripts/smooth-scroll.js b/RockWeb/Themes/NewSpring/Scripts/smooth-scroll.js new file mode 100644 index 00000000000..7740a1be50f --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/smooth-scroll.js @@ -0,0 +1,711 @@ +/*! + * smooth-scroll v16.0.3 + * Animate scrolling to anchor links + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/smooth-scroll + */ + +/** + * closest() polyfill + * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill + */ +if (window.Element && !Element.prototype.closest) { + Element.prototype.closest = function(s) { + var matches = (this.document || this.ownerDocument).querySelectorAll(s), + i, + el = this; + do { + i = matches.length; + while (--i >= 0 && matches.item(i) !== el) {} + } while ((i < 0) && (el = el.parentElement)); + return el; + }; +} + +/** + * CustomEvent() polyfill + * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill + */ +(function () { + + if (typeof window.CustomEvent === "function") return false; + + function CustomEvent(event, params) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); +/** + * requestAnimationFrame() polyfill + * By Erik Möller. Fixes from Paul Irish and Tino Zijdel. + * @link http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + * @link http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating + * @license MIT + */ +(function() { + var lastTime = 0; + var vendors = ['ms', 'moz', 'webkit', 'o']; + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || + window[vendors[x]+'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function(callback, element) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout((function() { callback(currTime + timeToCall); }), + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; + } +}()); + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define([], (function () { + return factory(root); + })); + } else if (typeof exports === 'object') { + module.exports = factory(root); + } else { + root.SmoothScroll = factory(root); + } +})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, (function (window) { + + 'use strict'; + + // + // Default settings + // + + var defaults = { + + // Selectors + ignore: '[data-scroll-ignore]', + header: null, + topOnEmptyHash: true, + + // Speed & Duration + speed: 500, + speedAsDuration: false, + durationMax: null, + durationMin: null, + clip: true, + offset: 0, + + // Easing + easing: 'easeInOutCubic', + customEasing: null, + + // History + updateURL: true, + popstate: true, + + // Custom Events + emitEvents: true + + }; + + // + // Utility Methods + // + + /** + * Check if browser supports required methods + * @return {Boolean} Returns true if all required methods are supported + */ + var supports = function () { + return ( + 'querySelector' in document && + 'addEventListener' in window && + 'requestAnimationFrame' in window && + 'closest' in window.Element.prototype + ); + }; + + /** + * Merge two or more objects together. + * @param {Object} objects The objects to merge together + * @returns {Object} Merged values of defaults and options + */ + var extend = function () { + var merged = {}; + Array.prototype.forEach.call(arguments, (function (obj) { + for (var key in obj) { + if (!obj.hasOwnProperty(key)) return; + merged[key] = obj[key]; + } + })); + return merged; + }; + + /** + * Check to see if user prefers reduced motion + * @param {Object} settings Script settings + */ + var reduceMotion = function (settings) { + if ('matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches) { + return true; + } + return false; + }; + + /** + * Get the height of an element. + * @param {Node} elem The element to get the height of + * @return {Number} The element's height in pixels + */ + var getHeight = function (elem) { + return parseInt(window.getComputedStyle(elem).height, 10); + }; + + /** + * Escape special characters for use with querySelector + * @author Mathias Bynens + * @link https://github.com/mathiasbynens/CSS.escape + * @param {String} id The anchor ID to escape + */ + var escapeCharacters = function (id) { + + // Remove leading hash + if (id.charAt(0) === '#') { + id = id.substr(1); + } + + var string = String(id); + var length = string.length; + var index = -1; + var codeUnit; + var result = ''; + var firstCodeUnit = string.charCodeAt(0); + while (++index < length) { + codeUnit = string.charCodeAt(index); + // Note: there’s no need to special-case astral symbols, surrogate + // pairs, or lone surrogates. + + // If the character is NULL (U+0000), then throw an + // `InvalidCharacterError` exception and terminate these steps. + if (codeUnit === 0x0000) { + throw new InvalidCharacterError( + 'Invalid character: the input contains U+0000.' + ); + } + + if ( + // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is + // U+007F, […] + (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F || + // If the character is the first character and is in the range [0-9] + // (U+0030 to U+0039), […] + (index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) || + // If the character is the second character and is in the range [0-9] + // (U+0030 to U+0039) and the first character is a `-` (U+002D), […] + ( + index === 1 && + codeUnit >= 0x0030 && codeUnit <= 0x0039 && + firstCodeUnit === 0x002D + ) + ) { + // http://dev.w3.org/csswg/cssom/#escape-a-character-as-code-point + result += '\\' + codeUnit.toString(16) + ' '; + continue; + } + + // If the character is not handled by one of the above rules and is + // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or + // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to + // U+005A), or [a-z] (U+0061 to U+007A), […] + if ( + codeUnit >= 0x0080 || + codeUnit === 0x002D || + codeUnit === 0x005F || + codeUnit >= 0x0030 && codeUnit <= 0x0039 || + codeUnit >= 0x0041 && codeUnit <= 0x005A || + codeUnit >= 0x0061 && codeUnit <= 0x007A + ) { + // the character itself + result += string.charAt(index); + continue; + } + + // Otherwise, the escaped character. + // http://dev.w3.org/csswg/cssom/#escape-a-character + result += '\\' + string.charAt(index); + + } + + // Return sanitized hash + return '#' + result; + + }; + + /** + * Calculate the easing pattern + * @link https://gist.github.com/gre/1650294 + * @param {String} type Easing pattern + * @param {Number} time Time animation should take to complete + * @returns {Number} + */ + var easingPattern = function (settings, time) { + var pattern; + + // Default Easing Patterns + if (settings.easing === 'easeInQuad') pattern = time * time; // accelerating from zero velocity + if (settings.easing === 'easeOutQuad') pattern = time * (2 - time); // decelerating to zero velocity + if (settings.easing === 'easeInOutQuad') pattern = time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration + if (settings.easing === 'easeInCubic') pattern = time * time * time; // accelerating from zero velocity + if (settings.easing === 'easeOutCubic') pattern = (--time) * time * time + 1; // decelerating to zero velocity + if (settings.easing === 'easeInOutCubic') pattern = time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration + if (settings.easing === 'easeInQuart') pattern = time * time * time * time; // accelerating from zero velocity + if (settings.easing === 'easeOutQuart') pattern = 1 - (--time) * time * time * time; // decelerating to zero velocity + if (settings.easing === 'easeInOutQuart') pattern = time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration + if (settings.easing === 'easeInQuint') pattern = time * time * time * time * time; // accelerating from zero velocity + if (settings.easing === 'easeOutQuint') pattern = 1 + (--time) * time * time * time * time; // decelerating to zero velocity + if (settings.easing === 'easeInOutQuint') pattern = time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration + + // Custom Easing Patterns + if (!!settings.customEasing) pattern = settings.customEasing(time); + + return pattern || time; // no easing, no acceleration + }; + + /** + * Determine the document's height + * @returns {Number} + */ + var getDocumentHeight = function () { + return Math.max( + document.body.scrollHeight, document.documentElement.scrollHeight, + document.body.offsetHeight, document.documentElement.offsetHeight, + document.body.clientHeight, document.documentElement.clientHeight + ); + }; + + /** + * Calculate how far to scroll + * Clip support added by robjtede - https://github.com/cferdinandi/smooth-scroll/issues/405 + * @param {Element} anchor The anchor element to scroll to + * @param {Number} headerHeight Height of a fixed header, if any + * @param {Number} offset Number of pixels by which to offset scroll + * @param {Boolean} clip If true, adjust scroll distance to prevent abrupt stops near the bottom of the page + * @returns {Number} + */ + var getEndLocation = function (anchor, headerHeight, offset, clip) { + var location = 0; + if (anchor.offsetParent) { + do { + location += anchor.offsetTop; + anchor = anchor.offsetParent; + } while (anchor); + } + location = Math.max(location - headerHeight - offset, 0); + if (clip) { + location = Math.min(location, getDocumentHeight() - window.innerHeight); + } + return location; + }; + + /** + * Get the height of the fixed header + * @param {Node} header The header + * @return {Number} The height of the header + */ + var getHeaderHeight = function (header) { + return !header ? 0 : (getHeight(header) + header.offsetTop); + }; + + /** + * Calculate the speed to use for the animation + * @param {Number} distance The distance to travel + * @param {Object} settings The plugin settings + * @return {Number} How fast to animate + */ + var getSpeed = function (distance, settings) { + var speed = settings.speedAsDuration ? settings.speed : Math.abs(distance / 1000 * settings.speed); + if (settings.durationMax && speed > settings.durationMax) return settings.durationMax; + if (settings.durationMin && speed < settings.durationMin) return settings.durationMin; + return parseInt(speed, 10); + }; + + var setHistory = function (options) { + + // Make sure this should run + if (!history.replaceState || !options.updateURL || history.state) return; + + // Get the hash to use + var hash = window.location.hash; + hash = hash ? hash : ''; + + // Set a default history + history.replaceState( + { + smoothScroll: JSON.stringify(options), + anchor: hash ? hash : window.pageYOffset + }, + document.title, + hash ? hash : window.location.href + ); + + }; + + /** + * Update the URL + * @param {Node} anchor The anchor that was scrolled to + * @param {Boolean} isNum If true, anchor is a number + * @param {Object} options Settings for Smooth Scroll + */ + var updateURL = function (anchor, isNum, options) { + + // Bail if the anchor is a number + if (isNum) return; + + // Verify that pushState is supported and the updateURL option is enabled + if (!history.pushState || !options.updateURL) return; + + // Update URL + history.pushState( + { + smoothScroll: JSON.stringify(options), + anchor: anchor.id + }, + document.title, + anchor === document.documentElement ? '#top' : '#' + anchor.id + ); + + }; + + /** + * Bring the anchored element into focus + * @param {Node} anchor The anchor element + * @param {Number} endLocation The end location to scroll to + * @param {Boolean} isNum If true, scroll is to a position rather than an element + */ + var adjustFocus = function (anchor, endLocation, isNum) { + + // Is scrolling to top of page, blur + if (anchor === 0) { + document.body.focus(); + } + + // Don't run if scrolling to a number on the page + if (isNum) return; + + // Otherwise, bring anchor element into focus + anchor.focus(); + if (document.activeElement !== anchor) { + anchor.setAttribute('tabindex', '-1'); + anchor.focus(); + anchor.style.outline = 'none'; + } + window.scrollTo(0 , endLocation); + + }; + + /** + * Emit a custom event + * @param {String} type The event type + * @param {Object} options The settings object + * @param {Node} anchor The anchor element + * @param {Node} toggle The toggle element + */ + var emitEvent = function (type, options, anchor, toggle) { + if (!options.emitEvents || typeof window.CustomEvent !== 'function') return; + var event = new CustomEvent(type, { + bubbles: true, + detail: { + anchor: anchor, + toggle: toggle + } + }); + document.dispatchEvent(event); + }; + + + // + // SmoothScroll Constructor + // + + var SmoothScroll = function (selector, options) { + + // + // Variables + // + + var smoothScroll = {}; // Object for public APIs + var settings, anchor, toggle, fixedHeader, eventTimeout, animationInterval; + + + // + // Methods + // + + /** + * Cancel a scroll-in-progress + */ + smoothScroll.cancelScroll = function (noEvent) { + cancelAnimationFrame(animationInterval); + animationInterval = null; + if (noEvent) return; + emitEvent('scrollCancel', settings); + }; + + /** + * Start/stop the scrolling animation + * @param {Node|Number} anchor The element or position to scroll to + * @param {Element} toggle The element that toggled the scroll event + * @param {Object} options + */ + smoothScroll.animateScroll = function (anchor, toggle, options) { + + // Cancel any in progress scrolls + smoothScroll.cancelScroll(); + + // Local settings + var _settings = extend(settings || defaults, options || {}); // Merge user options with defaults + + // Selectors and variables + var isNum = Object.prototype.toString.call(anchor) === '[object Number]' ? true : false; + var anchorElem = isNum || !anchor.tagName ? null : anchor; + if (!isNum && !anchorElem) return; + var startLocation = window.pageYOffset; // Current location on the page + if (_settings.header && !fixedHeader) { + // Get the fixed header if not already set + fixedHeader = document.querySelector(_settings.header); + } + var headerHeight = getHeaderHeight(fixedHeader); + var endLocation = isNum ? anchor : getEndLocation(anchorElem, headerHeight, parseInt((typeof _settings.offset === 'function' ? _settings.offset(anchor, toggle) : _settings.offset), 10), _settings.clip); // Location to scroll to + var distance = endLocation - startLocation; // distance to travel + var documentHeight = getDocumentHeight(); + var timeLapsed = 0; + var speed = getSpeed(distance, _settings); + var start, percentage, position; + + /** + * Stop the scroll animation when it reaches its target (or the bottom/top of page) + * @param {Number} position Current position on the page + * @param {Number} endLocation Scroll to location + * @param {Number} animationInterval How much to scroll on this loop + */ + var stopAnimateScroll = function (position, endLocation) { + + // Get the current location + var currentLocation = window.pageYOffset; + + // Check if the end location has been reached yet (or we've hit the end of the document) + if (position == endLocation || currentLocation == endLocation || ((startLocation < endLocation && window.innerHeight + currentLocation) >= documentHeight)) { + + // Clear the animation timer + smoothScroll.cancelScroll(true); + + // Bring the anchored element into focus + adjustFocus(anchor, endLocation, isNum); + + // Emit a custom event + emitEvent('scrollStop', _settings, anchor, toggle); + + // Reset start + start = null; + animationInterval = null; + + return true; + + } + }; + + /** + * Loop scrolling animation + */ + var loopAnimateScroll = function (timestamp) { + if (!start) { start = timestamp; } + timeLapsed += timestamp - start; + percentage = speed === 0 ? 0 : (timeLapsed / speed); + percentage = (percentage > 1) ? 1 : percentage; + position = startLocation + (distance * easingPattern(_settings, percentage)); + window.scrollTo(0, Math.floor(position)); + if (!stopAnimateScroll(position, endLocation)) { + animationInterval = window.requestAnimationFrame(loopAnimateScroll); + start = timestamp; + } + }; + + /** + * Reset position to fix weird iOS bug + * @link https://github.com/cferdinandi/smooth-scroll/issues/45 + */ + if (window.pageYOffset === 0) { + window.scrollTo(0, 0); + } + + // Update the URL + updateURL(anchor, isNum, _settings); + + // Emit a custom event + emitEvent('scrollStart', _settings, anchor, toggle); + + // Start scrolling animation + smoothScroll.cancelScroll(true); + window.requestAnimationFrame(loopAnimateScroll); + + }; + + /** + * If smooth scroll element clicked, animate scroll + */ + var clickHandler = function (event) { + + // Don't run if the user prefers reduced motion + if (reduceMotion(settings)) return; + + // Don't run if event was canceled but still bubbled up + // By @mgreter - https://github.com/cferdinandi/smooth-scroll/pull/462/ + if (event.defaultPrevented) return; + + // Don't run if right-click or command/control + click or shift + click + if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey) return; + + // Check if event.target has closest() method + // By @totegi - https://github.com/cferdinandi/smooth-scroll/pull/401/ + if(!('closest' in event.target))return; + + // Check if a smooth scroll link was clicked + toggle = event.target.closest(selector); + if (!toggle || toggle.tagName.toLowerCase() !== 'a' || event.target.closest(settings.ignore)) return; + + // Only run if link is an anchor and points to the current page + if (toggle.hostname !== window.location.hostname || toggle.pathname !== window.location.pathname || !/#/.test(toggle.href)) return; + + // Get an escaped version of the hash + var hash = escapeCharacters(toggle.hash); + + // Get the anchored element + var anchor; + if (hash === '#') { + if (!settings.topOnEmptyHash) return; + anchor = document.documentElement; + } else { + anchor = document.querySelector(hash); + } + anchor = !anchor && hash === '#top' ? document.documentElement : anchor; + + // If anchored element exists, scroll to it + if (!anchor) return; + event.preventDefault(); + setHistory(settings); + smoothScroll.animateScroll(anchor, toggle); + + }; + + /** + * Animate scroll on popstate events + */ + var popstateHandler = function (event) { + + // Stop if history.state doesn't exist (ex. if clicking on a broken anchor link). + // fixes `Cannot read property 'smoothScroll' of null` error getting thrown. + if (history.state === null) return; + + // Only run if state is a popstate record for this instantiation + if (!history.state.smoothScroll || history.state.smoothScroll !== JSON.stringify(settings)) return; + + // Only run if state includes an anchor + + // if (!history.state.anchor && history.state.anchor !== 0) return; + + // Get the anchor + var anchor = history.state.anchor; + if (typeof anchor === 'string' && anchor) { + anchor = document.querySelector(escapeCharacters(history.state.anchor)); + if (!anchor) return; + } + + // Animate scroll to anchor link + smoothScroll.animateScroll(anchor, null, {updateURL: false}); + + }; + + /** + * Destroy the current initialization. + */ + smoothScroll.destroy = function () { + + // If plugin isn't already initialized, stop + if (!settings) return; + + // Remove event listeners + document.removeEventListener('click', clickHandler, false); + window.removeEventListener('popstate', popstateHandler, false); + + // Cancel any scrolls-in-progress + smoothScroll.cancelScroll(); + + // Reset variables + settings = null; + anchor = null; + toggle = null; + fixedHeader = null; + eventTimeout = null; + animationInterval = null; + + }; + + /** + * Initialize Smooth Scroll + * @param {Object} options User settings + */ + var init = function () { + + // feature test + if (!supports()) throw 'Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.'; + + // Destroy any existing initializations + smoothScroll.destroy(); + + // Selectors and variables + settings = extend(defaults, options || {}); // Merge user options with defaults + fixedHeader = settings.header ? document.querySelector(settings.header) : null; // Get the fixed header + + // When a toggle is clicked, run the click handler + document.addEventListener('click', clickHandler, false); + + // If updateURL and popState are enabled, listen for pop events + if (settings.updateURL && settings.popstate) { + window.addEventListener('popstate', popstateHandler, false); + } + + }; + + + // + // Initialize plugin + // + + init(); + + + // + // Public APIs + // + + return smoothScroll; + + }; + + return SmoothScroll; + +})); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/sticky.js b/RockWeb/Themes/NewSpring/Scripts/sticky.js new file mode 100644 index 00000000000..8b6486d3b72 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/sticky.js @@ -0,0 +1,25 @@ +// var sticky = $("#sticky"); +// var stickyOffset = sticky.offset().top; +// var elementHeight = sticky.height(); +// var parentHeight = sticky.parent().height(); + +// var myEfficientFn = function() { + +// console.log('trigger'); + +// var navigationHeight = $('#navigation').height(); +// var scrollDistance = $(window).scrollTop(); + +// if (scrollDistance > (stickyOffset + parentHeight - elementHeight * 2 - 5)) { +// sticky.removeClass("position-fixed").addClass("position-absolute"); +// sticky[0].style.top = (parentHeight - elementHeight) + 'px'; +// } else if (scrollDistance > (stickyOffset - navigationHeight - 25)) { +// sticky.removeClass("position-absolute").addClass("position-fixed"); +// sticky[0].style.top = "100px"; +// } else { +// sticky.removeClass("position-fixed").addClass("position-absolute"); +// sticky[0].style.top = "0px"; +// } +// }; + +// window.addEventListener('scroll', myEfficientFn); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/stretchy.js b/RockWeb/Themes/NewSpring/Scripts/stretchy.js new file mode 100644 index 00000000000..8f37528a438 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/stretchy.js @@ -0,0 +1,220 @@ +/* + * Stretchy: Form element autosizing, the way it should be. + * by Lea Verou http://lea.verou.me + * MIT license + */ +(function() { + + if (!self.Element) { + return; // super old browser + } + + if (!Element.prototype.matches) { + Element.prototype.matches = Element.prototype.webkitMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || null; + } + + if (!Element.prototype.matches) { + return; + } + + function $$(expr, con) { + return expr instanceof Node || expr instanceof Window? [expr] : + [].slice.call(typeof expr == "string"? (con || document).querySelectorAll(expr) : expr || []); + } + + var _ = self.Stretchy = { + selectors: { + base: 'textarea, select:not([size]), input:not([type]), input[type="' + "text number url email tel".split(" ").join('"], input[type="') + '"]', + filter: "*" + }, + + // Script element this was included with, if any + script: document.currentScript || $$("script").pop(), + + // Autosize one element. The core of Stretchy. + resize: function(element) { + if (!_.resizes(element)) { + return; + } + + var cs = getComputedStyle(element); + var offset = 0; + var empty; + + if (!element.value && element.placeholder) { + empty = true; + element.value = element.placeholder; + } + + var type = element.nodeName.toLowerCase(); + + if (type == "textarea") { + element.style.height = "0"; + + if (cs.boxSizing == "border-box") { + offset = element.offsetHeight; + } + else if (cs.boxSizing == "content-box") { + offset = -element.clientHeight + parseFloat(cs.minHeight); + } + + element.style.height = element.scrollHeight + offset + "px"; + } + else if (type == "input") { + // First test that it is actually visible, otherwise all measurements are off + element.style.width = "1000px"; + + if (element.offsetWidth) { + element.style.width = "0"; + + if (cs.boxSizing == "border-box") { + offset = element.offsetWidth; + } + else if (cs.boxSizing == "padding-box") { + offset = element.clientWidth; + } + else if (cs.boxSizing == "content-box") { + offset = parseFloat(cs.minWidth); + } + + var width = Math.max(offset, element.scrollWidth - element.clientWidth); + + element.style.width = width + "px"; + + // To bulletproof, we will set scrollLeft to a + // huge number, and read that back to see what it was clipped to + // and increment width by that much, iteratively + + for (var i=0; i<10; i++) { // max iterations + element.scrollLeft = 1e+10; + + if (element.scrollLeft == 0) { + break; + } + + width += element.scrollLeft; + + element.style.width = width + "px"; + } + } + else { + // Element is invisible, just set to something reasonable + element.style.width = element.value.length + 1 + "ch"; + } + } + else if (type == "select") { + var selectedIndex = element.selectedIndex > 0? element.selectedIndex : 0; + + // Need to use dummy element to measure :( + var option = document.createElement("_"); + option.textContent = element.options[selectedIndex].textContent; + element.parentNode.insertBefore(option, element.nextSibling); + + // The name of the appearance property, as it might be prefixed + var appearance; + + for (var property in cs) { + var value = cs[property]; + if (!/^(width|webkitLogicalWidth|length)$/.test(property) && typeof value == "string") { + option.style[property] = value; + + if (/appearance$/i.test(property)) { + appearance = property; + } + } + } + + option.style.width = ""; + + if (option.offsetWidth > 0) { + element.style.width = option.offsetWidth + "px"; + + if (!cs[appearance] || cs[appearance] !== "none") { + // Account for arrow + element.style.width = "calc(" + element.style.width + " + 2em)"; + } + } + + option.parentNode.removeChild(option); + option = null; + } + + if (empty) { + element.value = ""; + } + }, + + // Autosize multiple elements + resizeAll: function(elements) { + $$(elements || _.selectors.base).forEach(function (element) { + _.resize(element); + }); + }, + + active: true, + + // Will stretchy do anything for this element? + resizes: function(element) { + return element && + element.parentNode && + element.matches && + element.matches(_.selectors.base) && + element.matches(_.selectors.filter); + }, + + init: function(){ + _.selectors.filter = _.script.getAttribute("data-filter") || + ($$("[data-stretchy-filter]").pop() || document.body).getAttribute("data-stretchy-filter") || _.selectors.filter; + + _.resizeAll(); + + // Listen for new elements + if (self.MutationObserver && !_.observer) { + _.observer = new MutationObserver(function(mutations) { + if (_.active) { + mutations.forEach(function(mutation) { + if (mutation.type == "childList") { + _.resizeAll(mutation.addedNodes); + } + }); + } + }); + _.observer.observe(document.documentElement, { + childList: true, + subtree: true + }); + } + }, + + $$: $$ + }; + + // Autosize all elements once the DOM is loaded + + // DOM already loaded? + if (document.readyState !== "loading") { + requestAnimationFrame(_.init); + } + else { + // Wait for it + document.addEventListener("DOMContentLoaded", _.init); + } + + window.addEventListener("load", function(){ + _.resizeAll(); + }); + + // Listen for changes + var listener = function(evt) { + if (_.active) { + _.resize(evt.target); + } + }; + + document.documentElement.addEventListener("input", listener); + + // Firefox fires a change event instead of an input event + document.documentElement.addEventListener("change", listener); + + })(); + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/swiper.js b/RockWeb/Themes/NewSpring/Scripts/swiper.js new file mode 100644 index 00000000000..02c9e864a33 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/swiper.js @@ -0,0 +1,7975 @@ +/** + * Swiper 4.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://www.idangero.us/swiper/ + * + * Copyright 2014-2018 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: September 14, 2018 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Swiper = factory()); +}(this, (function () { 'use strict'; + + /** + * SSR Window 1.0.1 + * Better handling for window object in SSR environment + * https://github.com/nolimits4web/ssr-window + * + * Copyright 2018, Vladimir Kharlampidi + * + * Licensed under MIT + * + * Released on: July 18, 2018 + */ + var doc = (typeof document === 'undefined') ? { + body: {}, + addEventListener: function addEventListener() {}, + removeEventListener: function removeEventListener() {}, + activeElement: { + blur: function blur() {}, + nodeName: '', + }, + querySelector: function querySelector() { + return null; + }, + querySelectorAll: function querySelectorAll() { + return []; + }, + getElementById: function getElementById() { + return null; + }, + createEvent: function createEvent() { + return { + initEvent: function initEvent() {}, + }; + }, + createElement: function createElement() { + return { + children: [], + childNodes: [], + style: {}, + setAttribute: function setAttribute() {}, + getElementsByTagName: function getElementsByTagName() { + return []; + }, + }; + }, + location: { hash: '' }, + } : document; // eslint-disable-line + + var win = (typeof window === 'undefined') ? { + document: doc, + navigator: { + userAgent: '', + }, + location: {}, + history: {}, + CustomEvent: function CustomEvent() { + return this; + }, + addEventListener: function addEventListener() {}, + removeEventListener: function removeEventListener() {}, + getComputedStyle: function getComputedStyle() { + return { + getPropertyValue: function getPropertyValue() { + return ''; + }, + }; + }, + Image: function Image() {}, + Date: function Date() {}, + screen: {}, + setTimeout: function setTimeout() {}, + clearTimeout: function clearTimeout() {}, + } : window; // eslint-disable-line + + /** + * Dom7 2.1.2 + * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API + * http://framework7.io/docs/dom.html + * + * Copyright 2018, Vladimir Kharlampidi + * The iDangero.us + * http://www.idangero.us/ + * + * Licensed under MIT + * + * Released on: September 13, 2018 + */ + + var Dom7 = function Dom7(arr) { + var self = this; + // Create array-like object + for (var i = 0; i < arr.length; i += 1) { + self[i] = arr[i]; + } + self.length = arr.length; + // Return collection with methods + return this; + }; + + function $(selector, context) { + var arr = []; + var i = 0; + if (selector && !context) { + if (selector instanceof Dom7) { + return selector; + } + } + if (selector) { + // String + if (typeof selector === 'string') { + var els; + var tempParent; + var html = selector.trim(); + if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { + var toCreate = 'div'; + if (html.indexOf(':~]/)) { + // Pure ID selector + els = [doc.getElementById(selector.trim().split('#')[1])]; + } else { + // Other selectors + els = (context || doc).querySelectorAll(selector.trim()); + } + for (i = 0; i < els.length; i += 1) { + if (els[i]) { arr.push(els[i]); } + } + } + } else if (selector.nodeType || selector === win || selector === doc) { + // Node/element + arr.push(selector); + } else if (selector.length > 0 && selector[0].nodeType) { + // Array of elements or instance of Dom + for (i = 0; i < selector.length; i += 1) { + arr.push(selector[i]); + } + } + } + return new Dom7(arr); + } + + $.fn = Dom7.prototype; + $.Class = Dom7; + $.Dom7 = Dom7; + + function unique(arr) { + var uniqueArray = []; + for (var i = 0; i < arr.length; i += 1) { + if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); } + } + return uniqueArray; + } + + // Classes and attributes + function addClass(className) { + var this$1 = this; + + if (typeof className === 'undefined') { + return this; + } + var classes = className.split(' '); + for (var i = 0; i < classes.length; i += 1) { + for (var j = 0; j < this.length; j += 1) { + if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.add(classes[i]); } + } + } + return this; + } + function removeClass(className) { + var this$1 = this; + + var classes = className.split(' '); + for (var i = 0; i < classes.length; i += 1) { + for (var j = 0; j < this.length; j += 1) { + if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.remove(classes[i]); } + } + } + return this; + } + function hasClass(className) { + if (!this[0]) { return false; } + return this[0].classList.contains(className); + } + function toggleClass(className) { + var this$1 = this; + + var classes = className.split(' '); + for (var i = 0; i < classes.length; i += 1) { + for (var j = 0; j < this.length; j += 1) { + if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') { this$1[j].classList.toggle(classes[i]); } + } + } + return this; + } + function attr(attrs, value) { + var arguments$1 = arguments; + var this$1 = this; + + if (arguments.length === 1 && typeof attrs === 'string') { + // Get attr + if (this[0]) { return this[0].getAttribute(attrs); } + return undefined; + } + + // Set attrs + for (var i = 0; i < this.length; i += 1) { + if (arguments$1.length === 2) { + // String + this$1[i].setAttribute(attrs, value); + } else { + // Object + // eslint-disable-next-line + for (var attrName in attrs) { + this$1[i][attrName] = attrs[attrName]; + this$1[i].setAttribute(attrName, attrs[attrName]); + } + } + } + return this; + } + // eslint-disable-next-line + function removeAttr(attr) { + var this$1 = this; + + for (var i = 0; i < this.length; i += 1) { + this$1[i].removeAttribute(attr); + } + return this; + } + function data(key, value) { + var this$1 = this; + + var el; + if (typeof value === 'undefined') { + el = this[0]; + // Get value + if (el) { + if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) { + return el.dom7ElementDataStorage[key]; + } + + var dataKey = el.getAttribute(("data-" + key)); + if (dataKey) { + return dataKey; + } + return undefined; + } + return undefined; + } + + // Set value + for (var i = 0; i < this.length; i += 1) { + el = this$1[i]; + if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; } + el.dom7ElementDataStorage[key] = value; + } + return this; + } + // Transforms + // eslint-disable-next-line + function transform(transform) { + var this$1 = this; + + for (var i = 0; i < this.length; i += 1) { + var elStyle = this$1[i].style; + elStyle.webkitTransform = transform; + elStyle.transform = transform; + } + return this; + } + function transition(duration) { + var this$1 = this; + + if (typeof duration !== 'string') { + duration = duration + "ms"; // eslint-disable-line + } + for (var i = 0; i < this.length; i += 1) { + var elStyle = this$1[i].style; + elStyle.webkitTransitionDuration = duration; + elStyle.transitionDuration = duration; + } + return this; + } + // Events + function on() { + var this$1 = this; + var assign; + + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + var eventType = args[0]; + var targetSelector = args[1]; + var listener = args[2]; + var capture = args[3]; + if (typeof args[1] === 'function') { + (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]); + targetSelector = undefined; + } + if (!capture) { capture = false; } + + function handleLiveEvent(e) { + var target = e.target; + if (!target) { return; } + var eventData = e.target.dom7EventData || []; + if (eventData.indexOf(e) < 0) { + eventData.unshift(e); + } + if ($(target).is(targetSelector)) { listener.apply(target, eventData); } + else { + var parents = $(target).parents(); // eslint-disable-line + for (var k = 0; k < parents.length; k += 1) { + if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); } + } + } + } + function handleEvent(e) { + var eventData = e && e.target ? e.target.dom7EventData || [] : []; + if (eventData.indexOf(e) < 0) { + eventData.unshift(e); + } + listener.apply(this, eventData); + } + var events = eventType.split(' '); + var j; + for (var i = 0; i < this.length; i += 1) { + var el = this$1[i]; + if (!targetSelector) { + for (j = 0; j < events.length; j += 1) { + var event = events[j]; + if (!el.dom7Listeners) { el.dom7Listeners = {}; } + if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; } + el.dom7Listeners[event].push({ + listener: listener, + proxyListener: handleEvent, + }); + el.addEventListener(event, handleEvent, capture); + } + } else { + // Live events + for (j = 0; j < events.length; j += 1) { + var event$1 = events[j]; + if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; } + if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; } + el.dom7LiveListeners[event$1].push({ + listener: listener, + proxyListener: handleLiveEvent, + }); + el.addEventListener(event$1, handleLiveEvent, capture); + } + } + } + return this; + } + function off() { + var this$1 = this; + var assign; + + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + var eventType = args[0]; + var targetSelector = args[1]; + var listener = args[2]; + var capture = args[3]; + if (typeof args[1] === 'function') { + (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]); + targetSelector = undefined; + } + if (!capture) { capture = false; } + + var events = eventType.split(' '); + for (var i = 0; i < events.length; i += 1) { + var event = events[i]; + for (var j = 0; j < this.length; j += 1) { + var el = this$1[j]; + var handlers = (void 0); + if (!targetSelector && el.dom7Listeners) { + handlers = el.dom7Listeners[event]; + } else if (targetSelector && el.dom7LiveListeners) { + handlers = el.dom7LiveListeners[event]; + } + if (handlers && handlers.length) { + for (var k = handlers.length - 1; k >= 0; k -= 1) { + var handler = handlers[k]; + if (listener && handler.listener === listener) { + el.removeEventListener(event, handler.proxyListener, capture); + handlers.splice(k, 1); + } else if (!listener) { + el.removeEventListener(event, handler.proxyListener, capture); + handlers.splice(k, 1); + } + } + } + } + } + return this; + } + function trigger() { + var this$1 = this; + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var events = args[0].split(' '); + var eventData = args[1]; + for (var i = 0; i < events.length; i += 1) { + var event = events[i]; + for (var j = 0; j < this.length; j += 1) { + var el = this$1[j]; + var evt = (void 0); + try { + evt = new win.CustomEvent(event, { + detail: eventData, + bubbles: true, + cancelable: true, + }); + } catch (e) { + evt = doc.createEvent('Event'); + evt.initEvent(event, true, true); + evt.detail = eventData; + } + // eslint-disable-next-line + el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; }); + el.dispatchEvent(evt); + el.dom7EventData = []; + delete el.dom7EventData; + } + } + return this; + } + function transitionEnd(callback) { + var events = ['webkitTransitionEnd', 'transitionend']; + var dom = this; + var i; + function fireCallBack(e) { + /* jshint validthis:true */ + if (e.target !== this) { return; } + callback.call(this, e); + for (i = 0; i < events.length; i += 1) { + dom.off(events[i], fireCallBack); + } + } + if (callback) { + for (i = 0; i < events.length; i += 1) { + dom.on(events[i], fireCallBack); + } + } + return this; + } + function outerWidth(includeMargins) { + if (this.length > 0) { + if (includeMargins) { + // eslint-disable-next-line + var styles = this.styles(); + return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); + } + return this[0].offsetWidth; + } + return null; + } + function outerHeight(includeMargins) { + if (this.length > 0) { + if (includeMargins) { + // eslint-disable-next-line + var styles = this.styles(); + return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); + } + return this[0].offsetHeight; + } + return null; + } + function offset() { + if (this.length > 0) { + var el = this[0]; + var box = el.getBoundingClientRect(); + var body = doc.body; + var clientTop = el.clientTop || body.clientTop || 0; + var clientLeft = el.clientLeft || body.clientLeft || 0; + var scrollTop = el === win ? win.scrollY : el.scrollTop; + var scrollLeft = el === win ? win.scrollX : el.scrollLeft; + return { + top: (box.top + scrollTop) - clientTop, + left: (box.left + scrollLeft) - clientLeft, + }; + } + + return null; + } + function styles() { + if (this[0]) { return win.getComputedStyle(this[0], null); } + return {}; + } + function css(props, value) { + var this$1 = this; + + var i; + if (arguments.length === 1) { + if (typeof props === 'string') { + if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); } + } else { + for (i = 0; i < this.length; i += 1) { + // eslint-disable-next-line + for (var prop in props) { + this$1[i].style[prop] = props[prop]; + } + } + return this; + } + } + if (arguments.length === 2 && typeof props === 'string') { + for (i = 0; i < this.length; i += 1) { + this$1[i].style[props] = value; + } + return this; + } + return this; + } + // Iterate over the collection passing elements to `callback` + function each(callback) { + var this$1 = this; + + // Don't bother continuing without a callback + if (!callback) { return this; } + // Iterate over the current collection + for (var i = 0; i < this.length; i += 1) { + // If the callback returns false + if (callback.call(this$1[i], i, this$1[i]) === false) { + // End the loop early + return this$1; + } + } + // Return `this` to allow chained DOM operations + return this; + } + // eslint-disable-next-line + function html(html) { + var this$1 = this; + + if (typeof html === 'undefined') { + return this[0] ? this[0].innerHTML : undefined; + } + + for (var i = 0; i < this.length; i += 1) { + this$1[i].innerHTML = html; + } + return this; + } + // eslint-disable-next-line + function text(text) { + var this$1 = this; + + if (typeof text === 'undefined') { + if (this[0]) { + return this[0].textContent.trim(); + } + return null; + } + + for (var i = 0; i < this.length; i += 1) { + this$1[i].textContent = text; + } + return this; + } + function is(selector) { + var el = this[0]; + var compareWith; + var i; + if (!el || typeof selector === 'undefined') { return false; } + if (typeof selector === 'string') { + if (el.matches) { return el.matches(selector); } + else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); } + else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); } + + compareWith = $(selector); + for (i = 0; i < compareWith.length; i += 1) { + if (compareWith[i] === el) { return true; } + } + return false; + } else if (selector === doc) { return el === doc; } + else if (selector === win) { return el === win; } + + if (selector.nodeType || selector instanceof Dom7) { + compareWith = selector.nodeType ? [selector] : selector; + for (i = 0; i < compareWith.length; i += 1) { + if (compareWith[i] === el) { return true; } + } + return false; + } + return false; + } + function index() { + var child = this[0]; + var i; + if (child) { + i = 0; + // eslint-disable-next-line + while ((child = child.previousSibling) !== null) { + if (child.nodeType === 1) { i += 1; } + } + return i; + } + return undefined; + } + // eslint-disable-next-line + function eq(index) { + if (typeof index === 'undefined') { return this; } + var length = this.length; + var returnIndex; + if (index > length - 1) { + return new Dom7([]); + } + if (index < 0) { + returnIndex = length + index; + if (returnIndex < 0) { return new Dom7([]); } + return new Dom7([this[returnIndex]]); + } + return new Dom7([this[index]]); + } + function append() { + var this$1 = this; + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var newChild; + + for (var k = 0; k < args.length; k += 1) { + newChild = args[k]; + for (var i = 0; i < this.length; i += 1) { + if (typeof newChild === 'string') { + var tempDiv = doc.createElement('div'); + tempDiv.innerHTML = newChild; + while (tempDiv.firstChild) { + this$1[i].appendChild(tempDiv.firstChild); + } + } else if (newChild instanceof Dom7) { + for (var j = 0; j < newChild.length; j += 1) { + this$1[i].appendChild(newChild[j]); + } + } else { + this$1[i].appendChild(newChild); + } + } + } + + return this; + } + function prepend(newChild) { + var this$1 = this; + + var i; + var j; + for (i = 0; i < this.length; i += 1) { + if (typeof newChild === 'string') { + var tempDiv = doc.createElement('div'); + tempDiv.innerHTML = newChild; + for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) { + this$1[i].insertBefore(tempDiv.childNodes[j], this$1[i].childNodes[0]); + } + } else if (newChild instanceof Dom7) { + for (j = 0; j < newChild.length; j += 1) { + this$1[i].insertBefore(newChild[j], this$1[i].childNodes[0]); + } + } else { + this$1[i].insertBefore(newChild, this$1[i].childNodes[0]); + } + } + return this; + } + function next(selector) { + if (this.length > 0) { + if (selector) { + if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) { + return new Dom7([this[0].nextElementSibling]); + } + return new Dom7([]); + } + + if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); } + return new Dom7([]); + } + return new Dom7([]); + } + function nextAll(selector) { + var nextEls = []; + var el = this[0]; + if (!el) { return new Dom7([]); } + while (el.nextElementSibling) { + var next = el.nextElementSibling; // eslint-disable-line + if (selector) { + if ($(next).is(selector)) { nextEls.push(next); } + } else { nextEls.push(next); } + el = next; + } + return new Dom7(nextEls); + } + function prev(selector) { + if (this.length > 0) { + var el = this[0]; + if (selector) { + if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) { + return new Dom7([el.previousElementSibling]); + } + return new Dom7([]); + } + + if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); } + return new Dom7([]); + } + return new Dom7([]); + } + function prevAll(selector) { + var prevEls = []; + var el = this[0]; + if (!el) { return new Dom7([]); } + while (el.previousElementSibling) { + var prev = el.previousElementSibling; // eslint-disable-line + if (selector) { + if ($(prev).is(selector)) { prevEls.push(prev); } + } else { prevEls.push(prev); } + el = prev; + } + return new Dom7(prevEls); + } + function parent(selector) { + var this$1 = this; + + var parents = []; // eslint-disable-line + for (var i = 0; i < this.length; i += 1) { + if (this$1[i].parentNode !== null) { + if (selector) { + if ($(this$1[i].parentNode).is(selector)) { parents.push(this$1[i].parentNode); } + } else { + parents.push(this$1[i].parentNode); + } + } + } + return $(unique(parents)); + } + function parents(selector) { + var this$1 = this; + + var parents = []; // eslint-disable-line + for (var i = 0; i < this.length; i += 1) { + var parent = this$1[i].parentNode; // eslint-disable-line + while (parent) { + if (selector) { + if ($(parent).is(selector)) { parents.push(parent); } + } else { + parents.push(parent); + } + parent = parent.parentNode; + } + } + return $(unique(parents)); + } + function closest(selector) { + var closest = this; // eslint-disable-line + if (typeof selector === 'undefined') { + return new Dom7([]); + } + if (!closest.is(selector)) { + closest = closest.parents(selector).eq(0); + } + return closest; + } + function find(selector) { + var this$1 = this; + + var foundElements = []; + for (var i = 0; i < this.length; i += 1) { + var found = this$1[i].querySelectorAll(selector); + for (var j = 0; j < found.length; j += 1) { + foundElements.push(found[j]); + } + } + return new Dom7(foundElements); + } + function children(selector) { + var this$1 = this; + + var children = []; // eslint-disable-line + for (var i = 0; i < this.length; i += 1) { + var childNodes = this$1[i].childNodes; + + for (var j = 0; j < childNodes.length; j += 1) { + if (!selector) { + if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); } + } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) { + children.push(childNodes[j]); + } + } + } + return new Dom7(unique(children)); + } + function remove() { + var this$1 = this; + + for (var i = 0; i < this.length; i += 1) { + if (this$1[i].parentNode) { this$1[i].parentNode.removeChild(this$1[i]); } + } + return this; + } + function add() { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var dom = this; + var i; + var j; + for (i = 0; i < args.length; i += 1) { + var toAdd = $(args[i]); + for (j = 0; j < toAdd.length; j += 1) { + dom[dom.length] = toAdd[j]; + dom.length += 1; + } + } + return dom; + } + + var Methods = { + addClass: addClass, + removeClass: removeClass, + hasClass: hasClass, + toggleClass: toggleClass, + attr: attr, + removeAttr: removeAttr, + data: data, + transform: transform, + transition: transition, + on: on, + off: off, + trigger: trigger, + transitionEnd: transitionEnd, + outerWidth: outerWidth, + outerHeight: outerHeight, + offset: offset, + css: css, + each: each, + html: html, + text: text, + is: is, + index: index, + eq: eq, + append: append, + prepend: prepend, + next: next, + nextAll: nextAll, + prev: prev, + prevAll: prevAll, + parent: parent, + parents: parents, + closest: closest, + find: find, + children: children, + remove: remove, + add: add, + styles: styles, + }; + + Object.keys(Methods).forEach(function (methodName) { + $.fn[methodName] = Methods[methodName]; + }); + + var Utils = { + deleteProps: function deleteProps(obj) { + var object = obj; + Object.keys(object).forEach(function (key) { + try { + object[key] = null; + } catch (e) { + // no getter for object + } + try { + delete object[key]; + } catch (e) { + // something got wrong + } + }); + }, + nextTick: function nextTick(callback, delay) { + if ( delay === void 0 ) delay = 0; + + return setTimeout(callback, delay); + }, + now: function now() { + return Date.now(); + }, + getTranslate: function getTranslate(el, axis) { + if ( axis === void 0 ) axis = 'x'; + + var matrix; + var curTransform; + var transformMatrix; + + var curStyle = win.getComputedStyle(el, null); + + if (win.WebKitCSSMatrix) { + curTransform = curStyle.transform || curStyle.webkitTransform; + if (curTransform.split(',').length > 6) { + curTransform = curTransform.split(', ').map(function (a) { return a.replace(',', '.'); }).join(', '); + } + // Some old versions of Webkit choke when 'none' is passed; pass + // empty string instead in this case + transformMatrix = new win.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); + } else { + transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); + matrix = transformMatrix.toString().split(','); + } + + if (axis === 'x') { + // Latest Chrome and webkits Fix + if (win.WebKitCSSMatrix) { curTransform = transformMatrix.m41; } + // Crazy IE10 Matrix + else if (matrix.length === 16) { curTransform = parseFloat(matrix[12]); } + // Normal Browsers + else { curTransform = parseFloat(matrix[4]); } + } + if (axis === 'y') { + // Latest Chrome and webkits Fix + if (win.WebKitCSSMatrix) { curTransform = transformMatrix.m42; } + // Crazy IE10 Matrix + else if (matrix.length === 16) { curTransform = parseFloat(matrix[13]); } + // Normal Browsers + else { curTransform = parseFloat(matrix[5]); } + } + return curTransform || 0; + }, + parseUrlQuery: function parseUrlQuery(url) { + var query = {}; + var urlToParse = url || win.location.href; + var i; + var params; + var param; + var length; + if (typeof urlToParse === 'string' && urlToParse.length) { + urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\S*\?/, '') : ''; + params = urlToParse.split('&').filter(function (paramsPart) { return paramsPart !== ''; }); + length = params.length; + + for (i = 0; i < length; i += 1) { + param = params[i].replace(/#\S+/g, '').split('='); + query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param[1]) || ''; + } + } + return query; + }, + isObject: function isObject(o) { + return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object; + }, + extend: function extend() { + var args = [], len$1 = arguments.length; + while ( len$1-- ) args[ len$1 ] = arguments[ len$1 ]; + + var to = Object(args[0]); + for (var i = 1; i < args.length; i += 1) { + var nextSource = args[i]; + if (nextSource !== undefined && nextSource !== null) { + var keysArray = Object.keys(Object(nextSource)); + for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { + var nextKey = keysArray[nextIndex]; + var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); + if (desc !== undefined && desc.enumerable) { + if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) { + Utils.extend(to[nextKey], nextSource[nextKey]); + } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) { + to[nextKey] = {}; + Utils.extend(to[nextKey], nextSource[nextKey]); + } else { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + } + return to; + }, + }; + + var Support = (function Support() { + var testDiv = doc.createElement('div'); + return { + touch: (win.Modernizr && win.Modernizr.touch === true) || (function checkTouch() { + return !!(('ontouchstart' in win) || (win.DocumentTouch && doc instanceof win.DocumentTouch)); + }()), + + pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent), + prefixedPointerEvents: !!win.navigator.msPointerEnabled, + + transition: (function checkTransition() { + var style = testDiv.style; + return ('transition' in style || 'webkitTransition' in style || 'MozTransition' in style); + }()), + transforms3d: (win.Modernizr && win.Modernizr.csstransforms3d === true) || (function checkTransforms3d() { + var style = testDiv.style; + return ('webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style); + }()), + + flexbox: (function checkFlexbox() { + var style = testDiv.style; + var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' '); + for (var i = 0; i < styles.length; i += 1) { + if (styles[i] in style) { return true; } + } + return false; + }()), + + observer: (function checkObserver() { + return ('MutationObserver' in win || 'WebkitMutationObserver' in win); + }()), + + passiveListener: (function checkPassiveListener() { + var supportsPassive = false; + try { + var opts = Object.defineProperty({}, 'passive', { + // eslint-disable-next-line + get: function get() { + supportsPassive = true; + }, + }); + win.addEventListener('testPassiveListener', null, opts); + } catch (e) { + // No support + } + return supportsPassive; + }()), + + gestures: (function checkGestures() { + return 'ongesturestart' in win; + }()), + }; + }()); + + var SwiperClass = function SwiperClass(params) { + if ( params === void 0 ) params = {}; + + var self = this; + self.params = params; + + // Events + self.eventsListeners = {}; + + if (self.params && self.params.on) { + Object.keys(self.params.on).forEach(function (eventName) { + self.on(eventName, self.params.on[eventName]); + }); + } + }; + + var staticAccessors = { components: { configurable: true } }; + + SwiperClass.prototype.on = function on (events, handler, priority) { + var self = this; + if (typeof handler !== 'function') { return self; } + var method = priority ? 'unshift' : 'push'; + events.split(' ').forEach(function (event) { + if (!self.eventsListeners[event]) { self.eventsListeners[event] = []; } + self.eventsListeners[event][method](handler); + }); + return self; + }; + + SwiperClass.prototype.once = function once (events, handler, priority) { + var self = this; + if (typeof handler !== 'function') { return self; } + function onceHandler() { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + handler.apply(self, args); + self.off(events, onceHandler); + } + return self.on(events, onceHandler, priority); + }; + + SwiperClass.prototype.off = function off (events, handler) { + var self = this; + if (!self.eventsListeners) { return self; } + events.split(' ').forEach(function (event) { + if (typeof handler === 'undefined') { + self.eventsListeners[event] = []; + } else if (self.eventsListeners[event] && self.eventsListeners[event].length) { + self.eventsListeners[event].forEach(function (eventHandler, index) { + if (eventHandler === handler) { + self.eventsListeners[event].splice(index, 1); + } + }); + } + }); + return self; + }; + + SwiperClass.prototype.emit = function emit () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var self = this; + if (!self.eventsListeners) { return self; } + var events; + var data; + var context; + if (typeof args[0] === 'string' || Array.isArray(args[0])) { + events = args[0]; + data = args.slice(1, args.length); + context = self; + } else { + events = args[0].events; + data = args[0].data; + context = args[0].context || self; + } + var eventsArray = Array.isArray(events) ? events : events.split(' '); + eventsArray.forEach(function (event) { + if (self.eventsListeners && self.eventsListeners[event]) { + var handlers = []; + self.eventsListeners[event].forEach(function (eventHandler) { + handlers.push(eventHandler); + }); + handlers.forEach(function (eventHandler) { + eventHandler.apply(context, data); + }); + } + }); + return self; + }; + + SwiperClass.prototype.useModulesParams = function useModulesParams (instanceParams) { + var instance = this; + if (!instance.modules) { return; } + Object.keys(instance.modules).forEach(function (moduleName) { + var module = instance.modules[moduleName]; + // Extend params + if (module.params) { + Utils.extend(instanceParams, module.params); + } + }); + }; + + SwiperClass.prototype.useModules = function useModules (modulesParams) { + if ( modulesParams === void 0 ) modulesParams = {}; + + var instance = this; + if (!instance.modules) { return; } + Object.keys(instance.modules).forEach(function (moduleName) { + var module = instance.modules[moduleName]; + var moduleParams = modulesParams[moduleName] || {}; + // Extend instance methods and props + if (module.instance) { + Object.keys(module.instance).forEach(function (modulePropName) { + var moduleProp = module.instance[modulePropName]; + if (typeof moduleProp === 'function') { + instance[modulePropName] = moduleProp.bind(instance); + } else { + instance[modulePropName] = moduleProp; + } + }); + } + // Add event listeners + if (module.on && instance.on) { + Object.keys(module.on).forEach(function (moduleEventName) { + instance.on(moduleEventName, module.on[moduleEventName]); + }); + } + + // Module create callback + if (module.create) { + module.create.bind(instance)(moduleParams); + } + }); + }; + + staticAccessors.components.set = function (components) { + var Class = this; + if (!Class.use) { return; } + Class.use(components); + }; + + SwiperClass.installModule = function installModule (module) { + var params = [], len = arguments.length - 1; + while ( len-- > 0 ) params[ len ] = arguments[ len + 1 ]; + + var Class = this; + if (!Class.prototype.modules) { Class.prototype.modules = {}; } + var name = module.name || (((Object.keys(Class.prototype.modules).length) + "_" + (Utils.now()))); + Class.prototype.modules[name] = module; + // Prototype + if (module.proto) { + Object.keys(module.proto).forEach(function (key) { + Class.prototype[key] = module.proto[key]; + }); + } + // Class + if (module.static) { + Object.keys(module.static).forEach(function (key) { + Class[key] = module.static[key]; + }); + } + // Callback + if (module.install) { + module.install.apply(Class, params); + } + return Class; + }; + + SwiperClass.use = function use (module) { + var params = [], len = arguments.length - 1; + while ( len-- > 0 ) params[ len ] = arguments[ len + 1 ]; + + var Class = this; + if (Array.isArray(module)) { + module.forEach(function (m) { return Class.installModule(m); }); + return Class; + } + return Class.installModule.apply(Class, [ module ].concat( params )); + }; + + Object.defineProperties( SwiperClass, staticAccessors ); + + function updateSize () { + var swiper = this; + var width; + var height; + var $el = swiper.$el; + if (typeof swiper.params.width !== 'undefined') { + width = swiper.params.width; + } else { + width = $el[0].clientWidth; + } + if (typeof swiper.params.height !== 'undefined') { + height = swiper.params.height; + } else { + height = $el[0].clientHeight; + } + if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) { + return; + } + + // Subtract paddings + width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10); + height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10); + + Utils.extend(swiper, { + width: width, + height: height, + size: swiper.isHorizontal() ? width : height, + }); + } + + function updateSlides () { + var swiper = this; + var params = swiper.params; + + var $wrapperEl = swiper.$wrapperEl; + var swiperSize = swiper.size; + var rtl = swiper.rtlTranslate; + var wrongRTL = swiper.wrongRTL; + var isVirtual = swiper.virtual && params.virtual.enabled; + var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; + var slides = $wrapperEl.children(("." + (swiper.params.slideClass))); + var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; + var snapGrid = []; + var slidesGrid = []; + var slidesSizesGrid = []; + + var offsetBefore = params.slidesOffsetBefore; + if (typeof offsetBefore === 'function') { + offsetBefore = params.slidesOffsetBefore.call(swiper); + } + + var offsetAfter = params.slidesOffsetAfter; + if (typeof offsetAfter === 'function') { + offsetAfter = params.slidesOffsetAfter.call(swiper); + } + + var previousSnapGridLength = swiper.snapGrid.length; + var previousSlidesGridLength = swiper.snapGrid.length; + + var spaceBetween = params.spaceBetween; + var slidePosition = -offsetBefore; + var prevSlideSize = 0; + var index = 0; + if (typeof swiperSize === 'undefined') { + return; + } + if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { + spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize; + } + + swiper.virtualSize = -spaceBetween; + + // reset margins + if (rtl) { slides.css({ marginLeft: '', marginTop: '' }); } + else { slides.css({ marginRight: '', marginBottom: '' }); } + + var slidesNumberEvenToRows; + if (params.slidesPerColumn > 1) { + if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) { + slidesNumberEvenToRows = slidesLength; + } else { + slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn; + } + if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') { + slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn); + } + } + + // Calc slides + var slideSize; + var slidesPerColumn = params.slidesPerColumn; + var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn; + var numFullColumns = slidesPerRow - ((params.slidesPerColumn * slidesPerRow) - slidesLength); + for (var i = 0; i < slidesLength; i += 1) { + slideSize = 0; + var slide = slides.eq(i); + if (params.slidesPerColumn > 1) { + // Set slides order + var newSlideOrderIndex = (void 0); + var column = (void 0); + var row = (void 0); + if (params.slidesPerColumnFill === 'column') { + column = Math.floor(i / slidesPerColumn); + row = i - (column * slidesPerColumn); + if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn - 1)) { + row += 1; + if (row >= slidesPerColumn) { + row = 0; + column += 1; + } + } + newSlideOrderIndex = column + ((row * slidesNumberEvenToRows) / slidesPerColumn); + slide + .css({ + '-webkit-box-ordinal-group': newSlideOrderIndex, + '-moz-box-ordinal-group': newSlideOrderIndex, + '-ms-flex-order': newSlideOrderIndex, + '-webkit-order': newSlideOrderIndex, + order: newSlideOrderIndex, + }); + } else { + row = Math.floor(i / slidesPerRow); + column = i - (row * slidesPerRow); + } + slide + .css( + ("margin-" + (swiper.isHorizontal() ? 'top' : 'left')), + (row !== 0 && params.spaceBetween) && (((params.spaceBetween) + "px")) + ) + .attr('data-swiper-column', column) + .attr('data-swiper-row', row); + } + if (slide.css('display') === 'none') { continue; } // eslint-disable-line + + if (params.slidesPerView === 'auto') { + var slideStyles = win.getComputedStyle(slide[0], null); + var currentTransform = slide[0].style.transform; + var currentWebKitTransform = slide[0].style.webkitTransform; + if (currentTransform) { + slide[0].style.transform = 'none'; + } + if (currentWebKitTransform) { + slide[0].style.webkitTransform = 'none'; + } + if (params.roundLengths) { + slideSize = swiper.isHorizontal() + ? slide.outerWidth(true) + : slide.outerHeight(true); + } else { + // eslint-disable-next-line + if (swiper.isHorizontal()) { + slideSize = slide[0].getBoundingClientRect().width + + parseFloat(slideStyles.getPropertyValue('margin-left')) + + parseFloat(slideStyles.getPropertyValue('margin-right')); + } else { + slideSize = slide[0].getBoundingClientRect().height + + parseFloat(slideStyles.getPropertyValue('margin-top')) + + parseFloat(slideStyles.getPropertyValue('margin-bottom')); + } + } + if (currentTransform) { + slide[0].style.transform = currentTransform; + } + if (currentWebKitTransform) { + slide[0].style.webkitTransform = currentWebKitTransform; + } + if (params.roundLengths) { slideSize = Math.floor(slideSize); } + } else { + slideSize = (swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView; + if (params.roundLengths) { slideSize = Math.floor(slideSize); } + + if (slides[i]) { + if (swiper.isHorizontal()) { + slides[i].style.width = slideSize + "px"; + } else { + slides[i].style.height = slideSize + "px"; + } + } + } + if (slides[i]) { + slides[i].swiperSlideSize = slideSize; + } + slidesSizesGrid.push(slideSize); + + + if (params.centeredSlides) { + slidePosition = slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween; + if (prevSlideSize === 0 && i !== 0) { slidePosition = slidePosition - (swiperSize / 2) - spaceBetween; } + if (i === 0) { slidePosition = slidePosition - (swiperSize / 2) - spaceBetween; } + if (Math.abs(slidePosition) < 1 / 1000) { slidePosition = 0; } + if (params.roundLengths) { slidePosition = Math.floor(slidePosition); } + if ((index) % params.slidesPerGroup === 0) { snapGrid.push(slidePosition); } + slidesGrid.push(slidePosition); + } else { + if (params.roundLengths) { slidePosition = Math.floor(slidePosition); } + if ((index) % params.slidesPerGroup === 0) { snapGrid.push(slidePosition); } + slidesGrid.push(slidePosition); + slidePosition = slidePosition + slideSize + spaceBetween; + } + + swiper.virtualSize += slideSize + spaceBetween; + + prevSlideSize = slideSize; + + index += 1; + } + swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; + var newSlidesGrid; + + if ( + rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { + $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") }); + } + if (!Support.flexbox || params.setWrapperSize) { + if (swiper.isHorizontal()) { $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") }); } + else { $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") }); } + } + + if (params.slidesPerColumn > 1) { + swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows; + swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween; + if (swiper.isHorizontal()) { $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") }); } + else { $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") }); } + if (params.centeredSlides) { + newSlidesGrid = []; + for (var i$1 = 0; i$1 < snapGrid.length; i$1 += 1) { + var slidesGridItem = snapGrid[i$1]; + if (params.roundLengths) { slidesGridItem = Math.floor(slidesGridItem); } + if (snapGrid[i$1] < swiper.virtualSize + snapGrid[0]) { newSlidesGrid.push(slidesGridItem); } + } + snapGrid = newSlidesGrid; + } + } + + // Remove last grid elements depending on width + if (!params.centeredSlides) { + newSlidesGrid = []; + for (var i$2 = 0; i$2 < snapGrid.length; i$2 += 1) { + var slidesGridItem$1 = snapGrid[i$2]; + if (params.roundLengths) { slidesGridItem$1 = Math.floor(slidesGridItem$1); } + if (snapGrid[i$2] <= swiper.virtualSize - swiperSize) { + newSlidesGrid.push(slidesGridItem$1); + } + } + snapGrid = newSlidesGrid; + if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { + snapGrid.push(swiper.virtualSize - swiperSize); + } + } + if (snapGrid.length === 0) { snapGrid = [0]; } + + if (params.spaceBetween !== 0) { + if (swiper.isHorizontal()) { + if (rtl) { slides.css({ marginLeft: (spaceBetween + "px") }); } + else { slides.css({ marginRight: (spaceBetween + "px") }); } + } else { slides.css({ marginBottom: (spaceBetween + "px") }); } + } + + if (params.centerInsufficientSlides) { + var allSlidesSize = 0; + slidesSizesGrid.forEach(function (slideSizeValue) { + allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); + }); + allSlidesSize -= params.spaceBetween; + if (allSlidesSize < swiperSize) { + var allSlidesOffset = (swiperSize - allSlidesSize) / 2; + snapGrid.forEach(function (snap, snapIndex) { + snapGrid[snapIndex] = snap - allSlidesOffset; + }); + slidesGrid.forEach(function (snap, snapIndex) { + slidesGrid[snapIndex] = snap + allSlidesOffset; + }); + } + } + + Utils.extend(swiper, { + slides: slides, + snapGrid: snapGrid, + slidesGrid: slidesGrid, + slidesSizesGrid: slidesSizesGrid, + }); + + if (slidesLength !== previousSlidesLength) { + swiper.emit('slidesLengthChange'); + } + if (snapGrid.length !== previousSnapGridLength) { + if (swiper.params.watchOverflow) { swiper.checkOverflow(); } + swiper.emit('snapGridLengthChange'); + } + if (slidesGrid.length !== previousSlidesGridLength) { + swiper.emit('slidesGridLengthChange'); + } + + if (params.watchSlidesProgress || params.watchSlidesVisibility) { + swiper.updateSlidesOffset(); + } + } + + function updateAutoHeight (speed) { + var swiper = this; + var activeSlides = []; + var newHeight = 0; + var i; + if (typeof speed === 'number') { + swiper.setTransition(speed); + } else if (speed === true) { + swiper.setTransition(swiper.params.speed); + } + // Find slides currently in view + if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { + for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { + var index = swiper.activeIndex + i; + if (index > swiper.slides.length) { break; } + activeSlides.push(swiper.slides.eq(index)[0]); + } + } else { + activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]); + } + + // Find new height from highest slide in view + for (i = 0; i < activeSlides.length; i += 1) { + if (typeof activeSlides[i] !== 'undefined') { + var height = activeSlides[i].offsetHeight; + newHeight = height > newHeight ? height : newHeight; + } + } + + // Update Height + if (newHeight) { swiper.$wrapperEl.css('height', (newHeight + "px")); } + } + + function updateSlidesOffset () { + var swiper = this; + var slides = swiper.slides; + for (var i = 0; i < slides.length; i += 1) { + slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop; + } + } + + function updateSlidesProgress (translate) { + if ( translate === void 0 ) translate = (this && this.translate) || 0; + + var swiper = this; + var params = swiper.params; + + var slides = swiper.slides; + var rtl = swiper.rtlTranslate; + + if (slides.length === 0) { return; } + if (typeof slides[0].swiperSlideOffset === 'undefined') { swiper.updateSlidesOffset(); } + + var offsetCenter = -translate; + if (rtl) { offsetCenter = translate; } + + // Visible Slides + slides.removeClass(params.slideVisibleClass); + + swiper.visibleSlidesIndexes = []; + swiper.visibleSlides = []; + + for (var i = 0; i < slides.length; i += 1) { + var slide = slides[i]; + var slideProgress = ( + (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0)) - slide.swiperSlideOffset + ) / (slide.swiperSlideSize + params.spaceBetween); + if (params.watchSlidesVisibility) { + var slideBefore = -(offsetCenter - slide.swiperSlideOffset); + var slideAfter = slideBefore + swiper.slidesSizesGrid[i]; + var isVisible = (slideBefore >= 0 && slideBefore < swiper.size) + || (slideAfter > 0 && slideAfter <= swiper.size) + || (slideBefore <= 0 && slideAfter >= swiper.size); + if (isVisible) { + swiper.visibleSlides.push(slide); + swiper.visibleSlidesIndexes.push(i); + slides.eq(i).addClass(params.slideVisibleClass); + } + } + slide.progress = rtl ? -slideProgress : slideProgress; + } + swiper.visibleSlides = $(swiper.visibleSlides); + } + + function updateProgress (translate) { + if ( translate === void 0 ) translate = (this && this.translate) || 0; + + var swiper = this; + var params = swiper.params; + + var translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + var progress = swiper.progress; + var isBeginning = swiper.isBeginning; + var isEnd = swiper.isEnd; + var wasBeginning = isBeginning; + var wasEnd = isEnd; + if (translatesDiff === 0) { + progress = 0; + isBeginning = true; + isEnd = true; + } else { + progress = (translate - swiper.minTranslate()) / (translatesDiff); + isBeginning = progress <= 0; + isEnd = progress >= 1; + } + Utils.extend(swiper, { + progress: progress, + isBeginning: isBeginning, + isEnd: isEnd, + }); + + if (params.watchSlidesProgress || params.watchSlidesVisibility) { swiper.updateSlidesProgress(translate); } + + if (isBeginning && !wasBeginning) { + swiper.emit('reachBeginning toEdge'); + } + if (isEnd && !wasEnd) { + swiper.emit('reachEnd toEdge'); + } + if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) { + swiper.emit('fromEdge'); + } + + swiper.emit('progress', progress); + } + + function updateSlidesClasses () { + var swiper = this; + + var slides = swiper.slides; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + var activeIndex = swiper.activeIndex; + var realIndex = swiper.realIndex; + var isVirtual = swiper.virtual && params.virtual.enabled; + + slides.removeClass(((params.slideActiveClass) + " " + (params.slideNextClass) + " " + (params.slidePrevClass) + " " + (params.slideDuplicateActiveClass) + " " + (params.slideDuplicateNextClass) + " " + (params.slideDuplicatePrevClass))); + + var activeSlide; + if (isVirtual) { + activeSlide = swiper.$wrapperEl.find(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + activeIndex + "\"]")); + } else { + activeSlide = slides.eq(activeIndex); + } + + // Active classes + activeSlide.addClass(params.slideActiveClass); + + if (params.loop) { + // Duplicate to all looped slides + if (activeSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl + .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + realIndex + "\"]")) + .addClass(params.slideDuplicateActiveClass); + } else { + $wrapperEl + .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]")) + .addClass(params.slideDuplicateActiveClass); + } + } + // Next Slide + var nextSlide = activeSlide.nextAll(("." + (params.slideClass))).eq(0).addClass(params.slideNextClass); + if (params.loop && nextSlide.length === 0) { + nextSlide = slides.eq(0); + nextSlide.addClass(params.slideNextClass); + } + // Prev Slide + var prevSlide = activeSlide.prevAll(("." + (params.slideClass))).eq(0).addClass(params.slidePrevClass); + if (params.loop && prevSlide.length === 0) { + prevSlide = slides.eq(-1); + prevSlide.addClass(params.slidePrevClass); + } + if (params.loop) { + // Duplicate to all looped slides + if (nextSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl + .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]")) + .addClass(params.slideDuplicateNextClass); + } else { + $wrapperEl + .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]")) + .addClass(params.slideDuplicateNextClass); + } + if (prevSlide.hasClass(params.slideDuplicateClass)) { + $wrapperEl + .children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]")) + .addClass(params.slideDuplicatePrevClass); + } else { + $wrapperEl + .children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]")) + .addClass(params.slideDuplicatePrevClass); + } + } + } + + function updateActiveIndex (newActiveIndex) { + var swiper = this; + var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + var slidesGrid = swiper.slidesGrid; + var snapGrid = swiper.snapGrid; + var params = swiper.params; + var previousIndex = swiper.activeIndex; + var previousRealIndex = swiper.realIndex; + var previousSnapIndex = swiper.snapIndex; + var activeIndex = newActiveIndex; + var snapIndex; + if (typeof activeIndex === 'undefined') { + for (var i = 0; i < slidesGrid.length; i += 1) { + if (typeof slidesGrid[i + 1] !== 'undefined') { + if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)) { + activeIndex = i; + } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { + activeIndex = i + 1; + } + } else if (translate >= slidesGrid[i]) { + activeIndex = i; + } + } + // Normalize slideIndex + if (params.normalizeSlideIndex) { + if (activeIndex < 0 || typeof activeIndex === 'undefined') { activeIndex = 0; } + } + } + if (snapGrid.indexOf(translate) >= 0) { + snapIndex = snapGrid.indexOf(translate); + } else { + snapIndex = Math.floor(activeIndex / params.slidesPerGroup); + } + if (snapIndex >= snapGrid.length) { snapIndex = snapGrid.length - 1; } + if (activeIndex === previousIndex) { + if (snapIndex !== previousSnapIndex) { + swiper.snapIndex = snapIndex; + swiper.emit('snapIndexChange'); + } + return; + } + + // Get real index + var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10); + + Utils.extend(swiper, { + snapIndex: snapIndex, + realIndex: realIndex, + previousIndex: previousIndex, + activeIndex: activeIndex, + }); + swiper.emit('activeIndexChange'); + swiper.emit('snapIndexChange'); + if (previousRealIndex !== realIndex) { + swiper.emit('realIndexChange'); + } + swiper.emit('slideChange'); + } + + function updateClickedSlide (e) { + var swiper = this; + var params = swiper.params; + var slide = $(e.target).closest(("." + (params.slideClass)))[0]; + var slideFound = false; + if (slide) { + for (var i = 0; i < swiper.slides.length; i += 1) { + if (swiper.slides[i] === slide) { slideFound = true; } + } + } + + if (slide && slideFound) { + swiper.clickedSlide = slide; + if (swiper.virtual && swiper.params.virtual.enabled) { + swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10); + } else { + swiper.clickedIndex = $(slide).index(); + } + } else { + swiper.clickedSlide = undefined; + swiper.clickedIndex = undefined; + return; + } + if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { + swiper.slideToClickedSlide(); + } + } + + var update = { + updateSize: updateSize, + updateSlides: updateSlides, + updateAutoHeight: updateAutoHeight, + updateSlidesOffset: updateSlidesOffset, + updateSlidesProgress: updateSlidesProgress, + updateProgress: updateProgress, + updateSlidesClasses: updateSlidesClasses, + updateActiveIndex: updateActiveIndex, + updateClickedSlide: updateClickedSlide, + }; + + function getTranslate (axis) { + if ( axis === void 0 ) axis = this.isHorizontal() ? 'x' : 'y'; + + var swiper = this; + + var params = swiper.params; + var rtl = swiper.rtlTranslate; + var translate = swiper.translate; + var $wrapperEl = swiper.$wrapperEl; + + if (params.virtualTranslate) { + return rtl ? -translate : translate; + } + + var currentTranslate = Utils.getTranslate($wrapperEl[0], axis); + if (rtl) { currentTranslate = -currentTranslate; } + + return currentTranslate || 0; + } + + function setTranslate (translate, byController) { + var swiper = this; + var rtl = swiper.rtlTranslate; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + var progress = swiper.progress; + var x = 0; + var y = 0; + var z = 0; + + if (swiper.isHorizontal()) { + x = rtl ? -translate : translate; + } else { + y = translate; + } + + if (params.roundLengths) { + x = Math.floor(x); + y = Math.floor(y); + } + + if (!params.virtualTranslate) { + if (Support.transforms3d) { $wrapperEl.transform(("translate3d(" + x + "px, " + y + "px, " + z + "px)")); } + else { $wrapperEl.transform(("translate(" + x + "px, " + y + "px)")); } + } + swiper.previousTranslate = swiper.translate; + swiper.translate = swiper.isHorizontal() ? x : y; + + // Check if we need to update progress + var newProgress; + var translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); + if (translatesDiff === 0) { + newProgress = 0; + } else { + newProgress = (translate - swiper.minTranslate()) / (translatesDiff); + } + if (newProgress !== progress) { + swiper.updateProgress(translate); + } + + swiper.emit('setTranslate', swiper.translate, byController); + } + + function minTranslate () { + return (-this.snapGrid[0]); + } + + function maxTranslate () { + return (-this.snapGrid[this.snapGrid.length - 1]); + } + + var translate = { + getTranslate: getTranslate, + setTranslate: setTranslate, + minTranslate: minTranslate, + maxTranslate: maxTranslate, + }; + + function setTransition (duration, byController) { + var swiper = this; + + swiper.$wrapperEl.transition(duration); + + swiper.emit('setTransition', duration, byController); + } + + function transitionStart (runCallbacks, direction) { + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var activeIndex = swiper.activeIndex; + var params = swiper.params; + var previousIndex = swiper.previousIndex; + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + + var dir = direction; + if (!dir) { + if (activeIndex > previousIndex) { dir = 'next'; } + else if (activeIndex < previousIndex) { dir = 'prev'; } + else { dir = 'reset'; } + } + + swiper.emit('transitionStart'); + + if (runCallbacks && activeIndex !== previousIndex) { + if (dir === 'reset') { + swiper.emit('slideResetTransitionStart'); + return; + } + swiper.emit('slideChangeTransitionStart'); + if (dir === 'next') { + swiper.emit('slideNextTransitionStart'); + } else { + swiper.emit('slidePrevTransitionStart'); + } + } + } + + function transitionEnd$1 (runCallbacks, direction) { + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var activeIndex = swiper.activeIndex; + var previousIndex = swiper.previousIndex; + swiper.animating = false; + swiper.setTransition(0); + + var dir = direction; + if (!dir) { + if (activeIndex > previousIndex) { dir = 'next'; } + else if (activeIndex < previousIndex) { dir = 'prev'; } + else { dir = 'reset'; } + } + + swiper.emit('transitionEnd'); + + if (runCallbacks && activeIndex !== previousIndex) { + if (dir === 'reset') { + swiper.emit('slideResetTransitionEnd'); + return; + } + swiper.emit('slideChangeTransitionEnd'); + if (dir === 'next') { + swiper.emit('slideNextTransitionEnd'); + } else { + swiper.emit('slidePrevTransitionEnd'); + } + } + } + + var transition$1 = { + setTransition: setTransition, + transitionStart: transitionStart, + transitionEnd: transitionEnd$1, + }; + + function slideTo (index, speed, runCallbacks, internal) { + if ( index === void 0 ) index = 0; + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var slideIndex = index; + if (slideIndex < 0) { slideIndex = 0; } + + var params = swiper.params; + var snapGrid = swiper.snapGrid; + var slidesGrid = swiper.slidesGrid; + var previousIndex = swiper.previousIndex; + var activeIndex = swiper.activeIndex; + var rtl = swiper.rtlTranslate; + if (swiper.animating && params.preventInteractionOnTransition) { + return false; + } + + var snapIndex = Math.floor(slideIndex / params.slidesPerGroup); + if (snapIndex >= snapGrid.length) { snapIndex = snapGrid.length - 1; } + + if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) { + swiper.emit('beforeSlideChangeStart'); + } + + var translate = -snapGrid[snapIndex]; + + // Update progress + swiper.updateProgress(translate); + + // Normalize slideIndex + if (params.normalizeSlideIndex) { + for (var i = 0; i < slidesGrid.length; i += 1) { + if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) { + slideIndex = i; + } + } + } + // Directions locks + if (swiper.initialized && slideIndex !== activeIndex) { + if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) { + return false; + } + if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { + if ((activeIndex || 0) !== slideIndex) { return false; } + } + } + + var direction; + if (slideIndex > activeIndex) { direction = 'next'; } + else if (slideIndex < activeIndex) { direction = 'prev'; } + else { direction = 'reset'; } + + + // Update Index + if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) { + swiper.updateActiveIndex(slideIndex); + // Update Height + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + swiper.updateSlidesClasses(); + if (params.effect !== 'slide') { + swiper.setTranslate(translate); + } + if (direction !== 'reset') { + swiper.transitionStart(runCallbacks, direction); + swiper.transitionEnd(runCallbacks, direction); + } + return false; + } + + if (speed === 0 || !Support.transition) { + swiper.setTransition(0); + swiper.setTranslate(translate); + swiper.updateActiveIndex(slideIndex); + swiper.updateSlidesClasses(); + swiper.emit('beforeTransitionStart', speed, internal); + swiper.transitionStart(runCallbacks, direction); + swiper.transitionEnd(runCallbacks, direction); + } else { + swiper.setTransition(speed); + swiper.setTranslate(translate); + swiper.updateActiveIndex(slideIndex); + swiper.updateSlidesClasses(); + swiper.emit('beforeTransitionStart', speed, internal); + swiper.transitionStart(runCallbacks, direction); + if (!swiper.animating) { + swiper.animating = true; + if (!swiper.onSlideToWrapperTransitionEnd) { + swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { + if (!swiper || swiper.destroyed) { return; } + if (e.target !== this) { return; } + swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); + swiper.onSlideToWrapperTransitionEnd = null; + delete swiper.onSlideToWrapperTransitionEnd; + swiper.transitionEnd(runCallbacks, direction); + }; + } + swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); + swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); + } + } + + return true; + } + + function slideToLoop (index, speed, runCallbacks, internal) { + if ( index === void 0 ) index = 0; + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var newIndex = index; + if (swiper.params.loop) { + newIndex += swiper.loopedSlides; + } + + return swiper.slideTo(newIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideNext (speed, runCallbacks, internal) { + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var params = swiper.params; + var animating = swiper.animating; + if (params.loop) { + if (animating) { return false; } + swiper.loopFix(); + // eslint-disable-next-line + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal); + } + return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slidePrev (speed, runCallbacks, internal) { + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var params = swiper.params; + var animating = swiper.animating; + var snapGrid = swiper.snapGrid; + var slidesGrid = swiper.slidesGrid; + var rtlTranslate = swiper.rtlTranslate; + + if (params.loop) { + if (animating) { return false; } + swiper.loopFix(); + // eslint-disable-next-line + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + } + var translate = rtlTranslate ? swiper.translate : -swiper.translate; + function normalize(val) { + if (val < 0) { return -Math.floor(Math.abs(val)); } + return Math.floor(val); + } + var normalizedTranslate = normalize(translate); + var normalizedSnapGrid = snapGrid.map(function (val) { return normalize(val); }); + var normalizedSlidesGrid = slidesGrid.map(function (val) { return normalize(val); }); + + var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)]; + var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; + var prevIndex; + if (typeof prevSnap !== 'undefined') { + prevIndex = slidesGrid.indexOf(prevSnap); + if (prevIndex < 0) { prevIndex = swiper.activeIndex - 1; } + } + return swiper.slideTo(prevIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideReset (speed, runCallbacks, internal) { + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); + } + + /* eslint no-unused-vars: "off" */ + function slideToClosest (speed, runCallbacks, internal) { + if ( speed === void 0 ) speed = this.params.speed; + if ( runCallbacks === void 0 ) runCallbacks = true; + + var swiper = this; + var index = swiper.activeIndex; + var snapIndex = Math.floor(index / swiper.params.slidesPerGroup); + + if (snapIndex < swiper.snapGrid.length - 1) { + var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; + + var currentSnap = swiper.snapGrid[snapIndex]; + var nextSnap = swiper.snapGrid[snapIndex + 1]; + + if ((translate - currentSnap) > (nextSnap - currentSnap) / 2) { + index = swiper.params.slidesPerGroup; + } + } + + return swiper.slideTo(index, speed, runCallbacks, internal); + } + + function slideToClickedSlide () { + var swiper = this; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + + var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; + var slideToIndex = swiper.clickedIndex; + var realIndex; + if (params.loop) { + if (swiper.animating) { return; } + realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10); + if (params.centeredSlides) { + if ( + (slideToIndex < swiper.loopedSlides - (slidesPerView / 2)) + || (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2)) + ) { + swiper.loopFix(); + slideToIndex = $wrapperEl + .children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")")) + .eq(0) + .index(); + + Utils.nextTick(function () { + swiper.slideTo(slideToIndex); + }); + } else { + swiper.slideTo(slideToIndex); + } + } else if (slideToIndex > swiper.slides.length - slidesPerView) { + swiper.loopFix(); + slideToIndex = $wrapperEl + .children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")")) + .eq(0) + .index(); + + Utils.nextTick(function () { + swiper.slideTo(slideToIndex); + }); + } else { + swiper.slideTo(slideToIndex); + } + } else { + swiper.slideTo(slideToIndex); + } + } + + var slide = { + slideTo: slideTo, + slideToLoop: slideToLoop, + slideNext: slideNext, + slidePrev: slidePrev, + slideReset: slideReset, + slideToClosest: slideToClosest, + slideToClickedSlide: slideToClickedSlide, + }; + + function loopCreate () { + var swiper = this; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + // Remove duplicated slides + $wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove(); + + var slides = $wrapperEl.children(("." + (params.slideClass))); + + if (params.loopFillGroupWithBlank) { + var blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup); + if (blankSlidesNum !== params.slidesPerGroup) { + for (var i = 0; i < blankSlidesNum; i += 1) { + var blankNode = $(doc.createElement('div')).addClass(((params.slideClass) + " " + (params.slideBlankClass))); + $wrapperEl.append(blankNode); + } + slides = $wrapperEl.children(("." + (params.slideClass))); + } + } + + if (params.slidesPerView === 'auto' && !params.loopedSlides) { params.loopedSlides = slides.length; } + + swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10); + swiper.loopedSlides += params.loopAdditionalSlides; + if (swiper.loopedSlides > slides.length) { + swiper.loopedSlides = slides.length; + } + + var prependSlides = []; + var appendSlides = []; + slides.each(function (index, el) { + var slide = $(el); + if (index < swiper.loopedSlides) { appendSlides.push(el); } + if (index < slides.length && index >= slides.length - swiper.loopedSlides) { prependSlides.push(el); } + slide.attr('data-swiper-slide-index', index); + }); + for (var i$1 = 0; i$1 < appendSlides.length; i$1 += 1) { + $wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass)); + } + for (var i$2 = prependSlides.length - 1; i$2 >= 0; i$2 -= 1) { + $wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass)); + } + } + + function loopFix () { + var swiper = this; + var params = swiper.params; + var activeIndex = swiper.activeIndex; + var slides = swiper.slides; + var loopedSlides = swiper.loopedSlides; + var allowSlidePrev = swiper.allowSlidePrev; + var allowSlideNext = swiper.allowSlideNext; + var snapGrid = swiper.snapGrid; + var rtl = swiper.rtlTranslate; + var newIndex; + swiper.allowSlidePrev = true; + swiper.allowSlideNext = true; + + var snapTranslate = -snapGrid[activeIndex]; + var diff = snapTranslate - swiper.getTranslate(); + + + // Fix For Negative Oversliding + if (activeIndex < loopedSlides) { + newIndex = (slides.length - (loopedSlides * 3)) + activeIndex; + newIndex += loopedSlides; + var slideChanged = swiper.slideTo(newIndex, 0, false, true); + if (slideChanged && diff !== 0) { + swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); + } + } else if ((params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2) || (activeIndex >= slides.length - loopedSlides)) { + // Fix For Positive Oversliding + newIndex = -slides.length + activeIndex + loopedSlides; + newIndex += loopedSlides; + var slideChanged$1 = swiper.slideTo(newIndex, 0, false, true); + if (slideChanged$1 && diff !== 0) { + swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); + } + } + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + } + + function loopDestroy () { + var swiper = this; + var $wrapperEl = swiper.$wrapperEl; + var params = swiper.params; + var slides = swiper.slides; + $wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove(); + slides.removeAttr('data-swiper-slide-index'); + } + + var loop = { + loopCreate: loopCreate, + loopFix: loopFix, + loopDestroy: loopDestroy, + }; + + function setGrabCursor (moving) { + var swiper = this; + if (Support.touch || !swiper.params.simulateTouch || (swiper.params.watchOverflow && swiper.isLocked)) { return; } + var el = swiper.el; + el.style.cursor = 'move'; + el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab'; + el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab'; + el.style.cursor = moving ? 'grabbing' : 'grab'; + } + + function unsetGrabCursor () { + var swiper = this; + if (Support.touch || (swiper.params.watchOverflow && swiper.isLocked)) { return; } + swiper.el.style.cursor = ''; + } + + var grabCursor = { + setGrabCursor: setGrabCursor, + unsetGrabCursor: unsetGrabCursor, + }; + + function appendSlide (slides) { + var swiper = this; + var $wrapperEl = swiper.$wrapperEl; + var params = swiper.params; + if (params.loop) { + swiper.loopDestroy(); + } + if (typeof slides === 'object' && 'length' in slides) { + for (var i = 0; i < slides.length; i += 1) { + if (slides[i]) { $wrapperEl.append(slides[i]); } + } + } else { + $wrapperEl.append(slides); + } + if (params.loop) { + swiper.loopCreate(); + } + if (!(params.observer && Support.observer)) { + swiper.update(); + } + } + + function prependSlide (slides) { + var swiper = this; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + var activeIndex = swiper.activeIndex; + + if (params.loop) { + swiper.loopDestroy(); + } + var newActiveIndex = activeIndex + 1; + if (typeof slides === 'object' && 'length' in slides) { + for (var i = 0; i < slides.length; i += 1) { + if (slides[i]) { $wrapperEl.prepend(slides[i]); } + } + newActiveIndex = activeIndex + slides.length; + } else { + $wrapperEl.prepend(slides); + } + if (params.loop) { + swiper.loopCreate(); + } + if (!(params.observer && Support.observer)) { + swiper.update(); + } + swiper.slideTo(newActiveIndex, 0, false); + } + + function addSlide (index, slides) { + var swiper = this; + var $wrapperEl = swiper.$wrapperEl; + var params = swiper.params; + var activeIndex = swiper.activeIndex; + var activeIndexBuffer = activeIndex; + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + swiper.slides = $wrapperEl.children(("." + (params.slideClass))); + } + var baseLength = swiper.slides.length; + if (index <= 0) { + swiper.prependSlide(slides); + return; + } + if (index >= baseLength) { + swiper.appendSlide(slides); + return; + } + var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; + + var slidesBuffer = []; + for (var i = baseLength - 1; i >= index; i -= 1) { + var currentSlide = swiper.slides.eq(i); + currentSlide.remove(); + slidesBuffer.unshift(currentSlide); + } + + if (typeof slides === 'object' && 'length' in slides) { + for (var i$1 = 0; i$1 < slides.length; i$1 += 1) { + if (slides[i$1]) { $wrapperEl.append(slides[i$1]); } + } + newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; + } else { + $wrapperEl.append(slides); + } + + for (var i$2 = 0; i$2 < slidesBuffer.length; i$2 += 1) { + $wrapperEl.append(slidesBuffer[i$2]); + } + + if (params.loop) { + swiper.loopCreate(); + } + if (!(params.observer && Support.observer)) { + swiper.update(); + } + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } + } + + function removeSlide (slidesIndexes) { + var swiper = this; + var params = swiper.params; + var $wrapperEl = swiper.$wrapperEl; + var activeIndex = swiper.activeIndex; + + var activeIndexBuffer = activeIndex; + if (params.loop) { + activeIndexBuffer -= swiper.loopedSlides; + swiper.loopDestroy(); + swiper.slides = $wrapperEl.children(("." + (params.slideClass))); + } + var newActiveIndex = activeIndexBuffer; + var indexToRemove; + + if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { + for (var i = 0; i < slidesIndexes.length; i += 1) { + indexToRemove = slidesIndexes[i]; + if (swiper.slides[indexToRemove]) { swiper.slides.eq(indexToRemove).remove(); } + if (indexToRemove < newActiveIndex) { newActiveIndex -= 1; } + } + newActiveIndex = Math.max(newActiveIndex, 0); + } else { + indexToRemove = slidesIndexes; + if (swiper.slides[indexToRemove]) { swiper.slides.eq(indexToRemove).remove(); } + if (indexToRemove < newActiveIndex) { newActiveIndex -= 1; } + newActiveIndex = Math.max(newActiveIndex, 0); + } + + if (params.loop) { + swiper.loopCreate(); + } + + if (!(params.observer && Support.observer)) { + swiper.update(); + } + if (params.loop) { + swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); + } else { + swiper.slideTo(newActiveIndex, 0, false); + } + } + + function removeAllSlides () { + var swiper = this; + + var slidesIndexes = []; + for (var i = 0; i < swiper.slides.length; i += 1) { + slidesIndexes.push(i); + } + swiper.removeSlide(slidesIndexes); + } + + var manipulation = { + appendSlide: appendSlide, + prependSlide: prependSlide, + addSlide: addSlide, + removeSlide: removeSlide, + removeAllSlides: removeAllSlides, + }; + + var Device = (function Device() { + var ua = win.navigator.userAgent; + + var device = { + ios: false, + android: false, + androidChrome: false, + desktop: false, + windows: false, + iphone: false, + ipod: false, + ipad: false, + cordova: win.cordova || win.phonegap, + phonegap: win.cordova || win.phonegap, + }; + + var windows = ua.match(/(Windows Phone);?[\s\/]+([\d.]+)?/); // eslint-disable-line + var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line + var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); + var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); + var iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); + + + // Windows + if (windows) { + device.os = 'windows'; + device.osVersion = windows[2]; + device.windows = true; + } + // Android + if (android && !windows) { + device.os = 'android'; + device.osVersion = android[2]; + device.android = true; + device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0; + } + if (ipad || iphone || ipod) { + device.os = 'ios'; + device.ios = true; + } + // iOS + if (iphone && !ipod) { + device.osVersion = iphone[2].replace(/_/g, '.'); + device.iphone = true; + } + if (ipad) { + device.osVersion = ipad[2].replace(/_/g, '.'); + device.ipad = true; + } + if (ipod) { + device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null; + device.iphone = true; + } + // iOS 8+ changed UA + if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) { + if (device.osVersion.split('.')[0] === '10') { + device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0]; + } + } + + // Desktop + device.desktop = !(device.os || device.android || device.webView); + + // Webview + device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i); + + // Minimal UI + if (device.os && device.os === 'ios') { + var osVersionArr = device.osVersion.split('.'); + var metaViewport = doc.querySelector('meta[name="viewport"]'); + device.minimalUi = !device.webView + && (ipod || iphone) + && (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) + && metaViewport && metaViewport.getAttribute('content').indexOf('minimal-ui') >= 0; + } + + // Pixel Ratio + device.pixelRatio = win.devicePixelRatio || 1; + + // Export object + return device; + }()); + + function onTouchStart (event) { + var swiper = this; + var data = swiper.touchEventsData; + var params = swiper.params; + var touches = swiper.touches; + if (swiper.animating && params.preventInteractionOnTransition) { + return; + } + var e = event; + if (e.originalEvent) { e = e.originalEvent; } + data.isTouchEvent = e.type === 'touchstart'; + if (!data.isTouchEvent && 'which' in e && e.which === 3) { return; } + if (!data.isTouchEvent && 'button' in e && e.button > 0) { return; } + if (data.isTouched && data.isMoved) { return; } + if (params.noSwiping && $(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : ("." + (params.noSwipingClass)))[0]) { + swiper.allowClick = true; + return; + } + if (params.swipeHandler) { + if (!$(e).closest(params.swipeHandler)[0]) { return; } + } + + touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; + touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; + var startX = touches.currentX; + var startY = touches.currentY; + + // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore + + var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection; + var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold; + if ( + edgeSwipeDetection + && ((startX <= edgeSwipeThreshold) + || (startX >= win.screen.width - edgeSwipeThreshold)) + ) { + return; + } + + Utils.extend(data, { + isTouched: true, + isMoved: false, + allowTouchCallbacks: true, + isScrolling: undefined, + startMoving: undefined, + }); + + touches.startX = startX; + touches.startY = startY; + data.touchStartTime = Utils.now(); + swiper.allowClick = true; + swiper.updateSize(); + swiper.swipeDirection = undefined; + if (params.threshold > 0) { data.allowThresholdMove = false; } + if (e.type !== 'touchstart') { + var preventDefault = true; + if ($(e.target).is(data.formElements)) { preventDefault = false; } + if ( + doc.activeElement + && $(doc.activeElement).is(data.formElements) + && doc.activeElement !== e.target + ) { + doc.activeElement.blur(); + } + if (preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault) { + e.preventDefault(); + } + } + swiper.emit('touchStart', e); + } + + function onTouchMove (event) { + var swiper = this; + var data = swiper.touchEventsData; + var params = swiper.params; + var touches = swiper.touches; + var rtl = swiper.rtlTranslate; + var e = event; + if (e.originalEvent) { e = e.originalEvent; } + if (!data.isTouched) { + if (data.startMoving && data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + return; + } + if (data.isTouchEvent && e.type === 'mousemove') { return; } + var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; + var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; + if (e.preventedByNestedSwiper) { + touches.startX = pageX; + touches.startY = pageY; + return; + } + if (!swiper.allowTouchMove) { + // isMoved = true; + swiper.allowClick = false; + if (data.isTouched) { + Utils.extend(touches, { + startX: pageX, + startY: pageY, + currentX: pageX, + currentY: pageY, + }); + data.touchStartTime = Utils.now(); + } + return; + } + if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) { + if (swiper.isVertical()) { + // Vertical + if ( + (pageY < touches.startY && swiper.translate <= swiper.maxTranslate()) + || (pageY > touches.startY && swiper.translate >= swiper.minTranslate()) + ) { + data.isTouched = false; + data.isMoved = false; + return; + } + } else if ( + (pageX < touches.startX && swiper.translate <= swiper.maxTranslate()) + || (pageX > touches.startX && swiper.translate >= swiper.minTranslate()) + ) { + return; + } + } + if (data.isTouchEvent && doc.activeElement) { + if (e.target === doc.activeElement && $(e.target).is(data.formElements)) { + data.isMoved = true; + swiper.allowClick = false; + return; + } + } + if (data.allowTouchCallbacks) { + swiper.emit('touchMove', e); + } + if (e.targetTouches && e.targetTouches.length > 1) { return; } + + touches.currentX = pageX; + touches.currentY = pageY; + + var diffX = touches.currentX - touches.startX; + var diffY = touches.currentY - touches.startY; + if (swiper.params.threshold && Math.sqrt((Math.pow( diffX, 2 )) + (Math.pow( diffY, 2 ))) < swiper.params.threshold) { return; } + + if (typeof data.isScrolling === 'undefined') { + var touchAngle; + if ((swiper.isHorizontal() && touches.currentY === touches.startY) || (swiper.isVertical() && touches.currentX === touches.startX)) { + data.isScrolling = false; + } else { + // eslint-disable-next-line + if ((diffX * diffX) + (diffY * diffY) >= 25) { + touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI; + data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : (90 - touchAngle > params.touchAngle); + } + } + } + if (data.isScrolling) { + swiper.emit('touchMoveOpposite', e); + } + if (typeof data.startMoving === 'undefined') { + if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { + data.startMoving = true; + } + } + if (data.isScrolling) { + data.isTouched = false; + return; + } + if (!data.startMoving) { + return; + } + swiper.allowClick = false; + e.preventDefault(); + if (params.touchMoveStopPropagation && !params.nested) { + e.stopPropagation(); + } + + if (!data.isMoved) { + if (params.loop) { + swiper.loopFix(); + } + data.startTranslate = swiper.getTranslate(); + swiper.setTransition(0); + if (swiper.animating) { + swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend'); + } + data.allowMomentumBounce = false; + // Grab Cursor + if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(true); + } + swiper.emit('sliderFirstMove', e); + } + swiper.emit('sliderMove', e); + data.isMoved = true; + + var diff = swiper.isHorizontal() ? diffX : diffY; + touches.diff = diff; + + diff *= params.touchRatio; + if (rtl) { diff = -diff; } + + swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; + data.currentTranslate = diff + data.startTranslate; + + var disableParentSwiper = true; + var resistanceRatio = params.resistanceRatio; + if (params.touchReleaseOnEdges) { + resistanceRatio = 0; + } + if ((diff > 0 && data.currentTranslate > swiper.minTranslate())) { + disableParentSwiper = false; + if (params.resistance) { data.currentTranslate = (swiper.minTranslate() - 1) + (Math.pow( (-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio )); } + } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) { + disableParentSwiper = false; + if (params.resistance) { data.currentTranslate = (swiper.maxTranslate() + 1) - (Math.pow( (swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio )); } + } + + if (disableParentSwiper) { + e.preventedByNestedSwiper = true; + } + + // Directions locks + if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { + data.currentTranslate = data.startTranslate; + } + + + // Threshold + if (params.threshold > 0) { + if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { + if (!data.allowThresholdMove) { + data.allowThresholdMove = true; + touches.startX = touches.currentX; + touches.startY = touches.currentY; + data.currentTranslate = data.startTranslate; + touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; + return; + } + } else { + data.currentTranslate = data.startTranslate; + return; + } + } + + if (!params.followFinger) { return; } + + // Update active index in free mode + if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) { + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + if (params.freeMode) { + // Velocity + if (data.velocities.length === 0) { + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], + time: data.touchStartTime, + }); + } + data.velocities.push({ + position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], + time: Utils.now(), + }); + } + // Update progress + swiper.updateProgress(data.currentTranslate); + // Update translate + swiper.setTranslate(data.currentTranslate); + } + + function onTouchEnd (event) { + var swiper = this; + var data = swiper.touchEventsData; + + var params = swiper.params; + var touches = swiper.touches; + var rtl = swiper.rtlTranslate; + var $wrapperEl = swiper.$wrapperEl; + var slidesGrid = swiper.slidesGrid; + var snapGrid = swiper.snapGrid; + var e = event; + if (e.originalEvent) { e = e.originalEvent; } + if (data.allowTouchCallbacks) { + swiper.emit('touchEnd', e); + } + data.allowTouchCallbacks = false; + if (!data.isTouched) { + if (data.isMoved && params.grabCursor) { + swiper.setGrabCursor(false); + } + data.isMoved = false; + data.startMoving = false; + return; + } + // Return Grab Cursor + if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { + swiper.setGrabCursor(false); + } + + // Time diff + var touchEndTime = Utils.now(); + var timeDiff = touchEndTime - data.touchStartTime; + + // Tap, doubleTap, Click + if (swiper.allowClick) { + swiper.updateClickedSlide(e); + swiper.emit('tap', e); + if (timeDiff < 300 && (touchEndTime - data.lastClickTime) > 300) { + if (data.clickTimeout) { clearTimeout(data.clickTimeout); } + data.clickTimeout = Utils.nextTick(function () { + if (!swiper || swiper.destroyed) { return; } + swiper.emit('click', e); + }, 300); + } + if (timeDiff < 300 && (touchEndTime - data.lastClickTime) < 300) { + if (data.clickTimeout) { clearTimeout(data.clickTimeout); } + swiper.emit('doubleTap', e); + } + } + + data.lastClickTime = Utils.now(); + Utils.nextTick(function () { + if (!swiper.destroyed) { swiper.allowClick = true; } + }); + + if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) { + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + return; + } + data.isTouched = false; + data.isMoved = false; + data.startMoving = false; + + var currentPos; + if (params.followFinger) { + currentPos = rtl ? swiper.translate : -swiper.translate; + } else { + currentPos = -data.currentTranslate; + } + + if (params.freeMode) { + if (currentPos < -swiper.minTranslate()) { + swiper.slideTo(swiper.activeIndex); + return; + } + if (currentPos > -swiper.maxTranslate()) { + if (swiper.slides.length < snapGrid.length) { + swiper.slideTo(snapGrid.length - 1); + } else { + swiper.slideTo(swiper.slides.length - 1); + } + return; + } + + if (params.freeModeMomentum) { + if (data.velocities.length > 1) { + var lastMoveEvent = data.velocities.pop(); + var velocityEvent = data.velocities.pop(); + + var distance = lastMoveEvent.position - velocityEvent.position; + var time = lastMoveEvent.time - velocityEvent.time; + swiper.velocity = distance / time; + swiper.velocity /= 2; + if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) { + swiper.velocity = 0; + } + // this implies that the user stopped moving a finger then released. + // There would be no events with distance zero, so the last event is stale. + if (time > 150 || (Utils.now() - lastMoveEvent.time) > 300) { + swiper.velocity = 0; + } + } else { + swiper.velocity = 0; + } + swiper.velocity *= params.freeModeMomentumVelocityRatio; + + data.velocities.length = 0; + var momentumDuration = 1000 * params.freeModeMomentumRatio; + var momentumDistance = swiper.velocity * momentumDuration; + + var newPosition = swiper.translate + momentumDistance; + if (rtl) { newPosition = -newPosition; } + + var doBounce = false; + var afterBouncePosition; + var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio; + var needsLoopFix; + if (newPosition < swiper.maxTranslate()) { + if (params.freeModeMomentumBounce) { + if (newPosition + swiper.maxTranslate() < -bounceAmount) { + newPosition = swiper.maxTranslate() - bounceAmount; + } + afterBouncePosition = swiper.maxTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.maxTranslate(); + } + if (params.loop && params.centeredSlides) { needsLoopFix = true; } + } else if (newPosition > swiper.minTranslate()) { + if (params.freeModeMomentumBounce) { + if (newPosition - swiper.minTranslate() > bounceAmount) { + newPosition = swiper.minTranslate() + bounceAmount; + } + afterBouncePosition = swiper.minTranslate(); + doBounce = true; + data.allowMomentumBounce = true; + } else { + newPosition = swiper.minTranslate(); + } + if (params.loop && params.centeredSlides) { needsLoopFix = true; } + } else if (params.freeModeSticky) { + var nextSlide; + for (var j = 0; j < snapGrid.length; j += 1) { + if (snapGrid[j] > -newPosition) { + nextSlide = j; + break; + } + } + + if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { + newPosition = snapGrid[nextSlide]; + } else { + newPosition = snapGrid[nextSlide - 1]; + } + newPosition = -newPosition; + } + if (needsLoopFix) { + swiper.once('transitionEnd', function () { + swiper.loopFix(); + }); + } + // Fix duration + if (swiper.velocity !== 0) { + if (rtl) { + momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); + } else { + momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); + } + } else if (params.freeModeSticky) { + swiper.slideToClosest(); + return; + } + + if (params.freeModeMomentumBounce && doBounce) { + swiper.updateProgress(afterBouncePosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + swiper.animating = true; + $wrapperEl.transitionEnd(function () { + if (!swiper || swiper.destroyed || !data.allowMomentumBounce) { return; } + swiper.emit('momentumBounce'); + + swiper.setTransition(params.speed); + swiper.setTranslate(afterBouncePosition); + $wrapperEl.transitionEnd(function () { + if (!swiper || swiper.destroyed) { return; } + swiper.transitionEnd(); + }); + }); + } else if (swiper.velocity) { + swiper.updateProgress(newPosition); + swiper.setTransition(momentumDuration); + swiper.setTranslate(newPosition); + swiper.transitionStart(true, swiper.swipeDirection); + if (!swiper.animating) { + swiper.animating = true; + $wrapperEl.transitionEnd(function () { + if (!swiper || swiper.destroyed) { return; } + swiper.transitionEnd(); + }); + } + } else { + swiper.updateProgress(newPosition); + } + + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } else if (params.freeModeSticky) { + swiper.slideToClosest(); + return; + } + + if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) { + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + return; + } + + // Find current slide + var stopIndex = 0; + var groupSize = swiper.slidesSizesGrid[0]; + for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) { + if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') { + if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) { + stopIndex = i; + groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i]; + } + } else if (currentPos >= slidesGrid[i]) { + stopIndex = i; + groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; + } + } + + // Find current slide size + var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; + + if (timeDiff > params.longSwipesMs) { + // Long touches + if (!params.longSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + if (swiper.swipeDirection === 'next') { + if (ratio >= params.longSwipesRatio) { swiper.slideTo(stopIndex + params.slidesPerGroup); } + else { swiper.slideTo(stopIndex); } + } + if (swiper.swipeDirection === 'prev') { + if (ratio > (1 - params.longSwipesRatio)) { swiper.slideTo(stopIndex + params.slidesPerGroup); } + else { swiper.slideTo(stopIndex); } + } + } else { + // Short swipes + if (!params.shortSwipes) { + swiper.slideTo(swiper.activeIndex); + return; + } + if (swiper.swipeDirection === 'next') { + swiper.slideTo(stopIndex + params.slidesPerGroup); + } + if (swiper.swipeDirection === 'prev') { + swiper.slideTo(stopIndex); + } + } + } + + function onResize () { + var swiper = this; + + var params = swiper.params; + var el = swiper.el; + + if (el && el.offsetWidth === 0) { return; } + + // Breakpoints + if (params.breakpoints) { + swiper.setBreakpoint(); + } + + // Save locks + var allowSlideNext = swiper.allowSlideNext; + var allowSlidePrev = swiper.allowSlidePrev; + var snapGrid = swiper.snapGrid; + + // Disable locks on resize + swiper.allowSlideNext = true; + swiper.allowSlidePrev = true; + + swiper.updateSize(); + swiper.updateSlides(); + + if (params.freeMode) { + var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate()); + swiper.setTranslate(newTranslate); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + + if (params.autoHeight) { + swiper.updateAutoHeight(); + } + } else { + swiper.updateSlidesClasses(); + if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) { + swiper.slideTo(swiper.slides.length - 1, 0, false, true); + } else { + swiper.slideTo(swiper.activeIndex, 0, false, true); + } + } + // Return locks after resize + swiper.allowSlidePrev = allowSlidePrev; + swiper.allowSlideNext = allowSlideNext; + + if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } + } + + function onClick (e) { + var swiper = this; + if (!swiper.allowClick) { + if (swiper.params.preventClicks) { e.preventDefault(); } + if (swiper.params.preventClicksPropagation && swiper.animating) { + e.stopPropagation(); + e.stopImmediatePropagation(); + } + } + } + + function attachEvents() { + var swiper = this; + var params = swiper.params; + var touchEvents = swiper.touchEvents; + var el = swiper.el; + var wrapperEl = swiper.wrapperEl; + + { + swiper.onTouchStart = onTouchStart.bind(swiper); + swiper.onTouchMove = onTouchMove.bind(swiper); + swiper.onTouchEnd = onTouchEnd.bind(swiper); + } + + swiper.onClick = onClick.bind(swiper); + + var target = params.touchEventsTarget === 'container' ? el : wrapperEl; + var capture = !!params.nested; + + // Touch Events + { + if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + target.addEventListener(touchEvents.start, swiper.onTouchStart, false); + doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture); + doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false); + } else { + if (Support.touch) { + var passiveListener = touchEvents.start === 'touchstart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; + target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener); + target.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? { passive: false, capture: capture } : capture); + target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener); + } + if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { + target.addEventListener('mousedown', swiper.onTouchStart, false); + doc.addEventListener('mousemove', swiper.onTouchMove, capture); + doc.addEventListener('mouseup', swiper.onTouchEnd, false); + } + } + // Prevent Links Clicks + if (params.preventClicks || params.preventClicksPropagation) { + target.addEventListener('click', swiper.onClick, true); + } + } + + // Resize handler + swiper.on((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize, true); + } + + function detachEvents() { + var swiper = this; + + var params = swiper.params; + var touchEvents = swiper.touchEvents; + var el = swiper.el; + var wrapperEl = swiper.wrapperEl; + + var target = params.touchEventsTarget === 'container' ? el : wrapperEl; + var capture = !!params.nested; + + // Touch Events + { + if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + target.removeEventListener(touchEvents.start, swiper.onTouchStart, false); + doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture); + doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false); + } else { + if (Support.touch) { + var passiveListener = touchEvents.start === 'onTouchStart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; + target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener); + target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture); + target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener); + } + if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { + target.removeEventListener('mousedown', swiper.onTouchStart, false); + doc.removeEventListener('mousemove', swiper.onTouchMove, capture); + doc.removeEventListener('mouseup', swiper.onTouchEnd, false); + } + } + // Prevent Links Clicks + if (params.preventClicks || params.preventClicksPropagation) { + target.removeEventListener('click', swiper.onClick, true); + } + } + + // Resize handler + swiper.off((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize); + } + + var events = { + attachEvents: attachEvents, + detachEvents: detachEvents, + }; + + function setBreakpoint () { + var swiper = this; + var activeIndex = swiper.activeIndex; + var initialized = swiper.initialized; + var loopedSlides = swiper.loopedSlides; if ( loopedSlides === void 0 ) loopedSlides = 0; + var params = swiper.params; + var breakpoints = params.breakpoints; + if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) { return; } + // Set breakpoint for window width and update parameters + var breakpoint = swiper.getBreakpoint(breakpoints); + if (breakpoint && swiper.currentBreakpoint !== breakpoint) { + var breakPointsParams = breakpoint in breakpoints ? breakpoints[breakpoint] : swiper.originalParams; + var needsReLoop = params.loop && (breakPointsParams.slidesPerView !== params.slidesPerView); + + Utils.extend(swiper.params, breakPointsParams); + + Utils.extend(swiper, { + allowTouchMove: swiper.params.allowTouchMove, + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev, + }); + + swiper.currentBreakpoint = breakpoint; + + if (needsReLoop && initialized) { + swiper.loopDestroy(); + swiper.loopCreate(); + swiper.updateSlides(); + swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false); + } + swiper.emit('breakpoint', breakPointsParams); + } + } + + function getBreakpoint (breakpoints) { + var swiper = this; + // Get breakpoint for window width + if (!breakpoints) { return undefined; } + var breakpoint = false; + var points = []; + Object.keys(breakpoints).forEach(function (point) { + points.push(point); + }); + points.sort(function (a, b) { return parseInt(a, 10) - parseInt(b, 10); }); + for (var i = 0; i < points.length; i += 1) { + var point = points[i]; + if (swiper.params.breakpointsInverse) { + if (point <= win.innerWidth) { + breakpoint = point; + } + } else if (point >= win.innerWidth && !breakpoint) { + breakpoint = point; + } + } + return breakpoint || 'max'; + } + + var breakpoints = { setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint }; + + var Browser = (function Browser() { + function isSafari() { + var ua = win.navigator.userAgent.toLowerCase(); + return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0); + } + return { + isIE: !!win.navigator.userAgent.match(/Trident/g) || !!win.navigator.userAgent.match(/MSIE/g), + isEdge: !!win.navigator.userAgent.match(/Edge/g), + isSafari: isSafari(), + isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent), + }; + }()); + + function addClasses () { + var swiper = this; + var classNames = swiper.classNames; + var params = swiper.params; + var rtl = swiper.rtl; + var $el = swiper.$el; + var suffixes = []; + + suffixes.push(params.direction); + + if (params.freeMode) { + suffixes.push('free-mode'); + } + if (!Support.flexbox) { + suffixes.push('no-flexbox'); + } + if (params.autoHeight) { + suffixes.push('autoheight'); + } + if (rtl) { + suffixes.push('rtl'); + } + if (params.slidesPerColumn > 1) { + suffixes.push('multirow'); + } + if (Device.android) { + suffixes.push('android'); + } + if (Device.ios) { + suffixes.push('ios'); + } + // WP8 Touch Events Fix + if ((Browser.isIE || Browser.isEdge) && (Support.pointerEvents || Support.prefixedPointerEvents)) { + suffixes.push(("wp8-" + (params.direction))); + } + + suffixes.forEach(function (suffix) { + classNames.push(params.containerModifierClass + suffix); + }); + + $el.addClass(classNames.join(' ')); + } + + function removeClasses () { + var swiper = this; + var $el = swiper.$el; + var classNames = swiper.classNames; + + $el.removeClass(classNames.join(' ')); + } + + var classes = { addClasses: addClasses, removeClasses: removeClasses }; + + function loadImage (imageEl, src, srcset, sizes, checkForComplete, callback) { + var image; + function onReady() { + if (callback) { callback(); } + } + if (!imageEl.complete || !checkForComplete) { + if (src) { + image = new win.Image(); + image.onload = onReady; + image.onerror = onReady; + if (sizes) { + image.sizes = sizes; + } + if (srcset) { + image.srcset = srcset; + } + if (src) { + image.src = src; + } + } else { + onReady(); + } + } else { + // image already loaded... + onReady(); + } + } + + function preloadImages () { + var swiper = this; + swiper.imagesToLoad = swiper.$el.find('img'); + function onReady() { + if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) { return; } + if (swiper.imagesLoaded !== undefined) { swiper.imagesLoaded += 1; } + if (swiper.imagesLoaded === swiper.imagesToLoad.length) { + if (swiper.params.updateOnImagesReady) { swiper.update(); } + swiper.emit('imagesReady'); + } + } + for (var i = 0; i < swiper.imagesToLoad.length; i += 1) { + var imageEl = swiper.imagesToLoad[i]; + swiper.loadImage( + imageEl, + imageEl.currentSrc || imageEl.getAttribute('src'), + imageEl.srcset || imageEl.getAttribute('srcset'), + imageEl.sizes || imageEl.getAttribute('sizes'), + true, + onReady + ); + } + } + + var images = { + loadImage: loadImage, + preloadImages: preloadImages, + }; + + function checkOverflow() { + var swiper = this; + var wasLocked = swiper.isLocked; + + swiper.isLocked = swiper.snapGrid.length === 1; + swiper.allowSlideNext = !swiper.isLocked; + swiper.allowSlidePrev = !swiper.isLocked; + + // events + if (wasLocked !== swiper.isLocked) { swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); } + + if (wasLocked && wasLocked !== swiper.isLocked) { + swiper.isEnd = false; + swiper.navigation.update(); + } + } + + var checkOverflow$1 = { checkOverflow: checkOverflow }; + + var defaults = { + init: true, + direction: 'horizontal', + touchEventsTarget: 'container', + initialSlide: 0, + speed: 300, + // + preventInteractionOnTransition: false, + + // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView). + edgeSwipeDetection: false, + edgeSwipeThreshold: 20, + + // Free mode + freeMode: false, + freeModeMomentum: true, + freeModeMomentumRatio: 1, + freeModeMomentumBounce: true, + freeModeMomentumBounceRatio: 1, + freeModeMomentumVelocityRatio: 1, + freeModeSticky: false, + freeModeMinimumVelocity: 0.02, + + // Autoheight + autoHeight: false, + + // Set wrapper width + setWrapperSize: false, + + // Virtual Translate + virtualTranslate: false, + + // Effects + effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' + + // Breakpoints + breakpoints: undefined, + breakpointsInverse: false, + + // Slides grid + spaceBetween: 0, + slidesPerView: 1, + slidesPerColumn: 1, + slidesPerColumnFill: 'column', + slidesPerGroup: 1, + centeredSlides: false, + slidesOffsetBefore: 0, // in px + slidesOffsetAfter: 0, // in px + normalizeSlideIndex: true, + centerInsufficientSlides: false, + + // Disable swiper and hide navigation when container not overflow + watchOverflow: false, + + // Round length + roundLengths: false, + + // Touches + touchRatio: 1, + touchAngle: 45, + simulateTouch: true, + shortSwipes: true, + longSwipes: true, + longSwipesRatio: 0.5, + longSwipesMs: 300, + followFinger: true, + allowTouchMove: true, + threshold: 0, + touchMoveStopPropagation: true, + touchStartPreventDefault: true, + touchReleaseOnEdges: false, + + // Unique Navigation Elements + uniqueNavElements: true, + + // Resistance + resistance: true, + resistanceRatio: 0.85, + + // Progress + watchSlidesProgress: false, + watchSlidesVisibility: false, + + // Cursor + grabCursor: false, + + // Clicks + preventClicks: true, + preventClicksPropagation: true, + slideToClickedSlide: false, + + // Images + preloadImages: true, + updateOnImagesReady: true, + + // loop + loop: false, + loopAdditionalSlides: 0, + loopedSlides: null, + loopFillGroupWithBlank: false, + + // Swiping/no swiping + allowSlidePrev: true, + allowSlideNext: true, + swipeHandler: null, // '.swipe-handler', + noSwiping: true, + noSwipingClass: 'swiper-no-swiping', + noSwipingSelector: null, + + // Passive Listeners + passiveListeners: true, + + // NS + containerModifierClass: 'swiper-container-', // NEW + slideClass: 'swiper-slide', + slideBlankClass: 'swiper-slide-invisible-blank', + slideActiveClass: 'swiper-slide-active', + slideDuplicateActiveClass: 'swiper-slide-duplicate-active', + slideVisibleClass: 'swiper-slide-visible', + slideDuplicateClass: 'swiper-slide-duplicate', + slideNextClass: 'swiper-slide-next', + slideDuplicateNextClass: 'swiper-slide-duplicate-next', + slidePrevClass: 'swiper-slide-prev', + slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', + wrapperClass: 'swiper-wrapper', + + // Callbacks + runCallbacksOnInit: true, + }; + + var prototypes = { + update: update, + translate: translate, + transition: transition$1, + slide: slide, + loop: loop, + grabCursor: grabCursor, + manipulation: manipulation, + events: events, + breakpoints: breakpoints, + checkOverflow: checkOverflow$1, + classes: classes, + images: images, + }; + + var extendedDefaults = {}; + + var Swiper = (function (SwiperClass$$1) { + function Swiper() { + var assign; + + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + var el; + var params; + if (args.length === 1 && args[0].constructor && args[0].constructor === Object) { + params = args[0]; + } else { + (assign = args, el = assign[0], params = assign[1]); + } + if (!params) { params = {}; } + + params = Utils.extend({}, params); + if (el && !params.el) { params.el = el; } + + SwiperClass$$1.call(this, params); + + Object.keys(prototypes).forEach(function (prototypeGroup) { + Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) { + if (!Swiper.prototype[protoMethod]) { + Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; + } + }); + }); + + // Swiper Instance + var swiper = this; + if (typeof swiper.modules === 'undefined') { + swiper.modules = {}; + } + Object.keys(swiper.modules).forEach(function (moduleName) { + var module = swiper.modules[moduleName]; + if (module.params) { + var moduleParamName = Object.keys(module.params)[0]; + var moduleParams = module.params[moduleParamName]; + if (typeof moduleParams !== 'object' || moduleParams === null) { return; } + if (!(moduleParamName in params && 'enabled' in moduleParams)) { return; } + if (params[moduleParamName] === true) { + params[moduleParamName] = { enabled: true }; + } + if ( + typeof params[moduleParamName] === 'object' + && !('enabled' in params[moduleParamName]) + ) { + params[moduleParamName].enabled = true; + } + if (!params[moduleParamName]) { params[moduleParamName] = { enabled: false }; } + } + }); + + // Extend defaults with modules params + var swiperParams = Utils.extend({}, defaults); + swiper.useModulesParams(swiperParams); + + // Extend defaults with passed params + swiper.params = Utils.extend({}, swiperParams, extendedDefaults, params); + swiper.originalParams = Utils.extend({}, swiper.params); + swiper.passedParams = Utils.extend({}, params); + + // Save Dom lib + swiper.$ = $; + + // Find el + var $el = $(swiper.params.el); + el = $el[0]; + + if (!el) { + return undefined; + } + + if ($el.length > 1) { + var swipers = []; + $el.each(function (index, containerEl) { + var newParams = Utils.extend({}, params, { el: containerEl }); + swipers.push(new Swiper(newParams)); + }); + return swipers; + } + + el.swiper = swiper; + $el.data('swiper', swiper); + + // Find Wrapper + var $wrapperEl = $el.children(("." + (swiper.params.wrapperClass))); + + // Extend Swiper + Utils.extend(swiper, { + $el: $el, + el: el, + $wrapperEl: $wrapperEl, + wrapperEl: $wrapperEl[0], + + // Classes + classNames: [], + + // Slides + slides: $(), + slidesGrid: [], + snapGrid: [], + slidesSizesGrid: [], + + // isDirection + isHorizontal: function isHorizontal() { + return swiper.params.direction === 'horizontal'; + }, + isVertical: function isVertical() { + return swiper.params.direction === 'vertical'; + }, + // RTL + rtl: (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'), + rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'), + wrongRTL: $wrapperEl.css('display') === '-webkit-box', + + // Indexes + activeIndex: 0, + realIndex: 0, + + // + isBeginning: true, + isEnd: false, + + // Props + translate: 0, + previousTranslate: 0, + progress: 0, + velocity: 0, + animating: false, + + // Locks + allowSlideNext: swiper.params.allowSlideNext, + allowSlidePrev: swiper.params.allowSlidePrev, + + // Touch Events + touchEvents: (function touchEvents() { + var touch = ['touchstart', 'touchmove', 'touchend']; + var desktop = ['mousedown', 'mousemove', 'mouseup']; + if (Support.pointerEvents) { + desktop = ['pointerdown', 'pointermove', 'pointerup']; + } else if (Support.prefixedPointerEvents) { + desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp']; + } + swiper.touchEventsTouch = { + start: touch[0], + move: touch[1], + end: touch[2], + }; + swiper.touchEventsDesktop = { + start: desktop[0], + move: desktop[1], + end: desktop[2], + }; + return Support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop; + }()), + touchEventsData: { + isTouched: undefined, + isMoved: undefined, + allowTouchCallbacks: undefined, + touchStartTime: undefined, + isScrolling: undefined, + currentTranslate: undefined, + startTranslate: undefined, + allowThresholdMove: undefined, + // Form elements to match + formElements: 'input, select, option, textarea, button, video', + // Last click time + lastClickTime: Utils.now(), + clickTimeout: undefined, + // Velocities + velocities: [], + allowMomentumBounce: undefined, + isTouchEvent: undefined, + startMoving: undefined, + }, + + // Clicks + allowClick: true, + + // Touches + allowTouchMove: swiper.params.allowTouchMove, + + touches: { + startX: 0, + startY: 0, + currentX: 0, + currentY: 0, + diff: 0, + }, + + // Images + imagesToLoad: [], + imagesLoaded: 0, + + }); + + // Install Modules + swiper.useModules(); + + // Init + if (swiper.params.init) { + swiper.init(); + } + + // Return app instance + return swiper; + } + + if ( SwiperClass$$1 ) Swiper.__proto__ = SwiperClass$$1; + Swiper.prototype = Object.create( SwiperClass$$1 && SwiperClass$$1.prototype ); + Swiper.prototype.constructor = Swiper; + + var staticAccessors = { extendedDefaults: { configurable: true },defaults: { configurable: true },Class: { configurable: true },$: { configurable: true } }; + + Swiper.prototype.slidesPerViewDynamic = function slidesPerViewDynamic () { + var swiper = this; + var params = swiper.params; + var slides = swiper.slides; + var slidesGrid = swiper.slidesGrid; + var swiperSize = swiper.size; + var activeIndex = swiper.activeIndex; + var spv = 1; + if (params.centeredSlides) { + var slideSize = slides[activeIndex].swiperSlideSize; + var breakLoop; + for (var i = activeIndex + 1; i < slides.length; i += 1) { + if (slides[i] && !breakLoop) { + slideSize += slides[i].swiperSlideSize; + spv += 1; + if (slideSize > swiperSize) { breakLoop = true; } + } + } + for (var i$1 = activeIndex - 1; i$1 >= 0; i$1 -= 1) { + if (slides[i$1] && !breakLoop) { + slideSize += slides[i$1].swiperSlideSize; + spv += 1; + if (slideSize > swiperSize) { breakLoop = true; } + } + } + } else { + for (var i$2 = activeIndex + 1; i$2 < slides.length; i$2 += 1) { + if (slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize) { + spv += 1; + } + } + } + return spv; + }; + + Swiper.prototype.update = function update$$1 () { + var swiper = this; + if (!swiper || swiper.destroyed) { return; } + var snapGrid = swiper.snapGrid; + var params = swiper.params; + // Breakpoints + if (params.breakpoints) { + swiper.setBreakpoint(); + } + swiper.updateSize(); + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + + function setTranslate() { + var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; + var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); + swiper.setTranslate(newTranslate); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + } + var translated; + if (swiper.params.freeMode) { + setTranslate(); + if (swiper.params.autoHeight) { + swiper.updateAutoHeight(); + } + } else { + if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) { + translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true); + } else { + translated = swiper.slideTo(swiper.activeIndex, 0, false, true); + } + if (!translated) { + setTranslate(); + } + } + if (params.watchOverflow && snapGrid !== swiper.snapGrid) { + swiper.checkOverflow(); + } + swiper.emit('update'); + }; + + Swiper.prototype.init = function init () { + var swiper = this; + if (swiper.initialized) { return; } + + swiper.emit('beforeInit'); + + // Set breakpoint + if (swiper.params.breakpoints) { + swiper.setBreakpoint(); + } + + // Add Classes + swiper.addClasses(); + + // Create loop + if (swiper.params.loop) { + swiper.loopCreate(); + } + + // Update size + swiper.updateSize(); + + // Update slides + swiper.updateSlides(); + + if (swiper.params.watchOverflow) { + swiper.checkOverflow(); + } + + // Set Grab Cursor + if (swiper.params.grabCursor) { + swiper.setGrabCursor(); + } + + if (swiper.params.preloadImages) { + swiper.preloadImages(); + } + + // Slide To Initial Slide + if (swiper.params.loop) { + swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit); + } else { + swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit); + } + + // Attach events + swiper.attachEvents(); + + // Init Flag + swiper.initialized = true; + + // Emit + swiper.emit('init'); + }; + + Swiper.prototype.destroy = function destroy (deleteInstance, cleanStyles) { + if ( deleteInstance === void 0 ) deleteInstance = true; + if ( cleanStyles === void 0 ) cleanStyles = true; + + var swiper = this; + var params = swiper.params; + var $el = swiper.$el; + var $wrapperEl = swiper.$wrapperEl; + var slides = swiper.slides; + + if (typeof swiper.params === 'undefined' || swiper.destroyed) { + return null; + } + + swiper.emit('beforeDestroy'); + + // Init Flag + swiper.initialized = false; + + // Detach events + swiper.detachEvents(); + + // Destroy loop + if (params.loop) { + swiper.loopDestroy(); + } + + // Cleanup styles + if (cleanStyles) { + swiper.removeClasses(); + $el.removeAttr('style'); + $wrapperEl.removeAttr('style'); + if (slides && slides.length) { + slides + .removeClass([ + params.slideVisibleClass, + params.slideActiveClass, + params.slideNextClass, + params.slidePrevClass ].join(' ')) + .removeAttr('style') + .removeAttr('data-swiper-slide-index') + .removeAttr('data-swiper-column') + .removeAttr('data-swiper-row'); + } + } + + swiper.emit('destroy'); + + // Detach emitter events + Object.keys(swiper.eventsListeners).forEach(function (eventName) { + swiper.off(eventName); + }); + + if (deleteInstance !== false) { + swiper.$el[0].swiper = null; + swiper.$el.data('swiper', null); + Utils.deleteProps(swiper); + } + swiper.destroyed = true; + + return null; + }; + + Swiper.extendDefaults = function extendDefaults (newDefaults) { + Utils.extend(extendedDefaults, newDefaults); + }; + + staticAccessors.extendedDefaults.get = function () { + return extendedDefaults; + }; + + staticAccessors.defaults.get = function () { + return defaults; + }; + + staticAccessors.Class.get = function () { + return SwiperClass$$1; + }; + + staticAccessors.$.get = function () { + return $; + }; + + Object.defineProperties( Swiper, staticAccessors ); + + return Swiper; + }(SwiperClass)); + + var Device$1 = { + name: 'device', + proto: { + device: Device, + }, + static: { + device: Device, + }, + }; + + var Support$1 = { + name: 'support', + proto: { + support: Support, + }, + static: { + support: Support, + }, + }; + + var Browser$1 = { + name: 'browser', + proto: { + browser: Browser, + }, + static: { + browser: Browser, + }, + }; + + var Resize = { + name: 'resize', + create: function create() { + var swiper = this; + Utils.extend(swiper, { + resize: { + resizeHandler: function resizeHandler() { + if (!swiper || swiper.destroyed || !swiper.initialized) { return; } + swiper.emit('beforeResize'); + swiper.emit('resize'); + }, + orientationChangeHandler: function orientationChangeHandler() { + if (!swiper || swiper.destroyed || !swiper.initialized) { return; } + swiper.emit('orientationchange'); + }, + }, + }); + }, + on: { + init: function init() { + var swiper = this; + // Emit resize + win.addEventListener('resize', swiper.resize.resizeHandler); + + // Emit orientationchange + win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler); + }, + destroy: function destroy() { + var swiper = this; + win.removeEventListener('resize', swiper.resize.resizeHandler); + win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler); + }, + }, + }; + + var Observer = { + func: win.MutationObserver || win.WebkitMutationObserver, + attach: function attach(target, options) { + if ( options === void 0 ) options = {}; + + var swiper = this; + + var ObserverFunc = Observer.func; + var observer = new ObserverFunc(function (mutations) { + // The observerUpdate event should only be triggered + // once despite the number of mutations. Additional + // triggers are redundant and are very costly + if (mutations.length === 1) { + swiper.emit('observerUpdate', mutations[0]); + return; + } + var observerUpdate = function observerUpdate() { + swiper.emit('observerUpdate', mutations[0]); + }; + + if (win.requestAnimationFrame) { + win.requestAnimationFrame(observerUpdate); + } else { + win.setTimeout(observerUpdate, 0); + } + }); + + observer.observe(target, { + attributes: typeof options.attributes === 'undefined' ? true : options.attributes, + childList: typeof options.childList === 'undefined' ? true : options.childList, + characterData: typeof options.characterData === 'undefined' ? true : options.characterData, + }); + + swiper.observer.observers.push(observer); + }, + init: function init() { + var swiper = this; + if (!Support.observer || !swiper.params.observer) { return; } + if (swiper.params.observeParents) { + var containerParents = swiper.$el.parents(); + for (var i = 0; i < containerParents.length; i += 1) { + swiper.observer.attach(containerParents[i]); + } + } + // Observe container + swiper.observer.attach(swiper.$el[0], { childList: false }); + + // Observe wrapper + swiper.observer.attach(swiper.$wrapperEl[0], { attributes: false }); + }, + destroy: function destroy() { + var swiper = this; + swiper.observer.observers.forEach(function (observer) { + observer.disconnect(); + }); + swiper.observer.observers = []; + }, + }; + + var Observer$1 = { + name: 'observer', + params: { + observer: false, + observeParents: false, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + observer: { + init: Observer.init.bind(swiper), + attach: Observer.attach.bind(swiper), + destroy: Observer.destroy.bind(swiper), + observers: [], + }, + }); + }, + on: { + init: function init() { + var swiper = this; + swiper.observer.init(); + }, + destroy: function destroy() { + var swiper = this; + swiper.observer.destroy(); + }, + }, + }; + + var Virtual = { + update: function update(force) { + var swiper = this; + var ref = swiper.params; + var slidesPerView = ref.slidesPerView; + var slidesPerGroup = ref.slidesPerGroup; + var centeredSlides = ref.centeredSlides; + var ref$1 = swiper.params.virtual; + var addSlidesBefore = ref$1.addSlidesBefore; + var addSlidesAfter = ref$1.addSlidesAfter; + var ref$2 = swiper.virtual; + var previousFrom = ref$2.from; + var previousTo = ref$2.to; + var slides = ref$2.slides; + var previousSlidesGrid = ref$2.slidesGrid; + var renderSlide = ref$2.renderSlide; + var previousOffset = ref$2.offset; + swiper.updateActiveIndex(); + var activeIndex = swiper.activeIndex || 0; + + var offsetProp; + if (swiper.rtlTranslate) { offsetProp = 'right'; } + else { offsetProp = swiper.isHorizontal() ? 'left' : 'top'; } + + var slidesAfter; + var slidesBefore; + if (centeredSlides) { + slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; + slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; + } else { + slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore; + slidesBefore = slidesPerGroup + addSlidesAfter; + } + var from = Math.max((activeIndex || 0) - slidesBefore, 0); + var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1); + var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); + + Utils.extend(swiper.virtual, { + from: from, + to: to, + offset: offset, + slidesGrid: swiper.slidesGrid, + }); + + function onRendered() { + swiper.updateSlides(); + swiper.updateProgress(); + swiper.updateSlidesClasses(); + if (swiper.lazy && swiper.params.lazy.enabled) { + swiper.lazy.load(); + } + } + + if (previousFrom === from && previousTo === to && !force) { + if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { + swiper.slides.css(offsetProp, (offset + "px")); + } + swiper.updateProgress(); + return; + } + if (swiper.params.virtual.renderExternal) { + swiper.params.virtual.renderExternal.call(swiper, { + offset: offset, + from: from, + to: to, + slides: (function getSlides() { + var slidesToRender = []; + for (var i = from; i <= to; i += 1) { + slidesToRender.push(slides[i]); + } + return slidesToRender; + }()), + }); + onRendered(); + return; + } + var prependIndexes = []; + var appendIndexes = []; + if (force) { + swiper.$wrapperEl.find(("." + (swiper.params.slideClass))).remove(); + } else { + for (var i = previousFrom; i <= previousTo; i += 1) { + if (i < from || i > to) { + swiper.$wrapperEl.find(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + i + "\"]")).remove(); + } + } + } + for (var i$1 = 0; i$1 < slides.length; i$1 += 1) { + if (i$1 >= from && i$1 <= to) { + if (typeof previousTo === 'undefined' || force) { + appendIndexes.push(i$1); + } else { + if (i$1 > previousTo) { appendIndexes.push(i$1); } + if (i$1 < previousFrom) { prependIndexes.push(i$1); } + } + } + } + appendIndexes.forEach(function (index) { + swiper.$wrapperEl.append(renderSlide(slides[index], index)); + }); + prependIndexes.sort(function (a, b) { return a < b; }).forEach(function (index) { + swiper.$wrapperEl.prepend(renderSlide(slides[index], index)); + }); + swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + "px")); + onRendered(); + }, + renderSlide: function renderSlide(slide, index) { + var swiper = this; + var params = swiper.params.virtual; + if (params.cache && swiper.virtual.cache[index]) { + return swiper.virtual.cache[index]; + } + var $slideEl = params.renderSlide + ? $(params.renderSlide.call(swiper, slide, index)) + : $(("
" + slide + "
")); + if (!$slideEl.attr('data-swiper-slide-index')) { $slideEl.attr('data-swiper-slide-index', index); } + if (params.cache) { swiper.virtual.cache[index] = $slideEl; } + return $slideEl; + }, + appendSlide: function appendSlide(slide) { + var swiper = this; + swiper.virtual.slides.push(slide); + swiper.virtual.update(true); + }, + prependSlide: function prependSlide(slide) { + var swiper = this; + swiper.virtual.slides.unshift(slide); + if (swiper.params.virtual.cache) { + var cache = swiper.virtual.cache; + var newCache = {}; + Object.keys(cache).forEach(function (cachedIndex) { + newCache[cachedIndex + 1] = cache[cachedIndex]; + }); + swiper.virtual.cache = newCache; + } + swiper.virtual.update(true); + swiper.slideNext(0); + }, + }; + + var Virtual$1 = { + name: 'virtual', + params: { + virtual: { + enabled: false, + slides: [], + cache: true, + renderSlide: null, + renderExternal: null, + addSlidesBefore: 0, + addSlidesAfter: 0, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + virtual: { + update: Virtual.update.bind(swiper), + appendSlide: Virtual.appendSlide.bind(swiper), + prependSlide: Virtual.prependSlide.bind(swiper), + renderSlide: Virtual.renderSlide.bind(swiper), + slides: swiper.params.virtual.slides, + cache: {}, + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (!swiper.params.virtual.enabled) { return; } + swiper.classNames.push(((swiper.params.containerModifierClass) + "virtual")); + var overwriteParams = { + watchSlidesProgress: true, + }; + Utils.extend(swiper.params, overwriteParams); + Utils.extend(swiper.originalParams, overwriteParams); + + swiper.virtual.update(); + }, + setTranslate: function setTranslate() { + var swiper = this; + if (!swiper.params.virtual.enabled) { return; } + swiper.virtual.update(); + }, + }, + }; + + var Keyboard = { + handle: function handle(event) { + var swiper = this; + var rtl = swiper.rtlTranslate; + var e = event; + if (e.originalEvent) { e = e.originalEvent; } // jquery fix + var kc = e.keyCode || e.charCode; + // Directions locks + if (!swiper.allowSlideNext && ((swiper.isHorizontal() && kc === 39) || (swiper.isVertical() && kc === 40))) { + return false; + } + if (!swiper.allowSlidePrev && ((swiper.isHorizontal() && kc === 37) || (swiper.isVertical() && kc === 38))) { + return false; + } + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { + return undefined; + } + if (doc.activeElement && doc.activeElement.nodeName && (doc.activeElement.nodeName.toLowerCase() === 'input' || doc.activeElement.nodeName.toLowerCase() === 'textarea')) { + return undefined; + } + if (swiper.params.keyboard.onlyInViewport && (kc === 37 || kc === 39 || kc === 38 || kc === 40)) { + var inView = false; + // Check that swiper should be inside of visible area of window + if (swiper.$el.parents(("." + (swiper.params.slideClass))).length > 0 && swiper.$el.parents(("." + (swiper.params.slideActiveClass))).length === 0) { + return undefined; + } + var windowWidth = win.innerWidth; + var windowHeight = win.innerHeight; + var swiperOffset = swiper.$el.offset(); + if (rtl) { swiperOffset.left -= swiper.$el[0].scrollLeft; } + var swiperCoord = [ + [swiperOffset.left, swiperOffset.top], + [swiperOffset.left + swiper.width, swiperOffset.top], + [swiperOffset.left, swiperOffset.top + swiper.height], + [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height] ]; + for (var i = 0; i < swiperCoord.length; i += 1) { + var point = swiperCoord[i]; + if ( + point[0] >= 0 && point[0] <= windowWidth + && point[1] >= 0 && point[1] <= windowHeight + ) { + inView = true; + } + } + if (!inView) { return undefined; } + } + if (swiper.isHorizontal()) { + if (kc === 37 || kc === 39) { + if (e.preventDefault) { e.preventDefault(); } + else { e.returnValue = false; } + } + if ((kc === 39 && !rtl) || (kc === 37 && rtl)) { swiper.slideNext(); } + if ((kc === 37 && !rtl) || (kc === 39 && rtl)) { swiper.slidePrev(); } + } else { + if (kc === 38 || kc === 40) { + if (e.preventDefault) { e.preventDefault(); } + else { e.returnValue = false; } + } + if (kc === 40) { swiper.slideNext(); } + if (kc === 38) { swiper.slidePrev(); } + } + swiper.emit('keyPress', kc); + return undefined; + }, + enable: function enable() { + var swiper = this; + if (swiper.keyboard.enabled) { return; } + $(doc).on('keydown', swiper.keyboard.handle); + swiper.keyboard.enabled = true; + }, + disable: function disable() { + var swiper = this; + if (!swiper.keyboard.enabled) { return; } + $(doc).off('keydown', swiper.keyboard.handle); + swiper.keyboard.enabled = false; + }, + }; + + var Keyboard$1 = { + name: 'keyboard', + params: { + keyboard: { + enabled: false, + onlyInViewport: true, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + keyboard: { + enabled: false, + enable: Keyboard.enable.bind(swiper), + disable: Keyboard.disable.bind(swiper), + handle: Keyboard.handle.bind(swiper), + }, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.keyboard.enabled) { + swiper.keyboard.enable(); + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.keyboard.enabled) { + swiper.keyboard.disable(); + } + }, + }, + }; + + function isEventSupported() { + var eventName = 'onwheel'; + var isSupported = eventName in doc; + + if (!isSupported) { + var element = doc.createElement('div'); + element.setAttribute(eventName, 'return;'); + isSupported = typeof element[eventName] === 'function'; + } + + if (!isSupported + && doc.implementation + && doc.implementation.hasFeature + // always returns true in newer browsers as per the standard. + // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature + && doc.implementation.hasFeature('', '') !== true + ) { + // This is the only way to test support for the `wheel` event in IE9+. + isSupported = doc.implementation.hasFeature('Events.wheel', '3.0'); + } + + return isSupported; + } + var Mousewheel = { + lastScrollTime: Utils.now(), + event: (function getEvent() { + if (win.navigator.userAgent.indexOf('firefox') > -1) { return 'DOMMouseScroll'; } + return isEventSupported() ? 'wheel' : 'mousewheel'; + }()), + normalize: function normalize(e) { + // Reasonable defaults + var PIXEL_STEP = 10; + var LINE_HEIGHT = 40; + var PAGE_HEIGHT = 800; + + var sX = 0; + var sY = 0; // spinX, spinY + var pX = 0; + var pY = 0; // pixelX, pixelY + + // Legacy + if ('detail' in e) { + sY = e.detail; + } + if ('wheelDelta' in e) { + sY = -e.wheelDelta / 120; + } + if ('wheelDeltaY' in e) { + sY = -e.wheelDeltaY / 120; + } + if ('wheelDeltaX' in e) { + sX = -e.wheelDeltaX / 120; + } + + // side scrolling on FF with DOMMouseScroll + if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { + sX = sY; + sY = 0; + } + + pX = sX * PIXEL_STEP; + pY = sY * PIXEL_STEP; + + if ('deltaY' in e) { + pY = e.deltaY; + } + if ('deltaX' in e) { + pX = e.deltaX; + } + + if ((pX || pY) && e.deltaMode) { + if (e.deltaMode === 1) { // delta in LINE units + pX *= LINE_HEIGHT; + pY *= LINE_HEIGHT; + } else { // delta in PAGE units + pX *= PAGE_HEIGHT; + pY *= PAGE_HEIGHT; + } + } + + // Fall-back if spin cannot be determined + if (pX && !sX) { + sX = (pX < 1) ? -1 : 1; + } + if (pY && !sY) { + sY = (pY < 1) ? -1 : 1; + } + + return { + spinX: sX, + spinY: sY, + pixelX: pX, + pixelY: pY, + }; + }, + handleMouseEnter: function handleMouseEnter() { + var swiper = this; + swiper.mouseEntered = true; + }, + handleMouseLeave: function handleMouseLeave() { + var swiper = this; + swiper.mouseEntered = false; + }, + handle: function handle(event) { + var e = event; + var swiper = this; + var params = swiper.params.mousewheel; + + if (!swiper.mouseEntered && !params.releaseOnEdges) { return true; } + + if (e.originalEvent) { e = e.originalEvent; } // jquery fix + var delta = 0; + var rtlFactor = swiper.rtlTranslate ? -1 : 1; + + var data = Mousewheel.normalize(e); + + if (params.forceToAxis) { + if (swiper.isHorizontal()) { + if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) { delta = data.pixelX * rtlFactor; } + else { return true; } + } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) { delta = data.pixelY; } + else { return true; } + } else { + delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; + } + + if (delta === 0) { return true; } + + if (params.invert) { delta = -delta; } + + if (!swiper.params.freeMode) { + if (Utils.now() - swiper.mousewheel.lastScrollTime > 60) { + if (delta < 0) { + if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { + swiper.slideNext(); + swiper.emit('scroll', e); + } else if (params.releaseOnEdges) { return true; } + } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { + swiper.slidePrev(); + swiper.emit('scroll', e); + } else if (params.releaseOnEdges) { return true; } + } + swiper.mousewheel.lastScrollTime = (new win.Date()).getTime(); + } else { + // Freemode or scrollContainer: + if (swiper.params.loop) { + swiper.loopFix(); + } + var position = swiper.getTranslate() + (delta * params.sensitivity); + var wasBeginning = swiper.isBeginning; + var wasEnd = swiper.isEnd; + + if (position >= swiper.minTranslate()) { position = swiper.minTranslate(); } + if (position <= swiper.maxTranslate()) { position = swiper.maxTranslate(); } + + swiper.setTransition(0); + swiper.setTranslate(position); + swiper.updateProgress(); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + + if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) { + swiper.updateSlidesClasses(); + } + + if (swiper.params.freeModeSticky) { + clearTimeout(swiper.mousewheel.timeout); + swiper.mousewheel.timeout = Utils.nextTick(function () { + swiper.slideToClosest(); + }, 300); + } + // Emit event + swiper.emit('scroll', e); + + // Stop autoplay + if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) { swiper.autoplay.stop(); } + // Return page scroll on edge positions + if (position === swiper.minTranslate() || position === swiper.maxTranslate()) { return true; } + } + + if (e.preventDefault) { e.preventDefault(); } + else { e.returnValue = false; } + return false; + }, + enable: function enable() { + var swiper = this; + if (!Mousewheel.event) { return false; } + if (swiper.mousewheel.enabled) { return false; } + var target = swiper.$el; + if (swiper.params.mousewheel.eventsTarged !== 'container') { + target = $(swiper.params.mousewheel.eventsTarged); + } + target.on('mouseenter', swiper.mousewheel.handleMouseEnter); + target.on('mouseleave', swiper.mousewheel.handleMouseLeave); + target.on(Mousewheel.event, swiper.mousewheel.handle); + swiper.mousewheel.enabled = true; + return true; + }, + disable: function disable() { + var swiper = this; + if (!Mousewheel.event) { return false; } + if (!swiper.mousewheel.enabled) { return false; } + var target = swiper.$el; + if (swiper.params.mousewheel.eventsTarged !== 'container') { + target = $(swiper.params.mousewheel.eventsTarged); + } + target.off(Mousewheel.event, swiper.mousewheel.handle); + swiper.mousewheel.enabled = false; + return true; + }, + }; + + var Mousewheel$1 = { + name: 'mousewheel', + params: { + mousewheel: { + enabled: false, + releaseOnEdges: false, + invert: false, + forceToAxis: false, + sensitivity: 1, + eventsTarged: 'container', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + mousewheel: { + enabled: false, + enable: Mousewheel.enable.bind(swiper), + disable: Mousewheel.disable.bind(swiper), + handle: Mousewheel.handle.bind(swiper), + handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper), + handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper), + lastScrollTime: Utils.now(), + }, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.mousewheel.enabled) { swiper.mousewheel.enable(); } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.mousewheel.enabled) { swiper.mousewheel.disable(); } + }, + }, + }; + + var Navigation = { + update: function update() { + // Update Navigation Buttons + var swiper = this; + var params = swiper.params.navigation; + + if (swiper.params.loop) { return; } + var ref = swiper.navigation; + var $nextEl = ref.$nextEl; + var $prevEl = ref.$prevEl; + + if ($prevEl && $prevEl.length > 0) { + if (swiper.isBeginning) { + $prevEl.addClass(params.disabledClass); + } else { + $prevEl.removeClass(params.disabledClass); + } + $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); + } + if ($nextEl && $nextEl.length > 0) { + if (swiper.isEnd) { + $nextEl.addClass(params.disabledClass); + } else { + $nextEl.removeClass(params.disabledClass); + } + $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); + } + }, + init: function init() { + var swiper = this; + var params = swiper.params.navigation; + if (!(params.nextEl || params.prevEl)) { return; } + + var $nextEl; + var $prevEl; + if (params.nextEl) { + $nextEl = $(params.nextEl); + if ( + swiper.params.uniqueNavElements + && typeof params.nextEl === 'string' + && $nextEl.length > 1 + && swiper.$el.find(params.nextEl).length === 1 + ) { + $nextEl = swiper.$el.find(params.nextEl); + } + } + if (params.prevEl) { + $prevEl = $(params.prevEl); + if ( + swiper.params.uniqueNavElements + && typeof params.prevEl === 'string' + && $prevEl.length > 1 + && swiper.$el.find(params.prevEl).length === 1 + ) { + $prevEl = swiper.$el.find(params.prevEl); + } + } + + if ($nextEl && $nextEl.length > 0) { + $nextEl.on('click', function (e) { + e.preventDefault(); + if (swiper.isEnd && !swiper.params.loop) { return; } + swiper.slideNext(); + }); + } + if ($prevEl && $prevEl.length > 0) { + $prevEl.on('click', function (e) { + e.preventDefault(); + if (swiper.isBeginning && !swiper.params.loop) { return; } + swiper.slidePrev(); + }); + } + + Utils.extend(swiper.navigation, { + $nextEl: $nextEl, + nextEl: $nextEl && $nextEl[0], + $prevEl: $prevEl, + prevEl: $prevEl && $prevEl[0], + }); + }, + destroy: function destroy() { + var swiper = this; + var ref = swiper.navigation; + var $nextEl = ref.$nextEl; + var $prevEl = ref.$prevEl; + if ($nextEl && $nextEl.length) { + $nextEl.off('click'); + $nextEl.removeClass(swiper.params.navigation.disabledClass); + } + if ($prevEl && $prevEl.length) { + $prevEl.off('click'); + $prevEl.removeClass(swiper.params.navigation.disabledClass); + } + }, + }; + + var Navigation$1 = { + name: 'navigation', + params: { + navigation: { + nextEl: null, + prevEl: null, + + hideOnClick: false, + disabledClass: 'swiper-button-disabled', + hiddenClass: 'swiper-button-hidden', + lockClass: 'swiper-button-lock', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + navigation: { + init: Navigation.init.bind(swiper), + update: Navigation.update.bind(swiper), + destroy: Navigation.destroy.bind(swiper), + }, + }); + }, + on: { + init: function init() { + var swiper = this; + swiper.navigation.init(); + swiper.navigation.update(); + }, + toEdge: function toEdge() { + var swiper = this; + swiper.navigation.update(); + }, + fromEdge: function fromEdge() { + var swiper = this; + swiper.navigation.update(); + }, + destroy: function destroy() { + var swiper = this; + swiper.navigation.destroy(); + }, + click: function click(e) { + var swiper = this; + var ref = swiper.navigation; + var $nextEl = ref.$nextEl; + var $prevEl = ref.$prevEl; + if ( + swiper.params.navigation.hideOnClick + && !$(e.target).is($prevEl) + && !$(e.target).is($nextEl) + ) { + if ($nextEl) { $nextEl.toggleClass(swiper.params.navigation.hiddenClass); } + if ($prevEl) { $prevEl.toggleClass(swiper.params.navigation.hiddenClass); } + } + }, + }, + }; + + var Pagination = { + update: function update() { + // Render || Update Pagination bullets/items + var swiper = this; + var rtl = swiper.rtl; + var params = swiper.params.pagination; + if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; } + var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; + var $el = swiper.pagination.$el; + // Current/Total + var current; + var total = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + if (swiper.params.loop) { + current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup); + if (current > slidesLength - 1 - (swiper.loopedSlides * 2)) { + current -= (slidesLength - (swiper.loopedSlides * 2)); + } + if (current > total - 1) { current -= total; } + if (current < 0 && swiper.params.paginationType !== 'bullets') { current = total + current; } + } else if (typeof swiper.snapIndex !== 'undefined') { + current = swiper.snapIndex; + } else { + current = swiper.activeIndex || 0; + } + // Types + if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { + var bullets = swiper.pagination.bullets; + var firstIndex; + var lastIndex; + var midIndex; + if (params.dynamicBullets) { + swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true); + $el.css(swiper.isHorizontal() ? 'width' : 'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + "px")); + if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) { + swiper.pagination.dynamicBulletIndex += (current - swiper.previousIndex); + if (swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)) { + swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1; + } else if (swiper.pagination.dynamicBulletIndex < 0) { + swiper.pagination.dynamicBulletIndex = 0; + } + } + firstIndex = current - swiper.pagination.dynamicBulletIndex; + lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); + midIndex = (lastIndex + firstIndex) / 2; + } + bullets.removeClass(((params.bulletActiveClass) + " " + (params.bulletActiveClass) + "-next " + (params.bulletActiveClass) + "-next-next " + (params.bulletActiveClass) + "-prev " + (params.bulletActiveClass) + "-prev-prev " + (params.bulletActiveClass) + "-main")); + if ($el.length > 1) { + bullets.each(function (index, bullet) { + var $bullet = $(bullet); + var bulletIndex = $bullet.index(); + if (bulletIndex === current) { + $bullet.addClass(params.bulletActiveClass); + } + if (params.dynamicBullets) { + if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { + $bullet.addClass(((params.bulletActiveClass) + "-main")); + } + if (bulletIndex === firstIndex) { + $bullet + .prev() + .addClass(((params.bulletActiveClass) + "-prev")) + .prev() + .addClass(((params.bulletActiveClass) + "-prev-prev")); + } + if (bulletIndex === lastIndex) { + $bullet + .next() + .addClass(((params.bulletActiveClass) + "-next")) + .next() + .addClass(((params.bulletActiveClass) + "-next-next")); + } + } + }); + } else { + var $bullet = bullets.eq(current); + $bullet.addClass(params.bulletActiveClass); + if (params.dynamicBullets) { + var $firstDisplayedBullet = bullets.eq(firstIndex); + var $lastDisplayedBullet = bullets.eq(lastIndex); + for (var i = firstIndex; i <= lastIndex; i += 1) { + bullets.eq(i).addClass(((params.bulletActiveClass) + "-main")); + } + $firstDisplayedBullet + .prev() + .addClass(((params.bulletActiveClass) + "-prev")) + .prev() + .addClass(((params.bulletActiveClass) + "-prev-prev")); + $lastDisplayedBullet + .next() + .addClass(((params.bulletActiveClass) + "-next")) + .next() + .addClass(((params.bulletActiveClass) + "-next-next")); + } + } + if (params.dynamicBullets) { + var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); + var bulletsOffset = (((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize); + var offsetProp = rtl ? 'right' : 'left'; + bullets.css(swiper.isHorizontal() ? offsetProp : 'top', (bulletsOffset + "px")); + } + } + if (params.type === 'fraction') { + $el.find(("." + (params.currentClass))).text(params.formatFractionCurrent(current + 1)); + $el.find(("." + (params.totalClass))).text(params.formatFractionTotal(total)); + } + if (params.type === 'progressbar') { + var progressbarDirection; + if (params.progressbarOpposite) { + progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; + } else { + progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; + } + var scale = (current + 1) / total; + var scaleX = 1; + var scaleY = 1; + if (progressbarDirection === 'horizontal') { + scaleX = scale; + } else { + scaleY = scale; + } + $el.find(("." + (params.progressbarFillClass))).transform(("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")")).transition(swiper.params.speed); + } + if (params.type === 'custom' && params.renderCustom) { + $el.html(params.renderCustom(swiper, current + 1, total)); + swiper.emit('paginationRender', swiper, $el[0]); + } else { + swiper.emit('paginationUpdate', swiper, $el[0]); + } + $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); + }, + render: function render() { + // Render Container + var swiper = this; + var params = swiper.params.pagination; + if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; } + var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; + + var $el = swiper.pagination.$el; + var paginationHTML = ''; + if (params.type === 'bullets') { + var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; + for (var i = 0; i < numberOfBullets; i += 1) { + if (params.renderBullet) { + paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); + } else { + paginationHTML += "<" + (params.bulletElement) + " class=\"" + (params.bulletClass) + "\">"; + } + } + $el.html(paginationHTML); + swiper.pagination.bullets = $el.find(("." + (params.bulletClass))); + } + if (params.type === 'fraction') { + if (params.renderFraction) { + paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); + } else { + paginationHTML = "" + + ' / ' + + ""; + } + $el.html(paginationHTML); + } + if (params.type === 'progressbar') { + if (params.renderProgressbar) { + paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); + } else { + paginationHTML = ""; + } + $el.html(paginationHTML); + } + if (params.type !== 'custom') { + swiper.emit('paginationRender', swiper.pagination.$el[0]); + } + }, + init: function init() { + var swiper = this; + var params = swiper.params.pagination; + if (!params.el) { return; } + + var $el = $(params.el); + if ($el.length === 0) { return; } + + if ( + swiper.params.uniqueNavElements + && typeof params.el === 'string' + && $el.length > 1 + && swiper.$el.find(params.el).length === 1 + ) { + $el = swiper.$el.find(params.el); + } + + if (params.type === 'bullets' && params.clickable) { + $el.addClass(params.clickableClass); + } + + $el.addClass(params.modifierClass + params.type); + + if (params.type === 'bullets' && params.dynamicBullets) { + $el.addClass(("" + (params.modifierClass) + (params.type) + "-dynamic")); + swiper.pagination.dynamicBulletIndex = 0; + if (params.dynamicMainBullets < 1) { + params.dynamicMainBullets = 1; + } + } + if (params.type === 'progressbar' && params.progressbarOpposite) { + $el.addClass(params.progressbarOppositeClass); + } + + if (params.clickable) { + $el.on('click', ("." + (params.bulletClass)), function onClick(e) { + e.preventDefault(); + var index = $(this).index() * swiper.params.slidesPerGroup; + if (swiper.params.loop) { index += swiper.loopedSlides; } + swiper.slideTo(index); + }); + } + + Utils.extend(swiper.pagination, { + $el: $el, + el: $el[0], + }); + }, + destroy: function destroy() { + var swiper = this; + var params = swiper.params.pagination; + if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) { return; } + var $el = swiper.pagination.$el; + + $el.removeClass(params.hiddenClass); + $el.removeClass(params.modifierClass + params.type); + if (swiper.pagination.bullets) { swiper.pagination.bullets.removeClass(params.bulletActiveClass); } + if (params.clickable) { + $el.off('click', ("." + (params.bulletClass))); + } + }, + }; + + var Pagination$1 = { + name: 'pagination', + params: { + pagination: { + el: null, + bulletElement: 'span', + clickable: false, + hideOnClick: false, + renderBullet: null, + renderProgressbar: null, + renderFraction: null, + renderCustom: null, + progressbarOpposite: false, + type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom' + dynamicBullets: false, + dynamicMainBullets: 1, + formatFractionCurrent: function (number) { return number; }, + formatFractionTotal: function (number) { return number; }, + bulletClass: 'swiper-pagination-bullet', + bulletActiveClass: 'swiper-pagination-bullet-active', + modifierClass: 'swiper-pagination-', // NEW + currentClass: 'swiper-pagination-current', + totalClass: 'swiper-pagination-total', + hiddenClass: 'swiper-pagination-hidden', + progressbarFillClass: 'swiper-pagination-progressbar-fill', + progressbarOppositeClass: 'swiper-pagination-progressbar-opposite', + clickableClass: 'swiper-pagination-clickable', // NEW + lockClass: 'swiper-pagination-lock', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + pagination: { + init: Pagination.init.bind(swiper), + render: Pagination.render.bind(swiper), + update: Pagination.update.bind(swiper), + destroy: Pagination.destroy.bind(swiper), + dynamicBulletIndex: 0, + }, + }); + }, + on: { + init: function init() { + var swiper = this; + swiper.pagination.init(); + swiper.pagination.render(); + swiper.pagination.update(); + }, + activeIndexChange: function activeIndexChange() { + var swiper = this; + if (swiper.params.loop) { + swiper.pagination.update(); + } else if (typeof swiper.snapIndex === 'undefined') { + swiper.pagination.update(); + } + }, + snapIndexChange: function snapIndexChange() { + var swiper = this; + if (!swiper.params.loop) { + swiper.pagination.update(); + } + }, + slidesLengthChange: function slidesLengthChange() { + var swiper = this; + if (swiper.params.loop) { + swiper.pagination.render(); + swiper.pagination.update(); + } + }, + snapGridLengthChange: function snapGridLengthChange() { + var swiper = this; + if (!swiper.params.loop) { + swiper.pagination.render(); + swiper.pagination.update(); + } + }, + destroy: function destroy() { + var swiper = this; + swiper.pagination.destroy(); + }, + click: function click(e) { + var swiper = this; + if ( + swiper.params.pagination.el + && swiper.params.pagination.hideOnClick + && swiper.pagination.$el.length > 0 + && !$(e.target).hasClass(swiper.params.pagination.bulletClass) + ) { + swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass); + } + }, + }, + }; + + var Scrollbar = { + setTranslate: function setTranslate() { + var swiper = this; + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; } + var scrollbar = swiper.scrollbar; + var rtl = swiper.rtlTranslate; + var progress = swiper.progress; + var dragSize = scrollbar.dragSize; + var trackSize = scrollbar.trackSize; + var $dragEl = scrollbar.$dragEl; + var $el = scrollbar.$el; + var params = swiper.params.scrollbar; + + var newSize = dragSize; + var newPos = (trackSize - dragSize) * progress; + if (rtl) { + newPos = -newPos; + if (newPos > 0) { + newSize = dragSize - newPos; + newPos = 0; + } else if (-newPos + dragSize > trackSize) { + newSize = trackSize + newPos; + } + } else if (newPos < 0) { + newSize = dragSize + newPos; + newPos = 0; + } else if (newPos + dragSize > trackSize) { + newSize = trackSize - newPos; + } + if (swiper.isHorizontal()) { + if (Support.transforms3d) { + $dragEl.transform(("translate3d(" + newPos + "px, 0, 0)")); + } else { + $dragEl.transform(("translateX(" + newPos + "px)")); + } + $dragEl[0].style.width = newSize + "px"; + } else { + if (Support.transforms3d) { + $dragEl.transform(("translate3d(0px, " + newPos + "px, 0)")); + } else { + $dragEl.transform(("translateY(" + newPos + "px)")); + } + $dragEl[0].style.height = newSize + "px"; + } + if (params.hide) { + clearTimeout(swiper.scrollbar.timeout); + $el[0].style.opacity = 1; + swiper.scrollbar.timeout = setTimeout(function () { + $el[0].style.opacity = 0; + $el.transition(400); + }, 1000); + } + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; } + swiper.scrollbar.$dragEl.transition(duration); + }, + updateSize: function updateSize() { + var swiper = this; + if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) { return; } + + var scrollbar = swiper.scrollbar; + var $dragEl = scrollbar.$dragEl; + var $el = scrollbar.$el; + + $dragEl[0].style.width = ''; + $dragEl[0].style.height = ''; + var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight; + + var divider = swiper.size / swiper.virtualSize; + var moveDivider = divider * (trackSize / swiper.size); + var dragSize; + if (swiper.params.scrollbar.dragSize === 'auto') { + dragSize = trackSize * divider; + } else { + dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); + } + + if (swiper.isHorizontal()) { + $dragEl[0].style.width = dragSize + "px"; + } else { + $dragEl[0].style.height = dragSize + "px"; + } + + if (divider >= 1) { + $el[0].style.display = 'none'; + } else { + $el[0].style.display = ''; + } + if (swiper.params.scrollbarHide) { + $el[0].style.opacity = 0; + } + Utils.extend(scrollbar, { + trackSize: trackSize, + divider: divider, + moveDivider: moveDivider, + dragSize: dragSize, + }); + scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass); + }, + setDragPosition: function setDragPosition(e) { + var swiper = this; + var scrollbar = swiper.scrollbar; + var rtl = swiper.rtlTranslate; + var $el = scrollbar.$el; + var dragSize = scrollbar.dragSize; + var trackSize = scrollbar.trackSize; + + var pointerPosition; + if (swiper.isHorizontal()) { + pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX); + } else { + pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY); + } + var positionRatio; + positionRatio = ((pointerPosition) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragSize / 2)) / (trackSize - dragSize); + positionRatio = Math.max(Math.min(positionRatio, 1), 0); + if (rtl) { + positionRatio = 1 - positionRatio; + } + + var position = swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio); + + swiper.updateProgress(position); + swiper.setTranslate(position); + swiper.updateActiveIndex(); + swiper.updateSlidesClasses(); + }, + onDragStart: function onDragStart(e) { + var swiper = this; + var params = swiper.params.scrollbar; + var scrollbar = swiper.scrollbar; + var $wrapperEl = swiper.$wrapperEl; + var $el = scrollbar.$el; + var $dragEl = scrollbar.$dragEl; + swiper.scrollbar.isTouched = true; + e.preventDefault(); + e.stopPropagation(); + + $wrapperEl.transition(100); + $dragEl.transition(100); + scrollbar.setDragPosition(e); + + clearTimeout(swiper.scrollbar.dragTimeout); + + $el.transition(0); + if (params.hide) { + $el.css('opacity', 1); + } + swiper.emit('scrollbarDragStart', e); + }, + onDragMove: function onDragMove(e) { + var swiper = this; + var scrollbar = swiper.scrollbar; + var $wrapperEl = swiper.$wrapperEl; + var $el = scrollbar.$el; + var $dragEl = scrollbar.$dragEl; + + if (!swiper.scrollbar.isTouched) { return; } + if (e.preventDefault) { e.preventDefault(); } + else { e.returnValue = false; } + scrollbar.setDragPosition(e); + $wrapperEl.transition(0); + $el.transition(0); + $dragEl.transition(0); + swiper.emit('scrollbarDragMove', e); + }, + onDragEnd: function onDragEnd(e) { + var swiper = this; + + var params = swiper.params.scrollbar; + var scrollbar = swiper.scrollbar; + var $el = scrollbar.$el; + + if (!swiper.scrollbar.isTouched) { return; } + swiper.scrollbar.isTouched = false; + if (params.hide) { + clearTimeout(swiper.scrollbar.dragTimeout); + swiper.scrollbar.dragTimeout = Utils.nextTick(function () { + $el.css('opacity', 0); + $el.transition(400); + }, 1000); + } + swiper.emit('scrollbarDragEnd', e); + if (params.snapOnRelease) { + swiper.slideToClosest(); + } + }, + enableDraggable: function enableDraggable() { + var swiper = this; + if (!swiper.params.scrollbar.el) { return; } + var scrollbar = swiper.scrollbar; + var touchEvents = swiper.touchEvents; + var touchEventsDesktop = swiper.touchEventsDesktop; + var params = swiper.params; + var $el = scrollbar.$el; + var target = $el[0]; + var activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false; + var passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; + if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener); + doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener); + doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener); + } else { + if (Support.touch) { + target.addEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener); + target.addEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener); + target.addEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener); + } + if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { + target.addEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener); + doc.addEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener); + doc.addEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener); + } + } + }, + disableDraggable: function disableDraggable() { + var swiper = this; + if (!swiper.params.scrollbar.el) { return; } + var scrollbar = swiper.scrollbar; + var touchEvents = swiper.touchEvents; + var touchEventsDesktop = swiper.touchEventsDesktop; + var params = swiper.params; + var $el = scrollbar.$el; + var target = $el[0]; + var activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false; + var passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false; + if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) { + target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener); + doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener); + doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener); + } else { + if (Support.touch) { + target.removeEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener); + target.removeEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener); + target.removeEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener); + } + if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) { + target.removeEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener); + doc.removeEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener); + doc.removeEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener); + } + } + }, + init: function init() { + var swiper = this; + if (!swiper.params.scrollbar.el) { return; } + var scrollbar = swiper.scrollbar; + var $swiperEl = swiper.$el; + var params = swiper.params.scrollbar; + + var $el = $(params.el); + if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) { + $el = $swiperEl.find(params.el); + } + + var $dragEl = $el.find(("." + (swiper.params.scrollbar.dragClass))); + if ($dragEl.length === 0) { + $dragEl = $(("
")); + $el.append($dragEl); + } + + Utils.extend(scrollbar, { + $el: $el, + el: $el[0], + $dragEl: $dragEl, + dragEl: $dragEl[0], + }); + + if (params.draggable) { + scrollbar.enableDraggable(); + } + }, + destroy: function destroy() { + var swiper = this; + swiper.scrollbar.disableDraggable(); + }, + }; + + var Scrollbar$1 = { + name: 'scrollbar', + params: { + scrollbar: { + el: null, + dragSize: 'auto', + hide: false, + draggable: false, + snapOnRelease: true, + lockClass: 'swiper-scrollbar-lock', + dragClass: 'swiper-scrollbar-drag', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + scrollbar: { + init: Scrollbar.init.bind(swiper), + destroy: Scrollbar.destroy.bind(swiper), + updateSize: Scrollbar.updateSize.bind(swiper), + setTranslate: Scrollbar.setTranslate.bind(swiper), + setTransition: Scrollbar.setTransition.bind(swiper), + enableDraggable: Scrollbar.enableDraggable.bind(swiper), + disableDraggable: Scrollbar.disableDraggable.bind(swiper), + setDragPosition: Scrollbar.setDragPosition.bind(swiper), + onDragStart: Scrollbar.onDragStart.bind(swiper), + onDragMove: Scrollbar.onDragMove.bind(swiper), + onDragEnd: Scrollbar.onDragEnd.bind(swiper), + isTouched: false, + timeout: null, + dragTimeout: null, + }, + }); + }, + on: { + init: function init() { + var swiper = this; + swiper.scrollbar.init(); + swiper.scrollbar.updateSize(); + swiper.scrollbar.setTranslate(); + }, + update: function update() { + var swiper = this; + swiper.scrollbar.updateSize(); + }, + resize: function resize() { + var swiper = this; + swiper.scrollbar.updateSize(); + }, + observerUpdate: function observerUpdate() { + var swiper = this; + swiper.scrollbar.updateSize(); + }, + setTranslate: function setTranslate() { + var swiper = this; + swiper.scrollbar.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + swiper.scrollbar.setTransition(duration); + }, + destroy: function destroy() { + var swiper = this; + swiper.scrollbar.destroy(); + }, + }, + }; + + var Parallax = { + setTransform: function setTransform(el, progress) { + var swiper = this; + var rtl = swiper.rtl; + + var $el = $(el); + var rtlFactor = rtl ? -1 : 1; + + var p = $el.attr('data-swiper-parallax') || '0'; + var x = $el.attr('data-swiper-parallax-x'); + var y = $el.attr('data-swiper-parallax-y'); + var scale = $el.attr('data-swiper-parallax-scale'); + var opacity = $el.attr('data-swiper-parallax-opacity'); + + if (x || y) { + x = x || '0'; + y = y || '0'; + } else if (swiper.isHorizontal()) { + x = p; + y = '0'; + } else { + y = p; + x = '0'; + } + + if ((x).indexOf('%') >= 0) { + x = (parseInt(x, 10) * progress * rtlFactor) + "%"; + } else { + x = (x * progress * rtlFactor) + "px"; + } + if ((y).indexOf('%') >= 0) { + y = (parseInt(y, 10) * progress) + "%"; + } else { + y = (y * progress) + "px"; + } + + if (typeof opacity !== 'undefined' && opacity !== null) { + var currentOpacity = opacity - ((opacity - 1) * (1 - Math.abs(progress))); + $el[0].style.opacity = currentOpacity; + } + if (typeof scale === 'undefined' || scale === null) { + $el.transform(("translate3d(" + x + ", " + y + ", 0px)")); + } else { + var currentScale = scale - ((scale - 1) * (1 - Math.abs(progress))); + $el.transform(("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")")); + } + }, + setTranslate: function setTranslate() { + var swiper = this; + var $el = swiper.$el; + var slides = swiper.slides; + var progress = swiper.progress; + var snapGrid = swiper.snapGrid; + $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]') + .each(function (index, el) { + swiper.parallax.setTransform(el, progress); + }); + slides.each(function (slideIndex, slideEl) { + var slideProgress = slideEl.progress; + if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { + slideProgress += Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1)); + } + slideProgress = Math.min(Math.max(slideProgress, -1), 1); + $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]') + .each(function (index, el) { + swiper.parallax.setTransform(el, slideProgress); + }); + }); + }, + setTransition: function setTransition(duration) { + if ( duration === void 0 ) duration = this.params.speed; + + var swiper = this; + var $el = swiper.$el; + $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]') + .each(function (index, parallaxEl) { + var $parallaxEl = $(parallaxEl); + var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration; + if (duration === 0) { parallaxDuration = 0; } + $parallaxEl.transition(parallaxDuration); + }); + }, + }; + + var Parallax$1 = { + name: 'parallax', + params: { + parallax: { + enabled: false, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + parallax: { + setTransform: Parallax.setTransform.bind(swiper), + setTranslate: Parallax.setTranslate.bind(swiper), + setTransition: Parallax.setTransition.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (!swiper.params.parallax.enabled) { return; } + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + }, + init: function init() { + var swiper = this; + if (!swiper.params.parallax) { return; } + swiper.parallax.setTranslate(); + }, + setTranslate: function setTranslate() { + var swiper = this; + if (!swiper.params.parallax) { return; } + swiper.parallax.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (!swiper.params.parallax) { return; } + swiper.parallax.setTransition(duration); + }, + }, + }; + + var Zoom = { + // Calc Scale From Multi-touches + getDistanceBetweenTouches: function getDistanceBetweenTouches(e) { + if (e.targetTouches.length < 2) { return 1; } + var x1 = e.targetTouches[0].pageX; + var y1 = e.targetTouches[0].pageY; + var x2 = e.targetTouches[1].pageX; + var y2 = e.targetTouches[1].pageY; + var distance = Math.sqrt((Math.pow( (x2 - x1), 2 )) + (Math.pow( (y2 - y1), 2 ))); + return distance; + }, + // Events + onGestureStart: function onGestureStart(e) { + var swiper = this; + var params = swiper.params.zoom; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + zoom.fakeGestureTouched = false; + zoom.fakeGestureMoved = false; + if (!Support.gestures) { + if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) { + return; + } + zoom.fakeGestureTouched = true; + gesture.scaleStart = Zoom.getDistanceBetweenTouches(e); + } + if (!gesture.$slideEl || !gesture.$slideEl.length) { + gesture.$slideEl = $(e.target).closest('.swiper-slide'); + if (gesture.$slideEl.length === 0) { gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); } + gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas'); + gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass))); + gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + if (gesture.$imageWrapEl.length === 0) { + gesture.$imageEl = undefined; + return; + } + } + gesture.$imageEl.transition(0); + swiper.zoom.isScaling = true; + }, + onGestureChange: function onGestureChange(e) { + var swiper = this; + var params = swiper.params.zoom; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + if (!Support.gestures) { + if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) { + return; + } + zoom.fakeGestureMoved = true; + gesture.scaleMove = Zoom.getDistanceBetweenTouches(e); + } + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + if (Support.gestures) { + swiper.zoom.scale = e.scale * zoom.currentScale; + } else { + zoom.scale = (gesture.scaleMove / gesture.scaleStart) * zoom.currentScale; + } + if (zoom.scale > gesture.maxRatio) { + zoom.scale = (gesture.maxRatio - 1) + (Math.pow( ((zoom.scale - gesture.maxRatio) + 1), 0.5 )); + } + if (zoom.scale < params.minRatio) { + zoom.scale = (params.minRatio + 1) - (Math.pow( ((params.minRatio - zoom.scale) + 1), 0.5 )); + } + gesture.$imageEl.transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")")); + }, + onGestureEnd: function onGestureEnd(e) { + var swiper = this; + var params = swiper.params.zoom; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + if (!Support.gestures) { + if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) { + return; + } + if (e.type !== 'touchend' || (e.type === 'touchend' && e.changedTouches.length < 2 && !Device.android)) { + return; + } + zoom.fakeGestureTouched = false; + zoom.fakeGestureMoved = false; + } + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); + gesture.$imageEl.transition(swiper.params.speed).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")")); + zoom.currentScale = zoom.scale; + zoom.isScaling = false; + if (zoom.scale === 1) { gesture.$slideEl = undefined; } + }, + onTouchStart: function onTouchStart(e) { + var swiper = this; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + var image = zoom.image; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + if (image.isTouched) { return; } + if (Device.android) { e.preventDefault(); } + image.isTouched = true; + image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; + image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; + }, + onTouchMove: function onTouchMove(e) { + var swiper = this; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + var image = zoom.image; + var velocity = zoom.velocity; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + swiper.allowClick = false; + if (!image.isTouched || !gesture.$slideEl) { return; } + + if (!image.isMoved) { + image.width = gesture.$imageEl[0].offsetWidth; + image.height = gesture.$imageEl[0].offsetHeight; + image.startX = Utils.getTranslate(gesture.$imageWrapEl[0], 'x') || 0; + image.startY = Utils.getTranslate(gesture.$imageWrapEl[0], 'y') || 0; + gesture.slideWidth = gesture.$slideEl[0].offsetWidth; + gesture.slideHeight = gesture.$slideEl[0].offsetHeight; + gesture.$imageWrapEl.transition(0); + if (swiper.rtl) { + image.startX = -image.startX; + image.startY = -image.startY; + } + } + // Define if we need image drag + var scaledWidth = image.width * zoom.scale; + var scaledHeight = image.height * zoom.scale; + + if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) { return; } + + image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0); + image.maxX = -image.minX; + image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0); + image.maxY = -image.minY; + + image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; + image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; + + if (!image.isMoved && !zoom.isScaling) { + if ( + swiper.isHorizontal() + && ( + (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x) + || (Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x) + ) + ) { + image.isTouched = false; + return; + } if ( + !swiper.isHorizontal() + && ( + (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y) + || (Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y) + ) + ) { + image.isTouched = false; + return; + } + } + e.preventDefault(); + e.stopPropagation(); + + image.isMoved = true; + image.currentX = (image.touchesCurrent.x - image.touchesStart.x) + image.startX; + image.currentY = (image.touchesCurrent.y - image.touchesStart.y) + image.startY; + + if (image.currentX < image.minX) { + image.currentX = (image.minX + 1) - (Math.pow( ((image.minX - image.currentX) + 1), 0.8 )); + } + if (image.currentX > image.maxX) { + image.currentX = (image.maxX - 1) + (Math.pow( ((image.currentX - image.maxX) + 1), 0.8 )); + } + + if (image.currentY < image.minY) { + image.currentY = (image.minY + 1) - (Math.pow( ((image.minY - image.currentY) + 1), 0.8 )); + } + if (image.currentY > image.maxY) { + image.currentY = (image.maxY - 1) + (Math.pow( ((image.currentY - image.maxY) + 1), 0.8 )); + } + + // Velocity + if (!velocity.prevPositionX) { velocity.prevPositionX = image.touchesCurrent.x; } + if (!velocity.prevPositionY) { velocity.prevPositionY = image.touchesCurrent.y; } + if (!velocity.prevTime) { velocity.prevTime = Date.now(); } + velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; + velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; + if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) { velocity.x = 0; } + if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) { velocity.y = 0; } + velocity.prevPositionX = image.touchesCurrent.x; + velocity.prevPositionY = image.touchesCurrent.y; + velocity.prevTime = Date.now(); + + gesture.$imageWrapEl.transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)")); + }, + onTouchEnd: function onTouchEnd() { + var swiper = this; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + var image = zoom.image; + var velocity = zoom.velocity; + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + if (!image.isTouched || !image.isMoved) { + image.isTouched = false; + image.isMoved = false; + return; + } + image.isTouched = false; + image.isMoved = false; + var momentumDurationX = 300; + var momentumDurationY = 300; + var momentumDistanceX = velocity.x * momentumDurationX; + var newPositionX = image.currentX + momentumDistanceX; + var momentumDistanceY = velocity.y * momentumDurationY; + var newPositionY = image.currentY + momentumDistanceY; + + // Fix duration + if (velocity.x !== 0) { momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); } + if (velocity.y !== 0) { momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); } + var momentumDuration = Math.max(momentumDurationX, momentumDurationY); + + image.currentX = newPositionX; + image.currentY = newPositionY; + + // Define if we need image drag + var scaledWidth = image.width * zoom.scale; + var scaledHeight = image.height * zoom.scale; + image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0); + image.maxX = -image.minX; + image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0); + image.maxY = -image.minY; + image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); + image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); + + gesture.$imageWrapEl.transition(momentumDuration).transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)")); + }, + onTransitionEnd: function onTransitionEnd() { + var swiper = this; + var zoom = swiper.zoom; + var gesture = zoom.gesture; + if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) { + gesture.$imageEl.transform('translate3d(0,0,0) scale(1)'); + gesture.$imageWrapEl.transform('translate3d(0,0,0)'); + gesture.$slideEl = undefined; + gesture.$imageEl = undefined; + gesture.$imageWrapEl = undefined; + + zoom.scale = 1; + zoom.currentScale = 1; + } + }, + // Toggle Zoom + toggle: function toggle(e) { + var swiper = this; + var zoom = swiper.zoom; + + if (zoom.scale && zoom.scale !== 1) { + // Zoom Out + zoom.out(); + } else { + // Zoom In + zoom.in(e); + } + }, + in: function in$1(e) { + var swiper = this; + + var zoom = swiper.zoom; + var params = swiper.params.zoom; + var gesture = zoom.gesture; + var image = zoom.image; + + if (!gesture.$slideEl) { + gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex); + gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas'); + gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass))); + } + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + + gesture.$slideEl.addClass(("" + (params.zoomedSlideClass))); + + var touchX; + var touchY; + var offsetX; + var offsetY; + var diffX; + var diffY; + var translateX; + var translateY; + var imageWidth; + var imageHeight; + var scaledWidth; + var scaledHeight; + var translateMinX; + var translateMinY; + var translateMaxX; + var translateMaxY; + var slideWidth; + var slideHeight; + + if (typeof image.touchesStart.x === 'undefined' && e) { + touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; + touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; + } else { + touchX = image.touchesStart.x; + touchY = image.touchesStart.y; + } + + zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; + if (e) { + slideWidth = gesture.$slideEl[0].offsetWidth; + slideHeight = gesture.$slideEl[0].offsetHeight; + offsetX = gesture.$slideEl.offset().left; + offsetY = gesture.$slideEl.offset().top; + diffX = (offsetX + (slideWidth / 2)) - touchX; + diffY = (offsetY + (slideHeight / 2)) - touchY; + + imageWidth = gesture.$imageEl[0].offsetWidth; + imageHeight = gesture.$imageEl[0].offsetHeight; + scaledWidth = imageWidth * zoom.scale; + scaledHeight = imageHeight * zoom.scale; + + translateMinX = Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0); + translateMinY = Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0); + translateMaxX = -translateMinX; + translateMaxY = -translateMinY; + + translateX = diffX * zoom.scale; + translateY = diffY * zoom.scale; + + if (translateX < translateMinX) { + translateX = translateMinX; + } + if (translateX > translateMaxX) { + translateX = translateMaxX; + } + + if (translateY < translateMinY) { + translateY = translateMinY; + } + if (translateY > translateMaxY) { + translateY = translateMaxY; + } + } else { + translateX = 0; + translateY = 0; + } + gesture.$imageWrapEl.transition(300).transform(("translate3d(" + translateX + "px, " + translateY + "px,0)")); + gesture.$imageEl.transition(300).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")")); + }, + out: function out() { + var swiper = this; + + var zoom = swiper.zoom; + var params = swiper.params.zoom; + var gesture = zoom.gesture; + + if (!gesture.$slideEl) { + gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex); + gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas'); + gesture.$imageWrapEl = gesture.$imageEl.parent(("." + (params.containerClass))); + } + if (!gesture.$imageEl || gesture.$imageEl.length === 0) { return; } + + zoom.scale = 1; + zoom.currentScale = 1; + gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)'); + gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)'); + gesture.$slideEl.removeClass(("" + (params.zoomedSlideClass))); + gesture.$slideEl = undefined; + }, + // Attach/Detach Events + enable: function enable() { + var swiper = this; + var zoom = swiper.zoom; + if (zoom.enabled) { return; } + zoom.enabled = true; + + var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false; + + // Scale image + if (Support.gestures) { + swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener); + swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener); + swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener); + } else if (swiper.touchEvents.start === 'touchstart') { + swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener); + swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener); + swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener); + } + + // Move image + swiper.$wrapperEl.on(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove); + }, + disable: function disable() { + var swiper = this; + var zoom = swiper.zoom; + if (!zoom.enabled) { return; } + + swiper.zoom.enabled = false; + + var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false; + + // Scale image + if (Support.gestures) { + swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener); + swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener); + swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener); + } else if (swiper.touchEvents.start === 'touchstart') { + swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener); + swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener); + swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener); + } + + // Move image + swiper.$wrapperEl.off(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove); + }, + }; + + var Zoom$1 = { + name: 'zoom', + params: { + zoom: { + enabled: false, + maxRatio: 3, + minRatio: 1, + toggle: true, + containerClass: 'swiper-zoom-container', + zoomedSlideClass: 'swiper-slide-zoomed', + }, + }, + create: function create() { + var swiper = this; + var zoom = { + enabled: false, + scale: 1, + currentScale: 1, + isScaling: false, + gesture: { + $slideEl: undefined, + slideWidth: undefined, + slideHeight: undefined, + $imageEl: undefined, + $imageWrapEl: undefined, + maxRatio: 3, + }, + image: { + isTouched: undefined, + isMoved: undefined, + currentX: undefined, + currentY: undefined, + minX: undefined, + minY: undefined, + maxX: undefined, + maxY: undefined, + width: undefined, + height: undefined, + startX: undefined, + startY: undefined, + touchesStart: {}, + touchesCurrent: {}, + }, + velocity: { + x: undefined, + y: undefined, + prevPositionX: undefined, + prevPositionY: undefined, + prevTime: undefined, + }, + }; + ('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName) { + zoom[methodName] = Zoom[methodName].bind(swiper); + }); + Utils.extend(swiper, { + zoom: zoom, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.zoom.enabled) { + swiper.zoom.enable(); + } + }, + destroy: function destroy() { + var swiper = this; + swiper.zoom.disable(); + }, + touchStart: function touchStart(e) { + var swiper = this; + if (!swiper.zoom.enabled) { return; } + swiper.zoom.onTouchStart(e); + }, + touchEnd: function touchEnd(e) { + var swiper = this; + if (!swiper.zoom.enabled) { return; } + swiper.zoom.onTouchEnd(e); + }, + doubleTap: function doubleTap(e) { + var swiper = this; + if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { + swiper.zoom.toggle(e); + } + }, + transitionEnd: function transitionEnd() { + var swiper = this; + if (swiper.zoom.enabled && swiper.params.zoom.enabled) { + swiper.zoom.onTransitionEnd(); + } + }, + }, + }; + + var Lazy = { + loadInSlide: function loadInSlide(index, loadInDuplicate) { + if ( loadInDuplicate === void 0 ) loadInDuplicate = true; + + var swiper = this; + var params = swiper.params.lazy; + if (typeof index === 'undefined') { return; } + if (swiper.slides.length === 0) { return; } + var isVirtual = swiper.virtual && swiper.params.virtual.enabled; + + var $slideEl = isVirtual + ? swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]")) + : swiper.slides.eq(index); + + var $images = $slideEl.find(("." + (params.elementClass) + ":not(." + (params.loadedClass) + "):not(." + (params.loadingClass) + ")")); + if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) { + $images = $images.add($slideEl[0]); + } + if ($images.length === 0) { return; } + + $images.each(function (imageIndex, imageEl) { + var $imageEl = $(imageEl); + $imageEl.addClass(params.loadingClass); + + var background = $imageEl.attr('data-background'); + var src = $imageEl.attr('data-src'); + var srcset = $imageEl.attr('data-srcset'); + var sizes = $imageEl.attr('data-sizes'); + + swiper.loadImage($imageEl[0], (src || background), srcset, sizes, false, function () { + if (typeof swiper === 'undefined' || swiper === null || !swiper || (swiper && !swiper.params) || swiper.destroyed) { return; } + if (background) { + $imageEl.css('background-image', ("url(\"" + background + "\")")); + $imageEl.removeAttr('data-background'); + } else { + if (srcset) { + $imageEl.attr('srcset', srcset); + $imageEl.removeAttr('data-srcset'); + } + if (sizes) { + $imageEl.attr('sizes', sizes); + $imageEl.removeAttr('data-sizes'); + } + if (src) { + $imageEl.attr('src', src); + $imageEl.removeAttr('data-src'); + } + } + + $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass); + $slideEl.find(("." + (params.preloaderClass))).remove(); + if (swiper.params.loop && loadInDuplicate) { + var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index'); + if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) { + var originalSlide = swiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + (swiper.params.slideDuplicateClass) + ")")); + swiper.lazy.loadInSlide(originalSlide.index(), false); + } else { + var duplicatedSlide = swiper.$wrapperEl.children(("." + (swiper.params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]")); + swiper.lazy.loadInSlide(duplicatedSlide.index(), false); + } + } + swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]); + }); + + swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]); + }); + }, + load: function load() { + var swiper = this; + var $wrapperEl = swiper.$wrapperEl; + var swiperParams = swiper.params; + var slides = swiper.slides; + var activeIndex = swiper.activeIndex; + var isVirtual = swiper.virtual && swiperParams.virtual.enabled; + var params = swiperParams.lazy; + + var slidesPerView = swiperParams.slidesPerView; + if (slidesPerView === 'auto') { + slidesPerView = 0; + } + + function slideExist(index) { + if (isVirtual) { + if ($wrapperEl.children(("." + (swiperParams.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]")).length) { + return true; + } + } else if (slides[index]) { return true; } + return false; + } + function slideIndex(slideEl) { + if (isVirtual) { + return $(slideEl).attr('data-swiper-slide-index'); + } + return $(slideEl).index(); + } + + if (!swiper.lazy.initialImageLoaded) { swiper.lazy.initialImageLoaded = true; } + if (swiper.params.watchSlidesVisibility) { + $wrapperEl.children(("." + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl) { + var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index(); + swiper.lazy.loadInSlide(index); + }); + } else if (slidesPerView > 1) { + for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) { + if (slideExist(i)) { swiper.lazy.loadInSlide(i); } + } + } else { + swiper.lazy.loadInSlide(activeIndex); + } + if (params.loadPrevNext) { + if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) { + var amount = params.loadPrevNextAmount; + var spv = slidesPerView; + var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length); + var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); + // Next Slides + for (var i$1 = activeIndex + slidesPerView; i$1 < maxIndex; i$1 += 1) { + if (slideExist(i$1)) { swiper.lazy.loadInSlide(i$1); } + } + // Prev Slides + for (var i$2 = minIndex; i$2 < activeIndex; i$2 += 1) { + if (slideExist(i$2)) { swiper.lazy.loadInSlide(i$2); } + } + } else { + var nextSlide = $wrapperEl.children(("." + (swiperParams.slideNextClass))); + if (nextSlide.length > 0) { swiper.lazy.loadInSlide(slideIndex(nextSlide)); } + + var prevSlide = $wrapperEl.children(("." + (swiperParams.slidePrevClass))); + if (prevSlide.length > 0) { swiper.lazy.loadInSlide(slideIndex(prevSlide)); } + } + } + }, + }; + + var Lazy$1 = { + name: 'lazy', + params: { + lazy: { + enabled: false, + loadPrevNext: false, + loadPrevNextAmount: 1, + loadOnTransitionStart: false, + + elementClass: 'swiper-lazy', + loadingClass: 'swiper-lazy-loading', + loadedClass: 'swiper-lazy-loaded', + preloaderClass: 'swiper-lazy-preloader', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + lazy: { + initialImageLoaded: false, + load: Lazy.load.bind(swiper), + loadInSlide: Lazy.loadInSlide.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (swiper.params.lazy.enabled && swiper.params.preloadImages) { + swiper.params.preloadImages = false; + } + }, + init: function init() { + var swiper = this; + if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) { + swiper.lazy.load(); + } + }, + scroll: function scroll() { + var swiper = this; + if (swiper.params.freeMode && !swiper.params.freeModeSticky) { + swiper.lazy.load(); + } + }, + resize: function resize() { + var swiper = this; + if (swiper.params.lazy.enabled) { + swiper.lazy.load(); + } + }, + scrollbarDragMove: function scrollbarDragMove() { + var swiper = this; + if (swiper.params.lazy.enabled) { + swiper.lazy.load(); + } + }, + transitionStart: function transitionStart() { + var swiper = this; + if (swiper.params.lazy.enabled) { + if (swiper.params.lazy.loadOnTransitionStart || (!swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded)) { + swiper.lazy.load(); + } + } + }, + transitionEnd: function transitionEnd() { + var swiper = this; + if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) { + swiper.lazy.load(); + } + }, + }, + }; + + /* eslint no-bitwise: ["error", { "allow": [">>"] }] */ + + var Controller = { + LinearSpline: function LinearSpline(x, y) { + var binarySearch = (function search() { + var maxIndex; + var minIndex; + var guess; + return function (array, val) { + minIndex = -1; + maxIndex = array.length; + while (maxIndex - minIndex > 1) { + guess = maxIndex + minIndex >> 1; + if (array[guess] <= val) { + minIndex = guess; + } else { + maxIndex = guess; + } + } + return maxIndex; + }; + }()); + this.x = x; + this.y = y; + this.lastIndex = x.length - 1; + // Given an x value (x2), return the expected y2 value: + // (x1,y1) is the known point before given value, + // (x3,y3) is the known point after given value. + var i1; + var i3; + + this.interpolate = function interpolate(x2) { + if (!x2) { return 0; } + + // Get the indexes of x1 and x3 (the array indexes before and after given x2): + i3 = binarySearch(this.x, x2); + i1 = i3 - 1; + + // We have our indexes i1 & i3, so we can calculate already: + // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 + return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1]; + }; + return this; + }, + // xxx: for now i will just save one spline function to to + getInterpolateFunction: function getInterpolateFunction(c) { + var swiper = this; + if (!swiper.controller.spline) { + swiper.controller.spline = swiper.params.loop + ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) + : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid); + } + }, + setTranslate: function setTranslate(setTranslate$1, byController) { + var swiper = this; + var controlled = swiper.controller.control; + var multiplier; + var controlledTranslate; + function setControlledTranslate(c) { + // this will create an Interpolate function based on the snapGrids + // x is the Grid of the scrolled scroller and y will be the controlled scroller + // it makes sense to create this only once and recall it for the interpolation + // the function does a lot of value caching for performance + var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; + if (swiper.params.controller.by === 'slide') { + swiper.controller.getInterpolateFunction(c); + // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid + // but it did not work out + controlledTranslate = -swiper.controller.spline.interpolate(-translate); + } + + if (!controlledTranslate || swiper.params.controller.by === 'container') { + multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); + controlledTranslate = ((translate - swiper.minTranslate()) * multiplier) + c.minTranslate(); + } + + if (swiper.params.controller.inverse) { + controlledTranslate = c.maxTranslate() - controlledTranslate; + } + c.updateProgress(controlledTranslate); + c.setTranslate(controlledTranslate, swiper); + c.updateActiveIndex(); + c.updateSlidesClasses(); + } + if (Array.isArray(controlled)) { + for (var i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTranslate(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTranslate(controlled); + } + }, + setTransition: function setTransition(duration, byController) { + var swiper = this; + var controlled = swiper.controller.control; + var i; + function setControlledTransition(c) { + c.setTransition(duration, swiper); + if (duration !== 0) { + c.transitionStart(); + if (c.params.autoHeight) { + Utils.nextTick(function () { + c.updateAutoHeight(); + }); + } + c.$wrapperEl.transitionEnd(function () { + if (!controlled) { return; } + if (c.params.loop && swiper.params.controller.by === 'slide') { + c.loopFix(); + } + c.transitionEnd(); + }); + } + } + if (Array.isArray(controlled)) { + for (i = 0; i < controlled.length; i += 1) { + if (controlled[i] !== byController && controlled[i] instanceof Swiper) { + setControlledTransition(controlled[i]); + } + } + } else if (controlled instanceof Swiper && byController !== controlled) { + setControlledTransition(controlled); + } + }, + }; + var Controller$1 = { + name: 'controller', + params: { + controller: { + control: undefined, + inverse: false, + by: 'slide', // or 'container' + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + controller: { + control: swiper.params.controller.control, + getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper), + setTranslate: Controller.setTranslate.bind(swiper), + setTransition: Controller.setTransition.bind(swiper), + }, + }); + }, + on: { + update: function update() { + var swiper = this; + if (!swiper.controller.control) { return; } + if (swiper.controller.spline) { + swiper.controller.spline = undefined; + delete swiper.controller.spline; + } + }, + resize: function resize() { + var swiper = this; + if (!swiper.controller.control) { return; } + if (swiper.controller.spline) { + swiper.controller.spline = undefined; + delete swiper.controller.spline; + } + }, + observerUpdate: function observerUpdate() { + var swiper = this; + if (!swiper.controller.control) { return; } + if (swiper.controller.spline) { + swiper.controller.spline = undefined; + delete swiper.controller.spline; + } + }, + setTranslate: function setTranslate(translate, byController) { + var swiper = this; + if (!swiper.controller.control) { return; } + swiper.controller.setTranslate(translate, byController); + }, + setTransition: function setTransition(duration, byController) { + var swiper = this; + if (!swiper.controller.control) { return; } + swiper.controller.setTransition(duration, byController); + }, + }, + }; + + var a11y = { + makeElFocusable: function makeElFocusable($el) { + $el.attr('tabIndex', '0'); + return $el; + }, + addElRole: function addElRole($el, role) { + $el.attr('role', role); + return $el; + }, + addElLabel: function addElLabel($el, label) { + $el.attr('aria-label', label); + return $el; + }, + disableEl: function disableEl($el) { + $el.attr('aria-disabled', true); + return $el; + }, + enableEl: function enableEl($el) { + $el.attr('aria-disabled', false); + return $el; + }, + onEnterKey: function onEnterKey(e) { + var swiper = this; + var params = swiper.params.a11y; + if (e.keyCode !== 13) { return; } + var $targetEl = $(e.target); + if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) { + if (!(swiper.isEnd && !swiper.params.loop)) { + swiper.slideNext(); + } + if (swiper.isEnd) { + swiper.a11y.notify(params.lastSlideMessage); + } else { + swiper.a11y.notify(params.nextSlideMessage); + } + } + if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) { + if (!(swiper.isBeginning && !swiper.params.loop)) { + swiper.slidePrev(); + } + if (swiper.isBeginning) { + swiper.a11y.notify(params.firstSlideMessage); + } else { + swiper.a11y.notify(params.prevSlideMessage); + } + } + if (swiper.pagination && $targetEl.is(("." + (swiper.params.pagination.bulletClass)))) { + $targetEl[0].click(); + } + }, + notify: function notify(message) { + var swiper = this; + var notification = swiper.a11y.liveRegion; + if (notification.length === 0) { return; } + notification.html(''); + notification.html(message); + }, + updateNavigation: function updateNavigation() { + var swiper = this; + + if (swiper.params.loop) { return; } + var ref = swiper.navigation; + var $nextEl = ref.$nextEl; + var $prevEl = ref.$prevEl; + + if ($prevEl && $prevEl.length > 0) { + if (swiper.isBeginning) { + swiper.a11y.disableEl($prevEl); + } else { + swiper.a11y.enableEl($prevEl); + } + } + if ($nextEl && $nextEl.length > 0) { + if (swiper.isEnd) { + swiper.a11y.disableEl($nextEl); + } else { + swiper.a11y.enableEl($nextEl); + } + } + }, + updatePagination: function updatePagination() { + var swiper = this; + var params = swiper.params.a11y; + if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) { + swiper.pagination.bullets.each(function (bulletIndex, bulletEl) { + var $bulletEl = $(bulletEl); + swiper.a11y.makeElFocusable($bulletEl); + swiper.a11y.addElRole($bulletEl, 'button'); + swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1)); + }); + } + }, + init: function init() { + var swiper = this; + + swiper.$el.append(swiper.a11y.liveRegion); + + // Navigation + var params = swiper.params.a11y; + var $nextEl; + var $prevEl; + if (swiper.navigation && swiper.navigation.$nextEl) { + $nextEl = swiper.navigation.$nextEl; + } + if (swiper.navigation && swiper.navigation.$prevEl) { + $prevEl = swiper.navigation.$prevEl; + } + if ($nextEl) { + swiper.a11y.makeElFocusable($nextEl); + swiper.a11y.addElRole($nextEl, 'button'); + swiper.a11y.addElLabel($nextEl, params.nextSlideMessage); + $nextEl.on('keydown', swiper.a11y.onEnterKey); + } + if ($prevEl) { + swiper.a11y.makeElFocusable($prevEl); + swiper.a11y.addElRole($prevEl, 'button'); + swiper.a11y.addElLabel($prevEl, params.prevSlideMessage); + $prevEl.on('keydown', swiper.a11y.onEnterKey); + } + + // Pagination + if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) { + swiper.pagination.$el.on('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey); + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) { swiper.a11y.liveRegion.remove(); } + + var $nextEl; + var $prevEl; + if (swiper.navigation && swiper.navigation.$nextEl) { + $nextEl = swiper.navigation.$nextEl; + } + if (swiper.navigation && swiper.navigation.$prevEl) { + $prevEl = swiper.navigation.$prevEl; + } + if ($nextEl) { + $nextEl.off('keydown', swiper.a11y.onEnterKey); + } + if ($prevEl) { + $prevEl.off('keydown', swiper.a11y.onEnterKey); + } + + // Pagination + if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) { + swiper.pagination.$el.off('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey); + } + }, + }; + var A11y = { + name: 'a11y', + params: { + a11y: { + enabled: true, + notificationClass: 'swiper-notification', + prevSlideMessage: 'Previous slide', + nextSlideMessage: 'Next slide', + firstSlideMessage: 'This is the first slide', + lastSlideMessage: 'This is the last slide', + paginationBulletMessage: 'Go to slide {{index}}', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + a11y: { + liveRegion: $(("")), + }, + }); + Object.keys(a11y).forEach(function (methodName) { + swiper.a11y[methodName] = a11y[methodName].bind(swiper); + }); + }, + on: { + init: function init() { + var swiper = this; + if (!swiper.params.a11y.enabled) { return; } + swiper.a11y.init(); + swiper.a11y.updateNavigation(); + }, + toEdge: function toEdge() { + var swiper = this; + if (!swiper.params.a11y.enabled) { return; } + swiper.a11y.updateNavigation(); + }, + fromEdge: function fromEdge() { + var swiper = this; + if (!swiper.params.a11y.enabled) { return; } + swiper.a11y.updateNavigation(); + }, + paginationUpdate: function paginationUpdate() { + var swiper = this; + if (!swiper.params.a11y.enabled) { return; } + swiper.a11y.updatePagination(); + }, + destroy: function destroy() { + var swiper = this; + if (!swiper.params.a11y.enabled) { return; } + swiper.a11y.destroy(); + }, + }, + }; + + var History = { + init: function init() { + var swiper = this; + if (!swiper.params.history) { return; } + if (!win.history || !win.history.pushState) { + swiper.params.history.enabled = false; + swiper.params.hashNavigation.enabled = true; + return; + } + var history = swiper.history; + history.initialized = true; + history.paths = History.getPathValues(); + if (!history.paths.key && !history.paths.value) { return; } + history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit); + if (!swiper.params.history.replaceState) { + win.addEventListener('popstate', swiper.history.setHistoryPopState); + } + }, + destroy: function destroy() { + var swiper = this; + if (!swiper.params.history.replaceState) { + win.removeEventListener('popstate', swiper.history.setHistoryPopState); + } + }, + setHistoryPopState: function setHistoryPopState() { + var swiper = this; + swiper.history.paths = History.getPathValues(); + swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false); + }, + getPathValues: function getPathValues() { + var pathArray = win.location.pathname.slice(1).split('/').filter(function (part) { return part !== ''; }); + var total = pathArray.length; + var key = pathArray[total - 2]; + var value = pathArray[total - 1]; + return { key: key, value: value }; + }, + setHistory: function setHistory(key, index) { + var swiper = this; + if (!swiper.history.initialized || !swiper.params.history.enabled) { return; } + var slide = swiper.slides.eq(index); + var value = History.slugify(slide.attr('data-history')); + if (!win.location.pathname.includes(key)) { + value = key + "/" + value; + } + var currentState = win.history.state; + if (currentState && currentState.value === value) { + return; + } + if (swiper.params.history.replaceState) { + win.history.replaceState({ value: value }, null, value); + } else { + win.history.pushState({ value: value }, null, value); + } + }, + slugify: function slugify(text) { + return text.toString().toLowerCase() + .replace(/\s+/g, '-') + .replace(/[^\w-]+/g, '') + .replace(/--+/g, '-') + .replace(/^-+/, '') + .replace(/-+$/, ''); + }, + scrollToSlide: function scrollToSlide(speed, value, runCallbacks) { + var swiper = this; + if (value) { + for (var i = 0, length = swiper.slides.length; i < length; i += 1) { + var slide = swiper.slides.eq(i); + var slideHistory = History.slugify(slide.attr('data-history')); + if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) { + var index = slide.index(); + swiper.slideTo(index, speed, runCallbacks); + } + } + } else { + swiper.slideTo(0, speed, runCallbacks); + } + }, + }; + + var History$1 = { + name: 'history', + params: { + history: { + enabled: false, + replaceState: false, + key: 'slides', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + history: { + init: History.init.bind(swiper), + setHistory: History.setHistory.bind(swiper), + setHistoryPopState: History.setHistoryPopState.bind(swiper), + scrollToSlide: History.scrollToSlide.bind(swiper), + destroy: History.destroy.bind(swiper), + }, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.history.enabled) { + swiper.history.init(); + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.params.history.enabled) { + swiper.history.destroy(); + } + }, + transitionEnd: function transitionEnd() { + var swiper = this; + if (swiper.history.initialized) { + swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex); + } + }, + }, + }; + + var HashNavigation = { + onHashCange: function onHashCange() { + var swiper = this; + var newHash = doc.location.hash.replace('#', ''); + var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash'); + if (newHash !== activeSlideHash) { + var newIndex = swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-hash=\"" + newHash + "\"]")).index(); + if (typeof newIndex === 'undefined') { return; } + swiper.slideTo(newIndex); + } + }, + setHash: function setHash() { + var swiper = this; + if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) { return; } + if (swiper.params.hashNavigation.replaceState && win.history && win.history.replaceState) { + win.history.replaceState(null, null, (("#" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash'))) || '')); + } else { + var slide = swiper.slides.eq(swiper.activeIndex); + var hash = slide.attr('data-hash') || slide.attr('data-history'); + doc.location.hash = hash || ''; + } + }, + init: function init() { + var swiper = this; + if (!swiper.params.hashNavigation.enabled || (swiper.params.history && swiper.params.history.enabled)) { return; } + swiper.hashNavigation.initialized = true; + var hash = doc.location.hash.replace('#', ''); + if (hash) { + var speed = 0; + for (var i = 0, length = swiper.slides.length; i < length; i += 1) { + var slide = swiper.slides.eq(i); + var slideHash = slide.attr('data-hash') || slide.attr('data-history'); + if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) { + var index = slide.index(); + swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true); + } + } + } + if (swiper.params.hashNavigation.watchState) { + $(win).on('hashchange', swiper.hashNavigation.onHashCange); + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.params.hashNavigation.watchState) { + $(win).off('hashchange', swiper.hashNavigation.onHashCange); + } + }, + }; + var HashNavigation$1 = { + name: 'hash-navigation', + params: { + hashNavigation: { + enabled: false, + replaceState: false, + watchState: false, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + hashNavigation: { + initialized: false, + init: HashNavigation.init.bind(swiper), + destroy: HashNavigation.destroy.bind(swiper), + setHash: HashNavigation.setHash.bind(swiper), + onHashCange: HashNavigation.onHashCange.bind(swiper), + }, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.hashNavigation.enabled) { + swiper.hashNavigation.init(); + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.params.hashNavigation.enabled) { + swiper.hashNavigation.destroy(); + } + }, + transitionEnd: function transitionEnd() { + var swiper = this; + if (swiper.hashNavigation.initialized) { + swiper.hashNavigation.setHash(); + } + }, + }, + }; + + /* eslint no-underscore-dangle: "off" */ + + var Autoplay = { + run: function run() { + var swiper = this; + var $activeSlideEl = swiper.slides.eq(swiper.activeIndex); + var delay = swiper.params.autoplay.delay; + if ($activeSlideEl.attr('data-swiper-autoplay')) { + delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay; + } + swiper.autoplay.timeout = Utils.nextTick(function () { + if (swiper.params.autoplay.reverseDirection) { + if (swiper.params.loop) { + swiper.loopFix(); + swiper.slidePrev(swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else if (!swiper.isBeginning) { + swiper.slidePrev(swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else { + swiper.autoplay.stop(); + } + } else if (swiper.params.loop) { + swiper.loopFix(); + swiper.slideNext(swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else if (!swiper.isEnd) { + swiper.slideNext(swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else if (!swiper.params.autoplay.stopOnLastSlide) { + swiper.slideTo(0, swiper.params.speed, true, true); + swiper.emit('autoplay'); + } else { + swiper.autoplay.stop(); + } + }, delay); + }, + start: function start() { + var swiper = this; + if (typeof swiper.autoplay.timeout !== 'undefined') { return false; } + if (swiper.autoplay.running) { return false; } + swiper.autoplay.running = true; + swiper.emit('autoplayStart'); + swiper.autoplay.run(); + return true; + }, + stop: function stop() { + var swiper = this; + if (!swiper.autoplay.running) { return false; } + if (typeof swiper.autoplay.timeout === 'undefined') { return false; } + + if (swiper.autoplay.timeout) { + clearTimeout(swiper.autoplay.timeout); + swiper.autoplay.timeout = undefined; + } + swiper.autoplay.running = false; + swiper.emit('autoplayStop'); + return true; + }, + pause: function pause(speed) { + var swiper = this; + if (!swiper.autoplay.running) { return; } + if (swiper.autoplay.paused) { return; } + if (swiper.autoplay.timeout) { clearTimeout(swiper.autoplay.timeout); } + swiper.autoplay.paused = true; + if (speed === 0 || !swiper.params.autoplay.waitForTransition) { + swiper.autoplay.paused = false; + swiper.autoplay.run(); + } else { + swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd); + swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd); + } + }, + }; + + var Autoplay$1 = { + name: 'autoplay', + params: { + autoplay: { + enabled: false, + delay: 3000, + waitForTransition: true, + disableOnInteraction: true, + stopOnLastSlide: false, + reverseDirection: false, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + autoplay: { + running: false, + paused: false, + run: Autoplay.run.bind(swiper), + start: Autoplay.start.bind(swiper), + stop: Autoplay.stop.bind(swiper), + pause: Autoplay.pause.bind(swiper), + onTransitionEnd: function onTransitionEnd(e) { + if (!swiper || swiper.destroyed || !swiper.$wrapperEl) { return; } + if (e.target !== this) { return; } + swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd); + swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd); + swiper.autoplay.paused = false; + if (!swiper.autoplay.running) { + swiper.autoplay.stop(); + } else { + swiper.autoplay.run(); + } + }, + }, + }); + }, + on: { + init: function init() { + var swiper = this; + if (swiper.params.autoplay.enabled) { + swiper.autoplay.start(); + } + }, + beforeTransitionStart: function beforeTransitionStart(speed, internal) { + var swiper = this; + if (swiper.autoplay.running) { + if (internal || !swiper.params.autoplay.disableOnInteraction) { + swiper.autoplay.pause(speed); + } else { + swiper.autoplay.stop(); + } + } + }, + sliderFirstMove: function sliderFirstMove() { + var swiper = this; + if (swiper.autoplay.running) { + if (swiper.params.autoplay.disableOnInteraction) { + swiper.autoplay.stop(); + } else { + swiper.autoplay.pause(); + } + } + }, + destroy: function destroy() { + var swiper = this; + if (swiper.autoplay.running) { + swiper.autoplay.stop(); + } + }, + }, + }; + + var Fade = { + setTranslate: function setTranslate() { + var swiper = this; + var slides = swiper.slides; + for (var i = 0; i < slides.length; i += 1) { + var $slideEl = swiper.slides.eq(i); + var offset = $slideEl[0].swiperSlideOffset; + var tx = -offset; + if (!swiper.params.virtualTranslate) { tx -= swiper.translate; } + var ty = 0; + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + } + var slideOpacity = swiper.params.fadeEffect.crossFade + ? Math.max(1 - Math.abs($slideEl[0].progress), 0) + : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0); + $slideEl + .css({ + opacity: slideOpacity, + }) + .transform(("translate3d(" + tx + "px, " + ty + "px, 0px)")); + } + }, + setTransition: function setTransition(duration) { + var swiper = this; + var slides = swiper.slides; + var $wrapperEl = swiper.$wrapperEl; + slides.transition(duration); + if (swiper.params.virtualTranslate && duration !== 0) { + var eventTriggered = false; + slides.transitionEnd(function () { + if (eventTriggered) { return; } + if (!swiper || swiper.destroyed) { return; } + eventTriggered = true; + swiper.animating = false; + var triggerEvents = ['webkitTransitionEnd', 'transitionend']; + for (var i = 0; i < triggerEvents.length; i += 1) { + $wrapperEl.trigger(triggerEvents[i]); + } + }); + } + }, + }; + + var EffectFade = { + name: 'effect-fade', + params: { + fadeEffect: { + crossFade: false, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + fadeEffect: { + setTranslate: Fade.setTranslate.bind(swiper), + setTransition: Fade.setTransition.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (swiper.params.effect !== 'fade') { return; } + swiper.classNames.push(((swiper.params.containerModifierClass) + "fade")); + var overwriteParams = { + slidesPerView: 1, + slidesPerColumn: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: true, + }; + Utils.extend(swiper.params, overwriteParams); + Utils.extend(swiper.originalParams, overwriteParams); + }, + setTranslate: function setTranslate() { + var swiper = this; + if (swiper.params.effect !== 'fade') { return; } + swiper.fadeEffect.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (swiper.params.effect !== 'fade') { return; } + swiper.fadeEffect.setTransition(duration); + }, + }, + }; + + var Cube = { + setTranslate: function setTranslate() { + var swiper = this; + var $el = swiper.$el; + var $wrapperEl = swiper.$wrapperEl; + var slides = swiper.slides; + var swiperWidth = swiper.width; + var swiperHeight = swiper.height; + var rtl = swiper.rtlTranslate; + var swiperSize = swiper.size; + var params = swiper.params.cubeEffect; + var isHorizontal = swiper.isHorizontal(); + var isVirtual = swiper.virtual && swiper.params.virtual.enabled; + var wrapperRotate = 0; + var $cubeShadowEl; + if (params.shadow) { + if (isHorizontal) { + $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow'); + if ($cubeShadowEl.length === 0) { + $cubeShadowEl = $('
'); + $wrapperEl.append($cubeShadowEl); + } + $cubeShadowEl.css({ height: (swiperWidth + "px") }); + } else { + $cubeShadowEl = $el.find('.swiper-cube-shadow'); + if ($cubeShadowEl.length === 0) { + $cubeShadowEl = $('
'); + $el.append($cubeShadowEl); + } + } + } + for (var i = 0; i < slides.length; i += 1) { + var $slideEl = slides.eq(i); + var slideIndex = i; + if (isVirtual) { + slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10); + } + var slideAngle = slideIndex * 90; + var round = Math.floor(slideAngle / 360); + if (rtl) { + slideAngle = -slideAngle; + round = Math.floor(-slideAngle / 360); + } + var progress = Math.max(Math.min($slideEl[0].progress, 1), -1); + var tx = 0; + var ty = 0; + var tz = 0; + if (slideIndex % 4 === 0) { + tx = -round * 4 * swiperSize; + tz = 0; + } else if ((slideIndex - 1) % 4 === 0) { + tx = 0; + tz = -round * 4 * swiperSize; + } else if ((slideIndex - 2) % 4 === 0) { + tx = swiperSize + (round * 4 * swiperSize); + tz = swiperSize; + } else if ((slideIndex - 3) % 4 === 0) { + tx = -swiperSize; + tz = (3 * swiperSize) + (swiperSize * 4 * round); + } + if (rtl) { + tx = -tx; + } + + if (!isHorizontal) { + ty = tx; + tx = 0; + } + + var transform = "rotateX(" + (isHorizontal ? 0 : -slideAngle) + "deg) rotateY(" + (isHorizontal ? slideAngle : 0) + "deg) translate3d(" + tx + "px, " + ty + "px, " + tz + "px)"; + if (progress <= 1 && progress > -1) { + wrapperRotate = (slideIndex * 90) + (progress * 90); + if (rtl) { wrapperRotate = (-slideIndex * 90) - (progress * 90); } + } + $slideEl.transform(transform); + if (params.slideShadows) { + // Set shadows + var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + if (shadowBefore.length === 0) { + shadowBefore = $(("
")); + $slideEl.append(shadowBefore); + } + if (shadowAfter.length === 0) { + shadowAfter = $(("
")); + $slideEl.append(shadowAfter); + } + if (shadowBefore.length) { shadowBefore[0].style.opacity = Math.max(-progress, 0); } + if (shadowAfter.length) { shadowAfter[0].style.opacity = Math.max(progress, 0); } + } + } + $wrapperEl.css({ + '-webkit-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"), + '-moz-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"), + '-ms-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"), + 'transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"), + }); + + if (params.shadow) { + if (isHorizontal) { + $cubeShadowEl.transform(("translate3d(0px, " + ((swiperWidth / 2) + params.shadowOffset) + "px, " + (-swiperWidth / 2) + "px) rotateX(90deg) rotateZ(0deg) scale(" + (params.shadowScale) + ")")); + } else { + var shadowAngle = Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90); + var multiplier = 1.5 - ( + (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2) + + (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2) + ); + var scale1 = params.shadowScale; + var scale2 = params.shadowScale / multiplier; + var offset = params.shadowOffset; + $cubeShadowEl.transform(("scale3d(" + scale1 + ", 1, " + scale2 + ") translate3d(0px, " + ((swiperHeight / 2) + offset) + "px, " + (-swiperHeight / 2 / scale2) + "px) rotateX(-90deg)")); + } + } + var zFactor = (Browser.isSafari || Browser.isUiWebView) ? (-swiperSize / 2) : 0; + $wrapperEl + .transform(("translate3d(0px,0," + zFactor + "px) rotateX(" + (swiper.isHorizontal() ? 0 : wrapperRotate) + "deg) rotateY(" + (swiper.isHorizontal() ? -wrapperRotate : 0) + "deg)")); + }, + setTransition: function setTransition(duration) { + var swiper = this; + var $el = swiper.$el; + var slides = swiper.slides; + slides + .transition(duration) + .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left') + .transition(duration); + if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { + $el.find('.swiper-cube-shadow').transition(duration); + } + }, + }; + + var EffectCube = { + name: 'effect-cube', + params: { + cubeEffect: { + slideShadows: true, + shadow: true, + shadowOffset: 20, + shadowScale: 0.94, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + cubeEffect: { + setTranslate: Cube.setTranslate.bind(swiper), + setTransition: Cube.setTransition.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (swiper.params.effect !== 'cube') { return; } + swiper.classNames.push(((swiper.params.containerModifierClass) + "cube")); + swiper.classNames.push(((swiper.params.containerModifierClass) + "3d")); + var overwriteParams = { + slidesPerView: 1, + slidesPerColumn: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + resistanceRatio: 0, + spaceBetween: 0, + centeredSlides: false, + virtualTranslate: true, + }; + Utils.extend(swiper.params, overwriteParams); + Utils.extend(swiper.originalParams, overwriteParams); + }, + setTranslate: function setTranslate() { + var swiper = this; + if (swiper.params.effect !== 'cube') { return; } + swiper.cubeEffect.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (swiper.params.effect !== 'cube') { return; } + swiper.cubeEffect.setTransition(duration); + }, + }, + }; + + var Flip = { + setTranslate: function setTranslate() { + var swiper = this; + var slides = swiper.slides; + var rtl = swiper.rtlTranslate; + for (var i = 0; i < slides.length; i += 1) { + var $slideEl = slides.eq(i); + var progress = $slideEl[0].progress; + if (swiper.params.flipEffect.limitRotation) { + progress = Math.max(Math.min($slideEl[0].progress, 1), -1); + } + var offset = $slideEl[0].swiperSlideOffset; + var rotate = -180 * progress; + var rotateY = rotate; + var rotateX = 0; + var tx = -offset; + var ty = 0; + if (!swiper.isHorizontal()) { + ty = tx; + tx = 0; + rotateX = -rotateY; + rotateY = 0; + } else if (rtl) { + rotateY = -rotateY; + } + + $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length; + + if (swiper.params.flipEffect.slideShadows) { + // Set shadows + var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + if (shadowBefore.length === 0) { + shadowBefore = $(("
")); + $slideEl.append(shadowBefore); + } + if (shadowAfter.length === 0) { + shadowAfter = $(("
")); + $slideEl.append(shadowAfter); + } + if (shadowBefore.length) { shadowBefore[0].style.opacity = Math.max(-progress, 0); } + if (shadowAfter.length) { shadowAfter[0].style.opacity = Math.max(progress, 0); } + } + $slideEl + .transform(("translate3d(" + tx + "px, " + ty + "px, 0px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)")); + } + }, + setTransition: function setTransition(duration) { + var swiper = this; + var slides = swiper.slides; + var activeIndex = swiper.activeIndex; + var $wrapperEl = swiper.$wrapperEl; + slides + .transition(duration) + .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left') + .transition(duration); + if (swiper.params.virtualTranslate && duration !== 0) { + var eventTriggered = false; + // eslint-disable-next-line + slides.eq(activeIndex).transitionEnd(function onTransitionEnd() { + if (eventTriggered) { return; } + if (!swiper || swiper.destroyed) { return; } + // if (!$(this).hasClass(swiper.params.slideActiveClass)) return; + eventTriggered = true; + swiper.animating = false; + var triggerEvents = ['webkitTransitionEnd', 'transitionend']; + for (var i = 0; i < triggerEvents.length; i += 1) { + $wrapperEl.trigger(triggerEvents[i]); + } + }); + } + }, + }; + + var EffectFlip = { + name: 'effect-flip', + params: { + flipEffect: { + slideShadows: true, + limitRotation: true, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + flipEffect: { + setTranslate: Flip.setTranslate.bind(swiper), + setTransition: Flip.setTransition.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (swiper.params.effect !== 'flip') { return; } + swiper.classNames.push(((swiper.params.containerModifierClass) + "flip")); + swiper.classNames.push(((swiper.params.containerModifierClass) + "3d")); + var overwriteParams = { + slidesPerView: 1, + slidesPerColumn: 1, + slidesPerGroup: 1, + watchSlidesProgress: true, + spaceBetween: 0, + virtualTranslate: true, + }; + Utils.extend(swiper.params, overwriteParams); + Utils.extend(swiper.originalParams, overwriteParams); + }, + setTranslate: function setTranslate() { + var swiper = this; + if (swiper.params.effect !== 'flip') { return; } + swiper.flipEffect.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (swiper.params.effect !== 'flip') { return; } + swiper.flipEffect.setTransition(duration); + }, + }, + }; + + var Coverflow = { + setTranslate: function setTranslate() { + var swiper = this; + var swiperWidth = swiper.width; + var swiperHeight = swiper.height; + var slides = swiper.slides; + var $wrapperEl = swiper.$wrapperEl; + var slidesSizesGrid = swiper.slidesSizesGrid; + var params = swiper.params.coverflowEffect; + var isHorizontal = swiper.isHorizontal(); + var transform = swiper.translate; + var center = isHorizontal ? -transform + (swiperWidth / 2) : -transform + (swiperHeight / 2); + var rotate = isHorizontal ? params.rotate : -params.rotate; + var translate = params.depth; + // Each slide offset from center + for (var i = 0, length = slides.length; i < length; i += 1) { + var $slideEl = slides.eq(i); + var slideSize = slidesSizesGrid[i]; + var slideOffset = $slideEl[0].swiperSlideOffset; + var offsetMultiplier = ((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier; + + var rotateY = isHorizontal ? rotate * offsetMultiplier : 0; + var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; + // var rotateZ = 0 + var translateZ = -translate * Math.abs(offsetMultiplier); + + var translateY = isHorizontal ? 0 : params.stretch * (offsetMultiplier); + var translateX = isHorizontal ? params.stretch * (offsetMultiplier) : 0; + + // Fix for ultra small values + if (Math.abs(translateX) < 0.001) { translateX = 0; } + if (Math.abs(translateY) < 0.001) { translateY = 0; } + if (Math.abs(translateZ) < 0.001) { translateZ = 0; } + if (Math.abs(rotateY) < 0.001) { rotateY = 0; } + if (Math.abs(rotateX) < 0.001) { rotateX = 0; } + + var slideTransform = "translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)"; + + $slideEl.transform(slideTransform); + $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; + if (params.slideShadows) { + // Set shadows + var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); + var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); + if ($shadowBeforeEl.length === 0) { + $shadowBeforeEl = $(("
")); + $slideEl.append($shadowBeforeEl); + } + if ($shadowAfterEl.length === 0) { + $shadowAfterEl = $(("
")); + $slideEl.append($shadowAfterEl); + } + if ($shadowBeforeEl.length) { $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; } + if ($shadowAfterEl.length) { $shadowAfterEl[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0; } + } + } + + // Set correct perspective for IE10 + if (Support.pointerEvents || Support.prefixedPointerEvents) { + var ws = $wrapperEl[0].style; + ws.perspectiveOrigin = center + "px 50%"; + } + }, + setTransition: function setTransition(duration) { + var swiper = this; + swiper.slides + .transition(duration) + .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left') + .transition(duration); + }, + }; + + var EffectCoverflow = { + name: 'effect-coverflow', + params: { + coverflowEffect: { + rotate: 50, + stretch: 0, + depth: 100, + modifier: 1, + slideShadows: true, + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + coverflowEffect: { + setTranslate: Coverflow.setTranslate.bind(swiper), + setTransition: Coverflow.setTransition.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + if (swiper.params.effect !== 'coverflow') { return; } + + swiper.classNames.push(((swiper.params.containerModifierClass) + "coverflow")); + swiper.classNames.push(((swiper.params.containerModifierClass) + "3d")); + + swiper.params.watchSlidesProgress = true; + swiper.originalParams.watchSlidesProgress = true; + }, + setTranslate: function setTranslate() { + var swiper = this; + if (swiper.params.effect !== 'coverflow') { return; } + swiper.coverflowEffect.setTranslate(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + if (swiper.params.effect !== 'coverflow') { return; } + swiper.coverflowEffect.setTransition(duration); + }, + }, + }; + + var Thumbs = { + init: function init() { + var swiper = this; + var ref = swiper.params; + var thumbsParams = ref.thumbs; + var SwiperClass = swiper.constructor; + if (thumbsParams.swiper instanceof SwiperClass) { + swiper.thumbs.swiper = thumbsParams.swiper; + Utils.extend(swiper.thumbs.swiper.originalParams, { + watchSlidesProgress: true, + slideToClickedSlide: false, + }); + Utils.extend(swiper.thumbs.swiper.params, { + watchSlidesProgress: true, + slideToClickedSlide: false, + }); + } else if (Utils.isObject(thumbsParams.swiper)) { + swiper.thumbs.swiper = new SwiperClass(Utils.extend({}, thumbsParams.swiper, { + watchSlidesVisibility: true, + watchSlidesProgress: true, + slideToClickedSlide: false, + })); + swiper.thumbs.swiperCreated = true; + } + swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass); + swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick); + }, + onThumbClick: function onThumbClick() { + var swiper = this; + var thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper) { return; } + var clickedIndex = thumbsSwiper.clickedIndex; + if (typeof clickedIndex === 'undefined' || clickedIndex === null) { return; } + var slideToIndex; + if (thumbsSwiper.params.loop) { + slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10); + } else { + slideToIndex = clickedIndex; + } + if (swiper.params.loop) { + var currentIndex = swiper.activeIndex; + if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) { + swiper.loopFix(); + // eslint-disable-next-line + swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; + currentIndex = swiper.activeIndex; + } + var prevIndex = swiper.slides.eq(currentIndex).prevAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index(); + var nextIndex = swiper.slides.eq(currentIndex).nextAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index(); + if (typeof prevIndex === 'undefined') { slideToIndex = nextIndex; } + else if (typeof nextIndex === 'undefined') { slideToIndex = prevIndex; } + else if (nextIndex - currentIndex < currentIndex - prevIndex) { slideToIndex = nextIndex; } + else { slideToIndex = prevIndex; } + } + swiper.slideTo(slideToIndex); + }, + update: function update(initial) { + var swiper = this; + var thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper) { return; } + + var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' + ? thumbsSwiper.slidesPerViewDynamic() + : thumbsSwiper.params.slidesPerView; + + if (swiper.realIndex !== thumbsSwiper.realIndex) { + var currentThumbsIndex = thumbsSwiper.activeIndex; + var newThumbsIndex; + if (thumbsSwiper.params.loop) { + if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) { + thumbsSwiper.loopFix(); + // eslint-disable-next-line + thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft; + currentThumbsIndex = thumbsSwiper.activeIndex; + } + // Find actual thumbs index to slide to + var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index(); + var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index(); + if (typeof prevThumbsIndex === 'undefined') { newThumbsIndex = nextThumbsIndex; } + else if (typeof nextThumbsIndex === 'undefined') { newThumbsIndex = prevThumbsIndex; } + else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) { newThumbsIndex = nextThumbsIndex; } + else { newThumbsIndex = prevThumbsIndex; } + } else { + newThumbsIndex = swiper.realIndex; + } + + if (thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { + if (thumbsSwiper.params.centeredSlides) { + if (newThumbsIndex > currentThumbsIndex) { + newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; + } else { + newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; + } + } else if (newThumbsIndex > currentThumbsIndex) { + newThumbsIndex = newThumbsIndex - slidesPerView + 1; + } + thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); + } + } + + // Activate thumbs + var thumbsToActivate = 1; + var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; + + if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { + thumbsToActivate = swiper.params.slidesPerView; + } + + thumbsSwiper.slides.removeClass(thumbActiveClass); + if (thumbsSwiper.params.loop) { + for (var i = 0; i < thumbsToActivate; i += 1) { + thumbsSwiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + (swiper.realIndex + i) + "\"]")).addClass(thumbActiveClass); + } + } else { + for (var i$1 = 0; i$1 < thumbsToActivate; i$1 += 1) { + thumbsSwiper.slides.eq(swiper.realIndex + i$1).addClass(thumbActiveClass); + } + } + }, + }; + var Thumbs$1 = { + name: 'thumbs', + params: { + thumbs: { + swiper: null, + slideThumbActiveClass: 'swiper-slide-thumb-active', + thumbsContainerClass: 'swiper-container-thumbs', + }, + }, + create: function create() { + var swiper = this; + Utils.extend(swiper, { + thumbs: { + swiper: null, + init: Thumbs.init.bind(swiper), + update: Thumbs.update.bind(swiper), + onThumbClick: Thumbs.onThumbClick.bind(swiper), + }, + }); + }, + on: { + beforeInit: function beforeInit() { + var swiper = this; + var ref = swiper.params; + var thumbs = ref.thumbs; + if (!thumbs || !thumbs.swiper) { return; } + swiper.thumbs.init(); + swiper.thumbs.update(true); + }, + slideChange: function slideChange() { + var swiper = this; + if (!swiper.thumbs.swiper) { return; } + swiper.thumbs.update(); + }, + update: function update() { + var swiper = this; + if (!swiper.thumbs.swiper) { return; } + swiper.thumbs.update(); + }, + resize: function resize() { + var swiper = this; + if (!swiper.thumbs.swiper) { return; } + swiper.thumbs.update(); + }, + observerUpdate: function observerUpdate() { + var swiper = this; + if (!swiper.thumbs.swiper) { return; } + swiper.thumbs.update(); + }, + setTransition: function setTransition(duration) { + var swiper = this; + var thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper) { return; } + thumbsSwiper.setTransition(duration); + }, + beforeDestroy: function beforeDestroy() { + var swiper = this; + var thumbsSwiper = swiper.thumbs.swiper; + if (!thumbsSwiper) { return; } + if (swiper.thumbs.swiperCreated && thumbsSwiper) { + thumbsSwiper.destroy(); + } + }, + }, + }; + + // Swiper Class + + var components = [ + Device$1, + Support$1, + Browser$1, + Resize, + Observer$1, + Virtual$1, + Keyboard$1, + Mousewheel$1, + Navigation$1, + Pagination$1, + Scrollbar$1, + Parallax$1, + Zoom$1, + Lazy$1, + Controller$1, + A11y, + History$1, + HashNavigation$1, + Autoplay$1, + EffectFade, + EffectCube, + EffectFlip, + EffectCoverflow, + Thumbs$1 + ]; + + if (typeof Swiper.use === 'undefined') { + Swiper.use = Swiper.Class.use; + Swiper.installModule = Swiper.Class.installModule; + } + + Swiper.use(components); + + return Swiper; + +}))); \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Scripts/theme.js b/RockWeb/Themes/NewSpring/Scripts/theme.js new file mode 100644 index 00000000000..64767f78ad9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Scripts/theme.js @@ -0,0 +1,33 @@ +document.addEventListener("DOMContentLoaded", function () { + // // Initialize Skrollr + // var s = skrollr.init({ + // forceHeight: false, + // smoothScrolling: false, + // mobileDeceleration: 0.004, + // }); + + // setTimeout(function () { + // skrollr.get().refresh(); + // }, 0); + + // // Don't use Skrollr on mobile + // if (s.isMobile()) { + // s.destroy(); + // } + + if (window.innerWidth > 667) { + // Desktop + offset = "30px"; + } else { + // Mobile + offset = "15px"; + } + + window.scroll = new SmoothScroll("a[data-scroll]", { + speed: 500, + speedAsDuration: true, + // header: '#navigation-wrapper', + offset: offset, + easing: "easeInOutCubic", + }); +}); diff --git a/RockWeb/Themes/NewSpring/Styles/_accordions.less b/RockWeb/Themes/NewSpring/Styles/_accordions.less new file mode 100644 index 00000000000..eb11eb12262 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_accordions.less @@ -0,0 +1,28 @@ +.accordion { + .panel { + overflow: hidden; + + & > .panel-heading { + font-weight: 500; + letter-spacing: 0; + + i { + transition: all .2s ease; + } + + .flip { + transform: rotate(180deg); + } + } + } + + .panel.panel-primary, + .panel.panel-secondary, + .panel.panel-tertiary, + .panel.panel-success, + .panel.panel-info, + .panel.panel-warning, + .panel.panel-danger { + border-top: 0px; + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_animations.less b/RockWeb/Themes/NewSpring/Styles/_animations.less new file mode 100644 index 00000000000..23074682715 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_animations.less @@ -0,0 +1,35 @@ +@-webkit-keyframes rotating /* Safari and Chrome */ { + from { + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } + } + @keyframes rotating { + from { + -ms-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -ms-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } + } + .rotating { + -webkit-animation: rotating .5s linear infinite; + -moz-animation: rotating .5s linear infinite; + -ms-animation: rotating .5s linear infinite; + -o-animation: rotating .5s linear infinite; + animation: rotating .5s linear infinite; + } \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_bootstrap-overrides.less b/RockWeb/Themes/NewSpring/Styles/_bootstrap-overrides.less new file mode 100644 index 00000000000..bb7a34bacc0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_bootstrap-overrides.less @@ -0,0 +1,114 @@ +@import "../../../Styles/Bootstrap/mixins.less"; + +.fa, .fas { + font-family: "Font Awesome\ 5 Pro" !important; +} + +// Buttons +.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + padding: @padding-vertical + 1 @padding-horizontal @padding-vertical; + font-size: @font-size; + line-height: @line-height; + border-radius: @border-radius; +} + +.btn { + .button-size(@button-base-vertical; @button-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base); +} + +.btn-sm { + .button-size(@button-small-vertical; @button-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); + padding-top: @button-small-vertical + 1; + padding-bottom: @button-small-vertical - 1; +} + +.btn-xs { + .button-size(@button-xs-vertical; @button-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} + +.button-variant(@color; @background; @border) { + &:focus, + &.focus { + background-color: @background; + border-color: @border; + } +} + +// Pagination +.pagination { + > li { + > a, + > span { + padding: @padding-base-vertical * 1.5 + 1 @padding-base-horizontal * 1.25 @padding-base-vertical * 1.5 - 1; + } + } +} + +// List Groups + +.list-group { + + .list-group-item { + border-left: 0; + border-right: 0; + + &:first-child { + border-top: 0; + } + + &:last-child { + border-bottom: 0; + } + } + + .list-group-item.active { + z-index: 0; + } + + &.list-group-dark { + .list-group-item { + background-color: @gray-dark; + color: @brand-primary; + border-top: 1px solid @gray-darker; + + &:hover, &:focus, &.active { + color: @white; + border-top: 1px solid @gray-darker; + } + } + } + + &.shadowed { + .list-group-item { + border-left: 0; + border-right: 0; + } + .list-group-item:first-child { + border-top: 0; + } + .list-group-item:last-child { + border-bottom: 0; + } + } + + &.rounded-lg { + .list-group-item:first-child { + border-top-left-radius: @border-radius-large; + border-top-right-radius: @border-radius-large; + } + + .list-group-item:last-child { + border-bottom-left-radius: @border-radius-large; + border-bottom-right-radius: @border-radius-large; + } + } + +} + +// Alerts + +.alert { + p, ul { + margin-bottom: @base-spacing-unit; + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_breadcrumbs.less b/RockWeb/Themes/NewSpring/Styles/_breadcrumbs.less new file mode 100644 index 00000000000..252b09f65e1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_breadcrumbs.less @@ -0,0 +1,12 @@ +// Breadcrumbs +.breadcrumb { + background-color: transparent; + padding: 0; + + li, a { + font-family: @font-family-sans-serif; + font-size: floor((@font-size-base * .8)); + font-weight: 700; + text-decoration: none; + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_breakpoint-visual-utility.less b/RockWeb/Themes/NewSpring/Styles/_breakpoint-visual-utility.less new file mode 100644 index 00000000000..27652da5589 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_breakpoint-visual-utility.less @@ -0,0 +1,25 @@ +// Breakpoint Visualization Utility +body:after { + content: 'Xtra Small'; + font-family: @font-family-sans-serif; + font-weight: 700; + position: absolute; + top: 0; + right: 0; + z-index: 1000; + color: white; + background-color: red; + padding: @base-spacing-unit/2; + + @media (min-width: @screen-sm-min) { + content: 'Small'; + } + + @media (min-width: @screen-md-min) { + content: 'Medium'; + } + + @media (min-width: @screen-lg-min) { + content: 'Large'; + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_breakpoints.less b/RockWeb/Themes/NewSpring/Styles/_breakpoints.less new file mode 100644 index 00000000000..ce5800decbe --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_breakpoints.less @@ -0,0 +1,1145 @@ +// SM+ Breakpoint +@media (min-width: @screen-sm-min) { + .nav-logo { + span { + top: 22px; + left: 70px; + } + } + + .display-1 { + font-size: floor((@font-size-base * 5)); + line-height: ceil((@line-height-computed * 3.8)); + letter-spacing: -2.5px; + } + + .display-2 { + font-size: floor((@font-size-base * 4)); + line-height: ceil((@line-height-computed * 3.2)); + letter-spacing: -2px; + } + + .nav-transparent .nav-primary { + padding: 15px !important; + } + + .md-mx-auto { + margin-left: auto; + margin-right: auto; + } + + .md-text-constrained { + max-width: 700px; + } + + .md-page-constrained { + max-width: 1200px; + } +} + +// SM Breakpoint +@media only screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + #cms-admin-footer { + bottom: 0; + top: auto; + } + + .jumbo { + font-size: 46px; + } + + .sm-btn-block { + display: inline-block; + width: 100%; + } + + // Display + .sm-display-none { + display: none !important; + } + .sm-display-block { + display: block; + } + .sm-display-inline-block { + display: inline-block; + } + + // Widths + + .sm-width-half { + width: 50%; + } + .sm-width-full { + width: 100%; + } + + // Positioning + .sm-position-absolute { + position: absolute !important; + } + .sm-position-relative { + position: relative !important; + } + .sm-position-fixed { + position: fixed !important; + } + + // Buttons + .btn-primary:hover { + background-color: @brand-primary; + } + + // Ratios + .sm-ratio-none:before { + padding-top: 0%; + } + .sm-ratio-thin:before { + padding-top: 40%; + } + .sm-ratio-landscape:before { + padding-top: 50%; + } + .sm-ratio-shuare:before { + padding-top: 70%; + } + .sm-ratio-square:before { + padding-top: 100%; + } + .sm-ratio-portrait:before { + padding-top: 150%; + } + + // Helper Classes + .sm-text-center { + text-align: center !important; + } + .sm-text-left { + text-align: left; + } + .sm-text-right { + text-align: right; + } + .sm-mx-auto { + margin-left: auto; + margin-right: auto; + } + .sm-pull-none { + float: none !important; + } + + .sm-position-left-boundry { + top: 50%; + bottom: auto; + left: 0; + right: auto; + } + .sm-position-right-boundry { + top: 50%; + bottom: auto; + left: auto; + right: 0; + } + .sm-position-top-boundry { + top: 0; + bottom: auto; + left: 50%; + right: auto; + } + .sm-position-bottom-boundry { + top: auto; + bottom: 0; + left: 50%; + right: auto; + } + + .sm-margin-top-double { + margin-top: @base-spacing-unit*2; + } + .sm-margin-top-double-negative { + margin-top: -@base-spacing-unit*2; + } + .sm-margin-top { + margin-top: @base-spacing-unit; + } + .sm-margin-top-negative { + margin-top: -@base-spacing-unit; + } + .sm-margin-top-half { + margin-top: @base-spacing-unit / 2; + } + .sm-margin-top-half-negative { + margin-top: -@base-spacing-unit / 2; + } + + .sm-margin-right-double { + margin-right: @base-spacing-unit*2; + } + .sm-margin-right-double-negative { + margin-right: -@base-spacing-unit*2; + } + .sm-margin-right { + margin-right: @base-spacing-unit; + } + .sm-margin-right-negative { + margin-right: -@base-spacing-unit; + } + .sm-margin-right-half { + margin-right: @base-spacing-unit / 2; + } + .sm-margin-right-half-negative { + margin-right: -@base-spacing-unit / 2; + } + + .sm-margin-bottom-double { + margin-bottom: @base-spacing-unit*2; + } + .sm-margin-bottom-double-negative { + margin-bottom: -@base-spacing-unit*2; + } + .sm-margin-bottom { + margin-bottom: @base-spacing-unit; + } + .sm-margin-bottom-negative { + margin-bottom: -@base-spacing-unit; + } + .sm-margin-bottom-half { + margin-bottom: @base-spacing-unit / 2; + } + .sm-margin-bottom-half-negative { + margin-bottom: -@base-spacing-unit / 2; + } + + .sm-margin-left-double { + margin-left: @base-spacing-unit*2; + } + .sm-margin-left-double-negative { + margin-left: -@base-spacing-unit*2; + } + .sm-margin-left { + margin-left: @base-spacing-unit; + } + .sm-margin-left-negative { + margin-left: -@base-spacing-unit; + } + .sm-margin-left-half { + margin-left: @base-spacing-unit / 2; + } + .sm-margin-left-half-negative { + margin-left: -@base-spacing-unit / 2; + } + + .sm-margin-top-auto { + margin-top: auto; + } + .sm-margin-right-auto { + margin-right: auto; + } + .sm-margin-bottom-auto { + margin-bottom: auto; + } + .sm-margin-left-auto { + margin-left: auto; + } + + .sm-soft-double { + padding: @base-spacing-unit * 2 !important; + } + .sm-soft-double-top { + padding-top: @base-spacing-unit * 2 !important; + } + .sm-soft-double-bottom { + padding-bottom: @base-spacing-unit * 2 !important; + } + .sm-soft-double-right { + padding-right: @base-spacing-unit * 2 !important; + } + .sm-soft-double-left { + padding-left: @base-spacing-unit * 2 !important; + } + .sm-soft-double-ends { + padding-top: @base-spacing-unit * 2 !important; + padding-bottom: @base-spacing-unit * 2 !important; + } + .sm-soft-double-sides { + padding-left: @base-spacing-unit * 2 !important; + padding-right: @base-spacing-unit * 2 !important; + } + + .sm-soft { + padding: @base-spacing-unit !important; + } + .sm-soft-top { + padding-top: @base-spacing-unit !important; + } + .sm-soft-bottom { + padding-bottom: @base-spacing-unit !important; + } + .sm-soft-right { + padding-right: @base-spacing-unit !important; + } + .sm-soft-left { + padding-left: @base-spacing-unit !important; + } + .sm-soft-ends { + padding-top: @base-spacing-unit !important; + padding-bottom: @base-spacing-unit !important; + } + .sm-soft-sides { + padding-left: @base-spacing-unit !important; + padding-right: @base-spacing-unit !important; + } + + .sm-soft-half { + padding: @base-spacing-unit / 2 !important; + } + .sm-soft-half-top { + padding-top: @base-spacing-unit / 2 !important; + } + .sm-soft-half-bottom { + padding-bottom: @base-spacing-unit / 2 !important; + } + .sm-soft-half-right { + padding-right: @base-spacing-unit / 2 !important; + } + .sm-soft-half-left { + padding-left: @base-spacing-unit / 2 !important; + } + .sm-soft-half-ends { + padding-top: @base-spacing-unit / 2 !important; + padding-bottom: @base-spacing-unit / 2 !important; + } + .sm-soft-half-sides { + padding-left: @base-spacing-unit / 2 !important; + padding-right: @base-spacing-unit / 2 !important; + } + + .sm-hard { + padding: 0 !important; + } + .sm-hard-top { + padding-top: 0 !important; + } + .sm-hard-bottom { + padding-bottom: 0 !important; + } + .sm-hard-right { + padding-right: 0 !important; + } + .sm-hard-left { + padding-left: 0 !important; + } + .sm-hard-ends { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .sm-hard-sides { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .sm-push-double { + margin: @base-spacing-unit * 2 !important; + } + .sm-push-double-top { + margin-top: @base-spacing-unit * 2 !important; + } + .sm-push-double-bottom { + margin-bottom: @base-spacing-unit * 2 !important; + } + .sm-push-double-right { + margin-right: @base-spacing-unit * 2 !important; + } + .sm-push-double-left { + margin-left: @base-spacing-unit * 2 !important; + } + .sm-push-double-ends { + margin-top: @base-spacing-unit * 2 !important; + margin-bottom: @base-spacing-unit * 2 !important; + } + .sm-push-double-sides { + margin-left: @base-spacing-unit * 2 !important; + margin-right: @base-spacing-unit * 2 !important; + } + + .sm-push { + margin: @base-spacing-unit !important; + } + .sm-push-top { + margin-top: @base-spacing-unit !important; + } + .sm-push-bottom { + margin-bottom: @base-spacing-unit !important; + } + .sm-push-right { + margin-right: @base-spacing-unit !important; + } + .sm-push-left { + margin-left: @base-spacing-unit !important; + } + .sm-push-ends { + margin-top: @base-spacing-unit !important; + margin-bottom: @base-spacing-unit !important; + } + .sm-push-sides { + margin-left: @base-spacing-unit !important; + margin-right: @base-spacing-unit !important; + } + + .sm-push-half { + margin: @base-spacing-unit / 2 !important; + } + .sm-push-half-top { + margin-top: @base-spacing-unit / 2 !important; + } + .sm-push-half-bottom { + margin-bottom: @base-spacing-unit / 2 !important; + } + .sm-push-half-right { + margin-right: @base-spacing-unit / 2 !important; + } + .sm-push-half-left { + margin-left: @base-spacing-unit / 2 !important; + } + .sm-push-half-ends { + margin-top: @base-spacing-unit / 2 !important; + margin-bottom: @base-spacing-unit / 2 !important; + } + .sm-push-half-sides { + margin-left: @base-spacing-unit / 2 !important; + margin-right: @base-spacing-unit / 2 !important; + } + + .sm-push-quarter { + margin: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-top { + margin-top: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-bottom { + margin-bottom: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-right { + margin-right: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-left { + margin-left: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-ends { + margin-top: @base-spacing-unit / 4 !important; + margin-bottom: @base-spacing-unit / 4 !important; + } + .sm-push-quarter-sides { + margin-left: @base-spacing-unit / 4 !important; + margin-right: @base-spacing-unit / 4 !important; + } + + .sm-flush { + margin: 0 !important; + } + .sm-flush-top { + margin-top: 0 !important; + } + .sm-flush-bottom { + margin-bottom: 0 !important; + } + .sm-flush-right { + margin-right: 0 !important; + } + .sm-flush-left { + margin-left: 0 !important; + } + .sm-flush-ends { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .sm-flush-sides { + margin-left: 0 !important; + margin-right: 0 !important; + } +} + +// XS Breakpoint +@media only screen and (max-width: @screen-sm-min) { + #cms-admin-footer { + bottom: auto; + top: 0; + + .btn { + color: @gray; + } + } + + body.is-admin { + margin-top: 36px; + } + + // Font Size Adjustments + body { + font-size: ceil((@font-size-base*.95)); + + .card { + font-size: ceil((@font-size-base)); + } + .panel { + font-size: ceil((@font-size-base * 0.9)); + } + .label { + font-size: ceil((@font-size-base * 0.7)); + } + } + + .jumbo { + font-size: 38px; + } + + .lead { + font-size: 1.05em; + } + + h1, + .h1, + .xs-h1 { + font-size: floor((@font-size-base * 1.9)); + letter-spacing: -0.7px !important; + } + h2, + .h2, + .xs-h2 { + font-size: floor((@font-size-base * 1.65)); + letter-spacing: -0.7px !important; + } + h3, + .h3, + .xs-h3 { + font-size: ceil((@font-size-base * 1.55)); + } + h4, + .h4, + .xs-h4 { + font-size: ceil((@font-size-base * 1.35)); + } + h5, + .h5, + .xs-h5 { + font-size: ceil((@font-size-base * 1.2)); + } + h6, + .h6, + .xs-h6 { + font-size: @font-size-base; + } + + small { + font-size: 90%; + } + + .label.sans-serif, + .sans-serif .label { + padding: 0.5em 0.8em 0.4em; + } + + .label.circular { + padding: 0.3em 0.8em 0.25em; + } + + blockquote { + font-size: floor((@font-size-base * 1.1)) !important; + letter-spacing: 0 !important; + } + + .editorial-content { + blockquote { + margin-left: -@base-spacing-unit; + } + } + + .progress { + margin-bottom: @base-spacing-unit / 2; + } + + // Buttons + + .btn-primary:hover { + background-color: @brand-primary; + } + + .btn-xs { + padding: 2px 5px 1px; + } + + .btn-sm { + padding: 5px 10px 4px; + } + + .xs-mx-auto { + margin-left: auto; + margin-right: auto; + } + + .xs-text-center { + text-align: center !important; + } + .xs-text-left { + text-align: left !important; + } + + .xs-btn-sm { + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); + } + + .xs-btn-xs { + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); + } + + // Notes + .note-editor .settings .commands { + margin-top: 20px; + } + + // Checkboxes + .checkbox .label-text:before { + top: 0px; + } + + // Positioning + .xs-position-absolute { + position: absolute !important; + } + .xs-position-relative { + position: relative !important; + } + .xs-position-fixed { + position: fixed !important; + } + + // Grid + .xs-row-reverse { + direction: rtl; + } + + .xs-row-condensed { + margin-left: -@base-spacing-unit / 4; + margin-right: -@base-spacing-unit / 4; + + .col-xs-1, + .col-sm-1, + .col-md-1, + .col-lg-1, + .col-xs-2, + .col-sm-2, + .col-md-2, + .col-lg-2, + .col-xs-3, + .col-sm-3, + .col-md-3, + .col-lg-3, + .col-xs-4, + .col-sm-4, + .col-md-4, + .col-lg-4, + .col-xs-5, + .col-sm-5, + .col-md-5, + .col-lg-5, + .col-xs-6, + .col-sm-6, + .col-md-6, + .col-lg-6, + .col-xs-7, + .col-sm-7, + .col-md-7, + .col-lg-7, + .col-xs-8, + .col-sm-8, + .col-md-8, + .col-lg-8, + .col-xs-9, + .col-sm-9, + .col-md-9, + .col-lg-9, + .col-xs-10, + .col-sm-10, + .col-md-10, + .col-lg-10, + .col-xs-11, + .col-sm-11, + .col-md-11, + .col-lg-11, + .col-xs-12, + .col-sm-12, + .col-md-12, + .col-lg-12 { + padding-left: @base-spacing-unit / 4; + padding-right: @base-spacing-unit / 4; + } + } + + // Navigation + .xs-nav-stacked { + > li { + float: none; + + li { + margin-top: 2px; + margin-left: 0; // no need for this gap between nav items + } + } + } + + .xs-btn-block { + display: inline-block; + width: 100%; + } + + .btn-play { + transform: scale(1.5); + } + + .xs-pull-none { + float: none !important; + } + + // Display + .xs-display-none { + display: none !important; + } + .xs-display-block { + display: block; + } + .xs-display-inline-block { + display: inline-block; + } + + // Widths + + .xs-width-half { + width: 50%; + } + .xs-width-full { + width: 100%; + } + + // Ratios + .xs-ratio-none:before { + padding-top: 0%; + } + .xs-ratio-thin:before { + padding-top: 40%; + } + .xs-ratio-landscape:before { + padding-top: 50%; + } + .xs-ratio-shuare:before { + padding-top: 70%; + } + .xs-ratio-square:before { + padding-top: 100%; + } + .xs-ratio-portrait:before { + padding-top: 150%; + } + + // Positioning + + .xs-absolute { + position: absolute; + } + .xs-relative { + position: relative; + } + + .xs-display-none { + display: none; + } + .xs-display-block { + display: block; + } + .xs-display-inline { + display: inline; + } + .xs-display-inline-block { + display: inline-block; + } + + .xs-position-left-boundry { + top: 50%; + bottom: auto; + left: 0; + right: auto; + } + .xs-position-right-boundry { + top: 50%; + bottom: auto; + left: auto; + right: 0; + } + .xs-position-top-boundry { + top: 0; + bottom: auto; + left: 50%; + right: auto; + } + .xs-position-bottom-boundry { + top: auto; + bottom: 0; + left: 50%; + right: auto; + } + + .xs-margin-top-double { + margin-top: @base-spacing-unit*2; + } + .xs-margin-top-double-negative { + margin-top: -@base-spacing-unit*2; + } + .xs-margin-top { + margin-top: @base-spacing-unit; + } + .xs-margin-top-negative { + margin-top: -@base-spacing-unit; + } + .xs-margin-top-half { + margin-top: @base-spacing-unit / 2; + } + .xs-margin-top-half-negative { + margin-top: -@base-spacing-unit / 2; + } + + .xs-margin-right-double { + margin-right: @base-spacing-unit*2; + } + .xs-margin-right-double-negative { + margin-right: -@base-spacing-unit*2; + } + .xs-margin-right { + margin-right: @base-spacing-unit; + } + .xs-margin-right-negative { + margin-right: -@base-spacing-unit; + } + .xs-margin-right-half { + margin-right: @base-spacing-unit / 2; + } + .xs-margin-right-half-negative { + margin-right: -@base-spacing-unit / 2; + } + + .xs-margin-bottom-double { + margin-bottom: @base-spacing-unit*2; + } + .xs-margin-bottom-double-negative { + margin-bottom: -@base-spacing-unit*2; + } + .xs-margin-bottom { + margin-bottom: @base-spacing-unit; + } + .xs-margin-bottom-negative { + margin-bottom: -@base-spacing-unit; + } + .xs-margin-bottom-half { + margin-bottom: @base-spacing-unit / 2; + } + .xs-margin-bottom-half-negative { + margin-bottom: -@base-spacing-unit / 2; + } + + .xs-margin-left-double { + margin-left: @base-spacing-unit*2; + } + .xs-margin-left-double-negative { + margin-left: -@base-spacing-unit*2; + } + .xs-margin-left { + margin-left: @base-spacing-unit; + } + .xs-margin-left-negative { + margin-left: -@base-spacing-unit; + } + .xs-margin-left-half { + margin-left: @base-spacing-unit / 2; + } + .xs-margin-left-half-negative { + margin-left: -@base-spacing-unit / 2; + } + + .xs-margin-top-auto { + margin-top: auto; + } + .xs-margin-right-auto { + margin-right: auto; + } + .xs-margin-bottom-auto { + margin-bottom: auto; + } + .xs-margin-left-auto { + margin-left: auto; + } + + .xs-top-zero { + top: 0; + } + .xs-right-zero { + right: 0; + } + .xs-bottom-zero { + bottom: 0; + } + .xs-left-zero { + left: 0; + } + + .xs-top-auto { + top: auto; + } + .xs-right-auto { + right: auto; + } + .xs-bottom-auto { + bottom: auto; + } + .xs-left-auto { + left: auto; + } + + .xs-width-half { + width: 50%; + } + .xs-width-full { + width: 100%; + } + + .xs-text-center { + text-align: center; + } + .xs-text-left { + text-align: left; + } + .xs-text-right { + text-align: right; + } + + .xs-pull-none { + float: none !important; + } + .xs-pull-left { + float: left; + } + .xs-pull-right { + float: right; + } + + .xs-soft-double { + padding: @base-spacing-unit * 2 !important; + } + .xs-soft-double-top { + padding-top: @base-spacing-unit * 2 !important; + } + .xs-soft-double-bottom { + padding-bottom: @base-spacing-unit * 2 !important; + } + .xs-soft-double-right { + padding-right: @base-spacing-unit * 2 !important; + } + .xs-soft-double-left { + padding-left: @base-spacing-unit * 2 !important; + } + .xs-soft-double-ends { + padding-top: @base-spacing-unit * 2 !important; + padding-bottom: @base-spacing-unit * 2 !important; + } + .xs-soft-double-sides { + padding-left: @base-spacing-unit * 2 !important; + padding-right: @base-spacing-unit * 2 !important; + } + + .xs-soft { + padding: @base-spacing-unit !important; + } + .xs-soft-top { + padding-top: @base-spacing-unit !important; + } + .xs-soft-bottom { + padding-bottom: @base-spacing-unit !important; + } + .xs-soft-right { + padding-right: @base-spacing-unit !important; + } + .xs-soft-left { + padding-left: @base-spacing-unit !important; + } + .xs-soft-ends { + padding-top: @base-spacing-unit !important; + padding-bottom: @base-spacing-unit !important; + } + .xs-soft-sides { + padding-left: @base-spacing-unit !important; + padding-right: @base-spacing-unit !important; + } + + .xs-soft-half { + padding: @base-spacing-unit / 2 !important; + } + .xs-soft-half-top { + padding-top: @base-spacing-unit / 2 !important; + } + .xs-soft-half-bottom { + padding-bottom: @base-spacing-unit / 2 !important; + } + .xs-soft-half-right { + padding-right: @base-spacing-unit / 2 !important; + } + .xs-soft-half-left { + padding-left: @base-spacing-unit / 2 !important; + } + .xs-soft-half-ends { + padding-top: @base-spacing-unit / 2 !important; + padding-bottom: @base-spacing-unit / 2 !important; + } + .xs-soft-half-sides { + padding-left: @base-spacing-unit / 2 !important; + padding-right: @base-spacing-unit / 2 !important; + } + + .xs-hard { + padding: 0 !important; + } + .xs-hard-top { + padding-top: 0 !important; + } + .xs-hard-bottom { + padding-bottom: 0 !important; + } + .xs-hard-right { + padding-right: 0 !important; + } + .xs-hard-left { + padding-left: 0 !important; + } + .xs-hard-ends { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .xs-hard-sides { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .xs-push-double { + margin: @base-spacing-unit * 2 !important; + } + .xs-push-double-top { + margin-top: @base-spacing-unit * 2 !important; + } + .xs-push-double-bottom { + margin-bottom: @base-spacing-unit * 2 !important; + } + .xs-push-double-right { + margin-right: @base-spacing-unit * 2 !important; + } + .xs-push-double-left { + margin-left: @base-spacing-unit * 2 !important; + } + .xs-push-double-ends { + margin-top: @base-spacing-unit * 2 !important; + margin-bottom: @base-spacing-unit * 2 !important; + } + .xs-push-double-sides { + margin-left: @base-spacing-unit * 2 !important; + margin-right: @base-spacing-unit * 2 !important; + } + + .xs-push { + margin: @base-spacing-unit !important; + } + .xs-push-top { + margin-top: @base-spacing-unit !important; + } + .xs-push-bottom { + margin-bottom: @base-spacing-unit !important; + } + .xs-push-right { + margin-right: @base-spacing-unit !important; + } + .xs-push-left { + margin-left: @base-spacing-unit !important; + } + .xs-push-ends { + margin-top: @base-spacing-unit !important; + margin-bottom: @base-spacing-unit !important; + } + .xs-push-sides { + margin-left: @base-spacing-unit !important; + margin-right: @base-spacing-unit !important; + } + + .xs-push-half { + margin: @base-spacing-unit / 2 !important; + } + .xs-push-half-top { + margin-top: @base-spacing-unit / 2 !important; + } + .xs-push-half-bottom { + margin-bottom: @base-spacing-unit / 2 !important; + } + .xs-push-half-right { + margin-right: @base-spacing-unit / 2 !important; + } + .xs-push-half-left { + margin-left: @base-spacing-unit / 2 !important; + } + .xs-push-half-ends { + margin-top: @base-spacing-unit / 2 !important; + margin-bottom: @base-spacing-unit / 2 !important; + } + .xs-push-half-sides { + margin-left: @base-spacing-unit / 2 !important; + margin-right: @base-spacing-unit / 2 !important; + } + + .xs-push-quarter { + margin: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-top { + margin-top: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-bottom { + margin-bottom: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-right { + margin-right: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-left { + margin-left: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-ends { + margin-top: @base-spacing-unit / 4 !important; + margin-bottom: @base-spacing-unit / 4 !important; + } + .xs-push-quarter-sides { + margin-left: @base-spacing-unit / 4 !important; + margin-right: @base-spacing-unit / 4 !important; + } + + .xs-flush { + margin: 0 !important; + } + .xs-flush-top { + margin-top: 0 !important; + } + .xs-flush-bottom { + margin-bottom: 0 !important; + } + .xs-flush-right { + margin-right: 0 !important; + } + .xs-flush-left { + margin-left: 0 !important; + } + .xs-flush-ends { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .xs-flush-sides { + margin-left: 0 !important; + margin-right: 0 !important; + } +} diff --git a/RockWeb/Themes/NewSpring/Styles/_buttons.less b/RockWeb/Themes/NewSpring/Styles/_buttons.less new file mode 100644 index 00000000000..b2c6fd75b56 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_buttons.less @@ -0,0 +1,137 @@ +// Buttons +.btn { + font-family: @font-family-sans-serif; + font-weight: 500; + text-decoration: none; + vertical-align: bottom; + border-color: transparent; + transition: all .2s ease-in-out; + + &:active, + &.active { + .box-shadow(none); + } + + &:hover { + border-color: transparent; + } +} + +.btn i { + position: relative; + top: 1px; +} + +.btn-link:hover, .btn-link:active, .btn-link:focus { + text-decoration: none; +} + +.btn-xs { + font-size: 14px; +} + +.btn-share { + position: relative; + display: inline-block; + + ul { + position: absolute; + top: @base-spacing-unit; + left: 50%; + width: 200px; + margin-left: -100px; + } + + li { + display: inline-block; + width: 50px; + } +} + +.btn-disabled { .button-variant(@gray-light, @gray-lighter, @gray-lighter); } +.btn-default:hover { background-color: darken(@white,5%); border-color: darken(@white,5%); } +.btn-primary:active, .btn-primary:focus { background-color: @brand-primary; } +.btn-secondary { .button-variant(@white, @brand-secondary, @brand-secondary); } +.btn-tertiary { .button-variant(@white, @brand-tertiary, @brand-tertiary); } +.btn-gray-lighter { .button-variant(@gray-darker, @gray-lighter, @gray-lighter); } +.btn-gray-light { .button-variant(@gray-darker, @gray-light, @gray-light); } +.btn-gray-dark { .button-variant(@white, @gray-dark, @gray-dark); } +.btn-gray-darker { .button-variant(@white, @gray-darker, @gray-darker); } + +.btn-danger { .button-variant(@white, @brand-danger, @brand-danger); } + +.btn-facebook { + .button-variant(@white; @facebook; @facebook); +} + +.btn-twitter { + .button-variant(@white; @twitter; @twitter); +} + +.btn-google { + .button-variant(@white; @google; @google); +} + +.btn-pinterest { + .button-variant(@white; @pinterest; @pinterest); +} + +.btn .fa-xs, .fa-xs { + position: relative; + top: -1px; +} + +.btn .fa-lg, .fa-lg { + position: relative; + top: 1px; +} + + +.btn-play { + width: @base-spacing-unit*2; + height: @base-spacing-unit*2; + line-height: @base-spacing-unit*2; + background-color: @brand-primary; + border-radius: 1000px; + border: 3px solid @white; + transition: background-color .1s; + font-size: @font-size-base*.8; + transform: scale(1.65); + z-index: 1; + + &:hover { + color: @white; + background-color: @brand-secondary; + } + + .wistia_embed { + display: inline-block; + position: absolute !important; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: 1000px; + + .wistia_click_to_play { + position: absolute !important; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 1000px; + } + } + + i { + position: absolute !important; + top: 50% !important; + left: 50%; + height: 20px; + width: 20px; + line-height: 20px; + text-align: center; + margin-top: -10px; + margin-left: -9px; + } +} diff --git a/RockWeb/Themes/NewSpring/Styles/_cards.less b/RockWeb/Themes/NewSpring/Styles/_cards.less new file mode 100644 index 00000000000..f8173f62e35 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_cards.less @@ -0,0 +1,49 @@ +// Cards +.card { + border: 0px; +} + +.card-count { + position: absolute; + top: @base-spacing-unit/2; + right: @base-spacing-unit/2; + display: inline-block; + width: @base-spacing-unit * 1.2; + height: @base-spacing-unit * 1.2; + line-height: @base-spacing-unit * 1.3; +} + +.card-cap { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 5px; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +.card .full-screen { + transition: transform .5s; + outline: 1px solid transparent; + -webkit-backface-visibility: hidden; + transform: translateZ(0); + will-change: transform; + -webkit-perspective: 1000; +} + +.card:hover .full-screen { + transform: scale(1.05); +} + +.card-gradient { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgb(0,0,0); + background: linear-gradient(180deg, transparent 0%, #000 100%); + opacity: .7; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_charts.less b/RockWeb/Themes/NewSpring/Styles/_charts.less new file mode 100644 index 00000000000..5173010a1fb --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_charts.less @@ -0,0 +1,31 @@ +.chart { + height: 200px; + margin-bottom: 60px; + margin-right: -10px; + margin-left: -10px; +} +.chart-col { + padding-left: 7px !important; + padding-right: 7px !important; +} +.bar { + position: relative; + height: 200px; + border-radius: @border-radius-base; +} +.bar-fill { + position: absolute; + bottom: 0; + width: 100%; + border-radius: @border-radius-base; +} +.bar-label { + position: absolute; + bottom: 0; + left: 50%; + right: 0; + width: 40px; + margin-left: -20px; + margin-bottom: -45px; + transform: rotate(-90deg); +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_colors.less b/RockWeb/Themes/NewSpring/Styles/_colors.less new file mode 100644 index 00000000000..75f5bf653e7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_colors.less @@ -0,0 +1,125 @@ +.text-secondary { color: @brand-secondary; } +.text-tertiary { color: @brand-tertiary; } +.text-gray-lighter { color: darken(@gray-lighter, 10);} +.text-gray-light { color: @gray-light; } +.text-gray { color: @gray; } +.text-gray-dark { color: @gray-dark; } +.text-gray-darker { color: @gray-darker; } + +a.text-gray-dark:hover { + color: lighten(@gray-dark, 25); +} + +a.text-gray-light:hover { + color: @gray-light; +} + +a.text-gray-dark:focus { + color: @gray-dark; +} + +a.text-danger:hover { + color: darken(@brand-danger, 15) !important; +} + +.bg-facebook { background-color: @facebook !important; } +.bg-twitter { background-color: @twitter !important; } +.bg-instagram { background-color: @instagram !important; } +.bg-google { background-color: @google !important; } +.bg-pinterest { background-color: @pinterest !important; } + +.text-facebook { + color: @facebook; + + &:hover { + color: darken(@facebook, 15%); + } +} +.text-twitter { + color: @twitter; + + &:hover { + color: darken(@twitter, 15%); + } +} +.text-instagram { + color: @instagram; + + &:hover { + color: darken(@instagram, 15%); + } +} +.text-google { + color: @google; + + &:hover { + color: darken(@google, 15%); + } +} +.text-pinterest { + color: @pinterest; + + &:hover { + color: darken(@pinterest, 15%); + } +} +.text-youtube { + color: @youtube; + + &:hover { + color: darken(@youtube, 15%); + } +} + +.text-white, .text-white a:not(.btn), .text-white a:not(.btn):hover { color: @white; } +.text-white .panel-body a:not(.btn) { color: @brand-primary; } +.text-white .panel-body a:not(.btn):hover { color: @brand-secondary; } + +.text-white { + .panel-body { + background-color: @white; + color: @gray-darker; + + a:not(.btn) { + color: @brand-primary; + } + + h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + a { + color: @gray-darker; + + &:hover { + color: @brand-primary; + } + } + } + } +} + +.text-kidspring-primary { color: @kidspring-primary; } +.text-kidspring-secondary { color: @kidspring-secondary; } +.text-kidspring-tertiary { color: @kidspring-tertiary; } + +.bg-white { background-color: @white; } +.bg-secondary { background-color: @brand-secondary; } +.bg-tertiary { background-color: @brand-tertiary; } +.bg-success { background-color: @brand-success; } +.bg-info { background-color: @brand-info; } +.bg-warning { background-color: @brand-warning; } +.bg-danger { background-color: @brand-danger; } +.bg-kidspring-primary { background-color: @kidspring-primary; } +.bg-kidspring-secondary { background-color: @kidspring-secondary; } +.bg-kidspring-tertiary { background-color: @kidspring-tertiary; } + +.bg-gray-lighter { background-color: @gray-lighter; } +.bg-gray-light { background-color: @gray-light; } +.bg-gray { background-color: @gray; } +.bg-gray-dark { background-color: @gray-dark; } +.bg-gray-darker { background-color: @gray-darker; } +.bg-black { background-color: @black; } +.bg-white { background-color: @white; } + +.text-hover-white:hover { color: @white !important; } +.text-hover-primary:hover { color: @brand-primary !important; } +.text-hover-secondary:hover { color: @brand-secondary !important; } +.text-hover-tertiary:hover { color: @brand-tertiary !important; } \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_css-overrides.less b/RockWeb/Themes/NewSpring/Styles/_css-overrides.less new file mode 100644 index 00000000000..e69de29bb2d diff --git a/RockWeb/Themes/NewSpring/Styles/_dropdowns.less b/RockWeb/Themes/NewSpring/Styles/_dropdowns.less new file mode 100644 index 00000000000..52f4a31c507 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_dropdowns.less @@ -0,0 +1,22 @@ +// Dropdowns +.dropdown-menu { + font-family: @font-family-sans-serif; + overflow-y: auto; + + & > li { + & > a { + font-size: @font-size-base*.9; + font-weight: 500; + text-decoration: none; + padding-top: @base-spacing-unit/4 + 1; + padding-bottom: @base-spacing-unit/4 - 1; + // border-bottom: 1px solid rgba(0,0,0,.1); + } + + &:last-child { + & > a { + border-bottom: none; + } + } + } +} diff --git a/RockWeb/Themes/NewSpring/Styles/_floating.less b/RockWeb/Themes/NewSpring/Styles/_floating.less new file mode 100644 index 00000000000..7e81f074e07 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_floating.less @@ -0,0 +1,48 @@ +.floating(@vertical, @horizontal, @child: 'floated') { + + text-align: @horizontal; + &:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: @vertical; + margin-right: -0.25em; + } + + .floating-item{ + display: inline-block; + vertical-align: @vertical; + } + +} + +.floating { + .floating(middle, center, 'floating-item'); + + &.floating-left { + text-align: left; + } + + &.floating-right { + text-align: right; + } + + &.floating-top { + &:before { + vertical-align: top; + } + .floating-item { + vertical-align: top; + } + } + + &.floating-bottom { + &:before { + vertical-align: bottom; + } + .floating-item { + vertical-align: bottom; + } + } + + } \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_forms.less b/RockWeb/Themes/NewSpring/Styles/_forms.less new file mode 100644 index 00000000000..fda18ae23ac --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_forms.less @@ -0,0 +1,75 @@ +.form-control.input-width-sm, .input-group.input-width-sm, .form-control-group.input-width-sm input { + width: 80px; +} + +.select-wrapper { + position: relative; + display: inline-block; + cursor: pointer; + overflow: hidden; + + &:after { + content:'\f0d7'; + font-family:"Font Awesome 5 Pro"; + position: absolute; + top: 50%; + right: 10px; + margin-top: -11px; + font-weight: 900; + color: @white; + cursor: pointer; + } + + select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; /* remove default arrow */ + background-color: @brand-primary; + border: 0; + padding: 6px 10px 5px; + padding-right: 30px; + font-family: @font-family-sans-serif; + font-weight: 500; + color: @white; + outline: none; + cursor: pointer; + border-radius: 4px; + } + + select::-ms-expand { + display: none; /* hide the default arrow in ie10 and ie11 */ + } + +} + +// Checkboxes + +.checkbox input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.radio label, .checkbox label { + margin-left: 7px; +} + +.checkbox .label-text:before { + content: "\f0c8"; + font-family: "Font Awesome 5 Pro"; + font-size: 24px; + font-weight: 300; + position: absolute; + left: 0; + height: 25px; + width: 25px; + color: @brand-primary; +} + +.checkbox input:checked + .label-text:before { + content: "\f14a"; + font-weight: 900; + color: @brand-primary; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_grids.less b/RockWeb/Themes/NewSpring/Styles/_grids.less new file mode 100644 index 00000000000..8600f211d99 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_grids.less @@ -0,0 +1,87 @@ +// Grid +.row-reverse { + direction:rtl; + + * { + direction: ltr; + } +} + +.row { + margin-left: -@base-spacing-unit/2; + margin-right: -@base-spacing-unit/2; + + .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + padding-left: @base-spacing-unit/2; + padding-right: @base-spacing-unit/2; + } +} + +.form-row { + margin-left: -@base-spacing-unit/2; + margin-right: -@base-spacing-unit/2; +} + +.row-condensed { + margin-left: -@base-spacing-unit/4; + margin-right: -@base-spacing-unit/4; + + .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + padding-left: @base-spacing-unit/4; + padding-right: @base-spacing-unit/4; + } +} + +// Converted Grid to Inline +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + display: inline-block; + float: none; + vertical-align: top; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_helpers.less b/RockWeb/Themes/NewSpring/Styles/_helpers.less new file mode 100644 index 00000000000..b34ef04cc79 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_helpers.less @@ -0,0 +1,653 @@ +// Helper Classes + +.strong { + font-weight: 500; +} +.stronger { + font-weight: 700; +} +.strongest { + font-weight: 900; +} +.serif { + font-family: @font-family-serif !important; +} +.sans-serif { + font-family: @font-family-sans-serif !important; +} +.italic { + font-style: italic; +} +.no-breaks { + white-space: nowrap; +} +.text-smaller { + font-size: 0.8em; +} +.text-constrained { + max-width: 700px; +} +.page-constrained { + max-width: 1480px; +} +.text-wrap { + /* These are technically the same, but use both */ + overflow-wrap: break-word; + word-wrap: break-word; + + -ms-word-break: break-all; + /* This is the dangerous one in WebKit, as it breaks things wherever */ + word-break: break-all; + /* Instead use this non-standard one: */ + word-break: break-word; + + /* Adds a hyphen where the word breaks, if supported (No Blink) */ + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} +.mx-auto { + margin-left: auto; + margin-right: auto; +} +.letter-spacing-condensed { + letter-spacing: -0.5px; +} +.letter-spacing-normal { + letter-spacing: normal; +} +.clickable { + cursor: pointer; +} +.no-break { + white-space: nowrap; +} + +.text-center { + ul, + ol { + text-align: left; + } +} + +.no-border { + border: none; +} + +.rounded { + border-radius: @border-radius-base; +} +.rounded-top { + border-top-left-radius: @border-radius-base; + border-top-right-radius: @border-radius-base; +} +.rounded-bottom { + border-bottom-left-radius: @border-radius-base; + border-bottom-right-radius: @border-radius-base; +} +.rounded-top-left { + border-top-left-radius: @border-radius-base; +} +.rounded-top-right { + border-top-right-radius: @border-radius-base; +} +.rounded-bottom-left { + border-bottom-left-radius: @border-radius-base; +} +.rounded-bottom-right { + border-bottom-right-radius: @border-radius-base; +} + +@circular-radius: 5000px; + +.circular { + border-radius: @circular-radius; +} +.circular-top { + border-top-left-radius: @circular-radius; + border-top-right-radius: @circular-radius; +} +.circular-bottom { + border-bottom-left-radius: @circular-radius; + border-bottom-right-radius: @circular-radius; +} +.circular-top-left { + border-top-left-radius: @circular-radius; +} +.circular-top-right { + border-top-right-radius: @circular-radius; +} +.circular-bottom-left { + border-bottom-left-radius: @circular-radius; +} +.circular-bottom-right { + border-bottom-right-radius: @circular-radius; +} + +.shadowed { + box-shadow: 0 1px 3px fade(@gray-darker, 25%), + 0 3px 0px fade(@gray-darker, 10%); +} +.grayscale { + filter: grayscale(1); +} + +// Positioning +.position-absolute { + position: absolute !important; +} +.position-relative { + position: relative !important; +} +.position-fixed { + position: fixed !important; +} + +.position-left-boundry { + top: 50%; + bottom: auto; + left: 0; + right: auto; +} +.position-right-boundry { + top: 50%; + bottom: auto; + left: auto; + right: 0; +} +.position-top-boundry { + top: 0; + bottom: auto; + left: 50%; + right: auto; +} +.position-bottom-boundry { + top: auto; + bottom: 0; + left: 50%; + right: auto; +} + +.margin-top-double { + margin-top: @base-spacing-unit*2; +} +.margin-top-double-negative { + margin-top: -@base-spacing-unit*2; +} +.margin-top { + margin-top: @base-spacing-unit; +} +.margin-top-negative { + margin-top: -@base-spacing-unit; +} +.margin-top-half { + margin-top: @base-spacing-unit / 2; +} +.margin-top-half-negative { + margin-top: -@base-spacing-unit / 2; +} + +.margin-right-double { + margin-right: @base-spacing-unit*2; +} +.margin-right-double-negative { + margin-right: -@base-spacing-unit*2; +} +.margin-right { + margin-right: @base-spacing-unit; +} +.margin-right-negative { + margin-right: -@base-spacing-unit; +} +.margin-right-half { + margin-right: @base-spacing-unit / 2; +} +.margin-right-half-negative { + margin-right: -@base-spacing-unit / 2; +} + +.margin-bottom-double { + margin-bottom: @base-spacing-unit*2; +} +.margin-bottom-double-negative { + margin-bottom: -@base-spacing-unit*2; +} +.margin-bottom { + margin-bottom: @base-spacing-unit; +} +.margin-bottom-negative { + margin-bottom: -@base-spacing-unit; +} +.margin-bottom-half { + margin-bottom: @base-spacing-unit / 2; +} +.margin-bottom-half-negative { + margin-bottom: -@base-spacing-unit / 2; +} + +.margin-left-double { + margin-left: @base-spacing-unit*2; +} +.margin-left-double-negative { + margin-left: -@base-spacing-unit*2; +} +.margin-left { + margin-left: @base-spacing-unit; +} +.margin-left-negative { + margin-left: -@base-spacing-unit; +} +.margin-left-half { + margin-left: @base-spacing-unit / 2; +} +.margin-left-half-negative { + margin-left: -@base-spacing-unit / 2; +} + +.margin-top-auto { + margin-top: auto; +} +.margin-right-auto { + margin-right: auto; +} +.margin-bottom-auto { + margin-bottom: auto; +} +.margin-left-auto { + margin-left: auto; +} + +.top-zero { + top: 0; +} +.right-zero { + right: 0; +} +.bottom-zero { + bottom: 0; +} +.left-zero { + left: 0; +} + +.top-half { + top: 50%; +} +.right-half { + right: 50%; +} +.bottom-half { + bottom: 50%; +} +.left-half { + left: 50%; +} + +.top-auto { + top: auto; +} +.right-auto { + right: auto; +} +.bottom-auto { + bottom: auto; +} +.left-auto { + left: auto; +} + +.width-half { + width: 50%; +} +.width-full { + width: 100%; +} + +.parent-hover-visible { + opacity: 0; + transition: opacity 0.1s ease-in-out; +} + +*:hover > .parent-hover-visible { + opacity: 1; +} + +.full-screen { + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; +} + +.background-cover { + background-size: cover; +} +.background-center { + background-position: center; +} + +.background-left { + background-position: left; +} +.background-right { + background-position: right; +} + +.bring-forward { + position: relative; + z-index: 1; +} + +.overflow-hidden { + overflow: hidden; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); +} + +.overflow-y-auto { + overflow-y: auto; +} +.overflow-x-auto { + overflow-x: auto; +} + +.display-none { + display: none !important; +} +.display-block { + display: block; +} +.display-inline-block { + display: inline-block; +} + +.vertical-align-middle { + vertical-align: middle; +} + +.list-relaxed li { + margin-bottom: @base-spacing-unit / 5; +} +.list-style-none { + list-style-type: none; +} +.list-inline li { + display: inline-block; +} + +.text-decoration-none { + text-decoration: none; + + &, + &:hover, + &:focus, + *, + *:hover, + *:focus { + text-decoration: none; + } +} + +@keyframes pulse { + 0% { + opacity: 0.7; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0.7; + } +} + +.pulse-opacity { + -webkit-animation: pulse 1.5s infinite ease-in-out; + -o-animation: pulse 1.5s infinite ease-in-out; + -ms-animation: pulse 1.5s infinite ease-in-out; + -moz-animation: pulse 1.5s infinite ease-in-out; + animation: pulse 1.5s infinite ease-in-out; +} + +.soft-double { + padding: @base-spacing-unit * 2 !important; +} +.soft-double-top { + padding-top: @base-spacing-unit * 2 !important; +} +.soft-double-bottom { + padding-bottom: @base-spacing-unit * 2 !important; +} +.soft-double-right { + padding-right: @base-spacing-unit * 2 !important; +} +.soft-double-left { + padding-left: @base-spacing-unit * 2 !important; +} +.soft-double-ends { + padding-top: @base-spacing-unit * 2 !important; + padding-bottom: @base-spacing-unit * 2 !important; +} +.soft-double-sides { + padding-left: @base-spacing-unit * 2 !important; + padding-right: @base-spacing-unit * 2 !important; +} + +.soft { + padding: @base-spacing-unit !important; +} +.soft-top { + padding-top: @base-spacing-unit !important; +} +.soft-bottom { + padding-bottom: @base-spacing-unit !important; +} +.soft-right { + padding-right: @base-spacing-unit !important; +} +.soft-left { + padding-left: @base-spacing-unit !important; +} +.soft-ends { + padding-top: @base-spacing-unit !important; + padding-bottom: @base-spacing-unit !important; +} +.soft-sides { + padding-left: @base-spacing-unit !important; + padding-right: @base-spacing-unit !important; +} + +.soft-half { + padding: @base-spacing-unit / 2 !important; +} +.soft-half-top { + padding-top: @base-spacing-unit / 2 !important; +} +.soft-half-bottom { + padding-bottom: @base-spacing-unit / 2 !important; +} +.soft-half-right { + padding-right: @base-spacing-unit / 2 !important; +} +.soft-half-left { + padding-left: @base-spacing-unit / 2 !important; +} +.soft-half-ends { + padding-top: @base-spacing-unit / 2 !important; + padding-bottom: @base-spacing-unit / 2 !important; +} +.soft-half-sides { + padding-left: @base-spacing-unit / 2 !important; + padding-right: @base-spacing-unit / 2 !important; +} + +.soft-quarter { + padding: @base-spacing-unit / 4 !important; +} +.soft-quarter-top { + padding-top: @base-spacing-unit / 4 !important; +} +.soft-quarter-bottom { + padding-bottom: @base-spacing-unit / 4 !important; +} +.soft-quarter-right { + padding-right: @base-spacing-unit / 4 !important; +} +.soft-quarter-left { + padding-left: @base-spacing-unit / 4 !important; +} +.soft-quarter-ends { + padding-top: @base-spacing-unit / 4 !important; + padding-bottom: @base-spacing-unit / 4 !important; +} +.soft-quarter-sides { + padding-left: @base-spacing-unit / 4 !important; + padding-right: @base-spacing-unit / 4 !important; +} + +.hard { + padding: 0 !important; +} +.hard-top { + padding-top: 0 !important; +} +.hard-bottom { + padding-bottom: 0 !important; +} +.hard-right { + padding-right: 0 !important; +} +.hard-left { + padding-left: 0 !important; +} +.hard-ends { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.hard-sides { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.push-double { + margin: @base-spacing-unit * 2 !important; +} +.push-double-top { + margin-top: @base-spacing-unit * 2 !important; +} +.push-double-bottom { + margin-bottom: @base-spacing-unit * 2 !important; +} +.push-double-right { + margin-right: @base-spacing-unit * 2 !important; +} +.push-double-left { + margin-left: @base-spacing-unit * 2 !important; +} +.push-double-ends { + margin-top: @base-spacing-unit * 2 !important; + margin-bottom: @base-spacing-unit * 2 !important; +} +.push-double-sides { + margin-left: @base-spacing-unit * 2 !important; + margin-right: @base-spacing-unit * 2 !important; +} + +.push { + margin: @base-spacing-unit !important; +} +.push-top { + margin-top: @base-spacing-unit !important; +} +.push-bottom { + margin-bottom: @base-spacing-unit !important; +} +.push-right { + margin-right: @base-spacing-unit !important; +} +.push-left { + margin-left: @base-spacing-unit !important; +} +.push-ends { + margin-top: @base-spacing-unit !important; + margin-bottom: @base-spacing-unit !important; +} +.push-sides { + margin-left: @base-spacing-unit !important; + margin-right: @base-spacing-unit !important; +} + +.push-half { + margin: @base-spacing-unit / 2 !important; +} +.push-half-top { + margin-top: @base-spacing-unit / 2 !important; +} +.push-half-bottom { + margin-bottom: @base-spacing-unit / 2 !important; +} +.push-half-right { + margin-right: @base-spacing-unit / 2 !important; +} +.push-half-left { + margin-left: @base-spacing-unit / 2 !important; +} +.push-half-ends { + margin-top: @base-spacing-unit / 2 !important; + margin-bottom: @base-spacing-unit / 2 !important; +} +.push-half-sides { + margin-left: @base-spacing-unit / 2 !important; + margin-right: @base-spacing-unit / 2 !important; +} + +.push-quarter { + margin: @base-spacing-unit / 4 !important; +} +.push-quarter-top { + margin-top: @base-spacing-unit / 4 !important; +} +.push-quarter-bottom { + margin-bottom: @base-spacing-unit / 4 !important; +} +.push-quarter-right { + margin-right: @base-spacing-unit / 4 !important; +} +.push-quarter-left { + margin-left: @base-spacing-unit / 4 !important; +} +.push-quarter-ends { + margin-top: @base-spacing-unit / 4 !important; + margin-bottom: @base-spacing-unit / 4 !important; +} +.push-quarter-sides { + margin-left: @base-spacing-unit / 4 !important; + margin-right: @base-spacing-unit / 4 !important; +} + +.flush { + margin: 0 !important; +} +.flush-top { + margin-top: 0 !important; +} +.flush-bottom { + margin-bottom: 0 !important; +} +.flush-right { + margin-right: 0 !important; +} +.flush-left { + margin-left: 0 !important; +} +.flush-ends { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.flush-sides { + margin-left: 0 !important; + margin-right: 0 !important; +} diff --git a/RockWeb/Themes/NewSpring/Styles/_images.less b/RockWeb/Themes/NewSpring/Styles/_images.less new file mode 100644 index 00000000000..400b7c1db1f --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_images.less @@ -0,0 +1,19 @@ +.split-image-container { + @media (min-width: @screen-md-min) { + position: fixed; + top: 0; + right: 0; + bottom: 0; + width: 39%; + z-index: -1; + opacity: 1; + + .split-image { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_labels.less b/RockWeb/Themes/NewSpring/Styles/_labels.less new file mode 100644 index 00000000000..88011f9ab48 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_labels.less @@ -0,0 +1,31 @@ +// Labels +label { + font-weight: 500; +} + +.label { + text-decoration: none; + letter-spacing: -.5px; + + + &.sans-serif, .sans-serif & { + padding: .5em .6em; + + small { + padding: 0; + } + } + + &.text-uppercase { + padding: .3em .6em; + } + + &.circular { + padding: .4em .7em; + } + + &.rounded { + border-radius: 8px; + padding: .4em .6em .3em; + } +} diff --git a/RockWeb/Themes/NewSpring/Styles/_layout.less b/RockWeb/Themes/NewSpring/Styles/_layout.less new file mode 100644 index 00000000000..b77d4f58156 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_layout.less @@ -0,0 +1,49 @@ +// Layout + +html { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: @gray-dark; +} + +body { + background-color: @gray-dark; +} + +.split { + position: absolute; + top: 0; + bottom: 0; + width: 50%; + + &.split-left { + left: 0; + } + + &.split-right { + right: 0; + } + + @media (max-width: @screen-sm-max) { + position: relative; + top: auto; + right: auto; + bottom: auto; + left: auto; + width: 100%; + display: block; + border-bottom: 1px solid rgba(0,0,0,.1); + + &:before{ + content: ""; + display: block; + padding-top: 100%; + } + } + + @media (max-width: @screen-sm-min) { + &:before { + padding-top: 100%; + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_navigation.less b/RockWeb/Themes/NewSpring/Styles/_navigation.less new file mode 100644 index 00000000000..6bc1fa5d343 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_navigation.less @@ -0,0 +1,151 @@ +// Navigation + +#live-bar { + position: relative; + z-index: 10; +} + +#navigation-wrapper { + position: fixed; + top: 0; + width: 100%; + z-index: @zindex-navbar; + transition: all .1s ease-in-out; +} + +body.block-highlight #navigation-wrapper { + position: absolute; +} + +body.modal-open #navigation-wrapper { + z-index: 1; +} + +.nav { + font-family: @font-family-sans-serif; + font-weight: 700; + + a { + font-size: 16px; + text-decoration: none; + } +} + +.nav-logo { + span { + position: absolute; + top: 22px; + left: 70px; + font-size: @font-size-base*.95; + line-height: 1.05; + font-weight: 900; + text-transform: uppercase; + text-align: left; + } +} + +.nav-primary { + position: relative; + z-index: 1; + box-shadow: 0 0 6px rgba(0,0,0,.2); + background-color: @white; + transition: all .2s ease-in-out; + + .nav-icon { + position: relative; + z-index: 1; + width: 35px; + } + + li { + position: relative; + display: inline-block; + width: @nav-width; + } + + a { + position: relative; + display: inline-block; + width: 100%; + height: @nav-width; + line-height: @nav-width; + text-align: center; + color: @gray-darker; + outline: none; + border-left: 1px solid rgba(0,0,0,.05); + + i { + font-size: 1.1em; + } + } + + .nav-logo { + border-left: 0; + } + + li:last-child a { + border-right: 0; + } + + li:nth-child(6n) a { + border-right: 0; + } + + .nav-transparent & { + background-color: transparent; + box-shadow: none; + background: rgb(0,0,0); + background: linear-gradient(180deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 100%); + + a { + border-left: transparent; + color: @white; + } + } + + // Raise navigation icon position for iPhone X + @media only screen and (device-width : 375px) and (device-height : 812px) + and (-webkit-device-pixel-ratio : 3) { + a { + line-height: @nav-width - 10; + } + } + + @desk-nav-start: (@screen-sm-min + 1); + + @media (min-width: @desk-nav-start) { + li { + width: 25%; + } + + .nav-logo { + span { + display: block; + } + } + + .nav-icon { + width: 36px; + } + + a { + width: @nav-width; + + i { + position: relative; + z-index: 2; + font-size: 1.25em; + } + } + } +} + +.nav-secondary { + li { + a { + &:focus { + color: @brand-primary; + } + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_notes.less b/RockWeb/Themes/NewSpring/Styles/_notes.less new file mode 100644 index 00000000000..aa6302afa8b --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_notes.less @@ -0,0 +1,63 @@ +.notes .panel-heading { + display: none; +} + +.notes .note-editor { + margin: 0; + padding: @padding-base-horizontal*2; + background-color: @white; + border-radius: @border-radius-large; +} + +.notes .note-editor textarea { + resize: none; + padding: @padding-base-horizontal; + color: @gray-darker; + box-shadow: none; +} + +.note-editor .settings { + padding: @padding-base-horizontal; +} + +.note-editor .meta-body:focus, .note-editor .meta-body:focus-within, .note-editor .meta-body.focus-within { + border-color: transparent; + box-shadow: none; +} + +.note-editor .meta-body { + border-radius: @border-radius-large; + border-color: transparent; + overflow: hidden; +} + +.notes .panel, +.notes .panel-body { + background-color: transparent; + border-radius: 0; + box-shadow: none; +} + +.note { + word-wrap: break-word; + border: 0px; +} + +.note-editor .settings .noteentry-notetype { + height: 36px; + font-size: 16px; + font-family: @font-family-sans-serif; + margin-right: 10px; +} + +.note-editor .settings .checkbox { + font-size: 16px; + margin-top: 6px !important; +} + +.note .note-comments { + position: relative; + z-index: 1; + background-color: transparent; + border: 0; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_pagination.less b/RockWeb/Themes/NewSpring/Styles/_pagination.less new file mode 100644 index 00000000000..d0ed2b4d6cd --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_pagination.less @@ -0,0 +1,48 @@ +// Pagination +.pagination > li:first-child > a, +.pagination > li:first-child > span, +.pagination > li:last-child > a, +.pagination > li:last-child > span { + background-color: @gray-darker; + color: @white; +} + +.pagination > li > a, +.pagination > li > span { + border-width: 3px; + margin-left: -3px; +} + +.pagination > .active > a, +.pagination > .active > a:hover, +.pagination > .active > a:focus, +.pagination > .active > span, +.pagination > .active > span:hover, +.pagination > .active > span:focus { + border-color: @gray-darker; +} + +.pagination > li > a:hover, +.pagination > li > a:focus, +.pagination > li > span:hover, +.pagination > li > span:focus { + border-color: @gray-darker; +} + +.pagination > li > a:hover, +.pagination > li > a:focus, +.pagination > li > span:hover, +.pagination > li > span:focus { + color: @gray-darker; +} + +.pagination > li:first-child > a:hover, +.pagination > li:first-child > span:hover, +.pagination > li:last-child > a:hover, +.pagination > li:last-child > span:hover, +.pagination > li:first-child > a:focus, +.pagination > li:first-child > span:focus, +.pagination > li:last-child > a:focus, +.pagination > li:last-child > span:focus { + color: @brand-primary; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_panels.less b/RockWeb/Themes/NewSpring/Styles/_panels.less new file mode 100644 index 00000000000..12f24eb0624 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_panels.less @@ -0,0 +1,91 @@ +@import "_variables"; + +// Panels +.panel { + border: 0; + margin-bottom: @base-spacing-unit/2; + border-radius: @border-radius-large; + box-shadow: none; + + &.card { + background-color: transparent; + } + + @media (min-width: @screen-sm-min) { + margin-bottom: @base-spacing-unit; + } +} + +.panel.panel-primary, +.panel.panel-secondary, +.panel.panel-tertiary, +.panel.panel-success, +.panel.panel-info, +.panel.panel-warning, +.panel.panel-danger { + border-top: 5px solid @gray-lighter; +} + +.panel.panel-primary, .panel.panel-success { + border-color: @brand-primary; +} + +.panel.panel-secondary { + border-color: @brand-secondary; +} + +.panel.panel-tertiary { + border-color: @brand-tertiary; +} + +.panel.panel-info { + border-color: @brand-info; +} + +.panel.panel-warning { + border-color: @brand-warning; +} + +.panel.panel-danger { + border-color: @brand-danger; +} + +.panel > .panel-heading { + font-family: @font-family-sans-serif; + font-weight: 700; + letter-spacing: -.5px; +} + +.panel-default > .panel-heading { + border-bottom: 1px solid darken(@gray-lighter,4%); +} + +.panel .panel-title { + margin-top: 2px; +} + +.panel-body { + padding: @base-spacing-unit; + z-index: 0; + position: relative; +} + +.panel-image { + position: relative; + display: block; + border-top-left-radius: @border-radius-base; + border-top-right-radius: @border-radius-base; + + img { + display: block; + max-width: 100%; + } + + .label { + margin-bottom: -18px; + + @media (min-width: @screen-sm-min) { + margin-bottom: -15px; + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_ratios.less b/RockWeb/Themes/NewSpring/Styles/_ratios.less new file mode 100644 index 00000000000..987f24e3633 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_ratios.less @@ -0,0 +1,38 @@ +// Fixed Aspect Ratios +.ratio-thin, +.ratio-landscape, +.ratio-shuare, +.ratio-square, +.ratio-portrait { + position: relative; + display: block; + + .ratio-item { + position: absolute; + right: 0; + bottom: 0; + left: 0; + top: 0; + } + + &:before { + content: ""; + display: block; + } +} + +.ratio-thin:before { + padding-top: 35%; +} +.ratio-landscape:before { + padding-top: 50%; +} +.ratio-shuare:before { + padding-top: 70%; +} +.ratio-square:before { + padding-top: 100%; +} +.ratio-portrait:before { + padding-top: 150%; +} diff --git a/RockWeb/Themes/NewSpring/Styles/_search.less b/RockWeb/Themes/NewSpring/Styles/_search.less new file mode 100644 index 00000000000..edd9341116c --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_search.less @@ -0,0 +1,54 @@ +.input-search { + position: relative; + background-color: transparent; + border: 0; + width: auto; + padding-right: 15px !important; + + &.jumbo { + font-size: 42px; + letter-spacing: -1.5px !important; + } + + &::placeholder { + color: @white; + opacity: .2; + } + +} + +.search-result { + b { + background-color: #ffffa6; + } +} + +.input-clear { + top: 50%; + margin-top: -29px; + right: -70px; + opacity: .2; + height: 60px; + width: 70px; + line-height: 60px; + text-align: center; + cursor: pointer; + color: #fff; + font-weight: 900; + padding-top: 10px; + + &:hover { + opacity: 1; + font-weight: 900; + color: #c64f55; + } +} + +@media only screen and (max-width: @screen-sm-min) { + .input-search { + &.jumbo { + font-size: 24px; + letter-spacing: -1px !important; + } + } +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_swiper.less b/RockWeb/Themes/NewSpring/Styles/_swiper.less new file mode 100644 index 00000000000..72f11c7cfcb --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_swiper.less @@ -0,0 +1,776 @@ +/** + * Swiper 4.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://www.idangero.us/swiper/ + * + * Copyright 2014-2018 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: September 14, 2018 + */ +.swiper-container { + margin: 0 auto; + position: relative; + overflow: hidden; + list-style: none; + padding: 0; + /* Fix of Webkit flickering */ + z-index: 1; +} + +.swiper-container-no-flexbox .swiper-slide { + float: left; +} + +.swiper-container-vertical>.swiper-wrapper { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + -o-transition-property: transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + +.swiper-container-android .swiper-slide, +.swiper-wrapper { + -webkit-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); +} + +.swiper-container-multirow>.swiper-wrapper { + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.swiper-container-free-mode>.swiper-wrapper { + -webkit-transition-timing-function: ease-in-out; + -o-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + margin: 0 auto; +} + +.swiper-slide { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + -o-transition-property: transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + + @media (min-width: @screen-sm-min) { + opacity: .6; + transition: opacity .3s ease-in-out; + + &.swiper-slide-active { + opacity: 1; + } + } +} + +.swiper-slide-invisible-blank { + visibility: hidden; +} + +/* Auto Height */ +.swiper-container-autoheight, +.swiper-container-autoheight .swiper-slide { + height: auto; +} + +.swiper-container-autoheight .swiper-wrapper { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-transition-property: height, -webkit-transform; + transition-property: height, -webkit-transform; + -o-transition-property: transform, height; + transition-property: transform, height; + transition-property: transform, height, -webkit-transform; +} + +/* 3D Effects */ +.swiper-container-3d { + -webkit-perspective: 1200px; + perspective: 1200px; +} + +.swiper-container-3d .swiper-wrapper, +.swiper-container-3d .swiper-slide, +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom, +.swiper-container-3d .swiper-cube-shadow { + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; +} + +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; +} + +.swiper-container-3d .swiper-slide-shadow-left { + background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} + +.swiper-container-3d .swiper-slide-shadow-right { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} + +.swiper-container-3d .swiper-slide-shadow-top { + background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} + +.swiper-container-3d .swiper-slide-shadow-bottom { + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); + background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); +} + +/* IE10 Windows Phone 8 Fixes */ +.swiper-container-wp8-horizontal, +.swiper-container-wp8-horizontal>.swiper-wrapper { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.swiper-container-wp8-vertical, +.swiper-container-wp8-vertical>.swiper-wrapper { + -ms-touch-action: pan-x; + touch-action: pan-x; +} + +.swiper-button-prev, +.swiper-button-next { + position: absolute; + top: 50%; + width: 47px; + height: 64px; + margin-top: -22px; + z-index: 10; + cursor: pointer; + background-size: 22px 39px; + background-position: center; + background-repeat: no-repeat; + background-color: @white; + border-radius: 5px; + box-shadow: 0 0 15px rgba(0,0,0,.5); +} + +.swiper-prev, +.swiper-next { + position: absolute; + top: 50%; + width: 50px; + height: 50px; + margin-top: -50px; + z-index: 10; + cursor: pointer; + background-color: @brand-primary; + border-radius: 100px; + box-shadow: 0 0 15px rgba(0,0,0,.5); + outline: none; + -webkit-transition: opacity 2s ease-in-out; + transition: opacity .3s ease-in-out; + + i { + position: absolute; + top: 50%; + margin-top: -16px; + color: @white; + } + + &.swiper-button-disabled { + opacity: 0; + } +} + +.swiper-next { + right: 20px; + + i { + margin-left: 3px; + } +} + +.swiper-prev { + left: 20px; +} + +.swiper-button-prev.swiper-button-disabled, +.swiper-button-next.swiper-button-disabled { + opacity: 0.35; + cursor: auto; + pointer-events: none; +} + +.swiper-button-prev, +.swiper-container-rtl .swiper-button-next { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E"); + left: 10px; + right: auto; +} + +.swiper-button-next, +.swiper-container-rtl .swiper-button-prev { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E"); + right: 10px; + left: auto; +} + +.swiper-button-prev.swiper-button-white, +.swiper-container-rtl .swiper-button-next.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); +} + +.swiper-button-next.swiper-button-white, +.swiper-container-rtl .swiper-button-prev.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); +} + +.swiper-button-prev.swiper-button-black, +.swiper-container-rtl .swiper-button-next.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); +} + +.swiper-button-next.swiper-button-black, +.swiper-container-rtl .swiper-button-prev.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); +} + +.swiper-button-lock { + display: none; +} + +.swiper-pagination { + position: relative; + text-align: center; + -webkit-transition: 300ms opacity; + -o-transition: 300ms opacity; + transition: 300ms opacity; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + z-index: 10; +} + +.swiper-pagination.swiper-pagination-hidden { + opacity: 0; +} + +/* Common Styles */ +.swiper-pagination-fraction, +.swiper-pagination-custom, +.swiper-container-horizontal>.swiper-pagination-bullets { + bottom: auto; + left: 0; + width: 100%; +} + +/* Bullets */ +.swiper-pagination-bullets-dynamic { + overflow: hidden; + font-size: 0; +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + -webkit-transform: scale(0.33); + -ms-transform: scale(0.33); + transform: scale(0.33); + position: relative; +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { + -webkit-transform: scale(0.66); + -ms-transform: scale(0.66); + transform: scale(0.66); +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { + -webkit-transform: scale(0.33); + -ms-transform: scale(0.33); + transform: scale(0.33); +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { + -webkit-transform: scale(0.66); + -ms-transform: scale(0.66); + transform: scale(0.66); +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { + -webkit-transform: scale(0.33); + -ms-transform: scale(0.33); + transform: scale(0.33); +} + +.swiper-pagination-bullet { + width: 12px; + height: 12px; + display: inline-block; + border-radius: 100%; + background: #000; + opacity: 0.2; + + .bg-black &, + .bg-gray-darker &, + .bg-gray-dark &, + .bg-gray &, + .bg-primary &, + .bg-secondary &, + .bg-gray-tertiary & { + background: #fff; + } +} + +button.swiper-pagination-bullet { + border: none; + margin: 0; + padding: 0; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer; +} + +.swiper-pagination-bullet-active { + opacity: 1; + background: #6bac43 !important; +} + +.swiper-container-vertical>.swiper-pagination-bullets { + right: 10px; + top: 50%; + -webkit-transform: translate3d(0px, -50%, 0); + transform: translate3d(0px, -50%, 0); +} + +.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 6px 0; + display: block; +} + +.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + width: 8px; +} + +.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + display: inline-block; + -webkit-transition: 200ms top, 200ms -webkit-transform; + transition: 200ms top, 200ms -webkit-transform; + -o-transition: 200ms transform, 200ms top; + transition: 200ms transform, 200ms top; + transition: 200ms transform, 200ms top, 200ms -webkit-transform; +} + +.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 0 4px; +} + +.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); + white-space: nowrap; +} + +.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + -webkit-transition: 200ms left, 200ms -webkit-transform; + transition: 200ms left, 200ms -webkit-transform; + -o-transition: 200ms transform, 200ms left; + transition: 200ms transform, 200ms left; + transition: 200ms transform, 200ms left, 200ms -webkit-transform; +} + +.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + -webkit-transition: 200ms right, 200ms -webkit-transform; + transition: 200ms right, 200ms -webkit-transform; + -o-transition: 200ms transform, 200ms right; + transition: 200ms transform, 200ms right; + transition: 200ms transform, 200ms right, 200ms -webkit-transform; +} + +/* Progress */ +.swiper-pagination-progressbar { + background: rgba(0, 0, 0, 0.25); + position: absolute; +} + +.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + background: #007aff; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: left top; + -ms-transform-origin: left top; + transform-origin: left top; +} + +.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + -webkit-transform-origin: right top; + -ms-transform-origin: right top; + transform-origin: right top; +} + +.swiper-container-horizontal>.swiper-pagination-progressbar, +.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { + width: 100%; + height: 4px; + left: 0; + top: 0; +} + +.swiper-container-vertical>.swiper-pagination-progressbar, +.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { + width: 4px; + height: 100%; + left: 0; + top: 0; +} + +.swiper-pagination-white .swiper-pagination-bullet-active { + background: #ffffff; +} + +.swiper-pagination-progressbar.swiper-pagination-white { + background: rgba(255, 255, 255, 0.25); +} + +.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { + background: #ffffff; +} + +.swiper-pagination-black .swiper-pagination-bullet-active { + background: #000000; +} + +.swiper-pagination-progressbar.swiper-pagination-black { + background: rgba(0, 0, 0, 0.25); +} + +.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { + background: #000000; +} + +.swiper-pagination-lock { + display: none; +} + +/* Scrollbar */ +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0, 0, 0, 0.1); +} + +.swiper-container-horizontal>.swiper-scrollbar { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98%; +} + +.swiper-container-vertical>.swiper-scrollbar { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98%; +} + +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + left: 0; + top: 0; +} + +.swiper-scrollbar-cursor-drag { + cursor: move; +} + +.swiper-scrollbar-lock { + display: none; +} + +.swiper-zoom-container { + width: 100%; + height: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + text-align: center; +} + +.swiper-zoom-container>img, +.swiper-zoom-container>svg, +.swiper-zoom-container>canvas { + max-width: 100%; + max-height: 100%; + -o-object-fit: contain; + object-fit: contain; +} + +.swiper-slide-zoomed { + cursor: move; +} + +/* Preloader */ +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + -webkit-transform-origin: 50%; + -ms-transform-origin: 50%; + transform-origin: 50%; + -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; + animation: swiper-preloader-spin 1s steps(12, end) infinite; +} + +.swiper-lazy-preloader:after { + display: block; + content: ''; + width: 100%; + height: 100%; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + background-position: 50%; + background-size: 100%; + background-repeat: no-repeat; +} + +.swiper-lazy-preloader-white:after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} + +@-webkit-keyframes swiper-preloader-spin { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes swiper-preloader-spin { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* a11y */ +.swiper-container .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000; +} + +.swiper-container-fade.swiper-container-free-mode .swiper-slide { + -webkit-transition-timing-function: ease-in-out; + -o-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; +} + +.swiper-container-fade .swiper-slide { + pointer-events: none; + -webkit-transition-property: opacity; + -o-transition-property: opacity; + transition-property: opacity; +} + +.swiper-container-fade .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-container-fade .swiper-slide-active, +.swiper-container-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-container-cube { + overflow: visible; +} + +.swiper-container-cube .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; + visibility: hidden; + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + width: 100%; + height: 100%; +} + +.swiper-container-cube .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-container-cube.swiper-container-rtl .swiper-slide { + -webkit-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + transform-origin: 100% 0; +} + +.swiper-container-cube .swiper-slide-active, +.swiper-container-cube .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-container-cube .swiper-slide-active, +.swiper-container-cube .swiper-slide-next, +.swiper-container-cube .swiper-slide-prev, +.swiper-container-cube .swiper-slide-next+.swiper-slide { + pointer-events: auto; + visibility: visible; +} + +.swiper-container-cube .swiper-slide-shadow-top, +.swiper-container-cube .swiper-slide-shadow-bottom, +.swiper-container-cube .swiper-slide-shadow-left, +.swiper-container-cube .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.swiper-container-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + background: #000; + opacity: 0.6; + -webkit-filter: blur(50px); + filter: blur(50px); + z-index: 0; +} + +.swiper-container-flip { + overflow: visible; +} + +.swiper-container-flip .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; +} + +.swiper-container-flip .swiper-slide .swiper-slide { + pointer-events: none; +} + +.swiper-container-flip .swiper-slide-active, +.swiper-container-flip .swiper-slide-active .swiper-slide-active { + pointer-events: auto; +} + +.swiper-container-flip .swiper-slide-shadow-top, +.swiper-container-flip .swiper-slide-shadow-bottom, +.swiper-container-flip .swiper-slide-shadow-left, +.swiper-container-flip .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.swiper-container-coverflow .swiper-wrapper { + /* Windows 8 IE 10 fix */ + -ms-perspective: 1200px; +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/Styles/_variables.less b/RockWeb/Themes/NewSpring/Styles/_variables.less new file mode 100644 index 00000000000..cfba61016b8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/Styles/_variables.less @@ -0,0 +1,911 @@ +@bootstrap-sass-asset-helper: false; +// +// Variables +// -------------------------------------------------- + +@base-spacing-unit: 28px; +@nav-width: 75px; + +//== Colors +// +//## Gray and brand colors for use across Bootstrap. + +@gray-base: #000; +@gray-darker: #1c1c1c; // #1c1c1c +@gray-dark: #303030; // #303030 +@gray: #555; // #555 +@gray-light: #aaa; // #858585 +@gray-lighter: #eee; // #dddddd +@white: #fff; +@black: #000; + +@facebook: #3C5A99; +@twitter: #1DA1F2; +@instagram: #F56040; +@google: #DB4437; +@pinterest: #BD081C; +@youtube: #FF0000; + +@brand-primary: #6bac43; +@brand-success: #6bac43; +@brand-info: #198FC8; // #00a5d6 +@brand-warning: #dba400; +@brand-danger: #d04441; + +@brand-secondary: #1C683E; +@brand-tertiary: #2a4930; + +@kidspring-primary: #198AD3; +@kidspring-secondary: #0C60AF; +@kidspring-tertiary: #70B32D; + +//== Scaffolding +// +//## Settings for some of the most global styles. + +//** Background color for ``. +@body-bg: #f3f3f3; +//** Global text color on ``. +@text-color: @gray-darker; + +//** Global textual link color. +@link-color: @brand-primary; +//** Link hover color set via `darken()` function. +@link-hover-color: @brand-secondary; +//** Link hover decoration. +@link-hover-decoration: underline; + + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +@font-family-sans-serif: colfax-web, sans-serif; +@font-family-serif: ff-meta-serif-web-pro, serif; +//** Default monospace fonts for ``, ``, and `
`.
+@font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace;
+@font-family-base:        @font-family-serif;
+
+@font-size-base:          19px;
+@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
+@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
+
+@font-size-h1:            floor((@font-size-base * 2.5)); // ~36px
+@font-size-h2:            floor((@font-size-base * 2.2)); // ~30px
+@font-size-h3:            ceil((@font-size-base * 1.65)); // ~24px
+@font-size-h4:            ceil((@font-size-base * 1.35)); // ~18px
+@font-size-h5:            ceil((@font-size-base * 1.15)); // ~12px
+@font-size-h6:            @font-size-base; // ~12px
+
+//** Unit-less `line-height` for use in components like buttons.
+@line-height-base:        1.333333; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px
+
+//** By default, this inherits from the ``.
+@headings-font-family:    inherit;
+@headings-font-weight:    700;
+@headings-line-height:    1.1;
+@headings-color:          inherit;
+
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//** Load fonts from this directory.
+
+// [converter] If @bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
+// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
+@icon-font-path: "../fonts/bootstrap/";
+
+//** File name for all font files.
+@icon-font-name:          "glyphicons-halflings-regular";
+//** Element ID within SVG icon file.
+@icon-font-svg-id:        "glyphicons_halflingsregular";
+
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+@padding-base-vertical:     6px;
+@padding-base-horizontal:   12px;
+
+@padding-large-vertical:    10px;
+@padding-large-horizontal:  16px;
+
+@padding-small-vertical:    5px;
+@padding-small-horizontal:  10px;
+
+@padding-xs-vertical:       3px;
+@padding-xs-horizontal:     8px;
+
+@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
+@line-height-small:         1.5;
+
+@border-radius-base:        5px;
+@border-radius-large:       12px;
+@border-radius-small:       3px;
+
+@button-base-vertical:     10px;
+@button-base-horizontal:   15px;
+
+@button-large-vertical:    10px;
+@button-large-horizontal:  16px;
+
+@button-small-vertical:    5px;
+@button-small-horizontal:  10px;
+
+@button-xs-vertical:       3px;
+@button-xs-horizontal:     8px;
+
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color:    #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg:       @brand-primary;
+
+//** Width of the `border` for generating carets that indicate dropdowns.
+@caret-width-base:          4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large:         5px;
+
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for ``s and ``s.
+@table-cell-padding:            8px;
+//** Padding for cells in `.table-condensed`.
+@table-condensed-cell-padding:  5px;
+
+//** Default background color used for all tables.
+@table-bg:                      transparent;
+//** Background color used for `.table-striped`.
+@table-bg-accent:               #f9f9f9;
+//** Background color used for `.table-hover`.
+@table-bg-hover:                #f5f5f5;
+@table-bg-active:               @table-bg-hover;
+
+//** Border color for table and cell borders.
+@table-border-color:            #ddd;
+
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+@button-base-vertical:          8px;
+@button-base-horizontal:        16px;
+
+@btn-font-weight:                normal;
+
+@btn-default-color:              @brand-primary;
+@btn-default-bg:                 @white;
+@btn-default-border:             @white;
+
+@btn-primary-color:              #fff;
+@btn-primary-bg:                 @brand-primary;
+@btn-primary-border:             @brand-primary;
+
+@btn-success-color:              #fff;
+@btn-success-bg:                 @brand-success;
+@btn-success-border:             @brand-success;
+
+@btn-info-color:                 #fff;
+@btn-info-bg:                    @brand-info;
+@btn-info-border:                @brand-info;
+
+@btn-warning-color:              #fff;
+@btn-warning-bg:                 @brand-warning;
+@btn-warning-border:             @brand-warning;
+
+@btn-danger-color:               #fff;
+@btn-danger-bg:                  @brand-danger;
+@btn-danger-border:              @brand-danger;
+
+@btn-link-disabled-color:        @gray-light;
+
+// Allows for customizing button radius independently from global border radius
+@btn-border-radius-base:         @border-radius-base;
+@btn-border-radius-large:        @border-radius-large;
+@btn-border-radius-small:        @border-radius-small;
+
+
+//== Forms
+//
+//##
+
+//** `` background color
+@input-bg:                       #fff;
+//** `` background color
+@input-bg-disabled:              @gray-lighter;
+
+//** Text color for ``s
+@input-color:                    @gray;
+//** `` border color
+@input-border:                   #ccc;
+
+// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
+//** Default `.form-control` border radius
+// This has no effect on ``s in CSS.
+@input-border-radius:            @border-radius-base;
+//** Large `.form-control` border radius
+@input-border-radius-large:      @border-radius-large;
+//** Small `.form-control` border radius
+@input-border-radius-small:      @border-radius-small;
+
+//** Border color for inputs on focus
+@input-border-focus:             @brand-primary;
+
+//** Placeholder text color
+@input-color-placeholder:        #999;
+
+//** Default `.form-control` height
+@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
+//** Large `.form-control` height
+@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
+//** Small `.form-control` height
+@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
+
+//** `.form-group` margin
+@form-group-margin-bottom:       15px;
+
+@legend-color:                   @gray-dark;
+@legend-border-color:            #e5e5e5;
+
+//** Background color for textual input addons
+@input-group-addon-bg:           @gray-lighter;
+//** Border color for textual input addons
+@input-group-addon-border-color: @input-border;
+
+//** Disabled cursor for form controls and buttons.
+@cursor-disabled:                not-allowed;
+
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//** Background for the dropdown menu.
+@dropdown-bg:                    #fff;
+//** Dropdown menu `border-color`.
+@dropdown-border:                rgba(0,0,0,.15);
+//** Dropdown menu `border-color` **for IE8**.
+@dropdown-fallback-border:       #ccc;
+//** Divider color for between dropdown items.
+@dropdown-divider-bg:            #e5e5e5;
+
+//** Dropdown link text color.
+@dropdown-link-color:            @gray-dark;
+//** Hover color for dropdown links.
+@dropdown-link-hover-color:      darken(@gray-dark, 5%);
+//** Hover background for dropdown links.
+@dropdown-link-hover-bg:         #f5f5f5;
+
+//** Active dropdown menu item text color.
+@dropdown-link-active-color:     @component-active-color;
+//** Active dropdown menu item background color.
+@dropdown-link-active-bg:        @component-active-bg;
+
+//** Disabled dropdown menu item background color.
+@dropdown-link-disabled-color:   @gray-light;
+
+//** Text color for headers within dropdown menus.
+@dropdown-header-color:          @gray-light;
+
+//** Deprecated `@dropdown-caret-color` as of v3.1.0
+@dropdown-caret-color:           #000;
+
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+@zindex-navbar:            1001;
+@zindex-dropdown:          1000;
+@zindex-popover:           1060;
+@zindex-tooltip:           1070;
+@zindex-navbar-fixed:      1030;
+@zindex-modal-background:  1040;
+@zindex-modal:             1050;
+
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+//** Deprecated `@screen-xs` as of v3.0.1
+@screen-xs:                  480px;
+//** Deprecated `@screen-xs-min` as of v3.2.0
+@screen-xs-min:              @screen-xs;
+//** Deprecated `@screen-phone` as of v3.0.1
+@screen-phone:               @screen-xs-min;
+
+// Small screen / tablet
+//** Deprecated `@screen-sm` as of v3.0.1
+@screen-sm:                  668px;
+@screen-sm-min:              @screen-sm;
+//** Deprecated `@screen-tablet` as of v3.0.1
+@screen-tablet:              @screen-sm-min;
+
+// Medium screen / desktop
+//** Deprecated `@screen-md` as of v3.0.1
+@screen-md:                  992px;
+@screen-md-min:              @screen-md;
+//** Deprecated `@screen-desktop` as of v3.0.1
+@screen-desktop:             @screen-md-min;
+
+// Large screen / wide desktop`
+//** Deprecated `@screen-lg` as of v3.0.1
+@screen-lg:                  1500px;
+@screen-lg-min:              @screen-lg;
+//** Deprecated `@screen-lg-desktop` as of v3.0.1
+@screen-lg-desktop:          @screen-lg-min;
+
+// So media queries don't overlap when required, provide a maximum
+@screen-xs-max:              (@screen-sm-min - 1);
+@screen-sm-max:              (@screen-md-min - 1);
+@screen-md-max:              (@screen-lg-min - 1);
+
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//** Number of columns in the grid.
+@grid-columns:              12;
+//** Padding between columns. Gets divided in half for the left and right.
+@grid-gutter-width:         30px;
+// Navbar collapse
+//** Point at which the navbar becomes uncollapsed.
+@grid-float-breakpoint:     @screen-sm-min;
+//** Point at which the navbar begins collapsing.
+@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
+
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+@container-tablet:             (720px + @grid-gutter-width);
+//** For `@screen-sm-min` and up.
+@container-sm:                 @container-tablet;
+
+// Medium screen / desktop
+@container-desktop:            (940px + @grid-gutter-width);
+//** For `@screen-md-min` and up.
+@container-md:                 @container-desktop;
+
+// Large screen / wide desktop
+@container-large-desktop:      (1240px + @grid-gutter-width);
+//** For `@screen-lg-min` and up.
+@container-lg:                 @container-large-desktop;
+
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+@navbar-height:                    50px;
+@navbar-margin-bottom:             @line-height-computed;
+@navbar-border-radius:             @border-radius-base;
+@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
+@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
+@navbar-collapse-max-height:       340px;
+
+@navbar-default-color:             #777;
+@navbar-default-bg:                #f8f8f8;
+@navbar-default-border:            darken(@navbar-default-bg, 6.5%);
+
+// Navbar links
+@navbar-default-link-color:                #777;
+@navbar-default-link-hover-color:          #333;
+@navbar-default-link-hover-bg:             transparent;
+@navbar-default-link-active-color:         #555;
+@navbar-default-link-active-bg:            darken(@navbar-default-bg, 6.5%);
+@navbar-default-link-disabled-color:       #ccc;
+@navbar-default-link-disabled-bg:          transparent;
+
+// Navbar brand label
+@navbar-default-brand-color:               @navbar-default-link-color;
+@navbar-default-brand-hover-color:         darken(@navbar-default-brand-color, 10%);
+@navbar-default-brand-hover-bg:            transparent;
+
+// Navbar toggle
+@navbar-default-toggle-hover-bg:           #ddd;
+@navbar-default-toggle-icon-bar-bg:        #888;
+@navbar-default-toggle-border-color:       #ddd;
+
+
+//=== Inverted navbar
+// Reset inverted navbar basics
+@navbar-inverse-color:                      lighten(@gray-light, 15%);
+@navbar-inverse-bg:                         #222;
+@navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);
+
+// Inverted navbar links
+@navbar-inverse-link-color:                 lighten(@gray-light, 15%);
+@navbar-inverse-link-hover-color:           #fff;
+@navbar-inverse-link-hover-bg:              transparent;
+@navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;
+@navbar-inverse-link-active-bg:             darken(@navbar-inverse-bg, 10%);
+@navbar-inverse-link-disabled-color:        #444;
+@navbar-inverse-link-disabled-bg:           transparent;
+
+// Inverted navbar brand label
+@navbar-inverse-brand-color:                @navbar-inverse-link-color;
+@navbar-inverse-brand-hover-color:          #fff;
+@navbar-inverse-brand-hover-bg:             transparent;
+
+// Inverted navbar toggle
+@navbar-inverse-toggle-hover-bg:            #333;
+@navbar-inverse-toggle-icon-bar-bg:         #fff;
+@navbar-inverse-toggle-border-color:        #333;
+
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+@nav-link-padding:                          11px 15px 10px;
+@nav-link-hover-bg:                         @gray-lighter;
+
+@nav-disabled-link-color:                   @gray-light;
+@nav-disabled-link-hover-color:             @gray-light;
+
+//== Tabs
+@nav-tabs-border-color:                     #ddd;
+
+@nav-tabs-link-hover-border-color:          @gray-lighter;
+
+@nav-tabs-active-link-hover-bg:             @body-bg;
+@nav-tabs-active-link-hover-color:          @gray;
+@nav-tabs-active-link-hover-border-color:   #ddd;
+
+@nav-tabs-justified-link-border-color:            #ddd;
+@nav-tabs-justified-active-link-border-color:     @body-bg;
+
+//== Pills
+@nav-pills-border-radius:                   @border-radius-base;
+@nav-pills-active-link-hover-bg:            @component-active-bg;
+@nav-pills-active-link-hover-color:         @component-active-color;
+
+
+//== Pagination
+//
+//##
+
+@pagination-color:                     @gray-darker;
+@pagination-bg:                        #fff;
+@pagination-border:                    @gray-darker;
+
+@pagination-hover-color:               @link-hover-color;
+@pagination-hover-bg:                  @gray-lighter;
+@pagination-hover-border:              #ddd;
+
+@pagination-active-color:              #fff;
+@pagination-active-bg:                 @brand-primary;
+@pagination-active-border:             @brand-primary;
+
+@pagination-disabled-color:            @gray-light;
+@pagination-disabled-bg:               #fff;
+@pagination-disabled-border:           #ddd;
+
+
+//== Pager
+//
+//##
+
+@pager-bg:                             @pagination-bg;
+@pager-border:                         @pagination-border;
+@pager-border-radius:                  15px;
+
+@pager-hover-bg:                       @pagination-hover-bg;
+
+@pager-active-bg:                      @pagination-active-bg;
+@pager-active-color:                   @pagination-active-color;
+
+@pager-disabled-color:                 @pagination-disabled-color;
+
+
+//== Jumbotron
+//
+//##
+
+@jumbotron-padding:              60px;
+@jumbotron-color:                inherit;
+@jumbotron-bg:                   @gray-lighter;
+@jumbotron-heading-color:        inherit;
+@jumbotron-font-size:            ceil((@font-size-base * 1.1));
+@jumbotron-heading-font-size:    ceil((@font-size-base * 3));
+
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+@state-success-text:             @brand-success;
+@state-success-bg:               #dff0d8;
+@state-success-border:           darken(spin(@state-success-bg, -10), 5%);
+
+@state-info-text:                @brand-info;
+@state-info-bg:                  #d9edf7;
+@state-info-border:              darken(spin(@state-info-bg, -10), 7%);
+
+@state-warning-text:             @brand-warning;
+@state-warning-bg:               #fcf8e3;
+@state-warning-border:           darken(spin(@state-warning-bg, -10), 5%);
+
+@state-danger-text:              @brand-danger;
+@state-danger-bg:                #f2dede;
+@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);
+
+
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
+@tooltip-max-width:           200px;
+//** Tooltip text color
+@tooltip-color:               #fff;
+//** Tooltip background color
+@tooltip-bg:                  #000;
+@tooltip-opacity:             .9;
+
+//** Tooltip arrow width
+@tooltip-arrow-width:         5px;
+//** Tooltip arrow color
+@tooltip-arrow-color:         @tooltip-bg;
+
+
+//== Popovers
+//
+//##
+
+//** Popover body background color
+@popover-bg:                          #fff;
+//** Popover maximum width
+@popover-max-width:                   276px;
+//** Popover border color
+@popover-border-color:                rgba(0,0,0,.2);
+//** Popover fallback border color
+@popover-fallback-border-color:       #ccc;
+
+//** Popover title background color
+@popover-title-bg:                    darken(@popover-bg, 3%);
+
+//** Popover arrow width
+@popover-arrow-width:                 10px;
+//** Popover arrow color
+@popover-arrow-color:                 @popover-bg;
+
+//** Popover outer arrow width
+@popover-arrow-outer-width:           (@popover-arrow-width + 1);
+//** Popover outer arrow color
+@popover-arrow-outer-color:           fade_in(@popover-border-color, 0.05);
+//** Popover outer arrow fallback color
+@popover-arrow-outer-fallback-color:  darken(@popover-fallback-border-color, 20%);
+
+
+//== Labels
+//
+//##
+
+//** Default label background color
+@label-default-bg:            @gray-light;
+//** Primary label background color
+@label-primary-bg:            @brand-primary;
+//** Secondary label background color
+@label-secondary-bg:            @brand-secondary;
+//** Tertiary label background color
+@label-tertiary-bg:            @brand-tertiary;
+//** Success label background color
+@label-success-bg:            @brand-success;
+//** Info label background color
+@label-info-bg:               @brand-info;
+//** Warning label background color
+@label-warning-bg:            @brand-warning;
+//** Danger label background color
+@label-danger-bg:             @brand-danger;
+
+//** Default label text color
+@label-color:                 #fff;
+//** Default text color of a linked label
+@label-link-hover-color:      #fff;
+
+
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
+@modal-inner-padding:         15px;
+
+//** Padding applied to the modal title
+@modal-title-padding:         15px;
+//** Modal title line-height
+@modal-title-line-height:     @line-height-base;
+
+//** Background color of modal content area
+@modal-content-bg:                             #fff;
+//** Modal content border color
+@modal-content-border-color:                   rgba(0,0,0,.2);
+//** Modal content border color **for IE8**
+@modal-content-fallback-border-color:          #999;
+
+//** Modal backdrop background color
+@modal-backdrop-bg:           #000;
+//** Modal backdrop opacity
+@modal-backdrop-opacity:      .5;
+//** Modal header border color
+@modal-header-border-color:   #e5e5e5;
+//** Modal footer border color
+@modal-footer-border-color:   @modal-header-border-color;
+//** Modal footer background color
+@modal-footer-bg: @gray-darker;
+
+@modal-lg:                    1200px;
+@modal-md:                    700px;
+@modal-sm:                    300px;
+
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+@alert-padding:               15px;
+@alert-border-radius:         @border-radius-base;
+@alert-link-font-weight:      bold;
+
+@alert-success-bg:            @state-success-bg;
+@alert-success-text:          @state-success-text;
+@alert-success-border:        @state-success-border;
+
+@alert-info-bg:               @state-info-bg;
+@alert-info-text:             @state-info-text;
+@alert-info-border:           @state-info-border;
+
+@alert-warning-bg:            @state-warning-bg;
+@alert-warning-text:          @state-warning-text;
+@alert-warning-border:        @state-warning-border;
+
+@alert-danger-bg:             @state-danger-bg;
+@alert-danger-text:           @state-danger-text;
+@alert-danger-border:         @state-danger-border;
+
+
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
+@progress-bg:                 #f5f5f5;
+//** Progress bar text color
+@progress-bar-color:          #fff;
+//** Variable for setting rounded corners on progress bar.
+@progress-border-radius:      @border-radius-base;
+
+//** Default progress bar color
+@progress-bar-bg:             @brand-primary;
+//** Success progress bar color
+@progress-bar-success-bg:     @brand-success;
+//** Warning progress bar color
+@progress-bar-warning-bg:     @brand-warning;
+//** Danger progress bar color
+@progress-bar-danger-bg:      @brand-danger;
+//** Info progress bar color
+@progress-bar-info-bg:        @brand-info;
+
+
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+@list-group-bg:                 #fff;
+//** `.list-group-item` border color
+@list-group-border:             #ddd;
+//** List group border radius
+@list-group-border-radius:      @border-radius-base;
+
+//** Background color of single list items on hover
+@list-group-hover-bg:           #f5f5f5;
+//** Text color of active list items
+@list-group-active-color:       @component-active-color;
+//** Background color of active list items
+@list-group-active-bg:          @component-active-bg;
+//** Border color of active list elements
+@list-group-active-border:      @list-group-active-bg;
+//** Text color for content within active list items
+@list-group-active-text-color:  lighten(@list-group-active-bg, 40%);
+
+//** Text color of disabled list items
+@list-group-disabled-color:      @gray-light;
+//** Background color of disabled list items
+@list-group-disabled-bg:         @gray-lighter;
+//** Text color for content within disabled list items
+@list-group-disabled-text-color: @list-group-disabled-color;
+
+@list-group-link-color:         #555;
+@list-group-link-hover-color:   @list-group-link-color;
+@list-group-link-heading-color: #333;
+
+
+//== Panels
+//
+//##
+
+@panel-bg:                    #fff;
+@panel-body-padding:          15px;
+@panel-heading-padding:       10px 15px 8px;
+@panel-footer-padding:        @panel-heading-padding;
+@panel-border-radius:         @border-radius-base;
+
+//** Border color for elements within panels
+@panel-inner-border:          #ddd;
+@panel-footer-bg:             #f5f5f5;
+
+@panel-default-text:          @gray-darker;
+@panel-default-border:        darken(@white,4%);
+@panel-default-heading-bg:    darken(@white,4%);
+
+@panel-primary-text:          @white;
+@panel-primary-border:        @brand-primary;
+@panel-primary-heading-bg:    @brand-primary;
+
+@panel-success-text:          @white;
+@panel-success-border:        @brand-primary;
+@panel-success-heading-bg:    @brand-primary;
+
+@panel-info-text:             @white;
+@panel-info-border:           @brand-info;
+@panel-info-heading-bg:       @brand-info;
+
+@panel-warning-text:          @white;
+@panel-warning-border:        @brand-warning;
+@panel-warning-heading-bg:    @brand-warning;
+
+@panel-danger-text:           @white;
+@panel-danger-border:         @brand-danger;
+@panel-danger-heading-bg:     @brand-danger;
+
+
+//== Thumbnails
+//
+//##
+
+//** Padding around the thumbnail image
+@thumbnail-padding:           4px;
+//** Thumbnail background color
+@thumbnail-bg:                @body-bg;
+//** Thumbnail border color
+@thumbnail-border:            #ddd;
+//** Thumbnail border radius
+@thumbnail-border-radius:     @border-radius-base;
+
+//** Custom text color for thumbnail captions
+@thumbnail-caption-color:     @text-color;
+//** Padding around the thumbnail caption
+@thumbnail-caption-padding:   9px;
+
+
+//== Wells
+//
+//##
+
+@well-bg:                     #f5f5f5;
+@well-border:                 darken(@well-bg, 7%);
+
+
+//== Badges
+//
+//##
+
+@badge-color:                 #fff;
+//** Linked badge text color on hover
+@badge-link-hover-color:      #fff;
+@badge-bg:                    @gray-light;
+
+//** Badge text color in active nav link
+@badge-active-color:          @link-color;
+//** Badge background color in active nav link
+@badge-active-bg:             #fff;
+
+@badge-font-weight:           bold;
+@badge-line-height:           1;
+@badge-border-radius:         10px;
+
+
+//== Breadcrumbs
+//
+//##
+
+@breadcrumb-padding-vertical:   8px;
+@breadcrumb-padding-horizontal: 15px;
+//** Breadcrumb background color
+@breadcrumb-bg:                 #f5f5f5;
+//** Breadcrumb text color
+@breadcrumb-color:              #ccc;
+//** Text color of current page in the breadcrumb
+@breadcrumb-active-color:       @gray-light;
+//** Textual separator for between breadcrumb elements
+@breadcrumb-separator:          "/";
+
+
+//== Carousel
+//
+//##
+
+@carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6);
+
+@carousel-control-color:                      #fff;
+@carousel-control-width:                      15%;
+@carousel-control-opacity:                    .5;
+@carousel-control-font-size:                  20px;
+
+@carousel-indicator-active-bg:                #fff;
+@carousel-indicator-border-color:             #fff;
+
+@carousel-caption-color:                      #fff;
+
+
+//== Close
+//
+//##
+
+@close-font-weight:           bold;
+@close-color:                 #000;
+@close-text-shadow:           0 1px 0 #fff;
+
+
+//== Code
+//
+//##
+
+@code-color:                  #c7254e;
+@code-bg:                     #f9f2f4;
+
+@kbd-color:                   #fff;
+@kbd-bg:                      #333;
+
+@pre-bg:                      #f5f5f5;
+@pre-color:                   @gray-dark;
+@pre-border-color:            #ccc;
+@pre-scrollable-max-height:   340px;
+
+
+//== Type
+//
+//##
+
+//** Horizontal offset for forms and lists.
+@component-offset-horizontal: 180px;
+//** Text muted color
+@text-muted:                  @gray-light;
+//** Abbreviations and acronyms border color
+@abbr-border-color:           @gray-light;
+//** Headings small color
+@headings-small-color:        @gray-light;
+//** Blockquote small color
+@blockquote-small-color:      @gray-light;
+//** Blockquote font size
+@blockquote-font-size:        (@font-size-base * 1.25);
+//** Blockquote border color
+@blockquote-border-color:     @gray-lighter;
+//** Page header border color
+@page-header-border-color:    @gray-lighter;
+//** Width of horizontal description list titles
+@dl-horizontal-offset:        @component-offset-horizontal;
+//** Point at which .dl-horizontal becomes horizontal
+@dl-horizontal-breakpoint:    @grid-float-breakpoint;
+//** Horizontal line color.
+@hr-border:                   @gray-lighter;
diff --git a/RockWeb/Themes/NewSpring/Styles/bootstrap.css b/RockWeb/Themes/NewSpring/Styles/bootstrap.css
new file mode 100644
index 00000000000..0fad674cfd3
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/Styles/bootstrap.css
@@ -0,0 +1,8 @@
+.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.333333333em;line-height:0.75em;vertical-align:-0.0667em}.fa-xs{font-size:0.75em}.fa-sm{font-size:0.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:0.1em;border:solid 0.08em #eee;padding:0.2em 0.25em 0.15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:0.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:0.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}
+100%{transform:rotate(360deg)}}
+.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";transform:scale(-1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f004"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f328"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.fa{font-family:'FontAwesome';font-weight:900}.fas{font-family:'FontAwesome';font-weight:900}.far{font-family:'FontAwesome';font-weight:400}.fal{font-family:'FontAwesome';font-weight:300}.fab{font-family:"FontAwesome Brands";font-weight:normal}.fa.fa-rating-selected:before,.fa.fa-rating-on:before{content:"\f005"}.fa.fa-rating-unselected:before,.fa.fa-rating-off:before{font-weight:400;content:"\f005"}.fa.fa-clone,.fa.fa-file-text-o,.fa.fa-refresh{font-family:'FontAwesome';font-weight:900}.fa-layers{position:relative;display:inline-block;width:1em;height:1em;text-align:center;vertical-align:-0.125em}.fa-layers i{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.fa-layers-counter{top:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:1.5em;max-width:5em;height:1.5em;padding:0.25em;overflow:hidden;line-height:1;color:#fff;text-overflow:ellipsis;background-color:#d04441;border-radius:1em;-webkit-transform:scale(0.25);transform:scale(0.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-counter,.fa-layers-text{position:absolute;display:inline-block;text-align:center}.fa.fa-500px,.fa.fa-accessible-icon,.fa.fa-accusoft,.fa.fa-adn,.fa.fa-adversal,.fa.fa-affiliatetheme,.fa.fa-algolia,.fa.fa-amazon,.fa.fa-amilia,.fa.fa-android,.fa.fa-angellist,.fa.fa-angrycreative,.fa.fa-angular,.fa.fa-app-store,.fa.fa-app-store-ios,.fa.fa-apper,.fa.fa-apple,.fa.fa-apple-pay,.fa.fa-asymmetrik,.fa.fa-audible,.fa.fa-autoprefixer,.fa.fa-avianex,.fa.fa-aviato,.fa.fa-aws,.fa.fa-bandcamp,.fa.fa-behance,.fa.fa-behance-square,.fa.fa-bimobject,.fa.fa-bitbucket,.fa.fa-bitcoin,.fa.fa-bity,.fa.fa-black-tie,.fa.fa-blackberry,.fa.fa-blogger,.fa.fa-blogger-b,.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-btc,.fa.fa-buromobelexperte,.fa.fa-buysellads,.fa.fa-cc-amex,.fa.fa-cc-apple-pay,.fa.fa-cc-diners-club,.fa.fa-cc-discover,.fa.fa-cc-jcb,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-centercode,.fa.fa-chrome,.fa.fa-cloudscale,.fa.fa-cloudsmith,.fa.fa-cloudversify,.fa.fa-codepen,.fa.fa-codiepie,.fa.fa-connectdevelop,.fa.fa-contao,.fa.fa-cpanel,.fa.fa-creative-commons,.fa.fa-css3,.fa.fa-css3-alt,.fa.fa-cuttlefish,.fa.fa-d-and-d,.fa.fa-dashcube,.fa.fa-delicious,.fa.fa-deploydog,.fa.fa-deskpro,.fa.fa-deviantart,.fa.fa-digg,.fa.fa-digital-ocean,.fa.fa-discord,.fa.fa-discourse,.fa.fa-dochub,.fa.fa-docker,.fa.fa-draft2digital,.fa.fa-dribbble,.fa.fa-dribbble-square,.fa.fa-dropbox,.fa.fa-drupal,.fa.fa-dyalog,.fa.fa-earlybirds,.fa.fa-edge,.fa.fa-ember,.fa.fa-empire,.fa.fa-envira,.fa.fa-erlang,.fa.fa-etsy,.fa.fa-expeditedssl,.fa.fa-facebook,.fa.fa-facebook-f,.fa.fa-facebook-messenger,.fa.fa-facebook-square,.fa.fa-firefox,.fa.fa-first-order,.fa.fa-firstdraft,.fa.fa-flickr,.fa.fa-fly,.fa.fa-font-awesome,.fa.fa-font-awesome-alt,.fa.fa-font-awesome-flag,.fa.fa-fonticons,.fa.fa-fonticons-fi,.fa.fa-fort-awesome,.fa.fa-fort-awesome-alt,.fa.fa-forumbee,.fa.fa-foursquare,.fa.fa-free-code-camp,.fa.fa-freebsd,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-git,.fa.fa-git-square,.fa.fa-github,.fa.fa-github-alt,.fa.fa-github-square,.fa.fa-gitkraken,.fa.fa-gitlab,.fa.fa-gitter,.fa.fa-glide,.fa.fa-glide-g,.fa.fa-gofore,.fa.fa-goodreads,.fa.fa-goodreads-g,.fa.fa-google,.fa.fa-google-drive,.fa.fa-google-play,.fa.fa-google-plus,.fa.fa-google-plus-g,.fa.fa-google-plus-square,.fa.fa-google-wallet,.fa.fa-gratipay,.fa.fa-grav,.fa.fa-gripfire,.fa.fa-grunt,.fa.fa-gulp,.fa.fa-hacker-news,.fa.fa-hacker-news-square,.fa.fa-hire-a-helper,.fa.fa-hooli,.fa.fa-hotjar,.fa.fa-houzz,.fa.fa-html5,.fa.fa-hubspot,.fa.fa-imdb,.fa.fa-instagram,.fa.fa-internet-explorer,.fa.fa-ioxhost,.fa.fa-itunes,.fa.fa-itunes-note,.fa.fa-jenkins,.fa.fa-joget,.fa.fa-joomla,.fa.fa-js,.fa.fa-js-square,.fa.fa-jsfiddle,.fa.fa-keycdn,.fa.fa-kickstarter,.fa.fa-kickstarter-k,.fa.fa-laravel,.fa.fa-lastfm,.fa.fa-lastfm-square,.fa.fa-leanpub,.fa.fa-less,.fa.fa-line,.fa.fa-linkedin,.fa.fa-linkedin-in,.fa.fa-linode,.fa.fa-linux,.fa.fa-lyft,.fa.fa-magento,.fa.fa-maxcdn,.fa.fa-medapps,.fa.fa-medium,.fa.fa-medium-m,.fa.fa-medrt,.fa.fa-meetup,.fa.fa-microsoft,.fa.fa-mix,.fa.fa-mixcloud,.fa.fa-mizuni,.fa.fa-modx,.fa.fa-monero,.fa.fa-napster,.fa.fa-nintendo-switch,.fa.fa-node,.fa.fa-node-js,.fa.fa-npm,.fa.fa-ns8,.fa.fa-nutritionix,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opencart,.fa.fa-openid,.fa.fa-opera,.fa.fa-optin-monster,.fa.fa-osi,.fa.fa-page4,.fa.fa-pagelines,.fa.fa-palfed,.fa.fa-patreon,.fa.fa-paypal,.fa.fa-periscope,.fa.fa-phabricator,.fa.fa-phoenix-framework,.fa.fa-pied-piper,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-pinterest,.fa.fa-pinterest-p,.fa.fa-pinterest-square,.fa.fa-playstation,.fa.fa-product-hunt,.fa.fa-pushed,.fa.fa-python,.fa.fa-qq,.fa.fa-quora,.fa.fa-ravelry,.fa.fa-react,.fa.fa-rebel,.fa.fa-red-river,.fa.fa-reddit,.fa.fa-reddit-alien,.fa.fa-reddit-square,.fa.fa-rendact,.fa.fa-renren,.fa.fa-replyd,.fa.fa-resolving,.fa.fa-rocketchat,.fa.fa-rockrms,.fa.fa-safari,.fa.fa-sass,.fa.fa-schlix,.fa.fa-scribd,.fa.fa-searchengin,.fa.fa-sellcast,.fa.fa-sellsy,.fa.fa-servicestack,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-sistrix,.fa.fa-skyatlas,.fa.fa-skype,.fa.fa-slack,.fa.fa-slack-hash,.fa.fa-slideshare,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-soundcloud,.fa.fa-speakap,.fa.fa-spotify,.fa.fa-stack-exchange,.fa.fa-stack-overflow,.fa.fa-staylinked,.fa.fa-steam,.fa.fa-steam-square,.fa.fa-steam-symbol,.fa.fa-sticker-mule,.fa.fa-strava,.fa.fa-stripe,.fa.fa-stripe-s,.fa.fa-studiovinari,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-superpowers,.fa.fa-supple,.fa.fa-telegram,.fa.fa-telegram-plane,.fa.fa-tencent-weibo,.fa.fa-themeisle,.fa.fa-trello,.fa.fa-tripadvisor,.fa.fa-tumblr,.fa.fa-tumblr-square,.fa.fa-twitch,.fa.fa-twitter,.fa.fa-twitter-square,.fa.fa-typo3,.fa.fa-uber,.fa.fa-uikit,.fa.fa-uniregistry,.fa.fa-untappd,.fa.fa-usb,.fa.fa-ussunnah,.fa.fa-vaadin,.fa.fa-viacoin,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-viber,.fa.fa-vimeo,.fa.fa-vimeo-square,.fa.fa-vimeo-v,.fa.fa-vine,.fa.fa-vk,.fa.fa-vnv,.fa.fa-vuejs,.fa.fa-weibo,.fa.fa-weixin,.fa.fa-whatsapp,.fa.fa-whatsapp-square,.fa.fa-whmcs,.fa.fa-wikipedia-w,.fa.fa-windows,.fa.fa-wordpress,.fa.fa-wordpress-simple,.fa.fa-wpbeginner,.fa.fa-wpexplorer,.fa.fa-wpforms,.fa.fa-xbox,.fa.fa-xing,.fa.fa-xing-square,.fa.fa-y-combinator,.fa.fa-yahoo,.fa.fa-yandex,.fa.fa-yandex-international,.fa.fa-yelp,.fa.fa-yoast,.fa.fa-youtube,.fa.fa-linkedin-square,.fa.fa-youtube-square,.fa.fa-youtube-play,.fa.fa-bitbucket-square,.fa.fa-gittip,.fa.fa-ra,.fa.fa-resistance,.fa.fa-ge,.fa.fa-y-combinator-square,.fa.fa-yc-square,.fa.fa-wechat,.fa.fa-meanpath,.fa.fa-facebook-official,.fa.fa-yc,.fa.fa-wheelchair-alt,.fa.fa-google-plus-official,.fa.fa-google-plus-circle,.fa.fa-fa,.fa.fa-eercast{font-family:"FontAwesome Brands";font-weight:normal !important}.fa.fa-star-o,.fa.fa-trash-o,.fa.fa-file-o,.fa.fa-clock-o,.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-up,.fa.fa-play-circle-o,.fa.fa-list-alt,.fa.fa-picture-o,.fa.fa-photo,.fa.fa-image,.fa.fa-pencil-square-o,.fa.fa-share-square-o,.fa.fa-check-square-o,.fa.fa-times-circle-o,.fa.fa-check-circle-o,.fa.fa-eye-slash,.fa.fa-bar-chart,.fa.fa-bar-chart-o,.fa.fa-thumbs-o-up,.fa.fa-thumbs-o-down,.fa.fa-heart-o,.fa.fa-lemon-o,.fa.fa-square-o,.fa.fa-bookmark-o,.fa.fa-credit-card,.fa.fa-hdd-o,.fa.fa-hand-o-right,.fa.fa-hand-o-left,.fa.fa-hand-o-up,.fa.fa-hand-o-down,.fa.fa-files-o,.fa.fa-floppy-o,.fa.fa-money,.fa.fa-comment-o,.fa.fa-comments-o,.fa.fa-clipboard,.fa.fa-paste,.fa.fa-lightbulb-o,.fa.fa-bell-o,.fa.fa-file-text-o,.fa.fa-building-o,.fa.fa-hospital-o,.fa.fa-circle-o,.fa.fa-folder-o,.fa.fa-folder-open-o,.fa.fa-smile-o,.fa.fa-frown-o,.fa.fa-meh-o,.fa.fa-keyboard-o,.fa.fa-flag-o,.fa.fa-star-half-o,.fa.fa-star-half-empty,.fa.fa-star-half-full,.fa.fa-calendar-o,.fa.fa-minus-square-o,.fa.fa-compass,.fa.fa-caret-square-o-down,.fa.fa-toggle-down,.fa.fa-caret-square-o-up,.fa.fa-toggle-up,.fa.fa-caret-square-o-right,.fa.fa-toggle-right,.fa.fa-sun-o,.fa.fa-moon-o,.fa.fa-arrow-circle-o-right,.fa.fa-arrow-circle-o-left,.fa.fa-caret-square-o-left,.fa.fa-toggle-left,.fa.fa-dot-circle-o,.fa.fa-plus-square-o,.fa.fa-envelope-o,.fa.fa-file-pdf-o,.fa.fa-file-word-o,.fa.fa-file-excel-o,.fa.fa-file-powerpoint-o,.fa.fa-file-image-o,.fa.fa-file-photo-o,.fa.fa-file-picture-o,.fa.fa-file-archive-o,.fa.fa-file-zip-o,.fa.fa-file-audio-o,.fa.fa-file-sound-o,.fa.fa-file-video-o,.fa.fa-file-movie-o,.fa.fa-file-code-o,.fa.fa-life-ring,.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-saver,.fa.fa-support,.fa.fa-paper-plane-o,.fa.fa-send-o,.fa.fa-circle-thin,.fa.fa-futbol-o,.fa.fa-soccer-ball-o,.fa.fa-newspaper-o,.fa.fa-bell-slash-o,.fa.fa-copyright,.fa.fa-cc,.fa.fa-diamond,.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o,.fa.fa-clone,.fa.fa-hourglass-o,.fa.fa-hand-rock-o,.fa.fa-hand-grab-o,.fa.fa-hand-paper-o,.fa.fa-hand-stop-o,.fa.fa-hand-scissors-o,.fa.fa-hand-lizard-o,.fa.fa-hand-spock-o,.fa.fa-hand-pointer-o,.fa.fa-hand-peace-o,.fa.fa-registered,.fa.fa-calendar-plus-o,.fa.fa-calendar-minus-o,.fa.fa-calendar-times-o,.fa.fa-calendar-check-o,.fa.fa-map-o,.fa.fa-commenting-o,.fa.fa-pause-circle-o,.fa.fa-stop-circle-o,.fa.fa-question-circle-o,.fa.fa-handshake-o,.fa.fa-envelope-open-o,.fa.fa-address-book-o,.fa.fa-address-card-o,.fa.fa-vcard-o,.fa.fa-user-circle-o,.fa.fa-user-o,.fa.fa-id-badge,.fa.fa-id-card-o,.fa.fa-drivers-license-o,.fa.fa-window-maximize,.fa.fa-window-restore,.fa.fa-window-close-o,.fa.fa-times-rectangle-o,.fa.fa-snowflake-o{font-family:'FontAwesome';font-weight:400}.fa-address-book-o:before{content:"\f2b9"}.fa-address-card-o:before{content:"\f2bb"}.fa-area-chart:before{content:"\f1fe"}.fa-arrow-circle-o-down:before{content:"\f358"}.fa-arrow-circle-o-left:before{content:"\f359"}.fa-arrow-circle-o-right:before{content:"\f35a"}.fa-arrow-circle-o-up:before{content:"\f35b"}.fa-arrows:before{content:"\f0b2"}.fa-arrows-alt:before{content:"\f31e"}.fa-arrows-h:before{content:"\f337"}.fa-arrows-v:before{content:"\f338"}.fa-asl-interpreting:before{content:"\f2a3"}.fa-automobile:before{content:"\f1b9"}.fa-bank:before,.fa-institution:before{content:"\f19c"}.fa-bar-chart-o:before{content:"\f080"}.fa-bar-chart:before{content:"\f080"}.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-battery:before{content:"\f240"}.fa-battery-0:before{content:"\f244"}.fa-battery-1:before{content:"\f243"}.fa-battery-2:before{content:"\f242"}.fa-battery-3:before{content:"\f241"}.fa-battery-4:before{content:"\f240"}.fa-bell-o:before{content:"\f0f3"}.fa-bell-slash-o:before{content:"\f1f6"}.fa-bitbucket-square:before{content:"\f171"}.fa-bitcoin:before{content:"\f15a"}.fa-bookmark-o:before{content:"\f02e"}.fa-building-o:before{content:"\f1ad"}.fa-cab:before{content:"\f1ba"}.fa-calendar-check-o:before{content:"\f274"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-o:before{content:"\f133"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-times-o:before{content:"\f273"}.fa-caret-square-o-down:before{content:"\f150"}.fa-caret-square-o-left:before{content:"\f191"}.fa-caret-square-o-right:before{content:"\f152"}.fa-caret-square-o-up:before{content:"\f151"}.fa-cc:before{content:"\f20a"}.fa-chain:before{content:"\f0c1"}.fa-chain-broken:before{content:"\f127"}.fa-check-circle-o:before{content:"\f058"}.fa-check-square-o:before{content:"\f14a"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-circle-o:before,.fa-circle-thin:before{content:"\f111"}.fa-clock-o:before{content:"\f017"}.fa-close:before{content:"\f00d"}.fa-cloud-download:before{content:"\f381"}.fa-cloud-upload:before{content:"\f382"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-code-fork:before{content:"\f126"}.fa-comment-o:before{content:"\f075"}.fa-commenting-o:before,.fa-commenting:before{content:"\f27a"}.fa-comments-o:before{content:"\f086"}.fa-credit-card-alt:before{content:"\f09d"}.fa-cutlery:before{content:"\f2e7"}.fa-dashboard:before{content:"\f3fd"}.fa-deafness:before{content:"\f2a4"}.fa-dedent:before{content:"\f03b"}.fa-diamond:before{content:"\f3a5"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-dot-circle-o:before{content:"\f192"}.fa-drivers-license-o:before{content:"\f2c2"}.fa-drivers-license:before{content:"\f2c2"}.fa-eercast:before{content:"\f2da"}.fa-envelope-o:before{content:"\f0e0"}.fa-envelope-open-o:before{content:"\f2b6"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-exchange:before{content:"\f362"}.fa-external-link-square:before{content:"\f360"}.fa-external-link:before{content:"\f35d"}.fa-eyedropper:before{content:"\f1fb"}.fa-fa:before{content:"\f2b4"}.fa-facebook-f:before,.fa-facebook:before{content:"\f39e"}.fa-facebook-official:before{content:"\f09a"}.fa-feed:before{content:"\f09e"}.fa-file-archive-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-code-o:before{content:"\f1c9"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-o:before{content:"\f15b"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-text:before,.fa-file-text-o:before{content:"\f15c"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-zip-o:before{content:"\f1c6"}.fa-files-o:before{content:"\f0c5"}.fa-flag-o:before{content:"\f024"}.fa-flash:before{content:"\f0e7"}.fa-floppy-o:before{content:"\f0c7"}.fa-folder-o:before{content:"\f07b"}.fa-folder-open-o:before{content:"\f07c"}.fa-frown-o:before{content:"\f119"}.fa-futbol-o:before{content:"\f1e3"}.fa-gbp:before{content:"\f154"}.fa-ge:before{content:"\f1d1"}.fa-gear:before{content:"\f013"}.fa-gears:before{content:"\f085"}.fa-gittip:before{content:"\f184"}.fa-glass:before{content:"\f000"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-google-plus:before{content:"\f0d5"}.fa-group:before{content:"\f0c0"}.fa-hand-grab-o:before{content:"\f255"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-o-down:before{content:"\f0a7"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-peace-o:before{content:"\f25b"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-rock-o:before{content:"\f255"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-spock-o:before{content:"\f259"}.fa-handshake-o:before{content:"\f2b5"}.fa-hard-of-hearing:before{content:"\f2a4"}.fa-hdd-o:before{content:"\f0a0"}.fa-header:before{content:"\f1dc"}.fa-heart-o:before{content:"\f004"}.fa-hospital-o:before{content:"\f0f8"}.fa-hotel:before{content:"\f236"}.fa-hourglass-1:before{content:"\f251"}.fa-hourglass-2:before{content:"\f252"}.fa-hourglass-3:before{content:"\f253"}.fa-hourglass-o:before{content:"\f254"}.fa-id-card-o:before{content:"\f2c2"}.fa-ils:before{content:"\f20b"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-inr:before{content:"\f156"}.fa-intersex:before{content:"\f224"}.fa-keyboard-o:before{content:"\f11c"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-legal:before{content:"\f0e3"}.fa-lemon-o:before{content:"\f094"}.fa-level-down:before{content:"\f3be"}.fa-level-up:before{content:"\f3bf"}.fa-life-bouy:before,.fa-life-saver:before{content:"\f1cd"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-line-chart:before{content:"\f201"}.fa-linkedin:before{content:"\f0e1"}.fa-linkedin-square:before{content:"\f08c"}.fa-long-arrow-down:before{content:"\f309"}.fa-long-arrow-left:before{content:"\f30a"}.fa-long-arrow-right:before{content:"\f30b"}.fa-long-arrow-up:before{content:"\f30c"}.fa-mail-forward:before{content:"\f064"}.fa-mail-reply-all:before{content:"\f122"}.fa-mail-reply:before{content:"\f3e5"}.fa-map-marker:before{content:"\f3c5"}.fa-map-o:before{content:"\f279"}.fa-meanpath:before{content:"\f2b4"}.fa-meh-o:before{content:"\f11a"}.fa-minus-square-o:before{content:"\f146"}.fa-mobile-phone:before{content:"\f3cd"}.fa-mobile:before{content:"\f3cd"}.fa-money:before{content:"\f3d1"}.fa-moon-o:before{content:"\f186"}.fa-mortar-board:before{content:"\f19d"}.fa-navicon:before{content:"\f0c9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-paper-plane-o:before{content:"\f1d8"}.fa-paste:before{content:"\f328"}.fa-pause-circle-o:before{content:"\f28b"}.fa-pencil-square-o:before{content:"\f044"}.fa-pencil-square:before{content:"\f14b"}.fa-pencil:before{content:"\f303"}.fa-pie-chart:before{content:"\f200"}.fa-play-circle-o:before{content:"\f144"}.fa-plus-square-o:before{content:"\f0fe"}.fa-question-circle-o:before{content:"\f059"}.fa-ra:before{content:"\f1d0"}.fa-refresh:before{content:"\f021"}.fa-remove:before{content:"\f00d"}.fa-reorder:before{content:"\f0c9"}.fa-repeat:before{content:"\f01e"}.fa-resistance:before{content:"\f1d0"}.fa-rotate-left:before{content:"\f0e2"}.fa-rotate-right:before{content:"\f01e"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-rupee:before{content:"\f156"}.fa-scissors:before{content:"\f0c4"}.fa-send-o:before{content:"\f1d8"}.fa-send:before{content:"\f1d8"}.fa-share-square-o:before{content:"\f14d"}.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-shield:before{content:"\f3ed"}.fa-sign-in:before{content:"\f2f6"}.fa-sign-out:before{content:"\f2f5"}.fa-signing:before{content:"\f2a7"}.fa-sliders:before{content:"\f1de"}.fa-smile-o:before{content:"\f118"}.fa-snowflake-o:before{content:"\f2dc"}.fa-soccer-ball-o:before{content:"\f1e3"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-asc:before{content:"\f0de"}.fa-sort-desc:before{content:"\f0dd"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-spoon:before{content:"\f2e5"}.fa-square-o:before{content:"\f0c8"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f089"}.fa-star-o:before{content:"\f005"}.fa-sticky-note-o:before{content:"\f249"}.fa-stop-circle-o:before{content:"\f28d"}.fa-sun-o:before{content:"\f185"}.fa-support:before{content:"\f1cd"}.fa-tablet:before{content:"\f3fa"}.fa-tachometer:before{content:"\f3fd"}.fa-television:before{content:"\f26c"}.fa-thermometer-0:before{content:"\f2cb"}.fa-thermometer-1:before{content:"\f2ca"}.fa-thermometer-2:before{content:"\f2c9"}.fa-thermometer-3:before{content:"\f2c8"}.fa-thermometer-4:before,.fa-thermometer:before{content:"\f2c7"}.fa-thumb-tack:before{content:"\f08d"}.fa-thumbs-o-down:before{content:"\f165"}.fa-thumbs-o-up:before{content:"\f164"}.fa-ticket:before{content:"\f3ff"}.fa-times-circle-o:before{content:"\f057"}.fa-times-rectangle:before,.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f410"}.fa-toggle-down:before{content:"\f150"}.fa-toggle-left:before{content:"\f191"}.fa-toggle-right:before{content:"\f152"}.fa-toggle-up:before{content:"\f151"}.fa-trash:before,.fa-trash-o:before{content:"\f2ed"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-unsorted:before{content:"\f0dc"}.fa-user-circle-o:before{content:"\f2bd"}.fa-user-o:before{content:"\f007"}.fa-vcard:before,.fa-vcard-o:before{content:"\f2bb"}.fa-video-camera:before{content:"\f03d"}.fa-vimeo:before{content:"\f27d"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-warning:before{content:"\f071"}.fa-wechat:before{content:"\f1d7"}.fa-wheelchair-alt:before{content:"\f368"}.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-yc:before{content:"\f23b"}.fa-youtube-play:before{content:"\f167"}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:1.1875rem;-webkit-tap-highlight-color:transparent}body{font-family:ff-meta-serif-web-pro,serif;font-size:19px;line-height:1.333333;color:#1c1c1c;background-color:#f3f3f3}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#6bac43;text-decoration:none}a:hover,a:focus{color:#1c683e;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:12px}.img-thumbnail{padding:4px;line-height:1.333333;background-color:#f3f3f3;border:1px solid #ddd;border-radius:5px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:25px;margin-bottom:25px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#aaa}h1,.h1,h2,.h2,h3,.h3{margin-top:25px;margin-bottom:12.5px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:12.5px;margin-bottom:12.5px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:47px}h2,.h2{font-size:41px}h3,.h3{font-size:32px}h4,.h4{font-size:26px}h5,.h5{font-size:22px}h6,.h6{font-size:19px}p{margin:0 0 12.5px}.lead{margin-bottom:25px;font-size:21px;font-weight:300;line-height:1.4}@media (min-width:668px){.lead{font-size:28.5px}}small,.small{font-size:89%}mark,.mark{padding:0.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#aaa}.text-primary{color:#6bac43}a.text-primary:hover,a.text-primary:focus{color:#548735}.text-success{color:#6bac43}a.text-success:hover,a.text-success:focus{color:#548735}.text-info{color:#198fc8}a.text-info:hover,a.text-info:focus{color:#136f9b}.text-warning{color:#dba400}a.text-warning:hover,a.text-warning:focus{color:#a87e00}.text-danger{color:#d04441}a.text-danger:hover,a.text-danger:focus{color:#b22f2c}.bg-primary{color:#fff;background-color:#6bac43}a.bg-primary:hover,a.bg-primary:focus{background-color:#548735}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:11.5px;margin:50px 0 25px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:12.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:25px}dt,dd{line-height:1.333333}dt{font-weight:700}dd{margin-left:0}@media (min-width:668px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:12.5px 25px;margin:0 0 25px;font-size:23.75px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.333333;color:#4f4f4f}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:25px;font-style:normal;line-height:1.333333}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:5px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:12px;margin:0 0 12.5px;font-size:18px;line-height:1.333333;color:#303030;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:5px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:668px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1500px){.container{width:1270px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.666666667%}.col-xs-10{width:83.333333333%}.col-xs-9{width:75%}.col-xs-8{width:66.666666667%}.col-xs-7{width:58.333333333%}.col-xs-6{width:50%}.col-xs-5{width:41.666666667%}.col-xs-4{width:33.333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666667%}.col-xs-1{width:8.333333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.666666667%}.col-xs-pull-10{right:83.333333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.666666667%}.col-xs-pull-7{right:58.333333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.666666667%}.col-xs-pull-4{right:33.333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666667%}.col-xs-pull-1{right:8.333333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.666666667%}.col-xs-push-10{left:83.333333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.666666667%}.col-xs-push-7{left:58.333333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.666666667%}.col-xs-push-4{left:33.333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666667%}.col-xs-push-1{left:8.333333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.666666667%}.col-xs-offset-10{margin-left:83.333333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.666666667%}.col-xs-offset-7{margin-left:58.333333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.666666667%}.col-xs-offset-4{margin-left:33.333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666667%}.col-xs-offset-1{margin-left:8.333333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:668px){.col-sm-1,.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-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.666666667%}.col-sm-10{width:83.333333333%}.col-sm-9{width:75%}.col-sm-8{width:66.666666667%}.col-sm-7{width:58.333333333%}.col-sm-6{width:50%}.col-sm-5{width:41.666666667%}.col-sm-4{width:33.333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666667%}.col-sm-1{width:8.333333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.666666667%}.col-sm-pull-10{right:83.333333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.666666667%}.col-sm-pull-7{right:58.333333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.666666667%}.col-sm-pull-4{right:33.333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666667%}.col-sm-pull-1{right:8.333333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.666666667%}.col-sm-push-10{left:83.333333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.666666667%}.col-sm-push-7{left:58.333333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.666666667%}.col-sm-push-4{left:33.333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666667%}.col-sm-push-1{left:8.333333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.666666667%}.col-sm-offset-10{margin-left:83.333333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.666666667%}.col-sm-offset-7{margin-left:58.333333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.666666667%}.col-sm-offset-4{margin-left:33.333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666667%}.col-sm-offset-1{margin-left:8.333333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.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-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.666666667%}.col-md-10{width:83.333333333%}.col-md-9{width:75%}.col-md-8{width:66.666666667%}.col-md-7{width:58.333333333%}.col-md-6{width:50%}.col-md-5{width:41.666666667%}.col-md-4{width:33.333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666667%}.col-md-1{width:8.333333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.666666667%}.col-md-pull-10{right:83.333333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.666666667%}.col-md-pull-7{right:58.333333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.666666667%}.col-md-pull-4{right:33.333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666667%}.col-md-pull-1{right:8.333333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.666666667%}.col-md-push-10{left:83.333333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.666666667%}.col-md-push-7{left:58.333333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.666666667%}.col-md-push-4{left:33.333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666667%}.col-md-push-1{left:8.333333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.666666667%}.col-md-offset-10{margin-left:83.333333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.666666667%}.col-md-offset-7{margin-left:58.333333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.666666667%}.col-md-offset-4{margin-left:33.333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666667%}.col-md-offset-1{margin-left:8.333333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1500px){.col-lg-1,.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-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.666666667%}.col-lg-10{width:83.333333333%}.col-lg-9{width:75%}.col-lg-8{width:66.666666667%}.col-lg-7{width:58.333333333%}.col-lg-6{width:50%}.col-lg-5{width:41.666666667%}.col-lg-4{width:33.333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666667%}.col-lg-1{width:8.333333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.666666667%}.col-lg-pull-10{right:83.333333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.666666667%}.col-lg-pull-7{right:58.333333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.666666667%}.col-lg-pull-4{right:33.333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666667%}.col-lg-pull-1{right:8.333333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.666666667%}.col-lg-push-10{left:83.333333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.666666667%}.col-lg-push-7{left:58.333333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.666666667%}.col-lg-push-4{left:33.333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666667%}.col-lg-push-1{left:8.333333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.666666667%}.col-lg-offset-10{margin-left:83.333333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.666666667%}.col-lg-offset-7{margin-left:58.333333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.666666667%}.col-lg-offset-4{margin-left:33.333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666667%}.col-lg-offset-1{margin-left:8.333333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#aaa;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:25px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.333333;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#f3f3f3}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:0.01%;overflow-x:auto}@media screen and (max-width:667px){.table-responsive{width:100%;margin-bottom:18.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:25px;font-size:28.5px;line-height:inherit;color:#303030;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:19px;line-height:1.333333;color:#555}.form-control{display:block;width:100%;height:39px;padding:6px 12px;font-size:19px;line-height:1.333333;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:5px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#6bac43;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(107,172,67,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}select.form-control{padding:6px 36px 6px 12px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 12px;border-radius:5px;appearance:none}select.form-control[multiple],select.form-control[size]:not([size="1"]){padding-right:12px;background-image:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #555}select.form-control:focus::-ms-value{color:#555;background-color:#fff}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:39px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:37px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:54px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:25px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:44px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:37px;padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px}select.input-sm{height:37px;padding:5px 36px 5px 10px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:37px;padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:37px;line-height:1.5}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:1.5;min-height:42px;padding:6px 10px;font-size:17px;line-height:1.5}.input-lg{height:54px;padding:10px 16px;font-size:24px;line-height:1.3333333;border-radius:12px}select.input-lg{height:54px;padding:10px 36px 10px 16px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:54px;padding:10px 16px;font-size:24px;line-height:1.3333333;border-radius:12px}.form-group-lg select.form-control{height:54px;line-height:54px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:54px;min-height:49px;padding:11px 16px;font-size:24px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:48.75px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:39px;height:39px;line-height:39px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:54px;height:54px;line-height:54px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:37px;height:37px;line-height:37px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#6bac43}.has-success .form-control{border-color:#6bac43;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#548735;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a2d085}.has-success .input-group-addon{color:#6bac43;background-color:#dff0d8;border-color:#6bac43}.has-success .form-control-feedback{color:#6bac43}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#dba400}.has-warning .form-control{border-color:#dba400;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a87e00;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffd042}.has-warning .input-group-addon{color:#dba400;background-color:#fcf8e3;border-color:#dba400}.has-warning .form-control-feedback{color:#dba400}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#d04441}.has-error .form-control{border-color:#d04441;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#b22f2c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #e49493}.has-error .input-group-addon{color:#d04441;background-color:#f2dede;border-color:#d04441}.has-error .form-control-feedback{color:#d04441}.has-feedback label~.form-control-feedback{top:30px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#5c5c5c}@media (min-width:668px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:32px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:668px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:668px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:24px}}@media (min-width:668px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:17px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:19px;line-height:1.333333;border-radius:5px;padding:7px 12px 6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#6bac43;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#6bac43;background-color:#fff;border-color:#fff}.btn-default:focus,.btn-default.focus{color:#6bac43;background-color:#e6e6e6;border-color:#bfbfbf}.btn-default:hover{color:#6bac43;background-color:#e6e6e6;border-color:#e0e0e0}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#6bac43;background-color:#e6e6e6;background-image:none;border-color:#e0e0e0}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#6bac43;background-color:#d4d4d4;border-color:#bfbfbf}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#fff}.btn-default .badge{color:#fff;background-color:#6bac43}.btn-default:focus,.btn-default.focus{background-color:#fff;border-color:#fff}.btn-primary{color:#fff;background-color:#6bac43;border-color:#6bac43}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#548735;border-color:#32501f}.btn-primary:hover{color:#fff;background-color:#548735;border-color:#508032}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#548735;background-image:none;border-color:#508032}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#446e2b;border-color:#32501f}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#6bac43;border-color:#6bac43}.btn-primary .badge{color:#6bac43;background-color:#fff}.btn-primary:focus,.btn-primary.focus{background-color:#6bac43;border-color:#6bac43}.btn-success{color:#fff;background-color:#6bac43;border-color:#6bac43}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#548735;border-color:#32501f}.btn-success:hover{color:#fff;background-color:#548735;border-color:#508032}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#548735;background-image:none;border-color:#508032}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#446e2b;border-color:#32501f}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#6bac43;border-color:#6bac43}.btn-success .badge{color:#6bac43;background-color:#fff}.btn-success:focus,.btn-success.focus{background-color:#6bac43;border-color:#6bac43}.btn-info{color:#fff;background-color:#198fc8;border-color:#198fc8}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#136f9b;border-color:#0b3e57}.btn-info:hover{color:#fff;background-color:#136f9b;border-color:#126892}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#136f9b;background-image:none;border-color:#126892}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#0f587b;border-color:#0b3e57}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#198fc8;border-color:#198fc8}.btn-info .badge{color:#198fc8;background-color:#fff}.btn-info:focus,.btn-info.focus{background-color:#198fc8;border-color:#198fc8}.btn-warning{color:#fff;background-color:#dba400;border-color:#dba400}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#a87e00;border-color:#5b4500}.btn-warning:hover{color:#fff;background-color:#a87e00;border-color:#9e7600}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#a87e00;background-image:none;border-color:#9e7600}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#846300;border-color:#5b4500}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#dba400;border-color:#dba400}.btn-warning .badge{color:#dba400;background-color:#fff}.btn-warning:focus,.btn-warning.focus{background-color:#dba400;border-color:#dba400}.btn-danger{color:#fff;background-color:#d04441;border-color:#d04441}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.btn-danger:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#952725;border-color:#751f1d}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d04441;border-color:#d04441}.btn-danger .badge{color:#d04441;background-color:#fff}.btn-danger:focus,.btn-danger.focus{background-color:#d04441;border-color:#d04441}.btn-link{font-weight:400;color:#6bac43;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#1c683e;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#aaa;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:24px;line-height:1.3333333;border-radius:12px;padding:11px 16px 10px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px;padding:6px 10px 5px}.btn-xs,.btn-group-xs>.btn{padding:3px 8px;font-size:17px;line-height:1.5;border-radius:3px;padding:4px 8px 3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:19px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:5px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.333333;color:#303030;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#232323;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>li.indent>a{padding-left:40px}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#6bac43;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#aaa}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:17px;line-height:1.333333;color:#aaa;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:668px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.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:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:54px;padding:10px 16px;font-size:24px;line-height:1.3333333;border-radius:12px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:54px;padding:10px 36px 10px 16px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:37px;padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:37px;padding:5px 36px 5px 10px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-sm>select.form-control,.input-group-lg>select.form-control,.form-group-sm select.form-control{padding-right:36px}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:19px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:5px}.input-group-addon.input-sm{padding:5px 10px;font-size:17px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:24px;border-radius:12px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.dropdown-toggle:nth-last-child(n+3),.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:11px 15px 10px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#aaa}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#aaa;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#6bac43}.nav .nav-divider{height:1px;margin:11.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.333333;border:1px solid transparent;border-radius:5px 5px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#f3f3f3;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:668px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:5px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:668px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:5px 5px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#f3f3f3}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#6bac43}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:668px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:5px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:668px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:5px 5px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#f3f3f3}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:25px;border:1px solid transparent}@media (min-width:668px){.navbar{border-radius:5px}}@media (min-width:668px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:668px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:668px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:668px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1001;border-width:0 0 1px}@media (min-width:668px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:12.5px 15px;font-size:24px;line-height:25px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:668px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:5px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:668px){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:25px}@media (max-width:667px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:25px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:668px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:12.5px;padding-bottom:12.5px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:5.5px;margin-bottom:5.5px}@media (min-width:668px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:667px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:668px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:5.5px;margin-bottom:5.5px}.navbar-btn.btn-sm{margin-top:6.5px;margin-bottom:6.5px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:12.5px;margin-bottom:12.5px}@media (min-width:668px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:668px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:667px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#cecece}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#d0d0d0}.navbar-inverse .navbar-nav>li>a{color:#cecece}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:667px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#cecece}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#cecece}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#cecece}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:25px;list-style:none;background-color:#f5f5f5;border-radius:5px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#aaa}.pagination{display:inline-block;padding-left:0;margin:25px 0;border-radius:5px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.333333;color:#1c1c1c;text-decoration:none;background-color:#fff;border:1px solid #1c1c1c}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#1c683e;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:5px;border-bottom-right-radius:5px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#6bac43;border-color:#6bac43}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#aaa;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:24px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:12px;border-bottom-left-radius:12px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:12px;border-bottom-right-radius:12px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:17px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:25px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #1c1c1c;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#aaa;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:0.2em 0.6em 0.3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#aaa}.label-default[href]:hover,.label-default[href]:focus{background-color:#909090}.label-primary{background-color:#6bac43}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#548735}.label-success{background-color:#6bac43}.label-success[href]:hover,.label-success[href]:focus{background-color:#548735}.label-info{background-color:#198fc8}.label-info[href]:hover,.label-info[href]:focus{background-color:#136f9b}.label-warning{background-color:#dba400}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#a87e00}.label-danger{background-color:#d04441}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#b22f2c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:17px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#aaa;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#6bac43;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:60px;padding-bottom:60px;margin-bottom:60px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:30px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d4d4d4}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:12px}.jumbotron .container{max-width:100%}@media screen and (min-width:668px){.jumbotron{padding-top:96px;padding-bottom:96px}.container .jumbotron,.container-fluid .jumbotron{padding-right:120px;padding-left:120px}.jumbotron h1,.jumbotron .h1{font-size:57px}}.thumbnail{display:block;padding:4px;margin-bottom:25px;line-height:1.333333;background-color:#f3f3f3;border:1px solid #ddd;border-radius:5px;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#6bac43}.thumbnail .caption{padding:9px;color:#1c1c1c}.alert{padding:15px;margin-bottom:25px;border:1px solid transparent;border-radius:5px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#6bac43;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#548735}.alert-info{color:#198fc8;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#136f9b}.alert-warning{color:#dba400;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#a87e00}.alert-danger{color:#d04441;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#b22f2c}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}
+to{background-position:0 0}}
+@keyframes progress-bar-stripes{from{background-position:40px 0}
+to{background-position:0 0}}
+.progress{height:25px;margin-bottom:25px;overflow:hidden;line-height:25px;font-size:17px;background-color:#f5f5f5;border-radius:5px;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;color:#fff;text-align:center;background-color:#6bac43;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#6bac43}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#198fc8}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#dba400}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d04441}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#aaa;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#aaa}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#6bac43;border-color:#6bac43}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#daeccf}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-success{color:#6bac43;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#6bac43}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#6bac43;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#6bac43;border-color:#6bac43}.list-group-item-info{color:#198fc8;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#198fc8}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#198fc8;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#198fc8;border-color:#198fc8}.list-group-item-warning{color:#dba400;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#dba400}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#dba400;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#dba400;border-color:#dba400}.list-group-item-danger{color:#d04441;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#d04441}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#d04441;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#d04441;border-color:#d04441}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:25px;background-color:#fff;border:1px solid transparent;border-radius:5px;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px 8px;border-bottom:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:22px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px 8px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:4px;border-top-right-radius:4px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:4px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:4px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:25px}.panel-group .panel{margin-bottom:0;border-radius:5px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#f5f5f5}.panel-default>.panel-heading{color:#1c1c1c;background-color:#f5f5f5;border-color:#f5f5f5}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f5f5f5}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#1c1c1c}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f5f5f5}.panel-primary{border-color:#6bac43}.panel-primary>.panel-heading{color:#fff;background-color:#6bac43;border-color:#6bac43}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#6bac43}.panel-primary>.panel-heading .badge{color:#6bac43;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#6bac43}.panel-success{border-color:#6bac43}.panel-success>.panel-heading{color:#fff;background-color:#6bac43;border-color:#6bac43}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#6bac43}.panel-success>.panel-heading .badge{color:#6bac43;background-color:#fff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#6bac43}.panel-info{border-color:#198fc8}.panel-info>.panel-heading{color:#fff;background-color:#198fc8;border-color:#198fc8}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#198fc8}.panel-info>.panel-heading .badge{color:#198fc8;background-color:#fff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#198fc8}.panel-warning{border-color:#dba400}.panel-warning>.panel-heading{color:#fff;background-color:#dba400;border-color:#dba400}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dba400}.panel-warning>.panel-heading .badge{color:#dba400;background-color:#fff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dba400}.panel-danger{border-color:#d04441}.panel-danger>.panel-heading{color:#fff;background-color:#d04441;border-color:#d04441}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d04441}.panel-danger>.panel-heading .badge{color:#d04441;background-color:#fff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d04441}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:5px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:12px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:28.5px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:0.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:0.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:12px;box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:0.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.333333}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:668px){.modal-dialog{width:700px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:1200px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:ff-meta-serif-web-pro,serif;font-style:normal;font-weight:400;line-height:1.333333;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:17px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:5px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:ff-meta-serif-web-pro,serif;font-style:normal;font-weight:400;line-height:1.333333;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:19px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:12px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:fade_in(rgba(0,0,0,0.2),0.05);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:fade_in(rgba(0,0,0,0.2),0.05);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:fade_in(rgba(0,0,0,0.2),0.05)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:fade_in(rgba(0,0,0,0.2),0.05)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:19px;background-color:#f7f7f7;border-bottom:1px solid #eaeaea;border-radius:11px 11px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:transparent;filter:alpha(opacity=50);opacity:0.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0%,rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:0.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;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;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:668px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container-fluid:before,.row:before,.dl-horizontal dd:before,.form-horizontal .form-group:before,.btn-toolbar:before,.btn-group-vertical>.btn-group:before,.nav:before,.navbar:before,.navbar-header:before,.navbar-collapse:before,.pager:before,.panel-body:before,.modal-header:before,.modal-footer:before,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{display:table;content:" "}.clearfix:after,.container:after,.container-fluid:after,.row:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}
+.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:667px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:667px){.visible-xs-block{display:block !important}}@media (max-width:667px){.visible-xs-inline{display:inline !important}}@media (max-width:667px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:668px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:668px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:668px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:668px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1499px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1499px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1499px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1499px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1500px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1500px){.visible-lg-block{display:block !important}}@media (min-width:1500px){.visible-lg-inline{display:inline !important}}@media (min-width:1500px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:667px){.hidden-xs{display:none !important}}@media (min-width:668px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1499px){.hidden-md{display:none !important}}@media (min-width:1500px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.fa,.fas{font-family:"Font Awesome\ 5 Pro" !important}.btn{padding:8px 16px;font-size:19px;line-height:1.333333;border-radius:5px;padding:9px 16px 8px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px;padding:6px 10px 5px;padding-top:6px;padding-bottom:4px}.btn-xs,.btn-group-xs>.btn{padding:3px 8px;font-size:17px;line-height:1.5;border-radius:3px;padding:4px 8px 3px}.pagination>li>a,.pagination>li>span{padding:10px 15px 8px}.list-group .list-group-item{border-left:0;border-right:0}.list-group .list-group-item:first-child{border-top:0}.list-group .list-group-item:last-child{border-bottom:0}.list-group .list-group-item.active{z-index:0}.list-group.list-group-dark .list-group-item{background-color:#303030;color:#6bac43;border-top:1px solid #1c1c1c}.list-group.list-group-dark .list-group-item:hover,.list-group.list-group-dark .list-group-item:focus,.list-group.list-group-dark .list-group-item.active{color:#fff;border-top:1px solid #1c1c1c}.list-group.shadowed .list-group-item{border-left:0;border-right:0}.list-group.shadowed .list-group-item:first-child{border-top:0}.list-group.shadowed .list-group-item:last-child{border-bottom:0}.list-group.rounded-lg .list-group-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.list-group.rounded-lg .list-group-item:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.alert p,.alert ul{margin-bottom:28px}
\ No newline at end of file
diff --git a/RockWeb/Themes/NewSpring/Styles/bootstrap.less b/RockWeb/Themes/NewSpring/Styles/bootstrap.less
new file mode 100644
index 00000000000..eac5f551719
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/Styles/bootstrap.less
@@ -0,0 +1,12 @@
+// Load Master Styles
+// -------------------------
+@import "../../../Styles/FontAwesome/font-awesome.less";
+@import "../../../Styles/Bootstrap/bootstrap.less";
+
+@import "../../../Styles/_rock-variables.less";
+@import "_variables.less";
+@import "_bootstrap-overrides.less";
+
+// custom variable switchbox
+@navbar-inverse-link-color: @nav-color;
+@blockquote-small-color: lighten(@text-color, 20%);
\ No newline at end of file
diff --git a/RockWeb/Themes/NewSpring/Styles/theme.css b/RockWeb/Themes/NewSpring/Styles/theme.css
new file mode 100644
index 00000000000..9395fb5aa53
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/Styles/theme.css
@@ -0,0 +1,75 @@
+:root{--theme-darkest:#1c1c1c;--theme-dark:#303030;--theme-medium:#555;--theme-light:#eee;--theme-lightest:#f3f3f3;--theme-white:#fff;--theme-black:#343a40;--text-color:#1c1c1c;--color-primary:#6bac43;--color-success:#6bac43;--color-info:#198fc8;--color-warning:#dba400;--color-danger:#d04441;--gutter-x:30px;--panel-border:#cde1f1;--panel-body-padding:15px;--fa-font-face:'FontAwesome';--fa-theme-weight:900;--border-radius-base:5px;--color-base-primary:107,172,67;--focus-state-border:1px solid #6bac43;--focus-state-border-color:#6bac43;--focus-state-shadow:0 0 0 3px rgba(107,172,67,0.6);--input-bg-disabled:#eee;--input-border:#ccc;--input-border-radius:5px;--input-height-base:39px;--input-padding:6px 12px;--input-placeholder:#999}.crop-container{margin:0 auto;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEVmZmZ/f39ERVlDAAAAEUlEQVQIW2P8z8iIFTH8x4oAgXMQCWJFLxgAAAAASUVORK5CYII=');overflow:hidden}.jcrop-holder{direction:ltr;text-align:left;position:relative;top:50%;transform:translateY(-50%)}.jcrop-vline,.jcrop-hline{background:#39f;font-size:0;position:absolute}.jcrop-vline{height:100%;width:1px !important}.jcrop-vline.right{right:0}.jcrop-hline{height:1px !important;width:100%}.jcrop-hline.bottom{bottom:0}.jcrop-tracker{height:100%;width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.jcrop-handle{background-color:#39f;width:10px;height:10px;font-size:1px;opacity:1 !important}.jcrop-handle.ord-n,.jcrop-handle.ord-s,.jcrop-handle.ord-e,.jcrop-handle.ord-w{display:none}.jcrop-handle.ord-nw{left:0;margin-left:-5px;margin-top:-5px;top:0}.jcrop-handle.ord-ne{margin-right:-5px;margin-top:-5px;right:0;top:0}.jcrop-handle.ord-se{bottom:0;margin-bottom:-5px;margin-right:-5px;right:0}.jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-5px;margin-left:-5px}.jcrop-dragbar.ord-n,.jcrop-dragbar.ord-s{height:7px;width:100%}.jcrop-dragbar.ord-e,.jcrop-dragbar.ord-w{height:100%;width:7px}.jcrop-dragbar.ord-n{margin-top:-5px}.jcrop-dragbar.ord-s{bottom:0;margin-bottom:-5px}.jcrop-dragbar.ord-e{margin-right:-5px;right:0}.jcrop-dragbar.ord-w{margin-left:-5px}.jcrop-light .jcrop-vline,.jcrop-light .jcrop-hline{background:#fff;filter:alpha(opacity=70) !important;opacity:0.7 !important}.jcrop-light .jcrop-handle{background-color:#000;border-color:#fff;border-radius:3px}.jcrop-holder img,img.jcrop-preview{max-width:none}.chosen-select,.chosen-select-deselect{width:100%}.chosen-container{position:relative;display:inline-block;width:100% !important;font-size:19px;text-align:left;vertical-align:middle}.chosen-container a{cursor:pointer}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9000px;z-index:1060;margin-top:-1px;background:#fff;border:1px solid #ccc;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 4px 8px 0 rgba(0,0,0,0.1)}.chosen-container.chosen-with-drop .chosen-drop{right:0;left:0}.chosen-container .chosen-results{position:relative;max-height:240px;padding:0;margin:8px 0;overflow-x:hidden;overflow-y:auto;color:#555;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;padding:5px 6px;margin:0;line-height:1.333333;list-style:none;-webkit-user-select:none;user-select:none}.chosen-container .chosen-results li em{font-style:normal;background:#feffde}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;color:#999;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.result-selected{color:#1c1c1c}.chosen-container .chosen-results li.highlighted{color:#fff;background-color:#6bac43}.chosen-container .chosen-results li.highlighted em{color:rgba(255,255,255,0.8);background:transparent}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#aaa}.chosen-container .chosen-results .no-results{display:list-item;padding:8px;color:#eee}.chosen-container .chosen-results-scroll{position:absolute;z-index:1;width:321px;margin:0 4px;text-align:center;background:#fff}.chosen-container .chosen-results-scroll span{display:inline-block;width:9px;height:25px;text-indent:-5000px}.chosen-container-single .chosen-single{position:relative;display:block;height:39px;padding:0 0 0 12px;overflow:hidden;line-height:39px;color:#303030;text-decoration:none;white-space:nowrap;background-color:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:none}.chosen-container-single .chosen-single span{display:block;margin-right:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single abbr{position:absolute;top:0;right:30px;display:inline-block;width:24px;height:39px;text-align:center;cursor:pointer}.chosen-container-single .chosen-single abbr::before{font-family:'FontAwesome';font-size:19px;font-weight:900;color:#555;content:"\f00d"}.chosen-container-single .chosen-single abbr:hover::before{color:#222}.chosen-container-single .chosen-single.chosen-disabled .chosen-single abbr:hover{background-position:right 2px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:36px;height:39px;padding-left:8px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 12px}.chosen-container-single .chosen-default{color:#555}.chosen-container-single a:not([href]):not([tabindex]){color:#999 !important}.chosen-container-single a:not([href]):not([tabindex]).chosen-single:not(.chosen-default){color:#303030 !important}.chosen-container-single .chosen-search-input{display:none;border:none}.chosen-container-single .chosen-search{padding:8px 4px 0;white-space:nowrap}.chosen-container-single .chosen-search::after{position:relative;left:-28px;display:inline-block;font-family:'FontAwesome';font-size:19px;font-weight:900;color:#555;pointer-events:none;content:"\f002"}.chosen-container-single .chosen-search .chosen-search-input{width:100%;padding:4px 28px 4px 8px;background-color:#fff;border:1px solid #ccc;border-radius:5px;outline:none;box-shadow:none}.chosen-container-single .chosen-drop{margin-top:-1px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;background-clip:padding-box}.chosen-container-single-nosearch .chosen-search{display:none}.chosen-container-multi .chosen-choices{position:relative;height:auto !important;padding:0;margin:0;overflow:hidden;cursor:text;background-color:#fff;border:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:none}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices .search-field{padding:0;margin:0;white-space:nowrap}.chosen-container-multi .chosen-choices .search-field .chosen-search-input{width:100% !important;height:37px;padding:0 0 0 0.75rem;margin:0;color:#999;background:transparent !important;border:0 !important;outline:0;box-shadow:none}.chosen-container-multi .chosen-choices .search-field .default{color:#aaa}.chosen-container-multi .chosen-choices .search-choice{position:relative;padding:4px 24px 4px 4px;margin:5px 0 0 8px;font-size:17px;line-height:1;color:#303030;cursor:default;background-color:#f3f3f3;background-clip:padding-box;border:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.chosen-container-multi .chosen-choices .search-choice .search-choice-close::after{position:absolute;top:3px;right:1px;display:inline-block;width:16px;height:16px;font-family:'FontAwesome';font-size:19px;font-weight:900;color:#555;cursor:pointer;content:"\f00d"}.chosen-container-multi .chosen-choices .search-choice .search-choice-close:hover::after{color:#222}.chosen-container-multi .chosen-choices .search-choice-focus{background:#eee}.chosen-container-multi .chosen-choices .search-choice-focus .search-choice-close{background-position:right -11px}.chosen-container-multi .chosen-drop .result-selected{display:none}.chosen-container-active .chosen-single{border:1px solid #6bac43;box-shadow:0 0 0 3px rgba(107,172,67,0.6);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.chosen-container-active.chosen-with-drop .chosen-single{background-color:#fff;border:1px solid #6bac43;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 0 0 3px rgba(107,172,67,0.6);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.chosen-container-active .chosen-choices{border:1px solid #6bac43;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 0 0 3px rgba(107,172,67,0.6);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.chosen-container-active .chosen-choices .search-field .chosen-search-input{color:#111 !important}.chosen-container-active.chosen-with-drop .chosen-choices{border-bottom-right-radius:0;border-bottom-left-radius:0}.chosen-container-active.chosen-with-drop .chosen-search-input{display:inline-block}.chosen-disabled{cursor:default;opacity:0.5 !important}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-container-optgroup-clickable li.group-result{text-transform:none !important}.chosen-container-optgroup-clickable li.group-result:hover{color:#fff;cursor:pointer;background-color:#6bac43}.chosen-container.is-valid .chosen-single,.chosen-container:valid .chosen-single,.chosen-container.is-valid .chosen-choices,.chosen-container:valid .chosen-choices,.chosen-container.is-valid .chosen-drop,.chosen-container:valid .chosen-drop{border-color:#6bac43}.chosen-container.is-invalid .chosen-single,.chosen-container:invalid .chosen-single,.chosen-container.is-invalid .chosen-choices,.chosen-container:invalid .chosen-choices,.chosen-container.is-invalid .chosen-drop,.chosen-container:invalid .chosen-drop{border-color:#d04441}input[type="text"].chosen-focus-input{position:absolute;top:-9000px;width:0;height:0;padding:0;margin:0;background:transparent !important;border:0 !important;outline:0;box-shadow:none}.input-group:nth-of-type(1) .chosen-container .chosen-choices{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(:nth-of-type(1)) .chosen-container .chosen-choices{border-top-right-radius:0;border-bottom-right-radius:0}.input-group:not(:nth-of-type(1)) .input-group-prepend .input-group-text{border-top-right-radius:5px;border-bottom-right-radius:5px}.input-group .chosen-container{position:relative;flex:1 1 auto}@font-face{font-family:'FontAwesome';
+font-style:normal;
+font-weight:900;
+src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3');
+src:url('../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome') format('svg');
+font-display:block}
+@font-face{font-family:'FontAwesome';
+font-style:normal;
+font-weight:400;
+src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3');
+src:url('../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome') format('svg');
+font-display:block}
+@font-face{font-family:'FontAwesome Brands';
+font-style:normal;
+font-weight:400;
+src:url('../../../Assets/Fonts/FontAwesome/fa-brands-400.eot?v=free5.15.3');
+src:url('../../../Assets/Fonts/FontAwesome/fa-brands-400.eot?v=free5.15.3#iefix') format('embedded-opentype'),url('../../../Assets/Fonts/FontAwesome/fa-brands-400.woff2?v=free5.15.3') format('woff2'),url('../../../Assets/Fonts/FontAwesome/fa-brands-400.woff?v=free5.15.3') format('woff'),url('../../../Assets/Fonts/FontAwesome/fa-brands-400.ttf?v=free5.15.3') format('truetype'),url('../../../Assets/Fonts/FontAwesome/fa-brands-400.svg?v=free5.15.3#fontawesome') format('svg');
+font-display:block}
+@font-face{font-display:auto;
+font-family:summernote;
+font-style:normal;
+font-weight:400;
+src:url(../../../Styles/./summernote/font/summernote.eot?#iefix) format("embedded-opentype"),url(../../../Styles/./summernote/font/summernote.woff2) format("woff2"),url(../../../Styles/./summernote/font/summernote.woff) format("woff"),url(../../../Styles/./summernote/font/summernote.ttf) format("truetype")}
+[class*=" note-icon"]:before,[class^=note-icon]:before{text-rendering:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none;display:inline-block;font-family:summernote;font-size:inherit;font-style:normal;text-decoration:inherit;text-transform:none;vertical-align:middle}.note-icon-fw{text-align:center;width:1.25em}.note-icon-border{border:0.08em solid #eee;border-radius:0.1em;padding:0.2em 0.25em 0.15em}.note-icon-pull-left{float:left}.note-icon-pull-right{float:right}.note-icon.note-icon-pull-left{margin-right:0.3em}.note-icon.note-icon-pull-right{margin-left:0.3em}.note-icon-align:before{content:"\ea01"}.note-icon-align-center:before{content:"\ea02"}.note-icon-align-indent:before{content:"\ea03"}.note-icon-align-justify:before{content:"\ea04"}.note-icon-align-left:before{content:"\ea05"}.note-icon-align-outdent:before{content:"\ea06"}.note-icon-align-right:before{content:"\ea07"}.note-icon-arrow-circle-down:before{content:"\ea08"}.note-icon-arrow-circle-left:before{content:"\ea09"}.note-icon-arrow-circle-right:before{content:"\ea0a"}.note-icon-arrow-circle-up:before{content:"\ea0b"}.note-icon-arrows-alt:before{content:"\ea0c"}.note-icon-arrows-h:before{content:"\ea0d"}.note-icon-arrows-v:before{content:"\ea0e"}.note-icon-bold:before{content:"\ea0f"}.note-icon-caret:before{content:"\ea10"}.note-icon-chain-broken:before{content:"\ea11"}.note-icon-circle:before{content:"\ea12"}.note-icon-close:before{content:"\ea13"}.note-icon-code:before{content:"\ea14"}.note-icon-col-after:before{content:"\ea15"}.note-icon-col-before:before{content:"\ea16"}.note-icon-col-remove:before{content:"\ea17"}.note-icon-eraser:before{content:"\ea18"}.note-icon-float-left:before{content:"\ea19"}.note-icon-float-none:before{content:"\ea1a"}.note-icon-float-right:before{content:"\ea1b"}.note-icon-font:before{content:"\ea1c"}.note-icon-frame:before{content:"\ea1d"}.note-icon-italic:before{content:"\ea1e"}.note-icon-link:before{content:"\ea1f"}.note-icon-magic:before{content:"\ea20"}.note-icon-menu-check:before{content:"\ea21"}.note-icon-minus:before{content:"\ea22"}.note-icon-orderedlist:before{content:"\ea23"}.note-icon-pencil:before{content:"\ea24"}.note-icon-picture:before{content:"\ea25"}.note-icon-question:before{content:"\ea26"}.note-icon-redo:before{content:"\ea27"}.note-icon-rollback:before{content:"\ea28"}.note-icon-row-above:before{content:"\ea29"}.note-icon-row-below:before{content:"\ea2a"}.note-icon-row-remove:before{content:"\ea2b"}.note-icon-special-character:before{content:"\ea2c"}.note-icon-square:before{content:"\ea2d"}.note-icon-strikethrough:before{content:"\ea2e"}.note-icon-subscript:before{content:"\ea2f"}.note-icon-summernote:before{content:"\ea30"}.note-icon-superscript:before{content:"\ea31"}.note-icon-table:before{content:"\ea32"}.note-icon-text-height:before{content:"\ea33"}.note-icon-trash:before{content:"\ea34"}.note-icon-underline:before{content:"\ea35"}.note-icon-undo:before{content:"\ea36"}.note-icon-unorderedlist:before{content:"\ea37"}.note-icon-video:before{content:"\ea38"}.note-editor{position:relative}.note-editor .note-dropzone{background-color:#fff;color:#87cefa;display:none;opacity:0.95;position:absolute;z-index:100}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:none}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable img.note-float-left{margin-right:10px}.note-editor .note-editing-area .note-editable img.note-float-right{margin-left:10px}.note-editor.note-airframe,.note-editor.note-frame{border:1px solid #00000032}.note-editor.note-airframe.codeview .note-editing-area .note-editable,.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-airframe.codeview .note-editing-area .note-codable,.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-airframe .note-editing-area,.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-airframe .note-editing-area .note-editable,.note-editor.note-frame .note-editing-area .note-editable{word-wrap:break-word;overflow:auto;padding:10px}.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false],.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false]{background-color:#8080801d}.note-editor.note-airframe .note-editing-area .note-codable,.note-editor.note-frame .note-editing-area .note-codable{background-color:#222;border:none;border-radius:0;box-shadow:none;-ms-box-sizing:border-box;box-sizing:border-box;color:#ccc;display:none;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;margin-bottom:0;outline:none;padding:10px;resize:none;width:100%}.note-editor.note-airframe.fullscreen,.note-editor.note-frame.fullscreen{left:0;position:fixed;top:0;width:100% !important;z-index:1050}.note-editor.note-airframe.fullscreen .note-resizebar,.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-airframe .note-status-output,.note-editor.note-frame .note-status-output{border:0;border-top:1px solid #e2e2e2;color:#000;display:block;font-size:14px;height:20px;line-height:1.42857143;margin-bottom:0;width:100%}.note-editor.note-airframe .note-status-output:empty,.note-editor.note-frame .note-status-output:empty{border-top:0 solid transparent;height:0}.note-editor.note-airframe .note-status-output .pull-right,.note-editor.note-frame .note-status-output .pull-right{float:right !important}.note-editor.note-airframe .note-status-output .text-muted,.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-airframe .note-status-output .text-primary,.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-airframe .note-status-output .text-success,.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-airframe .note-status-output .text-info,.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-airframe .note-status-output .text-warning,.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-airframe .note-status-output .text-danger,.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-airframe .note-status-output .alert,.note-editor.note-frame .note-status-output .alert{background-color:#f5f5f5;border-radius:0;color:#000;margin:-7px 0 0;padding:7px 10px 2px}.note-editor.note-airframe .note-status-output .alert .note-icon,.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-airframe .note-status-output .alert-success,.note-editor.note-frame .note-status-output .alert-success{background-color:#dff0d8 !important;color:#3c763d !important}.note-editor.note-airframe .note-status-output .alert-info,.note-editor.note-frame .note-status-output .alert-info{background-color:#d9edf7 !important;color:#31708f !important}.note-editor.note-airframe .note-status-output .alert-warning,.note-editor.note-frame .note-status-output .alert-warning{background-color:#fcf8e3 !important;color:#8a6d3b !important}.note-editor.note-airframe .note-status-output .alert-danger,.note-editor.note-frame .note-status-output .alert-danger{background-color:#f2dede !important;color:#a94442 !important}.note-editor.note-airframe .note-statusbar,.note-editor.note-frame .note-statusbar{background-color:#8080801d;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #00000032}.note-editor.note-airframe .note-statusbar .note-resizebar,.note-editor.note-frame .note-statusbar .note-resizebar{cursor:ns-resize;height:9px;padding-top:1px;width:100%}.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{border-top:1px solid #00000032;margin:1px auto;width:20px}.note-editor.note-airframe .note-statusbar.locked .note-resizebar,.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-airframe .note-placeholder,.note-editor.note-frame .note-placeholder{padding:10px}.note-editor.note-airframe{border:0}.note-editor.note-airframe .note-editing-area .note-editable{padding:0}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.note-popover.popover .arrow{left:20px !important}.note-toolbar{position:relative}.note-editor .note-toolbar,.note-popover .popover-content{margin:0;padding:0 0 5px 5px}.note-editor .note-toolbar>.note-btn-group,.note-popover .popover-content>.note-btn-group{margin-left:0;margin-right:5px;margin-top:5px}.note-editor .note-toolbar .note-btn-group .note-table,.note-popover .popover-content .note-btn-group .note-table{min-width:0;padding:5px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{cursor:pointer;height:10em;position:absolute !important;width:10em;z-index:3}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat;height:5em;position:relative !important;width:5em;z-index:1}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat;height:1em;position:absolute !important;width:1em;z-index:2}.note-editor .note-toolbar .note-style .dropdown-style blockquote,.note-editor .note-toolbar .note-style .dropdown-style pre,.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre{margin:0;padding:5px 10px}.note-editor .note-toolbar .note-style .dropdown-style h1,.note-editor .note-toolbar .note-style .dropdown-style h2,.note-editor .note-toolbar .note-style .dropdown-style h3,.note-editor .note-toolbar .note-style .dropdown-style h4,.note-editor .note-toolbar .note-style .dropdown-style h5,.note-editor .note-toolbar .note-style .dropdown-style h6,.note-editor .note-toolbar .note-style .dropdown-style p,.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p{margin:0;padding:0}.note-editor .note-toolbar .note-color-all .note-dropdown-menu,.note-popover .popover-content .note-color-all .note-dropdown-menu{min-width:337px}.note-editor .note-toolbar .note-color .dropdown-toggle,.note-popover .popover-content .note-color .dropdown-toggle{padding-left:5px;width:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette{display:inline-block;margin:0;width:160px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title{border-bottom:1px solid #eee;font-size:12px;margin:2px 7px;text-align:center}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select{border-radius:5px;cursor:pointer;font-size:11px;margin:3px;padding:0 3px;width:100%}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover{background:#eee}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn{display:none}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn{border:1px solid #eee}.note-editor .note-toolbar .note-para .note-dropdown-menu,.note-popover .popover-content .note-para .note-dropdown-menu{min-width:228px;padding:5px}.note-editor .note-toolbar .note-para .note-dropdown-menu>div+div,.note-popover .popover-content .note-para .note-dropdown-menu>div+div{margin-left:5px}.note-editor .note-toolbar .note-dropdown-menu,.note-popover .popover-content .note-dropdown-menu{min-width:160px}.note-editor .note-toolbar .note-dropdown-menu.right,.note-popover .popover-content .note-dropdown-menu.right{left:auto;right:0}.note-editor .note-toolbar .note-dropdown-menu.right:before,.note-popover .popover-content .note-dropdown-menu.right:before{left:auto !important;right:9px}.note-editor .note-toolbar .note-dropdown-menu.right:after,.note-popover .popover-content .note-dropdown-menu.right:after{left:auto !important;right:10px}.note-editor .note-toolbar .note-dropdown-menu.note-check a i,.note-popover .popover-content .note-dropdown-menu.note-check a i{color:#00bfff;visibility:hidden}.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i,.note-popover .popover-content .note-dropdown-menu.note-check a.checked i{visibility:visible}.note-editor .note-toolbar .note-fontsize-10,.note-popover .popover-content .note-fontsize-10{font-size:10px}.note-editor .note-toolbar .note-color-palette,.note-popover .popover-content .note-color-palette{line-height:1}.note-editor .note-toolbar .note-color-palette div .note-color-btn,.note-popover .popover-content .note-color-palette div .note-color-btn{border:0;border-radius:0;height:20px;margin:0;padding:0;width:20px}.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,.note-popover .popover-content .note-color-palette div .note-color-btn:hover{transform:scale(1.2);transition:all 0.2s}.note-modal .modal-dialog{border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.note-modal .form-group{margin-left:0;margin-right:0}.note-modal .note-modal-form{margin:0}.note-modal .note-image-dialog .note-dropzone{border:4px dashed #d3d3d3;color:#d3d3d3;font-size:30px;line-height:4;margin-bottom:10px;min-height:100px;text-align:center}@-moz-document url-prefix(){.note-modal .note-image-input{height:auto}}
+.note-placeholder{color:gray;display:none;position:absolute}.note-handle .note-control-selection{border:1px solid #000;display:none;position:absolute}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{background-color:#000;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);filter:alpha(opacity=30);height:100%;-webkit-opacity:0.3;-khtml-opacity:0.3;-moz-opacity:0.3;opacity:0.3;width:100%}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing{border:1px solid #000;height:7px;width:7px}.note-handle .note-control-selection .note-control-sizing{background-color:#000}.note-handle .note-control-selection .note-control-nw{border-bottom:none;border-right:none;left:-5px;top:-5px}.note-handle .note-control-selection .note-control-ne{border-bottom:none;border-left:none;right:-5px;top:-5px}.note-handle .note-control-selection .note-control-sw{border-right:none;border-top:none;bottom:-5px;left:-5px}.note-handle .note-control-selection .note-control-se{bottom:-5px;cursor:se-resize;right:-5px}.note-handle .note-control-selection .note-control-se.note-control-holder{border-left:none;border-top:none;cursor:default}.note-handle .note-control-selection .note-control-selection-info{background-color:#000;border-radius:5px;bottom:0;color:#fff;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);filter:alpha(opacity=70);font-size:12px;margin:5px;-webkit-opacity:0.7;-khtml-opacity:0.7;-moz-opacity:0.7;opacity:0.7;padding:5px;right:0}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;overflow:auto;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block !important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{background-color:#428bca;clear:both;color:#fff;cursor:pointer;display:block;font-weight:400;line-height:1.4;outline:0;text-decoration:none;white-space:nowrap}body .note-fullscreen-body,html .note-fullscreen-body{overflow:hidden !important}.zone-instance.outline{position:relative;min-width:50px;min-height:30px}.zone-instance.outline::after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";border:1px dotted #3e3e3c;outline:1px dotted #fff}.block-configuration,.zone-configuration{position:absolute;top:0;z-index:1049;display:none;width:26px;height:26px;overflow:hidden;color:#fff;cursor:pointer;background:#0176d3;border-radius:0}.block-instance.outline{position:relative;display:block;min-height:36px;clear:both}.block-instance.outline::after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:""}.block-instance.outline:hover::after{border:1px solid #1b96ff}.config-bar{font-size:16px;line-height:1.5}.config-bar,.config-bar a{color:#fff !important}.config-bar a,.config-bar .delete{display:block;float:left;width:26px;padding:1px 0 !important;margin:0 !important;text-align:center;text-decoration:none}.zone-configuration-bar,.block-configuration-bar{position:absolute;left:24px;margin-right:-999em;margin-left:6px;overflow:hidden}.zone-configuration-bar div,.block-configuration-bar div{display:inline}.zone-configuration-bar span,.block-configuration-bar span{display:block;float:left;padding-right:12px;font-size:10px;line-height:26px}.zone-configuration-bar .disabled,.block-configuration-bar .disabled{cursor:default;opacity:0.5}.block-configuration-bar .btn{margin-right:12px;color:#cecece;text-shadow:none}#cms-admin-footer{position:fixed;right:0;bottom:0;z-index:1049;width:100%;height:36px;padding:8px 12px 0;margin-right:0;color:#cecece;background:#1c1c1c;border-color:#020202;border-style:solid;border-width:1px 1px 0;transition:0.5s}#cms-admin-footer a.btn{font-size:16px}#cms-admin-footer>span{display:none;margin-top:3px;margin-bottom:4px;font-size:12px;text-align:center}#cms-admin-footer>span.label{margin-top:1px}#cms-admin-footer>span.cms-admin-footer-property{padding:0 6px;background-color:#363636;border-radius:2px}#cms-admin-footer a{color:#cecece}#cms-admin-footer a:hover{text-decoration:none}#cms-admin-footer .button-bar{margin-top:-8px;margin-left:12px;text-align:center}#cms-admin-footer .button-bar a{background-color:transparent;background-image:none;border:0}#cms-admin-footer .btn{color:#cecece;text-shadow:none;box-shadow:none}@media (min-width:668px){#cms-admin-footer{opacity:0}#cms-admin-footer:hover{opacity:1}#cms-admin-footer>span{display:block;float:left;text-align:left}#cms-admin-footer .button-bar{float:right}}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:0}.modal{left:50%;bottom:auto;right:auto;padding:0;width:500px;margin-left:-250px;background:#f3f3f3;border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal.container{max-width:none}.modal-open{overflow:hidden;-webkit-overflow-scrolling:auto}.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .modal-scrollable{overflow-y:scroll;-webkit-overflow-scrolling:touch}@media (max-width:979px){.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom{overflow-y:visible}}.modal-scrollable{position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{outline:none;position:absolute;margin-top:0;top:50%;overflow:visible}.modal.fade{top:-100%;-webkit-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-moz-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;-o-transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out;transition:opacity 0.3s linear,top 0.3s ease-out,bottom 0.3s ease-out,margin-top 0.3s ease-out}.modal.fade.in{top:50%}.modal-body{max-height:none;overflow:visible}.modal.modal-absolute{position:absolute;z-index:950}.modal .loading-mask{position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;border-radius:6px}.modal-backdrop.modal-absolute{position:absolute;z-index:940}.modal-backdrop,.modal-backdrop.fade.in{opacity:0.7;filter:alpha(opacity=70);background:#fff}.modal.container{width:940px;margin-left:-470px}.modal-overflow.modal{top:1%}.modal-overflow.modal.fade{top:-100%}.modal-overflow.modal.fade.in{top:1%}.modal-overflow .modal-body{-webkit-overflow-scrolling:touch}@media (min-width:1200px){.modal.container{width:1170px;margin-left:-585px}}@media (max-width:979px){.modal,.modal.container,.modal.modal-overflow{top:1%;right:1%;left:1%;bottom:auto;width:auto !important;height:auto !important;margin:0 !important;padding:0 !important}.modal.fade.in,.modal.container.fade.in,.modal.modal-overflow.fade.in{top:1%;bottom:auto}.modal-body,.modal-overflow .modal-body{position:static;margin:0;height:auto !important;max-height:none !important;overflow:visible !important}.modal-footer,.modal-overflow .modal-footer{position:static}}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}
+10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}
+20%,40%,60%,80%{-webkit-transform:translateX(10px)}}
+@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}
+10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}
+20%,40%,60%,80%{-moz-transform:translateX(10px)}}
+@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}
+10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}
+20%,40%,60%,80%{-o-transform:translateX(10px)}}
+@keyframes shake{0%,100%{transform:translateX(0)}
+10%,30%,50%,70%,90%{transform:translateX(-10px)}
+20%,40%,60%,80%{transform:translateX(10px)}}
+.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}body.rock-modal{background:transparent}body.rock-modal .modal-content{border:0 !important;box-shadow:none}.modal-content.rock-modal,.rock-modal .modal-content{background:transparent;border:0;box-shadow:0 12px 24px 0 rgba(0,0,0,0.1)}.modal-content.rock-modal .modal-header,.rock-modal .modal-content .modal-header{min-height:34px;padding:5px 15px;color:#cecece;background-color:#1c1c1c}.modal-content.rock-modal .modal-header:before,.rock-modal .modal-content .modal-header:before,.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{display:table;content:" "}.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{clear:both}.modal-content.rock-modal .modal-header:before,.rock-modal .modal-content .modal-header:before,.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{display:table;content:" "}.modal-content.rock-modal .modal-header:after,.rock-modal .modal-content .modal-header:after{clear:both}.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{margin-right:12px}.modal-content.rock-modal .modal-header a,.rock-modal .modal-content .modal-header a{color:#cecece;text-decoration:underline}.modal-content.rock-modal .modal-header .close,.rock-modal .modal-content .modal-header .close{padding:6px;text-decoration:none;color:#000;text-shadow:none}.modal-content.rock-modal .modal-header .label,.rock-modal .modal-content .modal-header .label{margin-top:8px}.modal-content.rock-modal .modal-header small,.rock-modal .modal-content .modal-header small{display:block;margin-top:12px;color:#b4b4b4}@media screen and (min-width:668px){.modal-content.rock-modal .modal-header h3,.rock-modal .modal-content .modal-header h3{float:left}}.modal-content.rock-modal .modal-body,.rock-modal .modal-content .modal-body{padding:8px 12px 12px;color:#1c1c1c;text-align:left;background-color:#f3f3f3}.modal-content.rock-modal .modal-body>.scroll-container,.rock-modal .modal-content .modal-body>.scroll-container{width:720px}.modal-content.rock-modal .modal-body>.scroll-container>.viewport,.rock-modal .modal-content .modal-body>.scroll-container>.viewport{width:670px}.modal-content.rock-modal .modal-body.iframe,.rock-modal .modal-content .modal-body.iframe{overflow:hidden}.modal-content.rock-modal .modal-footer,.rock-modal .modal-content .modal-footer{padding:8px 8px;margin-top:0;color:#245682;background-color:#1c1c1c;border-radius:0 0 5px 5px}.rock-modal .modal-footer .btn{float:right;margin-left:5px}.rock-modal-frame{border-radius:12px !important}.modal.modal-overflow{top:30px;margin-bottom:30px}@supports (-webkit-overflow-scrolling: touch){.modal.modal-overflow{top:1%;height:calc(100% - 1px) !important}}
+#modal-popup_iframe{display:block;width:100%;height:100%;border:0}.modal-backdrop,.modal-backdrop.fade.in{background:#000;filter:alpha(opacity=70);opacity:0.5}.modal-dialog{width:auto;margin:0}.modal-content{border:none}.input-xs{height:33px;padding:3px 8px;font-size:17px;line-height:1.5;border-radius:3px}select.input-xs{height:33px;padding:3px 36px 3px 8px}textarea.input-xs,select[multiple].input-xs{height:auto}select.input-xs{height:33px;padding:3px 36px 3px 8px}textarea.input-xs,select[multiple].input-xs{height:auto}input[type="number"]{-moz-appearance:textfield}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{resize:vertical}legend{font-weight:300;color:#1c1c1c;border-width:0}a.aspNetDisabled{opacity:0.5}.picker.aspNetDisabled{opacity:1}a.aspNetDisabled.picker-label,.picker.aspNetDisabled .picker-label{background:#eee;opacity:1}.form-group.rock-literal p.form-control-static,.rock-control-wrapper p.form-control-static{padding-top:0}.form-group{font-size:19px;line-height:1.333333}.-mt-form-group{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}.form-group>.form-group{margin-top:12px}.form-section{margin-bottom:64px}.form-inline .control-wrapper{display:inline-table;width:auto;vertical-align:middle}.form-inline .date-range-picker .input-group{margin-bottom:0}.form-inline-all .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline-all .form-control-static{display:inline-block}.form-group.captcha iframe{border:0}.form-group.captcha.has-error iframe{border:1px solid #d04441;border-radius:4px}.form-horizontal .form-group .form-control-group,.form-horizontal .form-group .form-control{float:left}.form-horizontal[class*="label-"] .form-group label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal[class*="label-"] .form-group label{float:left;width:16.666666667%}}@media (min-width:668px){.form-horizontal[class*="label-"] .form-group label{float:left;width:16.666666667%}}@media (min-width:668px){.form-horizontal[class*="label-"] .form-group label{padding-top:7px;padding-bottom:7px;margin-bottom:0;line-height:1.333333;text-align:right}}.form-horizontal[class*="label-"] .form-group .control-wrapper{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal[class*="label-"] .form-group .control-wrapper{float:left;width:83.333333333%}}@media (min-width:668px){.form-horizontal[class*="label-"] .form-group .control-wrapper{float:left;width:83.333333333%}}.form-horizontal.label-md .form-group label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-md .form-group label{float:left;width:33.333333333%}}@media (min-width:668px){.form-horizontal.label-md .form-group label{float:left;width:33.333333333%}}.form-horizontal.label-md .form-group .control-wrapper{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-md .form-group .control-wrapper{float:left;width:66.666666667%}}@media (min-width:668px){.form-horizontal.label-md .form-group .control-wrapper{float:left;width:66.666666667%}}.form-horizontal.label-lg .form-group label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-lg .form-group label{float:left;width:50%}}@media (min-width:668px){.form-horizontal.label-lg .form-group label{float:left;width:50%}}.form-horizontal.label-lg .form-group .control-wrapper{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-lg .form-group .control-wrapper{float:left;width:50%}}@media (min-width:668px){.form-horizontal.label-lg .form-group .control-wrapper{float:left;width:50%}}.form-horizontal.label-xl .form-group label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-xl .form-group label{float:left;width:66.666666667%}}@media (min-width:668px){.form-horizontal.label-xl .form-group label{float:left;width:66.666666667%}}.form-horizontal.label-xl .form-group .control-wrapper{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:668px){.form-horizontal.label-xl .form-group .control-wrapper{float:left;width:33.333333333%}}@media (min-width:668px){.form-horizontal.label-xl .form-group .control-wrapper{float:left;width:33.333333333%}}.form-horizontal.label-auto .form-group{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:end;justify-content:flex-end;margin-right:-15px;margin-left:-15px}.form-horizontal.label-auto .form-group .control-label{width:auto;min-width:180px;padding-top:7px;padding-bottom:7px;margin-bottom:0;line-height:1.333333;text-align:right}.form-horizontal.label-auto .form-group .control-wrapper{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.form-horizontal.label-min-w-0 .control-label{min-width:0 !important}.controls .checkbox:first-child,.controls .radio:first-child{margin-top:0}.form-group.required>.control-label::after,.required-indicator::after{margin-left:4px;font-family:'FontAwesome';font-size:6px;font-weight:900;color:#eca9a7;vertical-align:super;content:"\f111"}dl:not(.dl-horizontal) dt{margin-top:16px;margin-bottom:2px;font-weight:700}dl:not(.dl-horizontal) dt:first-child{margin-top:0}dl:not(.dl-horizontal) dd{margin-left:0}.form-control.input-width-xs,.input-group.input-width-xs,.form-control-group.input-width-xs input{width:60px}.form-control.input-width-sm,.input-group.input-width-sm,.form-control-group.input-width-sm input{width:90px}.form-control.input-width-md,.input-group.input-width-md,.form-control-group.input-width-md input{width:150px}.form-control.input-width-lg,.input-group.input-width-lg,.form-control-group.input-width-lg input{width:210px}.form-control.input-width-xl,.input-group.input-width-xl,.form-control-group.input-width-xl input{width:270px}.form-control.input-width-xxl,.input-group.input-width-xxl,.form-control-group.input-width-xxl input{width:530px}.input-max-w-md{max-width:150px}.input-max-w-xl{max-width:270px}.form-control-group,.form-control-group>.form-row{display:flex;flex-wrap:wrap;gap:6px;margin-right:6px;align-items:center}.form-control-group>.row,.form-control-group>.form-row{width:100%}.form-control-group>.form-row::before,.form-control-group>.form-row::after{display:none}.form-control-group .form-control-static+.timepicker-input{margin-left:35px}.form-control-group .input-group>.form-control{margin-right:0}.form-control-group.controls-row{flex-wrap:nowrap;margin-right:0}.form-control-group>span{display:inline-flex;align-items:center;font-size:19px;line-height:1.333333;color:#aaa}.form-group-auto .form-control-group{display:-ms-flexbox;display:flex}.form-group-auto .form-control-group .form-control{-ms-flex:1 1 0;flex:1 1 0}.panel-heading .input-group{margin-top:-6px;margin-bottom:-6px}.panel-heading .picker-daterange .input-group{margin-top:0;margin-bottom:0}.form-control>option[disabled]{color:rgba(85,85,85,0.5)}.input-group-edit .input-group-addon{background-color:#6bac43}.input-group-edit .input-group-addon a{color:#fff}.input-group-addon>.btn{position:relative;display:flex;align-items:center;justify-content:center;height:39px;margin:-7px -13px;border-radius:5px}.input-group-addon>.btn:focus{z-index:3}.input-group-addon:first-child>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:last-child>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.date-parts-picker .control-label{width:100%}.date-parts-picker .form-control{flex:1 1 auto;min-width:90px;max-width:112px}.month-year-picker .separator,.month-day-picker .separator{font-size:18px;line-height:1}.rock-check-box .checkbox{margin-top:0}.form-control.ssn-part.ssn-area{width:50px}.form-control.ssn-part.ssn-group{width:45px}.form-control.ssn-part.ssn-serial{width:60px}.validation-error{float:left;font-weight:300;color:#d04441}.btn-controlaligned{margin-top:24px}.list-items-rows .controls-row{display:flex;align-items:center;margin-bottom:6px}.form-group.static-control label{margin-bottom:0}.form-group.static-control .form-control-static{padding-top:0}.table thead th.required::after{margin-left:4px;font-family:'FontAwesome';font-size:6px;font-weight:900;color:#eca9a7;vertical-align:super;content:"\f111"}.table>tbody>tr>td{color:#1c1c1c}.table-striped>tbody>tr:nth-of-type(odd){color:#1c1c1c;background-color:#f7f7f7}.table-striped>tbody>tr:nth-of-type(even){color:#1c1c1c;background-color:#fff}.table.table-hover>tbody>tr:hover>td{color:#1c1c1c;background-color:#d5e6ed}td.grid-select-cell{cursor:pointer}td.wrap-contents{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;-ms-word-break:break-all;word-break:break-all}.table{margin-bottom:0}.table-inline:not(.table-hide-last-border)>tbody>tr:last-child>td{border-bottom:1px solid #ddd}.table-inline>tbody>tr:first-child>td{border-top:0}.grid{margin-bottom:15px}.grid .grid-table{border:1px solid #ddd}.grid .grid-table.table-light{border:0}.grid.grid-panel th:first-child,.grid.grid-panel td:first-child{border-left:0}.grid.grid-panel th:last-child,.grid.grid-panel td:last-child{border-right:0}.grid.grid-panel .grid-table{border:0 !important}.grid.grid-panel tfoot>tr:last-child td:first-child{border-bottom-left-radius:5px}.grid.grid-panel tfoot>tr:last-child td:last-child{border-bottom-right-radius:5px}.grid-panel .table-responsive[data-pattern="priority-columns"],.table-responsive.table-no-border{border:0}.table-responsive[data-pattern="priority-columns"]{position:static}.table-wrapper .btn-toolbar{display:none}.grid-filter{padding:0;color:#5697d0;background-color:#f5f9fc}.grid-filter header{position:absolute;display:inline;cursor:pointer;border-radius:5px 5px 0 0}.grid-filter header h3{display:inline;margin:0 2px 0 6px;font-size:17px;font-weight:300;line-height:16px}.grid-filter header fieldset{margin-bottom:0}.grid-filter .btn-filter-toggle{position:absolute;z-index:9;margin:8px;color:#6bac43;text-decoration:none;background:#f5f9fc}.grid-filter .btn-filter-toggle.is-open{background:#f5f9fc}.grid-filter h4{margin:0;font-size:18px;font-weight:400}.grid-filter .grid-filter-entry,.grid-filter .grid-filter-overview fieldset{padding:15px;padding-top:37px;border-bottom:1px solid #cde1f1}.grid-filter .picker .picker-label{color:#5697d0}.grid-filter-entry legend+.control-group{margin-top:0}.table>thead>tr>th{font-size:14px;font-weight:600;color:#1c1c1c;background-color:transparent;border-color:#ddd}.table>thead>tr>th>a:not(.btn){display:inline;color:#1c1c1c}.table>thead>tr>th>a:not(.btn)::after{display:inline-block;padding-left:5px;margin-right:-14px;font-family:'FontAwesome';font-weight:900;color:rgba(28,28,28,0.35);text-decoration:none;content:"\f0dc";opacity:0}.table>thead>tr>th:hover a:not(.btn)::after{opacity:1}.table>thead>tr>th.descending a:not(.btn)::after{color:#1c1c1c;content:"\f0dd";opacity:1}.table>thead>tr>th.ascending a:not(.btn)::after{color:#1c1c1c;content:"\f0de";opacity:1}.table.table-light>thead>tr>th{color:#1c1c1c;background-color:transparent;border-color:#828282}.grid-paging{padding:5px 0}.grid-paging .grid-pager{float:right;margin-top:0;margin-bottom:0}.grid-paging .grid-pager li>a{min-width:23px;padding:5px 12px;margin:0 8px 0 0;color:#1c1c1c;text-align:center;background-color:#e1edf7;border-color:#92bce0}.grid-paging .grid-pager li.disabled>a{cursor:default}.grid-paging .grid-pager li.active>a{color:#1c1c1c;background-color:#fff;border-color:#92bce0}.grid-paging .grid-pagesize{float:left;margin:0 6px 0 0}.grid-paging .pagination-text{float:left;font-size:17px}.grid-paging .grid-itemcount{float:left;margin-top:7px;margin-left:10px;font-size:17px}td.grid-col-actions{text-align:right}.grid-actions{text-align:right;background-color:#f5f9fc}.grid-actions .btn{margin-left:8px}.grid-actions .btn-grid-action{color:#6bac43;background-color:#fff;border-color:#fff}.grid-actions .btn-grid-custom-action{margin-bottom:8px}.table-light thead th{font-weight:700;color:#1c1c1c;background-color:inherit}.table-light tfoot td{background-color:inherit}.table-light tfoot td .grid-actions a{border-color:transparent;border-style:none;border-width:0;border-radius:0;box-shadow:none}.table-light .grid-columncommand{width:42px;min-width:42px}.panel-section .table-light>tfoot>tr>td,.well .table-light>tfoot>tr>td{background-color:#f5f5f5}.table-padded td,.table-padded th{padding:12px !important}.hide-row-border tbody>tr:first-child>td,.hide-row-border tbody>tr:first-child>th{border-width:0}.table-empty{opacity:0.7}.grid-select-field .checkbox,.grid-select-field .radio{padding-left:0 !important;margin:0 !important}.grid-select-field .checkbox label,.grid-select-field .radio label{position:relative;display:block;width:20px;padding:0;margin:0 auto}.grid-select-field .checkbox input,.grid-select-field .radio input{float:none;height:100%;margin:0;vertical-align:middle}.table>tbody>tr>td.grid-field,.table>thead>tr>th.grid-select-field,.table>tbody>tr>td.grid-select-field{padding:0 12px;vertical-align:middle}.grid-table>thead>tr>th,.grid-table>tbody>tr>td{padding:12px}.grid-table>thead>tr>th.grid-columncommand,.grid-table>tbody>tr>td.grid-columncommand{min-width:37px}.grid-table>thead>tr>th.grid-columnreorder,.grid-table>tbody>tr>td.grid-columnreorder{width:48px;min-width:48px;padding-top:12px}.grid-table>thead>tr>th.grid-columnreorder a,.grid-table>tbody>tr>td.grid-columnreorder a{color:#4f4f4f}.grid-table>tbody>tr>td.grid-columncommand{padding:6px}.table .color-field{width:4px;padding:0}.table .color-field+th{border-left-width:0}.table .grid-icon img{width:100%;max-width:120px}.grid-select-cell .photo-icon{display:inline-block;width:25px;height:25px;vertical-align:top}.grid-select-cell .grid-img{width:200px}.table>tbody>tr.grid-section-header>td,.table>tbody>tr.grid-section-header:hover>td{font-size:18px;font-weight:700;color:#245682;background-color:#b9d4ec}tr.row-highlight td{color:#1c1c1c !important;background-color:#d5e6ed !important}.table>thead>tr.grid-header-bold th{color:#cecece;vertical-align:top !important;background-color:#1c1c1c;border-color:#292929}.table>tbody>tr.grid-row-bold td{color:#cecece;vertical-align:top !important;background-color:#1c1c1c}.table>tbody>tr.grid-row-bold:hover td{color:#cecece !important;background-color:#363636}.table>tbody>tr.is-inactive>td{color:#686868}.table>tbody>tr.is-inactive-person>td{color:#686868}.table>tbody>tr.is-deceased>td{color:#d04441}.table-responsive{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.grid .table-responsive{margin-bottom:0;border:0}.table-responsive th[data-priority],.table-responsive td[data-priority]{display:none}.table-responsive th[data-priority="1"],.table-responsive td[data-priority="1"]{display:table-cell}@media screen and (min-width:480px){.table-responsive th[data-priority="2"],.table-responsive td[data-priority="2"]{display:table-cell}}@media screen and (min-width:640px){.table-responsive th[data-priority="3"],.table-responsive td[data-priority="3"]{display:table-cell}}@media screen and (min-width:800px){.table-responsive th[data-priority="4"],.table-responsive td[data-priority="4"]{display:table-cell}}@media screen and (min-width:960px){.table-responsive th[data-priority="5"],.table-responsive td[data-priority="5"]{display:table-cell}}@media screen and (min-width:1120px){.table-responsive th[data-priority="6"],.table-responsive td[data-priority="6"]{display:table-cell}}.alert.alert-grid{margin-top:-15px;margin-right:-15px;margin-bottom:15px;margin-left:-15px;border-radius:0}.panel.panel-flex{display:flex;flex-direction:column}.panel.panel-flex>.panel-heading{display:flex;align-items:center;min-height:48px;padding:0;line-height:1em}.panel.panel-flex>.panel-heading>.panel-title{flex-grow:1;padding:0 24px}.panel.panel-flex>.panel-heading>.panel-aside{padding:0 24px 0 0}.panel.panel-flex>.panel-heading>.panel-action{position:relative;display:flex;align-items:center;align-self:stretch;justify-content:center;width:48px;cursor:pointer;border-left:1px solid #ccc}.panel.panel-flex>.panel-heading>.panel-action .rock-fullscreen-toggle{position:relative;border-left:0}.panel.panel-flex>.panel-heading .panel-header-actions{display:flex;align-items:center;justify-content:flex-end;padding:0;margin:0}.panel.panel-flex>.panel-heading .panel-header-actions>.action{padding:10px;margin:2px;color:#616161;transition:color 0.2s,background-color 0.2s,border-radius 0.2s}.panel.panel-flex>.panel-heading .panel-header-actions>.action:hover{color:#212121}.panel.panel-flex>.panel-heading .panel-header-actions>.action.active{background-color:rgba(0,0,0,0.05);border-radius:4px}@media screen and (max-width:991px){.panel.panel-flex>.panel-heading .panel-header-actions .panel-action-zoom,.panel.panel-flex>.panel-heading .panel-header-actions .panel-action-zoom-control,.panel.panel-flex>.panel-heading .panel-header-actions .panel-action-fullscreen{display:none}}.panel.panel-flex .panel-sub-header>.panel-sub-header-left{flex-grow:1}.panel.panel-flex .footer-secondary-actions{margin:0 0 0 auto !important}.panel.panel-flex .panel-actions{display:flex;flex-wrap:wrap;align-items:center;padding:0 15px 15px;margin:15px -15px -15px -15px}.panel.panel-fullscreen{position:absolute;top:0;left:0;width:100vw;height:100vh;margin:0}.panel.panel-fullscreen,.panel.panel-fullscreen>.panel-heading{border-radius:0}.panel.panel-flex .panel-flex-fill-body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.panel.panel-flex.panel-fullscreen>.panel-body{position:relative;flex-grow:1;overflow-y:auto}.page-fullscreen-capable .panel.panel-block.panel-flex{overflow-y:hidden}.page-fullscreen-capable .panel.panel-block.panel-flex>.panel-body{position:relative}.page-fullscreen-capable .panel.panel-block.panel-flex>.panel-body::before,.page-fullscreen-capable .panel.panel-block.panel-flex>.panel-body::after{display:none}.picker.picker-obsidian{width:initial}.picker.picker-obsidian>.picker-label{max-width:initial}.picker.picker-obsidian .picker-select-none{display:none}.picker.picker-obsidian.picker-show-clear .picker-select-none{display:block}.picker.picker-obsidian.picker-full-width{max-width:initial}.rockslide-enter-active,.rockslide-leave-active{transition:all 0.6s ease}.rockslide-enter,.rockslide-leave-to{opacity:0;transform:translateY(-100%)}.htmlcontent-edit-header{padding:7.5px 15px 0 15px}.htmlcontent-edit-header .html-content-approve{float:right;margin-top:4px}.codeeditor-header .picker-mergefield{float:right}.codeeditor-header .picker .picker-label{padding:2px 6px}.ace_editor.is-fullscreen{position:fixed !important;top:0;right:0;bottom:0;left:0;z-index:2500;width:auto;height:auto;margin:0;border:0}.slug-row{display:block;margin-bottom:3px;border-bottom:1px solid #ccc}.slug-row>.rollover-item{margin-top:7px}.slug-full-url{display:block;float:left;padding:6px 0}.slug-base-url{opacity:0.6}.slug-literal{font-weight:700}.my-account{margin-bottom:15px}.my-account .photo img{width:100%}.lava-debug{margin-top:24px;clear:both}.lava-debug code{color:#198fc8;background-color:#c4e3f3}.lava-debug p{margin-bottom:10px;font-weight:400 !important}.lava-debug p.attributes{margin-bottom:0}.lava-debug .lava-debug-key{font-weight:600}.lava-debug .panel.panel-lavadebug{background-color:#e6f3fa;border:0}.lava-debug .panel.panel-lavadebug .panel-heading{color:#198fc8;cursor:pointer;background-color:#cce7f4;border:0}.lava-debug .panel.panel-lavadebug .panel-heading.collapsed i::before{content:"\f078"}.socialsharing{padding:0;margin-top:12px}.socialsharing li{display:inline-block}.socialsharing li .socialicon{padding:8px 6px;font-family:'FontAwesome';font-weight:900;color:#fff;border-radius:20px}.socialsharing li .socialicon:hover{text-decoration:none}.socialsharing li .socialicon-facebook{background-color:#3b5998}.socialsharing li .socialicon-twitter{background-color:#1da1f2}.socialsharing li .socialicon-email{background-color:#209904}.socialsharing li .socialicon-calendar{background-color:red}.mediaplayer-hidecontrolswhenstopped .plyr--video.plyr--stopped .plyr__controls{display:none}.content-collection-view .collectionsearch{position:relative;display:flex;flex-wrap:wrap}.content-collection-view .no-results{display:none}.content-collection-view .check-box-list>.control-wrapper>.rockcheckboxlist,.content-collection-view .rock-radio-button-list>.control-wrapper{margin:0 -5px}.content-collection-view .results i{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:18px}.content-collection-view .results span>i{color:#bcbcbd;background:#f5f5f5;border-radius:500px}.content-collection-view .results .panel-title>i{color:#fff;background:#6bac43;border-radius:8px}.content-collection-view .results>.panel{background:none;border:0;border-color:#ddd;box-shadow:none}.content-collection-view .results>.panel>.panel-heading{padding:0 0 15px;margin-bottom:15px;background:none}.content-collection-view .results-order{margin-left:auto}.content-collection-view .result-item{position:relative;display:flex;flex-direction:column;min-width:0;padding:18px;margin-bottom:20px;overflow:hidden;word-wrap:break-word;background-color:#fff;border:2px solid #f5f5f5;border-radius:6px;transition:150ms linear all}.content-collection-view .result-item:hover{background:#f3f3f3;border:2px solid #6bac43;box-shadow:0 0 0 rgba(0,0,0,0.25)}.collectionsearch-fulltext{flex-basis:100%}@media screen and (min-width:992px){.collectionsearch-fulltext{margin-bottom:48px}}.collectionsearch-fulltext .search-fulltext .input-group-addon{padding:0 20px;font-size:24px;color:#bcbcbc;background:#f6f5f5;border-color:#f6f5f5;border-top-left-radius:8px;border-bottom-left-radius:8px}.collectionsearch-fulltext .search-fulltext .form-control{height:60px;font-size:18px;background:#f6f5f5;border-color:#f6f5f5;border-top-right-radius:8px;border-bottom-right-radius:8px;box-shadow:none}.collectionsearch-filters .title,.collectionsearch-fulltext .title{margin-top:0}.collectionsearch-filters{flex-basis:100%;padding:0;margin-bottom:20px}.collectionsearch-filters .checkbox-inline,.collectionsearch-filters .radio-inline{display:inline-block;padding:0;margin:0 4px 8px;font-size:14px;font-weight:400;line-height:20px;cursor:pointer}.collectionsearch-filters .checkbox-inline:first-child,.collectionsearch-filters .radio-inline:first-child{padding-left:0}.collectionsearch-filters .checkbox-inline input,.collectionsearch-filters .radio-inline input{display:none !important}.collectionsearch-filters .checkbox-inline input:checked+.label-text,.collectionsearch-filters .radio-inline input:checked+.label-text{padding-right:16px;padding-left:16px;color:#fff;background-color:#6bac43;border-color:#6bac43}.collectionsearch-filters .checkbox-inline .label-text,.collectionsearch-filters .radio-inline .label-text{display:block;min-width:65px;padding:5px 15px;color:#1c1c1c;text-align:center;text-decoration:none;background:#fff;border:1px solid #ccc;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.collectionsearch-filters .checkbox-inline .label-text:hover,.collectionsearch-filters .radio-inline .label-text:hover,.collectionsearch-filters .checkbox-inline .label-text:focus,.collectionsearch-filters .radio-inline .label-text:focus{background:#f5f5f5}.collectionsearch-filters .checkbox-inline .label-text::before,.collectionsearch-filters .radio-inline .label-text::before,.collectionsearch-filters .checkbox-inline .label-text::after,.collectionsearch-filters .radio-inline .label-text::after{display:none}.collectionsearch-results{display:flex;flex-basis:100%;flex-flow:column wrap}.collectionsearch-results .results-header{display:flex;align-items:center;padding-bottom:12px;margin-bottom:24px;border-bottom:1px solid #f5f5f5}.collectionsearch-results .results-count{font-weight:700}.collectionsearch-results .results-count-number{color:#aaa}@media screen and (min-width:992px){.collectionsearch-filters{position:sticky;top:15px;flex-basis:320px;align-self:flex-start;border-right:1px solid #e3e3e3}.collectionsearch-results{flex-basis:calc(100% - 350px);margin-left:30px}}.requirement-item{margin-bottom:30px}.alert-requirement{display:flex;height:100%;margin:0}.alert-requirement .icon{margin:8px 12px 0 0;font-size:24px}.alert-requirement .requirement-title{margin:0 4px 0 0}.alert-requirement .requirement-summary,.alert-requirement .list-requirements{font-size:14px}.alert-requirement .requirement-message{margin-bottom:12px}.alert-requirement .list-requirements{margin:12px 0 0;font-weight:500}.alert-requirement .list-requirements a{border-bottom:none}.connection-request-board .modal-content.rock-modal .modal-header{color:#1c1c1c;background:#1c1c1c}.connection-request-board .modal-content.rock-modal .modal-body{padding:12px 24px}.connection-request-board .modal-content.rock-modal .modal-header .close{color:#aaa}.connection-request-board .modal-content.rock-modal .modal-header small{margin-top:5px;font-size:100%}.connection-request-board .modal-content.rock-modal .modal-header .label{margin-top:0}.not-me{margin-left:21px}.security-inherited{margin-top:12px}.filter-toggle{align-self:flex-start;padding-right:8px}.filter-toggle>span{float:left}.filter-toggle .btn-toggle{margin:0 6px}.filter-item-select>span{float:left;padding:8px 6px 0 0}.filter-item-select .chosen-container{float:left;width:250px !important}.field-criteria .in-columns,.field-criteria .checkbox-inline{margin-top:8px}@media (min-width: 992px){.field-criteria>div{display:table-cell;float:none;vertical-align:top}.field-criteria .vertical-align-bottom{vertical-align:bottom}}.filter-item div[class*="col"]{margin-bottom:6px}@media (min-width:992px){.filter-item div[class*="col"]{margin-bottom:0}}span.data-view-filter-label{display:inline-block;min-height:42px;padding-top:7px;padding-bottom:7px;margin:0 12px 0 0}.filterfield{margin-bottom:12px}.filterfield .field-criteria>div{display:block;float:left}.filterfield-label{display:block;margin-top:8px;font-weight:600}.list-panel>.grid-filter{padding:6px 0;margin:-15px -15px 15px;border-bottom:1px solid #cde1f1}.list-panel>.grid-filter>header{position:relative}.list-panel>.grid-filter .grid-filter-entry{padding-top:inherit;border:0}.list-panel>.grid-filter .btn-link{position:relative;margin:0}.filter-rule-remove,.filtervisibilityrules-type{margin-bottom:15px}.filter-rule{display:flex;align-items:flex-start}.filter-rule .filter-rule-fields{flex:1 1 auto;margin-right:5px}.filter-rule .flex-rule-remove{flex:0 0 auto}.filter-rule-fieldfilter,.filter-rule-fieldfilter .field-criteria,.filter-rule-fields{display:flex;flex-wrap:wrap;align-items:flex-start}.filter-rule-fieldfilter .field-criteria::before,.filter-rule-fields::before,.filter-rule-fieldfilter .field-criteria::after,.filter-rule-fields::after{display:none !important}.filter-rule-fieldfilter .field-criteria{width:calc(100% + 10px)}.filter-rule-comparefield>.form-control,.filter-rule-comparefield>.control-wrapper,.filter-rule-fieldfilter>.field-criteria .form-control{min-width:100%;margin-bottom:15px}.filter-rule-fieldfilter .field-criteria>div{display:block;float:left}.rock-fullscreen-toggle{position:absolute;top:0;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:50px;padding:0 10px;line-height:40px;color:#1c1c1c;text-align:center;cursor:pointer;border-left:1px solid #cde1f1;opacity:0.5;transition:0.2s}.rock-fullscreen-toggle:hover{font-size:110%;color:#1c1c1c;opacity:0.75}.rock-fullscreen-toggle::before{font-family:'FontAwesome';font-weight:900;text-align:center;content:"\f065"}.is-fullscreen .rock-fullscreen-toggle{color:#1c1c1c}.is-fullscreen .rock-fullscreen-toggle::before{content:"\f066"}.panel-follow-full-container{position:absolute;top:0;right:0;bottom:0}.panel-follow-full-container>div{position:relative;float:left;height:100%}.section-header-hr,.rock-header hr{margin-top:16px}.rock-header .title{margin:0}.rock-header .description{margin:0;font-size:17px;color:#aaa}.panel-section{border-color:#e3e3e3;box-shadow:none !important}.panel-section>.panel-heading{position:relative;padding:18px;background:#f5f5f5;border-radius:5px 5px 0 0}.panel-section>.panel-heading::after{position:absolute;right:11px;bottom:0;left:11px;content:"";border-bottom:1px solid #ccc}.panel-section>.panel-heading .description{display:block;margin:0;color:#aaa}.panel-section>.panel-heading .panel-title+.description{margin-top:6px}.panel-section>.panel-body{background:#f5f5f5;border-radius:0 0 5px 5px}.styled-scroll ::-webkit-scrollbar{width:8px;height:8px;background-color:rgba(0,0,0,0.03);border-radius:4px}.styled-scroll ::-webkit-scrollbar-thumb{width:8px;background-color:rgba(0,0,0,0.2);border-radius:4px}.styled-scroll ::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,0.3)}.panel-note{border-top-color:#b9d4ec;border-color:#cde1f1}.panel-note>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-note>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-note>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-note>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-note>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-note>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-note>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-note>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-note .panel-body{padding:0}.panel-note .panel-heading h3{float:left}.panel-note .panel-heading .btn{float:right;margin:-4px 0 -4px auto}.tag-flair{position:relative;display:inline-flex;align-items:center;line-height:1;text-transform:capitalize;vertical-align:top}.tag-flair .tag-color{display:inline-block;width:1em;height:1em;margin:0 6px 0 1px;background-color:#999;border-radius:50%}.tag-flair .tag-label{line-height:1;color:#aaa;white-space:nowrap}.load-more-container{margin:16px;text-align:center}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;overflow:hidden;font-size:24px;line-height:1;color:#aaa;text-align:center;background:#f5f5f5;border-radius:50%}.avatar img{max-width:100%;height:auto}.avatar-xl{width:64px;height:64px}.avatar-lg{width:48px;height:48px;font-size:20px}.avatar-sm{width:24px;height:24px;font-size:20px}.avatar-xs{width:20px;height:20px;font-size:16px}.avatar::after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";border:1px solid rgba(0,0,0,0.0975);border-radius:50%}.meta{display:flex;align-items:center}.meta .dropdown{align-self:flex-start;margin-left:auto}.meta .btn-overflow{height:19px;padding:0;line-height:19px;color:#aaa}.meta .btn-overflow:hover,.meta .btn-overflow:focus{color:#555}.meta p{margin-bottom:0;line-height:1.3}.meta .note-caption{font-weight:600}.meta .note-details{display:flex;align-items:center;font-size:17px;line-height:1.5}.meta .timestamp{display:inline-block;color:#aaa}.meta .meta-figure{display:flex;flex-shrink:0;margin-right:12px}.meta .meta-body{display:flex;flex:1;flex-direction:column;min-width:0}.meta .meta-body .flex{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex:1 1 0%;flex:1 1 0%;-ms-flex-pack:justify;justify-content:space-between;min-width:0;-webkit-box-pack:justify;-webkit-box-flex:1}.meta .meta-body .dropdown .dropdown-menu{right:0;left:auto}.note-view-list{margin:0}.note-view-list>.note:last-child{padding-bottom:0}.note-view-list>.note:last-child .note-comments{border-bottom:0}.note+.note{border-top:1px solid #dee2e6}.note .flag{padding:4px 8px 6px;margin:-16px -24px 12px;font-size:12px;color:#d04441;background:#f2dede;border-top:2px solid #d04441}@media (min-width: 668px){.note .flag{padding:4px 23px 6px;font-size:14px}}.note .flag.warning{color:#dba400;background:#fcf8e3;border-left-color:#dba400}.note article{padding:16px 24px}.note .note-comments{background:#f0f3f6;border-top:1px solid #cde1f1}.note .meta{margin-bottom:6px}@media (min-width: 668px){.note .meta{margin-bottom:12px}}.note .note-content p{margin:0}.note .note-content .note-attributes{padding:8px 0 0;margin:24px 0 0;border-top:1px solid rgba(205,225,241,0.6)}.note .note-content .note-attribute{margin:15px 0 0;font-size:17px}.note .note-footer{display:flex;flex-direction:row;font-size:17px}.note .note-footer-actions-list{-ms-flex-order:0;-ms-flex-pack:justify;justify-content:space-between;order:0;text-align:center;-webkit-box-pack:justify;-webkit-box-ordinal-group:1}.note .note-footer-meta-list{margin-bottom:0;margin-left:auto}.note .note-footer-meta-list>li>.btn{padding:0;margin-left:32px;font-size:17px;color:#aaa}.note .note-footer-meta-list>li>.btn i{margin-right:4px}.note .note-footer-meta-list>li>.btn:hover{color:#6bac43}.note-nested>.note-list-nested{margin-left:16px}@media (min-width: 668px){.note-nested>.note-list-nested{margin-left:44px}}.note-list-nested{margin-left:0}@media (min-width: 668px){.note-list-nested{margin-left:60px}}.note-list-nested>.note:first-child{border-top:0}.note-list-nested .note-content,.note-list-nested .note-footer{margin-left:44px}.note-editor .meta-body{background:#fff;border:1px solid #ccc;border-radius:5px}.note-editor .settings{padding:3px 12px 6px}.note-editor .settings .createDate{float:left}.note-editor .settings .createDate .date-time-picker .input-group,.note-editor .settings .createDate .date-time-picker{margin-bottom:0}.note-editor .settings .createDate .date-time-picker .control-label{display:none}.note-editor .settings .createDate .date-time-picker .form-control{height:30px;padding:5px 10px;font-size:17px}.note-editor .settings .createDate .date-time-picker .date{width:130px}.note-editor .settings .createDate .date-time-picker .bootstrap-timepicker{width:120px}.note-editor .settings .createDate .date-time-picker .input-group-addon{padding:0 12px}.note-editor .settings .noteentry-notetype{float:left;width:auto;max-width:200px;height:30px;padding-top:0;padding-bottom:0;font-size:17px;line-height:30px}.note-editor .settings .checkbox{float:left;margin:3px 5px 0 10px !important;font-size:17px;line-height:24px}.note-editor .settings .hidden+.checkbox,.note-editor .settings .checkbox:first-child{margin-left:0 !important}.note-editor .settings .commands{float:right}.note-editor .settings .commands>.btn{margin-left:8px}.note-editor-standard .meta-body:focus,.note-editor-standard .meta-body:focus-within,.note-editor-standard .meta-body.focus-within{border:var(--focus-state-border);box-shadow:var(--focus-state-shadow)}.note-editor-standard .noteentry-control .form-control{background:transparent;border:0;box-shadow:none}.note-editor-attributes .noteentry-control{padding:18px 24px 0}.note-editor-attributes .settings{padding:6px 24px}.note-editor.note-frame{margin:0}.notes .note-editor{margin:16px 24px}.noteentry-control textarea{overflow:auto;resize:vertical}.recurrence-pattern-type{padding-left:30px;margin-top:12px}.recurrence-pattern-specific-date:before,.recurrence-pattern-specific-date:after{display:table;content:" "}.recurrence-pattern-specific-date:after{clear:both}.recurrence-pattern-specific-date:before,.recurrence-pattern-specific-date:after{display:table;content:" "}.recurrence-pattern-specific-date:after{clear:both}.recurrence-pattern-specific-date .input-group{float:left}.recurrence-pattern-specific-date .control-actions{float:left;margin-top:4px;margin-left:12px}.recurrence-pattern-daily .form-control-group,.recurrence-pattern-monthly .form-control-group,.continue-until .form-control-group{align-items:center;min-height:39px;margin-bottom:3px}.recurrence-pattern-weekly .week-days{margin-top:15px}.recurrence-pattern-weekly .week-days:before,.recurrence-pattern-weekly .week-days:after{display:table;content:" "}.recurrence-pattern-weekly .week-days:after{clear:both}.recurrence-pattern-weekly .week-days:before,.recurrence-pattern-weekly .week-days:after{display:table;content:" "}.recurrence-pattern-weekly .week-days:after{clear:both}.recurrence-pattern-weekly .week-days .checkbox{float:left;margin:0 15px}.exclusions .add-exclusion .form-control-group{float:left}.exclusions .add-exclusion .control-actions{float:left;margin-top:5px}.workflow-section-activities{margin-top:64px}.workflow-activities-readonly-header{color:#1c1c1c}.workflow-activities-readonly-header:hover,.workflow-activities-readonly-header:active,.workflow-activities-readonly-header:focus{color:inherit;text-decoration:none}.panel.workflow-activity::before{position:absolute;top:-1px;bottom:-1px;left:0;width:6px;content:"";background:#198fc8;border-radius:5px 0 0 5px}.panel.workflow-activity h3.panel-title{display:flex;align-items:center;margin-bottom:2px;font-size:26px;font-weight:600;line-height:1.5}.panel.workflow-activity .panel-title::before{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:12px;font-family:'FontAwesome';font-size:17px;font-weight:900;color:#198fc8;content:"\f1b3";background:rgba(25,143,200,0.2);border-radius:20px}.panel.workflow-activity a.btn-link{color:#1c1c1c}.panel.workflow-activity.activated-with-workflow:not(.workflow-activity-inactive)::before{background-color:#6bac43}.panel.workflow-activity.activated-with-workflow:not(.workflow-activity-inactive) .panel-title::before{color:#6bac43;background:rgba(107,172,67,0.2)}.panel.workflow-activity.workflow-activity-inactive::before{background-color:#d04441}.panel.workflow-activity.workflow-activity-inactive .panel-title::before{color:#d04441;background:rgba(208,68,65,0.2)}.panel.workflow-activity>.panel-heading>.filter-toggle>span{margin-left:36px;font-size:17px;line-height:1.5;color:#aaa}@media (min-width:992px){.panel.workflow-activity>.panel-body{padding-left:51px}}.workflow-action{margin-bottom:12px}.workflow-action:last-of-type{margin-bottom:0}.workflow-action.editable:hover{border-color:#6bac43}.workflow-action>.panel-heading{background:#f5f5f5 !important}.workflow-action .workflow-action-name::before{margin-right:8px;font-family:'FontAwesome';font-weight:900;content:"\f1b2"}.workflow-action .criteria-exists{color:#fff;background-color:#dba400;border:1px solid #dba400}.workflow-action .conditional-run-criteria{padding:15px 0 10px;margin:-15px -16px 15px;border-style:solid;border-width:1px}.workflow-action .form-action-rows .form-row{margin-bottom:15px}.workflow-action.not-editable{opacity:0.5}.panel-group .panel-workflowitem{margin-bottom:30px;border-color:#cde1f1}.panel-group .panel-workflowitem>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-group .panel-workflowitem>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-group .panel-workflowitem>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-group .panel-workflowitem>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-group .panel-workflowitem>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-group .panel-workflowitem>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-group .panel-workflowitem>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-group .panel-workflowitem>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-group .panel-workflowitem:hover{background-color:#fff}.panel-group .panel-workflowitem .panel-heading{padding:30px}.panel-group .panel-workflowitem .panel-heading a{display:block}.panel-group .panel-workflowitem .panel-heading a .panel-title{width:100%}.panel-group .panel-workflowitem .panel-heading a .panel-title h3{margin:0}.panel-group .panel-workflowitem .panel-heading a .panel-title h3 i{margin-right:12px;font-size:35px}.panel-group .panel-workflowitem .panel-heading a i.panel-navigation{margin-top:8px}.panel-group .panel-workflowitem .panel-heading a i.panel-navigation::before{margin-top:6px;font-family:'FontAwesome';font-size:20px;font-weight:900;content:"\f077"}.panel-group .panel-workflowitem .panel-heading a.collapsed i.panel-navigation::before{content:"\f078"}.checkin-buttons{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -8px}.checkin-buttons .btn-checkbox{width:calc(50% - 16px);margin:0 8px 16px}@media (min-width:668px){.checkin-buttons .btn-checkbox{width:calc(33.333% - 16px)}}@media (min-width:992px){.checkin-buttons .btn-checkbox{width:calc(25% - 16px)}}.btn-checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;align-items:center;justify-content:center;height:10em;padding-top:24px;padding-bottom:24px;white-space:normal}.btn-checkbox i{margin-bottom:0.25em;font-size:2em}.btn-checkbox .name{display:-webkit-box;max-height:2.6666666em;overflow:hidden;line-height:1.3333333;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.btn-checkbox .small{font-size:80%;line-height:1}.btn-checkbox.active{color:#fff !important;background:#6bac43 !important;border-color:#6bac43 !important}.mobile-auth-row{max-width:400px;margin-right:-4px;margin-left:-4px;font-size:36px;text-align:center}.mobile-auth-row .input-lg{min-height:54px;font-size:36px;border-radius:0}.mobile-auth-row>.col{flex-basis:0;flex-grow:1;min-width:0;max-width:100%;padding-right:4px;padding-left:4px;-ms-flex-preferred-size:0;-ms-flex-positive:1}.mobile-auth-row>.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.rock-fullname{display:none !important;visibility:hidden !important}.icon-property{display:flex;flex-direction:row;align-items:center}.icon-property .icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:16px;color:#aaa;border:1px solid currentColor;border-radius:50%}.icon-property .property{display:flex;flex-direction:column;margin-left:8px}.registrant-signature-document{margin-top:32px}.signaturedocument-container{width:100%;height:450px;margin-bottom:20px;overflow:auto;background:#fff;border:1px solid #cde1f1;border-radius:5px}.signaturedocument-iframe{width:100%;min-height:450px}.signature-entry-agreement{margin-top:6px}.signature-entry-clear-col{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center}.group-location-map{margin-bottom:24px}.group-location-map .address{margin-top:8px}.group-location-map img{width:100%}.description{margin-bottom:24px}.description:empty{display:none}@media (min-width:992px){.resource-list{top:16px;max-height:calc(100vh - 112px)}}.contribution-payment .tab-content{margin-top:15px}.scheduledtransaction-item{padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid #eee}.scheduledtransaction-item:last-child{border-bottom:0}.scheduledtransaction-item .actions{margin:6px 0}.transaction-image{width:100%;margin-bottom:12px;border:2px solid #92bce0}.transaction-image .fluidbox-ghost{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.transaction-image-thumbnail{max-width:200px;max-height:100px;margin:5px;cursor:pointer;border:2px solid #92bce0}.transaction-entry-v2{max-width:600px;margin:0 auto}.transaction-entry-v2 h2{margin-bottom:24px;text-align:center}.transaction-entry-v2 .toggle-container{margin-bottom:8px}.transaction-entry-v2 .navigate-actions{margin-top:15px;text-align:center}.giving-personal-information{padding:15px 0}.amount-summary{text-align:center}.gateway-type-selector{margin-bottom:15px}.gateway-iframe-container{min-height:44px;margin:-5px -15px 10px}.amount-display{font-size:45px;line-height:1.15;-webkit-transition:0.25s;transition:0.25s}@media (min-width: 668px){.amount-display{font-size:100px}.amount-display-md{font-size:45px}.amount-display-lg{font-size:60px}}.originate-call::before{margin-right:6px;font-family:'FontAwesome';font-weight:900;content:"\f098"}.rockbadge{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;margin:0 0.133333em;font-size:var(--badge-size,45px);line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;cursor:default;background-color:inherit}.rockbadge:empty{display:none}.rockbadge .badge-content{display:block}.rockbadge .alert-text{position:absolute;top:0;right:0;min-width:1.5em;padding:0.25em 0.125em;font-size:0.26666em;color:#fff;background:#d04441;border-radius:999px}.rockbadge .tooltip-inner{max-width:300px;padding:12px}.rockbadge .fa-stack{width:1em;height:1em;line-height:1em}.rockbadge .fa-stack-1x{font-size:0.5em}.rockbadge .fa-stack-2x{font-size:1em}.rockbadge-grid{flex-direction:column;font-size:0}.rockbadge-grid .rockbadge{width:1em;height:1em;margin:0 0.09523em 0.09523em;font-size:calc(var(--badge-size,45px) * 0.46667)}.rockbadge-grid .badge-row:last-child .rockbadge{margin-bottom:0}.rockbadge-background,.rockbadge-fraction::before{display:block;width:1em;height:1em;content:" ";background:currentColor;border-radius:0.1em}.rockbadge-standard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:1em;height:1em;color:#fff;background:rgba(147,147,147,0.2);border-radius:999px}.rockbadge-standard .metric-value{font-size:0.4em;font-weight:700;line-height:0.9em}.rockbadge-standard .metric-unit{font-size:0.2442em;font-weight:400;line-height:1}.rockbadge-standard.duration-new{background:#d25555}.rockbadge-standard.duration-months{background:#69ad5e}.rockbadge-standard.duration-years{background:#56789e}.rockbadge-standard.rockbadge-era{background:#6bac43}.rockbadge-standard.era-loss{background:#ee7624}.rockbadge-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;background:currentColor;border-radius:0.1em}.rockbadge-icon .badge-icon{font-size:0.65em;color:#fff}.rockbadge-icon.rockbadge-circle{border-radius:999px}.rockbadge-icon.rockbadge-icon-nobg{background:transparent}.rockbadge-icon.rockbadge-icon-nobg .badge-icon{font-size:1em;color:currentColor}.rockbadge-icon.rockbadge-disabled{color:#939393;opacity:0.2}.rockbadge-fraction{color:#686576}.rockbadge-fraction::before{background-color:#dba400}.rockbadge-fraction .metric-value{position:absolute;top:0.388em;left:0.2em;display:block;width:1em;font-size:0.45em;font-weight:700;text-align:center;letter-spacing:-0.1em}.rockbadge-fraction .metric-unit{position:absolute;right:0.363em;bottom:0.9em;font-size:0.275em;font-weight:600}.rockbadge-label{font-size:19px}.rockbadge-step .metric-value{position:absolute;top:-6px;right:-6px;width:18px;height:18px;font-size:0.266em;font-weight:400;line-height:18px;color:#fff;background-color:#d04441;border-radius:50%}.rockbadge-slash::before{position:absolute;display:block;font-family:'FontAwesome';font-size:0.6em;font-weight:600;color:#d04441;content:"\f715"}.rockbadge-slash.rockbadge-disabled::before{color:#fff;text-shadow:-0.074em 0.074em #939393}.rockbadge-baptism{color:#23a5c5}.rockbadge-disc .rockbadge-disc-chart{display:table;width:1em;height:0.888em;margin:0 auto;table-layout:fixed}.rockbadge-disc .rockbadge-disc-chart li{position:relative;display:table-cell;width:3px;height:100%;vertical-align:bottom}.rockbadge-disc .rockbadge-disc-chart li span{display:block;width:0.2222em;min-height:2px;background:#99bbd9}@media screen and (-webkit-min-device-pixel-ratio:0){.rockbadge-disc .rockbadge-disc-chart li span{position:absolute;bottom:0}}.rockbadge-disc .rockbadge-disc-chart li.rockbadge-disc-primary span{background:#4f89bd}.rockbadge-disc .rockbadge-disc-chart li.rockbadge-disc-disabled span{background-color:#939393;opacity:0.2}.rockbadge-disc .requested{position:absolute;padding:0.041em 0.25em;font-size:0.5em;background-color:#e3ded7;border-radius:99px;opacity:0.8}.rockbadge-disc.animate ul.rockbadge-disc-chart li span{-webkit-animation:bar-grow 1s ease-in-out;-moz-animation:bar-grow 1s ease-in-out;animation:bar-grow 1s ease-in-out}.badge-content.fa-layers{width:50px;height:43px;font-size:4em}.rockbadge-overlay{width:1em;height:1em}.rockbadge-overlay .badge-icon{position:absolute;top:0;right:0;left:0;font-size:inherit;line-height:1.15em;text-align:center}.rockbadge-overlay-invert .metric-value{color:#fff}.rockbadge-overlay .metric-value{position:absolute;top:0.5em;right:0.3em;bottom:0.95em;left:0.3em;display:inline-flex;align-items:center;justify-content:center;font-size:0.4em;font-weight:700;text-align:center}.rockbadge-overlay .badge-content{font-size:0.888em;color:#4f89bd}.rockbadge-overlay .badge-content.today .metric-value{font-size:0.275em}.rockbadge-overlay .badge-content.recent{opacity:0.8}.rockbadge-overlay .badge-content.moderate{opacity:0.6}.rockbadge-overlay .badge-content.not-recent{opacity:0.4}.rockbadge-overlay .badge-content.old{opacity:0.2}.rockbadge-signal .metric-value{top:0.6em;bottom:0.6em}.rockbadge-personaldevice{width:0.6em}.rockbadge-personaldevice .badge-content .metric-value{top:0.7142em}.rockbadge-assessment a{display:inline-flex;color:inherit}.rockbadge-assessment .fa-stack-1x{color:#fff}.rockbadge-assessment .fa-stack-2x{color:currentColor}.rockbadge-assessment.not-requested{color:rgba(147,147,147,0.2) !important}.rockbadge-assessment.requested{color:#357ebd !important}.assessment-tooltip-item{display:flex;margin-bottom:12px}.assessment-tooltip-item:last-child{margin-bottom:0}.assessment-tooltip-value{margin:2px 0 0 6px}.assessment-tooltip-value .assessment-name{display:block;font-weight:700}.assessment-tooltip-value .assessment-summary{display:block;font-size:17px;color:rgba(255,255,255,0.6)}.rockbadge-container{--badge-size:45px}.rockbadge-container-xs{--badge-size:24px}.rockbadge-container-xs .rockbadge-grid{flex-direction:row}.rockbadge-container-xs .rockbadge-grid .rockbadge{font-size:var(--badge-size)}.rockbadge-container-xs .rockbadge-fraction .metric-value{top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;width:100%;font-size:0.7em}.rockbadge-container-xs .rockbadge-fraction .metric-unit,.rockbadge-container-xs .rockbadge-standard .metric-unit{display:none}.rockbadge-container-sm{--badge-size:32px}@-webkit-keyframes bar-grow{0%{height:0;
+opacity:0}}
+@-moz-keyframes bar-grow{0%{height:0;
+opacity:0}}
+@keyframes bar-grow{0%{height:0;
+opacity:0}}
+.trend-chart{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:nowrap;width:100%;height:40px;padding:0;margin:0;color:#357ebd;list-style:none}.trend-chart-sm{height:20px}.trend-chart-block{height:18px}.trend-chart-block li span{width:calc(100% - 3px);color:#198fc8}.rockbadge-attendance .trend-chart{width:220px;height:var(--badge-size,40px)}.trend-chart li{position:relative;flex-basis:0;flex-grow:1;max-width:100%;margin-right:2px;overflow:hidden;-ms-flex-preferred-size:0;-ms-flex-positive:1}.trend-chart li:hover{opacity:0.85}.trend-chart li.has-exclusion{opacity:0.3}.trend-chart li span{position:absolute;bottom:0;display:block;width:100%;min-width:2px;min-height:1px;max-height:100%;background:currentColor}.animate .trend-chart li span{animation:bar-grow 1s ease-in-out}@media (min-width:1500px){.trend-chart-gap li{margin-right:5px}}.streak-chart{width:100%;height:18px;padding:0;margin:0;overflow:hidden;list-style:none}.streak-chart li{position:relative;display:table-cell;float:right;width:9px;height:100%;margin-right:2px;vertical-align:bottom}.streak-chart li span{display:block;width:100%;min-height:1px;background:#198fc8}@media screen and (-webkit-min-device-pixel-ratio:0){.streak-chart li span{position:absolute;bottom:0}}.editgroup-list li.member{min-width:200px}.editgroup-list li.member .radio{margin:0}.editgroup-list .groupmembers h4{margin-bottom:4px}.person-content{padding-top:0}span.field-name,span.field-value{padding:2px 4px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:90%;color:#245682;white-space:nowrap;background-color:#f5f5f5;border-radius:4px}span.field-value{white-space:inherit}.row-duplicate{padding-top:12px;border-top:1px solid #cde1f1}.row-duplicate:first-child{padding-top:0;border-top:0}#fluidbox-overlay{background:#000}.panel-widget.pageviewsession .pageviewsession-client{line-height:1;text-align:right}.person-bio div.deceased h1.title.name::after{margin-left:12px;font-size:17px;color:#d04441;content:"Deceased"}.groupmembers .member.deceased:hover{background-color:#909090}.groupmembers .member.deceased .person-info::after{font-size:17px;color:#d04441;content:"Deceased"}tr.inactive td{color:#686868}.bulk-update .no-select .form-group{opacity:1}.bulk-update .fade-inactive .form-group{opacity:0.5}.bulk-update .fade-inactive .form-group .control-label{cursor:pointer}.bulk-update .form-group.bulk-item-selected,.bulk-update .bulk-item-selected .form-group,.bulk-update .form-group.bulk-item-visible{opacity:1}.bulk-update .form-group.bulk-item-selected{padding:12px;background-color:#eee;border-radius:5px}.photoupload-photo .image-editor{float:left;margin-right:48px}.photoupload-photo .image-editor label{width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-table tbody tr.duplicate-source td,.grid-table tbody tr.duplicate-source:hover>td{color:#303030;background-color:#aaa}.disc-assessment th{padding:6px}.disc-assessment th:last-child{border-radius:0 5px 0 0}.disc-assessment th.disc-question{padding:6px;font-weight:700;border-radius:5px 0 0 0}.disc-assessment td{vertical-align:middle}.disc-assessment .disc-answer{width:20%;min-width:50px;text-align:center}.disc-heading{text-align:center}.disc-row{margin-bottom:48px}.disc-row::after{display:block;width:100%;margin:48px 0;content:" ";border-bottom:1px solid #dbdbdb}.question-row{margin-bottom:48px}.question-row .answered{color:#aaa}.question-row .likert>.control-label{margin-bottom:9px}.question-row .likert .radio-inline{padding:5px 12px 7px 36px;cursor:pointer;background-clip:padding-box;border-radius:4px}@media (min-width:1498px){.question-row .likert .radio-inline{margin-right:12px;margin-left:-12px}}.question-row .likert .radio-inline:hover{background-color:#eee}.question-row .likert .radio-inline .label-text::before,.question-row .likert .radio-inline .label-text::after{top:50%;left:8px;transform:translateY(-50%)}.question-row .likert-7>span{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (max-width:1499px){.question-row .likert-7>span{-ms-flex-align:start;-ms-flex-direction:column;flex-direction:column;align-items:flex-start}}.question-row .likert-7>span .radio-inline{flex:0 0 14.285714286%}.phonegroup-label{margin-bottom:5px}@media (min-width: 668px){.phonegroup-label{padding-top:4px}}.recipients .recipient{float:left;width:100%}@media (min-width:668px){.recipients .recipient{width:50%}}@media (min-width:992px){.recipients .recipient{width:25%}}.recipients .recipient.failed{color:#d04441}.recipients .recipient.opened{color:#6bac43}iframe.email-body{width:100%;height:300px;background-color:#fff;border:1px solid #cde1f1}.communication-template{position:relative;display:block;height:192px;padding:15px;margin-bottom:24px;overflow:hidden;color:#1c1c1c;border:1px solid var(--panel-border);outline-offset:-1px}.communication-template:focus,.communication-template:hover{color:#1c1c1c;outline:2px solid #bce8f1}.communication-template label{font-size:16px}.communication-template.template-selected{outline:2px solid #198fc8}.communication-template.template-selected:hover{outline:2px solid #198fc8}.communication-template.template-selected::before{position:absolute;top:-4px;left:8px;z-index:1;font-family:'FontAwesome';font-size:36px;font-weight:900;color:#198fc8;content:"\f058"}.step-title{margin-top:0}.workflow-entry-panel>h1:first-of-type{margin-top:0}.calendar{display:inline-block;width:100%;padding:0 10px 10px;border:1px solid #f5f5f5;border-radius:5px}.calendar-month{border-spacing:0;border-collapse:separate;border:0}.calendar-month a{color:#1c1c1c !important;text-decoration:none}.calendar-month th{text-align:center}.calendar-month td{color:#1c1c1c !important}.calendar-month table.calendar-title td{padding:10px 5px}.calendar-month td.calendar-day{padding:5px}.calendar-month table.calendar-title,.calendar-month table.calendar-title a{font-weight:600}.calendar-month .calendar-today,.calendar-month .calendar-selecteditem{color:#198fc8 !important;background-color:#d9edf7 !important;border-radius:0}.calendar-month .calendar-today{border-radius:5px}.calendar-month .calendar-selected{color:#fff !important;background-color:#198fc8 !important}.calendar-month .calendar-selected a{color:#fff !important}.calendar-month .calendar-last-month a{opacity:0.2}.calendar-month .calendar-hasevent{font-weight:700}.registrationentry-intro{text-align:center}.registrationentry-intro h1{margin-top:24px;margin-bottom:48px}.registrationentry-intro .input-group{margin:0 auto 48px}.registration-entry .feetype-allowmultiples>.control-label{display:block;margin-bottom:8px}.registration-entry .feetype-allowmultiples .form-group{margin-left:19px}.registrationentry-summary .fee-table{margin:0 24px}.registrationentry-summary .fee-table>.row{padding:6px 0}.registrationentry-summary .fee-table>.row div[class^="col-"]{padding-right:0;padding-left:0}.registrationentry-summary .row.fee-header{padding-bottom:2px;margin-bottom:6px;font-size:17px;border-bottom:2px solid #828282}.registrationentry-summary .fee-row-cost,.registrationentry-summary .fee-row-total{font-weight:600}.registrationentry-summary .fee-row-total{margin-top:6px;border-top:1px solid #828282}.registrationentry-summary .row.fee-row-fee{font-weight:300}@media (min-width: 668px){.registrationentry-summary .row.fee-row-fee>div.fee-caption{padding-left:20px}}@media (min-width: 668px){.registrationentry-summary div.fee-value{float:right;text-align:right}}.registrationentry-payment .payment-method-options .payment-method{margin-bottom:20px}.registrationentry-payment .payment-method .payment-method-image{height:1.4em;margin-right:8px}.registrationentry-payment .payment-method-account{display:inline-flex;align-items:center}.registrationentry-payment .payment-method .payment-method-name{margin-right:8px;font-weight:600}.registrationentry-payment .hosted-payment-control{margin-bottom:60px}@media (min-width:500px){.registrationentry-payment .payment-method-options .payment-method-entry{padding-left:28px}}.fee-totals{margin-top:24px}.fee-totals .fee-totals-options{text-align:right}.amount-to-pay input{text-align:right}.picker-select{display:flex;gap:6px;align-items:center}@media (min-width: 668px){.picker{position:relative;width:250px;max-width:100%}}.picker .picker-search-header{display:flex;align-items:center;margin-bottom:6px}.picker .picker-search-action{display:block;float:right;padding:0 3px;margin-left:3px;font-size:17px}.picker .picker-search-action.active{background-color:#e6e6e6}.picker .picker-mode-options{margin-bottom:12px}.picker .picker-label{display:flex;align-items:center;width:100%;padding:6px 12px;font-size:19px;line-height:25px;color:#555;cursor:pointer;background-color:#fff;border:1px solid #ccc;border-radius:5px;gap:6px}.picker .picker-label:hover{text-decoration:none}.picker .picker-label span{flex:1 1 0;min-height:25px;overflow:hidden;line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.has-error .picker .picker-label{border-color:#d04441}.has-error .picker .picker-label.active{border-color:#d04441;box-shadow:0 0 0 3px rgba(208,68,65,0.2)}.picker.picker-fullwidth,.picker.picker-fullwidth .picker-label{width:100%}.picker .input-group-sm{width:100%}.picker .input-group-sm>.form-control,.picker .input-group-sm>.input-group-addon{height:37px;padding:5px 8px}.picker .input-group-sm>.input-group-btn>.btn{height:37px;padding-top:5px;padding-bottom:5px}.picker .picker-select-none{padding:1px 6px;font-size:12px;background:transparent;color:rgba(85,85,85,0.2);border-radius:50%;outline:none}.picker .picker-select-none:hover,.picker .picker-select-none:focus{background:rgba(85,85,85,0.1);color:inherit}.picker .scroll-container-picker{width:100%}.picker .scroll-container-picker .viewport{width:calc(100% - 15px)}.picker .scroll-container-picker .scrollbar{width:5px}.picker .scroll-container-native{width:calc(100% + 16px);padding:8px;margin:-8px;overflow-y:auto}.picker .scroll-container-native,.picker .scroll-container-picker .viewport,.picker .scroll-container-picker .scrollbar{height:380px}@media (max-device-height:480px){.picker .scroll-container-native,.picker .scroll-container-picker .viewport,.picker .scroll-container-picker .scrollbar{max-height:200px}}.picker dl{margin-bottom:4px}.picker hr{margin:8px -8px 4px}.picker h4{margin:0;font-size:17px;font-weight:600}.picker .picker-menu{width:400px;max-height:none;padding:8px;will-change:height}@media (max-width:667px){.picker .picker-menu{position:static;max-width:100%}}.picker.picker-menu-right .picker-menu{right:0;left:auto}.picker .treeview .search-item{margin-bottom:16px;margin-left:4px}.picker .picker-actions{display:flex;align-items:center;padding:8px;margin:8px -8px -8px -8px;font-size:17px;background-color:#e3ded7;border-top:1px solid #cec5b9;border-radius:0 0 5px 5px;gap:0 4px}.picker .picker-actions .pull-right{margin-left:auto}.picker .picker-actions .btn{width:auto}.picker .picker-actions .rock-checkbox-icon i{width:1rem;margin-right:0;font-size:inherit}.picker .picker-actions .btn-select-all{order:10}.picker .picker-select-item{margin-left:3px}.picker .picker-select-item .radio{margin-right:0}.picker .picker-select-item label,.picker .picker-select-item .label-text{display:block}.picker .personpicker-search-panel .input-group{margin:0 0 4px}.picker .personpicker-search-panel .input-group-addon{width:85px;text-align:left}.picker .personpicker-results{container-type:inline-size}.picker .personpicker-item{display:grid;grid-template-columns:1fr;gap:8px 16px;background:#f5f5f5;border:1px solid #e3e3e3;padding:8px;margin-bottom:8px;cursor:pointer;border-radius:5px;align-items:center}.picker .personpicker-item:focus-visible{outline:#6bac43 auto 1px}.picker .personpicker-item .main .data{align-self:center}.picker .personpicker-item .main,.picker .personpicker-item .address-email,.picker .personpicker-item .phones{grid-column:span 2}.picker .personpicker-item .taglist{flex-direction:column-reverse;align-items:end}.picker .personpicker-item .item-meta .taglist{display:none}@media (min-width:420px){.picker .personpicker-item .address-email,.picker .personpicker-item .phones{grid-column:span 1}.picker .personpicker-item .item-meta{display:grid;grid-template-columns:1fr max-content;gap:24px}}@media (min-width:480px){.picker .personpicker-item{grid-template-columns:1fr 1fr}.picker .personpicker-item .main{grid-column:span 1;grid-row:span 2}.picker .personpicker-item .main .taglist{display:none}.picker .personpicker-item .item-meta{display:block}.picker .personpicker-item .item-meta .taglist{display:flex;float:right;margin-left:4px}.picker .personpicker-item .address-email,.picker .personpicker-item .phones{grid-column:2 / span 1}}@media (min-width:820px){.picker .personpicker-item{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-rows:1fr;gap:0 16px}.picker .personpicker-item .item-meta{display:grid;gap:16px;grid-template-columns:minmax(0,4fr) minmax(min-content,2fr) minmax(min-content,100px);height:100%;align-items:center}.picker .personpicker-item .taglist,.picker .personpicker-item .address-email,.picker .personpicker-item .phones{grid-column:span 1}.picker .personpicker-item .taglist{order:3;align-self:start}}@media (min-width:1020px){.picker .personpicker-item .item-meta{grid-template-columns:minmax(0,4fr) minmax(min-content,2fr) minmax(min-content,200px)}.picker .personpicker-item .taglist{flex-direction:row}}@media (min-width:668px){.picker .picker-select-item-details{margin-left:29px}}.picker .picker-select-item-details .person-image{float:left;width:70px;height:70px;margin-right:8px;background-position:50%;background-size:cover;border:1px solid #92bce0;border-radius:50%}.picker .picker-select-item-details .label.pull-right{position:absolute;right:0;display:inline-block;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker .picker-select-item-details .contents{float:left;width:calc(100% - 78px)}.picker .picker-select-item-details .contents h5{margin-bottom:2px}.picker.picker-geography .picker-menu{width:520px}.picker.picker-person .picker-select-none{display:none}.picker.picker-person .show-hover{display:block;color:transparent}.picker.picker-person .picker-label:hover .show-hover,.picker.picker-person .picker-label:focus .show-hover,.picker.picker-person .show-hover:focus{color:inherit}.picker.picker-person .picker-select-list{padding:0;list-style:none}.picker.picker-person .picker-select-item-details{position:relative}.picker.picker-person .picker-select-item-details label{position:absolute;top:0;right:0}.picker.picker-person .picker-select-item-details img{width:65px}.picker.picker-novalue .picker-label{width:100%;max-width:100%}.picker.picker-mergefield{width:370px;max-width:100%}@media (min-width: 668px){.picker.picker-lg{position:relative;width:350px}}.campus-account-amount-picker,.campus-account-amount-picker .amount-input,.campus-account-amount-picker .campus-dropdown,.campus-account-amount-picker .account-dropdown{margin-bottom:15px}.numberincrement{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.numberincrement .numberincrement-up,.numberincrement .numberincrement-down{padding:6px 12px;color:#555;cursor:pointer;background-color:#eee;border:1px solid #ccc}.numberincrement .numberincrement-up.disabled,.numberincrement .numberincrement-down.disabled{color:#888;cursor:default}.numberincrement .numberincrement-down{border-radius:5px 0 0 5px}.numberincrement .numberincrement-up{border-radius:0 5px 5px 0}.numberincrement .numberincrement-value{padding:6px 18px;background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px 0}.numberincrement.input-sm .numberincrement-up,.numberincrement.input-sm .numberincrement-down{padding:5px 8px}.numberincrement.input-sm .numberincrement-value{padding:5px 12px}.numberincrement.input-lg .numberincrement-up,.numberincrement.input-lg .numberincrement-down{padding:12px 20px}.numberincrement.input-lg .numberincrement-value{padding:12px 28px}.group-tree-view,.group-tree-view>.block-content,.h-100>.zone-content{height:100%}.h-100>.panel-block{height:calc(100% - 24px);margin-bottom:24px}.rocktree-drawer{padding:12px 18px;margin:0;background:#fcfcfc;border-bottom:1px solid #eee}.treeview-search-parent{position:relative;min-height:300px}.treeview-search-parent .search-results{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;padding:4px 12px;overflow:auto}.rocktree-loading{display:flex;align-items:center;justify-content:center;height:100px;font-size:30px;opacity:0.25}.rocktree-item .rocktree-loading{justify-content:flex-start;width:100%;height:30px;margin-left:30px}ul.rocktree,ul.rocktree-children{padding:0;margin-bottom:30px;font-size:17px;line-height:30px;list-style-type:none}ul.rocktree-children{width:100%;margin:0 0 0 26px}.rocktree .rocktree-item{display:flex;flex-wrap:wrap;align-items:center;color:#1c1c1c;white-space:nowrap}.rocktree .rocktree-item.is-inactive{color:#4f4f4f}.rocktree .rocktree-item .select-children{display:none;opacity:0.8}.rocktree .rocktree-item:hover .select-children{display:inline}.rocktree .rocktree-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:4px;font-size:17px;cursor:pointer}.rocktree .rocktree-icon:hover,.rocktree .rocktree-icon:active,.rocktree .rocktree-icon:focus{color:#6bac43}.rocktree li{margin:0}.rocktree .rocktree-name{position:relative;display:inline-block;flex-grow:1;width:calc(100% - 48px);padding:0 16px 0 0;line-height:30px;cursor:pointer;border-radius:var(--border-radius-base,3px)}.rocktree .rocktree-name i{margin-right:2px}.rocktree .rocktree-name:hover{color:#fff}.rocktree .rocktree-name::before{position:absolute;top:0;bottom:0;left:-5px;z-index:-1;width:100vw;content:"";border-radius:4px 0 0 4px}.rocktree .rocktree-name:hover::before{background:#d0e092}.rocktree .selected{color:#fff}.rocktree .selected::before{background:rgba(106,106,106,0.1) !important}.rocktree .disabled{cursor:default}.rocktree .disabled:hover{color:#1c1c1c;background:inherit}.rocktree .rocktree-loading{font-size:17px}.rocktree .rocktree-leaf{padding-left:30px}.rocktree .label-tree{display:inline-block;margin-left:8px;font-size:17px;background-color:#fff;border-radius:2px}.treeview{margin-bottom:15px}.treeview .panel-body{padding:0;margin:0}.treeview .panel-body .treeview-scroll{padding:8px 0}.treeview .panel-body .treeview-scroll .overview{min-width:100%}.treeview .treeview-frame{padding-left:0}.treeview .treeview-actions{margin-bottom:7.5px}.treeview .treeview-actions .btn{margin-bottom:4px}.preview-item{padding:8px 6px;line-height:1.2;cursor:default;border-radius:4px}.preview-item:hover{background:#d0e092}.preview-item .title,.preview-item .subtitle{display:block;color:#1c1c1c}.preview-item .subtitle{font-size:12px;color:#aaa}.personlist{padding-left:0;list-style:none}.personlist li{padding-left:15px}.personlist li i.fa-circle{margin-right:7.5px;margin-left:-15px;font-size:9px;color:#dfe0e1}.personlist li .control-actions{opacity:0;-webkit-transition:opacity 0.5s ease-out;-moz-transition:opacity 0.5s ease-out;transition:opacity 0.5s ease-out}.personlist li:hover .control-actions{opacity:1}.personlist .popover{width:320px}.rollover-container,.rollover-container-nested{position:relative}.rollover-container>.rollover-item,.rollover-container-nested .rollover-item{opacity:0;-webkit-transition:opacity 0.5s ease-out;-moz-transition:opacity 0.5s ease-out;transition:opacity 0.5s ease-out}.rollover-container:hover>.rollover-item,.rollover-container-nested:hover .rollover-item{opacity:1}.group-hover .group-hover-item{transition:200ms opacity ease-in-out}.group-hover .group-hover-show{visibility:hidden;opacity:0}.group-hover .group-hover-0-show{width:0;height:0}.group-hover .group-hover-hide{visibility:visible;opacity:1}.group-hover:hover .group-hover-show{visibility:visible;opacity:1}.group-hover:hover .group-hover-0-show{width:auto;height:auto}.group-hover:hover .group-hover-hide{visibility:hidden;opacity:0}.touch .rollover-item{opacity:1}.block-title{margin:0 0 8.333333333px}.list-as-blocks h3{display:inline-block;width:100%;margin:0 0 6px;font-size:17px;font-weight:400;word-wrap:break-word}.list-as-blocks ul{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0;margin:15px -7.5px -15px;list-style:none}.list-as-blocks ul li{position:relative;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%;padding-right:7.5px;padding-left:7.5px;margin-bottom:15px}@media (min-width:668px){.list-as-blocks ul li{-ms-flex:0 0 33.3333%;flex:0 0 33.3333%;max-width:33.3333%}}@media (min-width:992px){.list-as-blocks ul li{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}}@media (min-width:1500px){.list-as-blocks ul li{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}}.list-as-blocks ul li a{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;align-content:center;align-items:center;justify-content:center;min-width:0;height:100%;min-height:90px;padding:8px;color:#5697d0;text-align:center;word-wrap:break-word;background-color:#f5f9fc;background-clip:border-box;border:1px solid #cde1f1;border-radius:5px;-webkit-transition:background-color 200ms linear,border-color 200ms linear;-moz-transition:background-color 200ms linear,border-color 200ms linear;-ms-transition:background-color 200ms linear,border-color 200ms linear;transition:background-color 200ms linear,border-color 200ms linear}.list-as-blocks ul li a i{margin:6px 0;font-size:26px;color:#7eb0db}.list-as-blocks ul li a:hover{color:#fff;text-decoration:none;background-color:#aaa;border-color:#9d9d9d}.list-as-blocks ul li a:hover i{color:#fff}.list-as-blocks ul li a .notification{position:absolute;top:-10px;right:-6px}.list-as-blocks ul li a .notification .label{padding:2px 8px;color:#fff;background:#d04441;border-radius:36px}.list-as-blocks ul li.active a,.list-as-blocks ul li.selected a{color:#fff;background-color:#aaa;border-color:#909090}.list-as-blocks ul li.active a i,.list-as-blocks ul li.selected a i{color:#fff}.list-as-blocks ul li.inactive-item{opacity:0.5}.list-as-blocks.has-count a{position:relative}.list-as-blocks.has-count a::before{position:absolute;top:0;right:0;content:"";border-right:45px solid #cde1f1;border-bottom:45px solid transparent}.list-as-blocks.has-count .item-count{position:absolute;top:5px;right:1px;display:block;width:25px;font-size:17px;color:#fff;text-align:center}.list-as-blocks .block-status a{min-height:105px;padding:8px 15px}.list-as-blocks .block-status a .status-list{margin-top:auto}.nav>li.pill-help a{color:#6bac43}.nav>li.pill-help a:hover,.nav>li.pill-help a:focus{color:#6bac43;background-color:transparent}.tag-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.tagsInput,.tagsinput{display:flex;flex-wrap:wrap;align-items:flex-start}.tagsInput input,.tagsinput input{display:block;width:80px;padding:2px;margin:0 auto;clear:both;font-size:17px;color:#8f8f8f !important;background:transparent;border:1px solid transparent;border-radius:5px;outline:0;box-shadow:none}@media (min-width:668px){.tagsInput input,.tagsinput input{margin:0}}.tagsInput input:hover,.tagsinput input:hover,.tagsInput input:focus,.tagsinput input:focus{background-color:rgba(0,0,0,0.05)}.tagsInput input div,.tagsinput input div{display:block;float:left}.tagsInput .tags_clear,.tagsinput .tags_clear{width:100%;height:0;clear:both}.taglist{display:flex;flex-wrap:wrap;gap:7.5px 8px}.taglist .tag{position:relative;display:inline-flex;height:22px;padding:1px 12px 0;font-size:17px;line-height:18px;color:#231f20;text-decoration:none;background:#c2b8a7;border-radius:5px;-webkit-transition:margin-right 0.25s ease-out 1s,padding 0.25s ease-out 1s;-moz-transition:margin-right 0.25s ease-out 1s,padding 0.25s ease-out 1s;transition:margin-right 0.25s ease-out 1s,padding 0.25s ease-out 1s}.taglist .tag .tag-icon{display:block;margin-right:4px}.taglist .tag span{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.taglist .tag a{position:absolute;right:0;padding:0 5px;color:currentColor;text-decoration:none;opacity:0;-webkit-transition:opacity 0.25s ease-out 1s;-moz-transition:opacity 0.25s ease-out 1s;transition:opacity 0.25s ease-out 1s}.taglist .tag small{font-size:17px}.taglist .tag:hover span{max-width:1000px}.taglist .tag:hover a{visibility:visible;opacity:1;transition-delay:0s}.taglist .tag-wrap .tag:hover{padding-right:20px;transition-delay:0s}.taglist .add-new-tags{float:none !important;color:#9e9ea0 !important}.taglist .add-new-tags:hover{color:#1c1c1c !important}.not_valid{color:#d04441 !important;background:#f2dede !important}.tag-wrap .ui-autocomplete{position:absolute;top:4px;left:0;z-index:9999 !important;min-width:200px;padding:12px;list-style:none;background-color:#b9d4ec;border:1px solid #92bce0;border-radius:0 0 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.tag-wrap .ui-autocomplete li{margin-bottom:4px}.tag-wrap .ui-autocomplete li:last-child{margin-bottom:0}.tag-wrap .ui-autocomplete li a{display:block;padding:4px;color:#245682;text-decoration:none;cursor:pointer}.tag-wrap .ui-autocomplete li a:hover{background:#92bce0;border-radius:4px}.tag-letterlist{color:#4f4f4f}.tag-letterlist li{margin-right:12px;cursor:default}.tag-letterlist a{font-weight:600}.photoframe{display:inline-block;border:4px solid #92bce0}.photoframe.photoframe-sm{border-width:2px}.smartsearch{position:relative;width:298px;padding:2px 6px;margin-top:6px;font-size:12px;color:#142f46;background-color:rgba(255,255,255,0.1);border:1px solid #2c2c2c;border-radius:5px}.smartsearch:focus-within{background:rgba(255,255,255,0.12)}.smartsearch input::-moz-placeholder,.smartsearch input::-webkit-input-placeholder{color:#000}.smartsearch .nav>li>a{padding:4px 15px}.smartsearch input::selection,.smartsearch input::-moz-selection{color:#fff;background:#2e2e2e}.smartsearch:focus{border-color:#595959}.smartsearch .twitter-typeahead{display:block !important;margin-right:128px}.smartsearch .smartsearch-type{width:128px}.smartsearch>i{position:absolute;float:left;margin-top:6px;font-size:16px;opacity:0.6}.smartsearch input{width:150px;margin:0;font-size:14px;color:#142f46;background:transparent;border:0;border-radius:0}.smartsearch input:focus{outline:0;box-shadow:none}.smartsearch .tt-hint{padding:4px 4px 4px 25px}.smartsearch .tt-dropdown-menu{min-width:290px;max-width:100vw;margin-top:2px;margin-left:0;border:0}.smartsearch input.searchinput{width:100%;padding:4px 4px 4px 25px;color:#142f46;border:0 !important;box-shadow:none !important}.smartsearch .dropdown .navbar-link{width:100%;color:#142f46;text-align:right;white-space:nowrap;cursor:pointer}.smartsearch .dropdown .navbar-link span{padding-right:4px}.smartsearch .dropdown .navbar-link:hover,.smartsearch .dropdown .navbar-link:focus{background-color:transparent}.smartsearch .dropdown .navbar-link b{display:inline-block;width:0.625em}.smartsearch .dropdown.open .navbar-link{background-color:transparent}.smartsearch .dropdown .dropdown-menu{top:35px;right:0;left:auto;font-size:12px;cursor:pointer}fieldset .actions{margin-top:12px}.code-editor{position:relative}.note-editor.code-editor-visible{padding-bottom:10px;background:#f5f5f5}.note-editor .ace_editor{margin:0;border-radius:0}.html-editor-code-editor{display:none}.control-wrapper .html-editor-code-editor{display:block}.label a{color:#fff}.label-campus{color:#fff;background-color:#83758f}.label-type{color:#fff;background-color:#aaa}.label-communicationstatus-approved{background-color:#6bac43}.label-communicationstatus-denied{background-color:#d04441}.label-communicationstatus-draft{background-color:#aaa}.label-communicationstatus-submitted{background-color:#dba400}.label-communicationstatus-transient{background-color:#aaa}.datepicker{direction:ltr;border-radius:5px}.datepicker-inline{width:220px}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown::before{position:absolute;display:inline-block;content:"";border-top:0;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,0.15);border-left:7px solid transparent}.datepicker-dropdown::after{position:absolute;display:inline-block;content:"";border-top:0;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.datepicker-dropdown.datepicker-orient-left::before{left:6px}.datepicker-dropdown.datepicker-orient-left::after{left:7px}.datepicker-dropdown.datepicker-orient-right::before{right:6px}.datepicker-dropdown.datepicker-orient-right::after{right:7px}.datepicker-dropdown.datepicker-orient-bottom::before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom::after{top:-6px}.datepicker-dropdown.datepicker-orient-top::before{bottom:-7px;border-top:7px solid rgba(0,0,0,0.15);border-bottom:0}.datepicker-dropdown.datepicker-orient-top::after{bottom:-6px;border-top:6px solid #fff;border-bottom:0}.datepicker table{margin:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.datepicker table tr td,.datepicker table tr th{width:34px;height:34px;padding:0;text-align:center;border:0;border-radius:4px}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.old,.datepicker table tr td.new{color:#aaa}.datepicker table tr td.day:hover,.datepicker table tr td.focused{cursor:pointer;background:#eee}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{color:#aaa;cursor:default;background:none}.datepicker table tr td.highlighted{color:#000;background:#d9edf7;border-radius:0}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{color:#aaa;background:#d9edf7}.datepicker table tr td.today{color:#000;background-color:#ffdb99}.datepicker table tr td.today:hover,.datepicker table tr td.today:focus{background:#ffbc42}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{color:#aaa;background:#ffdb99}.datepicker table tr td.range{color:#000;background:#eee;border-radius:0}.datepicker table tr td.range.focused,.datepicker table tr td.range:hover{background:#d4d4d4}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{color:#aaa;background:#eee}.datepicker table tr td.range-start{border-top-right-radius:0;border-bottom-right-radius:0}.datepicker table tr td.range-end{border-top-left-radius:0;border-bottom-left-radius:0}.datepicker table tr td.range.highlighted{color:#000 0;background:#e4eef3}.datepicker table tr td.range.highlighted.focused{background:#c0d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{color:#aaa;background:#e4eef3}.datepicker table tr td.range.today{color:#000;background:#f7ca77}.datepicker table tr td.range.today:hover{background:#f4b747}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{color:#aaa;background:#f7ca77}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#aaa}.datepicker table tr td.selected:hover,.datepicker table tr td.selected.highlighted:hover{background:#909090}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#548735}.datepicker table tr td.active:hover,.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:focus,.datepicker table tr td.active.highlighted:focus{background:#446e2b}.datepicker table tr td span{display:block;float:left;width:23%;height:54px;margin:1%;line-height:54px;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{color:#aaa;cursor:default;background:none}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background:#6bac43}.datepicker table tr td span.old,.datepicker table tr td span.new{color:#aaa}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .prev,.datepicker .next,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .prev.disabled,.datepicker .next.disabled{visibility:hidden}.datepicker .cw{width:12px;padding:0 2px 0 5px;font-size:10px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.timepicker-input:before,.clearable-input:before,.timepicker-input:after,.clearable-input:after{display:table;content:" "}.timepicker-input:after,.clearable-input:after{clear:both}.timepicker-input:before,.clearable-input:before,.timepicker-input:after,.clearable-input:after{display:table;content:" "}.timepicker-input:after,.clearable-input:after{clear:both}.timepicker-input .input-group,.clearable-input .input-group{float:left}.timepicker-input i.fa-times,.clearable-input i.fa-times{float:left;padding:6px;margin-top:4px;cursor:pointer;opacity:0;-webkit-transition:opacity 0.2s ease-out;-moz-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out}.timepicker-input:hover i.fa-times,.clearable-input:hover i.fa-times{opacity:1}.touch .timepicker-input i.fa-times{opacity:1}.bootstrap-timepicker{position:relative}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu{right:0;left:auto}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu::before{right:12px;left:auto}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu::after{right:13px;left:auto}.bootstrap-timepicker .input-group-addon{cursor:pointer}.bootstrap-timepicker-widget.dropdown-menu{padding:2px 3px 2px 2px}.bootstrap-timepicker-widget.dropdown-menu.open{display:inline-block}.bootstrap-timepicker-widget a.btn{border-radius:4px}.bootstrap-timepicker-widget table{width:100%;margin:0;background-color:transparent}.bootstrap-timepicker-widget table td{height:30px;padding:2px;margin:0;text-align:center}.bootstrap-timepicker-widget table td:not(.separator){min-width:30px}.bootstrap-timepicker-widget table td span{width:100%}.bootstrap-timepicker-widget table td a{display:inline-block;width:100%;padding:8px 0;margin:0;color:#333;border:1px transparent solid;outline:0}.bootstrap-timepicker-widget table td a:hover{text-decoration:none;background-color:#eee;border-color:#ddd;border-radius:4px}.bootstrap-timepicker-widget table td a i{margin-top:2px}.bootstrap-timepicker-widget table td input{width:45px;padding:6px 4px;margin:0;font-size:12px;text-align:center;border:1px solid #ccc;border-radius:5px;outline:none;box-shadow:none}.bootstrap-timepicker-widget table td input:focus{border:1px solid #6bac43;box-shadow:0 0 0 3px rgba(107,172,67,0.6)}.bootstrap-timepicker-widget .modal-content{padding:4px}@media (min-width:767px){.bootstrap-timepicker-widget.modal{width:200px;margin-left:-100px}}@media (max-width:767px){.bootstrap-timepicker{width:100%}.bootstrap-timepicker .dropdown-menu{width:100%}}.imageupload-group,.fileupload-group{position:relative;display:table-cell;padding:2px;margin-bottom:15px;cursor:pointer;border:1px solid #ccc;border-radius:5px}.has-error .imageupload-group,.has-error .fileupload-group{border-color:#d04441}.has-error .imageupload-group:focus-within,.has-error .fileupload-group:focus-within{border-color:#d04441;box-shadow:0 0 0 3px rgba(208,68,65,0.2)}.imageupload-group:focus-within{border-color:#6bac43;box-shadow:0 0 0 3px rgba(107,172,67,0.6)}.imageupload-group .imageupload-thumbnail{position:relative}.imageupload-group .imageupload-thumbnail .imageupload-thumbnail-image{width:100%;height:100%;background-position:50%;background-size:cover}.imageupload-group .imageupload-thumbnail .imageupload-remove{position:absolute;right:0;bottom:0}.imageupload-group .imageupload-thumbnail .imageupload-remove a{display:block;padding:2px 6px;color:#fff;cursor:pointer;background-color:#d04441;border-top-left-radius:5px}.imageupload-group .imageupload-dropzone{position:relative;width:100%;height:30px;padding-top:8px;margin-top:2px;line-height:12px;text-align:center;cursor:pointer;background-color:#eee;border:1px solid #ccc;border-radius:0 0 5px 5px}.imageupload-group .imageupload-dropzone ::-webkit-file-upload-button{cursor:pointer}.imageupload-group .imageupload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.imageupload-group .imageupload-dropzone span{width:100%;font-size:13px;color:#555}.imageupload-group .imageupload-dropzone span::before{padding-right:0.25em;font-family:'FontAwesome';font-weight:900;content:"\f093"}.imageupload-group .upload-progress{position:absolute;top:26px;left:28px;z-index:2;text-align:center;opacity:0.3}.fileupload-group:focus-within{border-color:#6bac43;box-shadow:0 0 0 3px rgba(107,172,67,0.6)}.fileupload-group .fileupload-remove{position:absolute;right:0;bottom:0;z-index:50}.fileupload-group .fileupload-remove a{display:block;padding:2px 6px;color:#fff;cursor:pointer;background-color:#d04441;border-top-left-radius:5px}.fileupload-group .fileuploaddefault-button,.fileupload-group .fileupload-dropzone,.fileupload-group .fileupload-button{position:relative;height:30px;padding-top:8px;line-height:12px;text-align:center;background-color:#eee}.fileupload-group .fileuploaddefault-button ::-webkit-file-upload-button,.fileupload-group .fileupload-dropzone ::-webkit-file-upload-button,.fileupload-group .fileupload-button ::-webkit-file-upload-button{cursor:pointer}.fileupload-group .fileuploaddefault-button input,.fileupload-group .fileupload-dropzone input,.fileupload-group .fileupload-button input{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.fileupload-group .fileuploaddefault-button span,.fileupload-group .fileupload-dropzone span,.fileupload-group .fileupload-button span{padding:0 7px;font-size:14px;color:#555}.fileupload-group .fileuploaddefault-button span::before,.fileupload-group .fileupload-dropzone span::before,.fileupload-group .fileupload-button span::before{padding-right:4px;font-family:'FontAwesome';font-weight:900;content:"\f093"}.fileupload-group .fileupload-dropzone{margin-top:2px;border-radius:0 0 5px 5px}.fileupload-group .fileupload-button{padding:5px 10px;background-color:#6bac43;border:1px solid #6bac43;border-radius:5px}.fileupload-group .fileupload-button span{color:#fff}.fileupload-group .fileuploaddefault-button{width:100px;height:25px;padding:5px;margin-top:2px;background:#fff;border:1px solid #dbdbdb;border-radius:5px}.fileupload-group .fileuploaddefault-button:hover{color:#303030;background-color:#eee;border-color:#bcbcbc}.fileupload-group .fileuploaddefault-button span{color:#303030}.fileupload-group .upload-progress{position:absolute;top:8px;left:35px;z-index:15;font-size:12px;opacity:0.3}.fileupload-group .upload-progress-sm{position:absolute;top:5px;left:5px;z-index:2;opacity:0.3}.fileupload-thumbnail{position:relative}.fileupload-thumbnail .file-link{position:relative;z-index:10;display:block;width:100px;height:50px;padding-top:2px;overflow:hidden;font-size:10px;line-height:1;color:#555;text-align:center;text-overflow:ellipsis;white-space:nowrap;background-color:#eee;border-radius:4px}.fileupload-thumbnail .file-link::after{position:absolute;top:50%;left:0;z-index:-1;width:100%;font-family:'FontAwesome';font-size:28px;font-weight:900;line-height:0;color:#c8c8c8;content:"\f15b"}.fileupload-thumbnail .file-link.file-exists::after{content:"\f15c"}.picker-asset{position:relative;display:inline-block}.picker-asset .fileupload-thumbnail{width:100px;height:100px;background-color:#f3f3f3;background-repeat:no-repeat;background-position:50%;background-size:contain}.picker-asset .fileupload-thumbnail-icon{background-size:40%}.picker-asset .file-link{height:100px}.picker-asset .file-link::after{display:none}.picker-asset .file-link-default::after{display:block;content:"\f07c"}.picker-asset .picker-select-none{position:absolute;right:4px;bottom:35px;z-index:50;display:block;padding:2px 6px;color:#fff;cursor:pointer;background-color:#d04441;border-top-left-radius:5px}.fileupload-group-lg .fileupload-group{display:block;border-style:dashed;border-width:2px}.fileupload-group-lg .fileupload-group:focus-within{border:2px solid #6bac43}.fileupload-group-lg .fileupload-group .fileupload-thumbnail{background-color:#eee}.fileupload-group-lg .fileupload-group .fileupload-dropzone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:-ms-flexbox;display:flex;-ms-flex-align:end;-ms-flex-pack:center;align-items:flex-end;justify-content:center;height:100%;padding:2px;margin:0;background-color:transparent}.fileupload-group-lg .fileupload-group .fileupload-dropzone span{margin:0 16px 11px;font-size:14px;line-height:1}@media (min-width:668px){.fileupload-group-lg .fileupload-group .fileupload-dropzone span{margin-bottom:52px;font-size:22px}}.fileupload-group-lg .fileupload-group .fileupload-dropzone span::before{display:none}.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link{width:100%;height:152px;padding:12px;font-size:19px}@media (min-width:668px){.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link{height:288px;padding:20px}}.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link::after{font-size:72px;content:"\f15c"}@media (min-width:668px){.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link::after{font-size:112px}}.updateprogress-status{position:fixed;top:40%;left:50%;z-index:1140;padding:15px 10px;margin-left:-30px;background-color:#6bac43;border-radius:120px;box-shadow:5px 5px 12px 3px rgba(0,0,0,0.1);opacity:1}.updateprogress-status .spinner{width:40px;height:30px;font-size:17px;text-align:center}.updateprogress-status .spinner>div{display:inline-block;width:5px;height:100%;margin-right:2px;background-color:#fff;-webkit-animation:stretchdelay 1.2s infinite ease-in-out;animation:stretchdelay 1.2s infinite ease-in-out}.updateprogress-status .spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.updateprogress-status .spinner .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.updateprogress-status .spinner .rect4{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.updateprogress-status .spinner .rect5{-webkit-animation-delay:-0.8s;animation-delay:-0.8s}@-webkit-keyframes stretchdelay{0%,40%,100%{-webkit-transform:scaleY(0.4)}
+20%{-webkit-transform:scaleY(1)}}
+@keyframes stretchdelay{0%,40%,100%{-webkit-transform:scaleY(0.4);
+transform:scaleY(0.4)}
+20%{-webkit-transform:scaleY(1);
+transform:scaleY(1)}}
+@media (min-width: 992px){.updateprogress-status{padding:30px 20px;margin-left:-60px}.updateprogress-status .spinner{width:80px;height:60px}.updateprogress-status .spinner>div{width:10px;margin-right:3px}}.groupmembers{display:flex;flex-wrap:wrap;padding:0;margin:6px 0;list-style:none}.groupmembers .member{float:left;min-width:160px;min-height:90px;margin-right:15px;margin-bottom:15px;border-radius:5px}.groupmembers .member .person-image{display:block;float:left;width:64px;height:64px;margin-right:8px;background-size:cover;border:1px solid #92bce0}.groupmembers .member .member-information{float:left}.groupmembers .member h4{margin:0;overflow:hidden;font-size:16px;font-weight:600;text-overflow:ellipsis}.groupmembers .member small{display:block;margin:0;line-height:16px}.groupmembers .member .btn{margin-top:6px}.well-message{text-align:center}.well-message h1{font-size:38px}.well-message i{margin:12px 0;font-size:84px}.well-message.well-message-info{color:#198fc8;background-color:#d9edf7;border-color:#bce8f1}.well-message.well-message-success{color:#6bac43;background-color:#dff0d8;border-color:#d6e9c6}.well-message.well-message-danger{color:#d04441;background-color:#f2dede;border-color:#ebccd1}.well-message.well-message-warning{color:#dba400;background-color:#fcf8e3;border-color:#faebcc}.well-message.well-message-critical{color:#ee7624;background-color:#fdece1;border-color:#ee7624}.loginstatus>li{min-width:160px;text-align:right}.loginstatus>li li{text-align:left}ul.rocklist{padding:0;list-style-type:none}ul.rocklist .rocklist-item{position:relative;float:left;width:140px;padding:6px;margin:0 12px 12px 0;text-align:center;white-space:nowrap;border-radius:5px}ul.rocklist .rocklist-item .actions{position:absolute;top:0;right:4px}ul.rocklist .rocklist-item .action{display:block;margin-bottom:2px}ul.rocklist .rocklist-item .file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}ul.rocklist .rocklist-item:hover{color:#fff;background:#d0e092}ul.rocklist .rocklist-item.selected{color:#fff;background:#6a6a6a}.twitter-typeahead .tt-query,.twitter-typeahead .tt-hint{margin-bottom:0}.tt-dropdown-menu{min-width:200px;padding:12px;color:#245682;background-color:#b9d4ec;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #92bce0;border-radius:0 0 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.tt-suggestion{display:block}.tt-suggestion p{padding:4px;margin:0;border-radius:5px}.tt-suggestion p:hover{color:#1c1c1c;background-color:#92bce0}.tt-suggestion.tt-is-under-cursor{color:#6aa3d5}.tt-suggestion.tt-is-under-cursor a{color:#245682}.image-editor-photo{position:relative;width:150px}.image-editor-photo .image-container{width:150px;height:150px;border:3px solid #92bce0}.image-editor-photo .options{position:absolute;top:110px;right:0;padding:0 6px;color:#000;background-color:#92bce0;border-radius:5px 0 0 5px;opacity:0;-webkit-transition:opacity 0.25s ease-in-out;-moz-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out}.image-editor-photo .options:focus-within{opacity:1}.image-editor-photo .options a{display:inline-block;padding:6px;color:#000;text-decoration:none;cursor:pointer}.image-editor-photo .options a:hover{opacity:0.5}.image-editor-photo .js-upload-progress{position:absolute;top:55px;left:55px;color:#555;opacity:0.5}.image-editor-fileinput{height:0;visibility:hidden}.image-editor-group.imageupload-group{border:0}.image-editor-crop-container{width:480px;height:480px}.image-editor-photo:hover .options{opacity:1}.nav-paging .btn-prev{float:left}.nav-paging .btn-next{float:right;margin-left:auto !important}.list-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;padding:0;margin:0;list-style:none}.list-horizontal:before,.list-horizontal:after{display:table;content:" "}.list-horizontal:after{clear:both}.list-horizontal:before,.list-horizontal:after{display:table;content:" "}.list-horizontal:after{clear:both}.list-horizontal li{float:left;margin-right:2px;margin-bottom:4px}.key-value-rows .controls-row{margin-bottom:6px;margin-right:0}.key-value-rows .controls-row.controls-row-full-width{display:flex;align-items:center}.contextsetter{margin-right:2px}ul.list-group-panel,.panel-collapse{margin:0}ul.list-group-panel .list-group,.panel-collapse .list-group{margin-bottom:0}ul.list-group-panel .list-group-item,.panel-collapse .list-group-item{border:0;border-top:1px solid #ddd;border-radius:0}ul.list-group-panel .list-group-item:first-child,.panel-collapse .list-group-item:first-child{border:0}.input-group-sm .slidingdaterange-daterange .form-control,.input-group-sm .slidingdaterange-daterange .input-group-addon{height:37px;padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px}select.input-group-sm .slidingdaterange-daterange .form-control,select.input-group-sm .slidingdaterange-daterange .input-group-addon{height:37px;padding:5px 36px 5px 10px}textarea.input-group-sm .slidingdaterange-daterange .form-control,textarea.input-group-sm .slidingdaterange-daterange .input-group-addon,select[multiple].input-group-sm .slidingdaterange-daterange .form-control,select[multiple].input-group-sm .slidingdaterange-daterange .input-group-addon{height:auto}select.input-group-sm .slidingdaterange-daterange .form-control,select.input-group-sm .slidingdaterange-daterange .input-group-addon{height:37px;padding:5px 36px 5px 10px}textarea.input-group-sm .slidingdaterange-daterange .form-control,textarea.input-group-sm .slidingdaterange-daterange .input-group-addon,select[multiple].input-group-sm .slidingdaterange-daterange .form-control,select[multiple].input-group-sm .slidingdaterange-daterange .input-group-addon{height:auto}.photo-round{background-repeat:no-repeat;background-position-x:center;background-size:cover;border-radius:9999px}.photo-round.photo-round-sm{width:35px;height:35px}.photo-round.photo-round-xs{width:20px;height:20px}.wizard{display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;padding:8px 0;background-color:#eee}.wizard:before,.wizard:after{display:table;content:" "}.wizard:after{clear:both}.wizard:before,.wizard:after{display:table;content:" "}.wizard:after{clear:both}@media only screen and (max-width:480px){.wizard{display:none}}.wizard .wizard-item{position:relative;width:100%;min-width:75px;color:#5c5c5c;text-align:center;word-break:break-word;cursor:default}.wizard .wizard-item a{color:#5c5c5c}.wizard .wizard-item .wizard-item-icon{min-width:75px}.wizard .wizard-item .wizard-item-icon i{display:inline-block;width:36px;height:36px;padding:9px 7px;color:#bbb;background:#b0d798;border:1px solid #bbb;border-radius:60px}.wizard .wizard-item .wizard-item-label{padding-top:5px}.wizard .wizard-item::before{position:absolute;top:18px;left:-50%;width:calc(100% - 36px);height:1px;margin-left:18px;content:"";background-color:#bbb}.wizard .wizard-item.active{font-weight:700;color:#6bac43}.wizard .wizard-item.active::before{background-color:#a2a2a2}.wizard .wizard-item.active .wizard-item-icon i{color:#fff;background-color:#6bac43;border-color:#6bac43}.wizard .wizard-item.complete{color:#6bac43}.wizard .wizard-item.complete a{color:#6bac43}.wizard .wizard-item.complete::before{background-color:#a2a2a2}.wizard .wizard-item.complete .wizard-item-icon i{color:#fff;background-color:#6bac43;border-color:#fff}.wizard .wizard-item:first-of-type::before{display:none}.rock-checkbox-icon{cursor:pointer}.in-columns{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;-webkit-column-width:130px;-moz-column-width:130px;column-width:130px}.in-columns-1{-moz-column-count:1;-webkit-column-count:1;column-count:1}.in-columns-2{-moz-column-count:2;-webkit-column-count:2;column-count:2}.in-columns-3{-moz-column-count:3;-webkit-column-count:3;column-count:3}.in-columns-4{-moz-column-count:4;-webkit-column-count:4;column-count:4}.in-columns-5{-moz-column-count:5;-webkit-column-count:5;column-count:5}.in-columns-6{-moz-column-count:6;-webkit-column-count:6;column-count:6}.in-columns .radio,.in-columns .checkbox,.in-columns .radio-inline,.in-columns .checkbox-inline{display:block;padding-right:0}.in-columns .radio:first-child,.in-columns .checkbox:first-child,.in-columns .radio-inline:first-child,.in-columns .checkbox-inline:first-child{margin-top:0}.in-columns .checkbox-inline:first-child,.in-columns .radio-inline:first-child{padding-left:20px}.in-columns .label-text{display:inline-block;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-column-break-inside:avoid-column;break-inside:avoid-column}.in-columns .radio-inline+.radio-inline,.in-columns .checkbox-inline+.checkbox-inline{margin-left:0}.radio-inline label,.checkbox-inline label{font-weight:400}.checkbox-inline:first-child,.radio-inline:first-child{padding-left:30px}.checkbox-inline:first-child.rock-checkbox-icon,.radio-inline:first-child.rock-checkbox-icon{padding-left:0 !important}.checkbox-inline:first-child.rock-checkbox-icon i,.radio-inline:first-child.rock-checkbox-icon i{width:30px}.assessment .radio,.assessment .checkbox{min-height:20px;margin-top:8px;margin-bottom:8px}.assessment .radio label,.assessment .checkbox label{padding-left:0}.assessment .modal-body>.checkbox label input{z-index:0;opacity:1}.assessment .radio-inline,.assessment .checkbox-inline{padding-right:16px;padding-left:30px;margin-left:0}.assessment .radio-inline label,.assessment .checkbox-inline label{margin-bottom:0}.assessment .form-align .radio,.assessment .form-horizontal .radio,.assessment .form-align .checkbox,.assessment .form-horizontal .checkbox,.assessment .form-align .radio-inline,.assessment .form-horizontal .radio-inline,.assessment .form-align .checkbox-inline,.assessment .form-horizontal .checkbox-inline{padding-top:0;margin-top:7px !important;margin-bottom:7px !important}.assessment .form-align .radio-inline+.radio-inline,.assessment .form-horizontal .radio-inline+.radio-inline,.assessment .form-align .checkbox-inline+.checkbox-inline,.assessment .form-horizontal .checkbox-inline+.checkbox-inline{margin-top:7px}.assessment .radio,.assessment .checkbox,.assessment .radio-inline,.assessment .checkbox-inline{padding-left:28px}.assessment .radio.deselected,.assessment .checkbox.deselected,.assessment .radio-inline.deselected,.assessment .checkbox-inline.deselected{opacity:0.5}.assessment .radio .label-text::before,.assessment .checkbox .label-text::before,.assessment .radio-inline .label-text::before,.assessment .checkbox-inline .label-text::before{position:absolute;top:0;left:0;display:block;width:20px;height:20px;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:2px solid #ccc;border-radius:0.25rem}.assessment .radio .label-text::after,.assessment .checkbox .label-text::after,.assessment .radio-inline .label-text::after,.assessment .checkbox-inline .label-text::after{position:absolute;top:0;left:0;display:block;width:20px;height:20px;content:"";background:no-repeat center/50%}.assessment .radio input,.assessment .checkbox input,.assessment .radio-inline input,.assessment .checkbox-inline input{position:absolute;z-index:-1;opacity:0}.assessment .radio input:checked~.label-text::before,.assessment .checkbox input:checked~.label-text::before,.assessment .radio-inline input:checked~.label-text::before,.assessment .checkbox-inline input:checked~.label-text::before{background-color:#6bac43;border-color:#6bac43}.assessment .radio input:focus~.label-text::before,.assessment .checkbox input:focus~.label-text::before,.assessment .radio-inline input:focus~.label-text::before,.assessment .checkbox-inline input:focus~.label-text::before{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(107,172,67,0.2)}.assessment .radio input:active~.label-text::before,.assessment .checkbox input:active~.label-text::before,.assessment .radio-inline input:active~.label-text::before,.assessment .checkbox-inline input:active~.label-text::before{color:#fff;background-color:#bedeaa}.assessment .radio input:disabled~.label-text,.assessment .checkbox input:disabled~.label-text,.assessment .radio-inline input:disabled~.label-text,.assessment .checkbox-inline input:disabled~.label-text{color:#aaa}.assessment .radio input:disabled~.label-text::before,.assessment .checkbox input:disabled~.label-text::before,.assessment .radio-inline input:disabled~.label-text::before,.assessment .checkbox-inline input:disabled~.label-text::before{background-color:#eee}.assessment .radio input:checked:disabled~.label-text::before,.assessment .checkbox input:checked:disabled~.label-text::before,.assessment .radio-inline input:checked:disabled~.label-text::before,.assessment .checkbox-inline input:checked:disabled~.label-text::before{background-color:#6bac43;opacity:0.5}.assessment .radio-inline+.radio-inline,.assessment .checkbox-inline+.checkbox-inline{margin-left:0}.assessment .checkbox input:checked~.label-text::after,.assessment .checkbox-inline input:checked~.label-text::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='%23ffffff' 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")}.assessment .radio .label-text::before,.assessment .radio-inline .label-text::before{border-radius:50%}.assessment .radio input:checked~.label-text::after,.assessment .radio-inline input:checked~.label-text::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='%23ffffff'/%3E%3C/svg%3E")}.assessment .rock-checkbox-icon{padding-left:0}.assessment .rock-checkbox-icon i{width:20px;margin-right:3px;font-size:22px;text-align:center}.panel .panel-heading.panel-follow{position:relative;padding-right:40px}.panel .panel-heading.panel-follow-fullscreen{position:relative;padding-right:110px}.panel-follow-status{position:absolute;top:0;right:0;bottom:0;width:35px;padding-top:10px 0 0;color:#1c1c1c;text-align:center;cursor:pointer;border-left:1px solid #cde1f1;opacity:0.4;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.panel-follow-status::before{font-family:'FontAwesome';content:"\f005"}.panel-follow-status.following{color:#fff;background-color:#b9d4ec;opacity:1}.btn-copy-to-clipboard:focus{outline:0}.rating-input i{margin-right:8px;font-size:18px;cursor:pointer}.value-list-rows .controls-row{margin-bottom:6px;margin-right:0}.colorpicker-saturation{float:left;width:100px;height:100px;cursor:crosshair;background-image:url("../../../Assets/Images/bootstrap-colorpicker/saturation.png")}.colorpicker-saturation i{position:absolute;top:0;left:0;display:block;width:5px;height:5px;margin:-4px 0 0 -4px;border:1px solid #000;border-radius:5px}.colorpicker-saturation i b{display:block;width:5px;height:5px;border:1px solid #fff;border-radius:5px}.colorpicker-hue,.colorpicker-alpha{float:left;width:15px;height:100px;margin-bottom:4px;margin-left:4px;cursor:row-resize}.colorpicker-hue i,.colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:100%;height:1px;margin-top:-1px;background:#000;border-top:1px solid #fff}.colorpicker-hue{background-image:url("../../../Assets/Images/bootstrap-colorpicker/hue.png")}.colorpicker-alpha{display:none;background-image:url("../../../Assets/Images/bootstrap-colorpicker/alpha.png")}.colorpicker-saturation,.colorpicker-hue,.colorpicker-alpha{background-size:contain}.colorpicker{top:0;left:0;z-index:2500;min-width:130px;padding:4px;margin-top:1px;*zoom:1;border-radius:5px}.colorpicker::before,.colorpicker::after{display:table;line-height:0;content:""}.colorpicker::before{position:absolute;top:-7px;left:6px;display:inline-block;content:"";border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);border-left:7px solid transparent}.colorpicker::after{position:absolute;top:-6px;left:7px;display:inline-block;clear:both;content:"";border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-position:0 100%;background-image:url("../../../Assets/Images/bootstrap-colorpicker/alpha.png")}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:16px;margin-top:5px;clear:both;background:none !important}.colorpicker-selectors i{float:left;width:16px;height:16px;cursor:pointer}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .input-group-addon,.colorpicker-element .add-on{position:relative;z-index:1}.colorpicker-element .input-group-addon i,.colorpicker-element .add-on i{position:relative;z-index:initial;display:inline-block;width:25px;height:25px;overflow:hidden;vertical-align:text-top;cursor:pointer;border-radius:5px;box-shadow:rgba(0,0,0,0.15) 0 0 0 1px inset}.colorpicker-element .input-group-addon i::before,.colorpicker-element .add-on i::before{position:absolute;left:0;z-index:-1;width:25px;height:25px;content:"";background-image:linear-gradient(45deg,#f8f9fa 25%,transparent 25%,transparent 75%,#f8f9fa 75%,#f8f9fa),linear-gradient(45deg,#f8f9fa 25%,transparent 25%,transparent 75%,#f8f9fa 75%,#f8f9fa);background-position:0 0,30px 30px;background-size:12px 12px;box-shadow:rgba(0,0,0,0.15) 0 0 0 1px inset}.colorpicker.colorpicker-inline{position:relative;z-index:auto;display:inline-block;float:none}.colorpicker.colorpicker-horizontal{width:110px;min-width:110px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-hue,.colorpicker.colorpicker-horizontal .colorpicker-alpha{float:left;width:100px;height:15px;margin-bottom:4px;margin-left:0;cursor:col-resize}.colorpicker.colorpicker-horizontal .colorpicker-hue i,.colorpicker.colorpicker-horizontal .colorpicker-alpha i{position:absolute;top:0;left:0;display:block;width:1px;height:15px;margin-top:0;background:#fff;border:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("../../../Assets/Images/bootstrap-colorpicker/hue-horizontal.png")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("../../../Assets/Images/bootstrap-colorpicker/alpha-horizontal.png")}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible,.colorpicker-inline.colorpicker-visible,.colorpicker-alpha.colorpicker-visible,.colorpicker-saturation.colorpicker-visible,.colorpicker-hue.colorpicker-visible,.colorpicker-selectors.colorpicker-visible{display:block}.colorpicker-right::before{right:6px;left:auto}.colorpicker-right::after{right:7px;left:auto}.html-editor-container.loading{box-sizing:content-box;padding:0 0 53px}.note-editor.panel-default{border-color:#cde1f1}.note-editor.panel-default>.panel-heading{background-color:#fff}.htmleditor-filebrowser .is-postback>.modal-header{padding:5px 15px;margin:0 -15px 15px;margin-top:0;color:#cecece;background-color:#1c1c1c}.htmleditor-filebrowser .is-postback>.modal-footer{padding:8px 24px;margin-right:-15px;margin-left:-15px;color:#245682;background-color:#1c1c1c}.htmleditor-assetmanager .is-postback>.modal-header{padding:5px 15px;margin:0 -15px 15px;margin-top:0;color:#cecece;background-color:#1c1c1c}.htmleditor-assetmanager .is-postback>.modal-footer{padding:8px 24px;margin-right:-15px;margin-left:-15px;color:#245682;background-color:#1c1c1c}.picker-folders,.picker-files{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}@media (min-width:480px){.picker-folders,.picker-files{float:left}}.picker-folders .scroll-container-vertical,.picker-files .scroll-container-vertical{width:auto}.picker-folders .scroll-container-vertical .viewport,.picker-files .scroll-container-vertical .viewport{width:auto}.picker-wrapper{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.picker-folders{max-width:320px;padding-right:24px}@media (max-width:667px){.picker-folders{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding-right:0;padding-bottom:24px}}.picker-folders .actions{margin-bottom:15px}@media (max-width:667px){.picker-folders .scroll-container-vertical .viewport{height:100px}}.picker-files .empty-folder-notification{display:block;text-align:center}.picker-files .assetmanager-actions .fileupload-group{padding:0;border:0}.picker-files .assetmanager-actions .fileupload-group .fileupload-button{height:33px;padding:7px 10px;line-height:1}.picker-files img.file-browser-image{width:80px;height:80px}iframe.file-browser{border:0}.structured-content-container{min-height:378px;overflow:hidden;background:#fff;border:1px solid #ccc;border-radius:5px}@media (min-width:992px){.structured-content-container{background:#fff}}@media (min-width:1500px){.structured-content-container{min-height:520px;padding:40px}}.structured-content-container:focus-within{border:var(--focus-state-border);box-shadow:var(--focus-state-shadow)}.structured-content-container .codex-editor{max-width:800px;margin:0 auto;background:#fff}@media (min-width:668px){.structured-content-container .codex-editor{padding:20px}}@media (min-width:1500px){.structured-content-container .codex-editor{padding:50px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}}.codex-editor .ce-settings{-webkit-box-sizing:content-box;box-sizing:content-box}.directory-letters li{width:3.8455%;min-width:20px}.directory-grid>div.row:nth-child(odd){background-color:#f7f7f7}.panel-parent>.panel-body{padding:0}.panel-parent .panel{margin-bottom:0;border:0}.panel-parent .panel .panel-heading{display:none}.assetmanager-files .checkbox{width:20px;padding-left:0}.assetmanager-actions .fileupload-group{margin-bottom:0}.gu-mirror{position:fixed !important;z-index:9999 !important;margin:0 !important;filter:alpha(opacity=80);opacity:0.8}.gu-hide{display:none !important}.gu-unselectable{-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important}.gu-transit{filter:alpha(opacity=50);opacity:0.5}.custom-control-input{position:absolute;z-index:-1;opacity:0}@media (max-width:991px){.hide-label-sm .control-label{display:none}}.custom-switch{padding-left:36px}.custom-switch-centered .custom-switch{padding-top:12.5px !important}.custom-switch .custom-control-label{position:relative;font-weight:400;cursor:pointer}.custom-switch .custom-control-label.custom-control-label-bold{font-weight:600}.custom-switch .custom-control-label::before{position:absolute;top:2px;left:-36px;display:block;width:28px;height:16px;pointer-events:all;content:"";background-color:#fff;border:1px solid #ccc;border-radius:10px}.custom-switch .custom-control-label::after{position:absolute;top:4px;left:-34px;display:block;width:12px;height:12px;content:"";background:no-repeat 50%/50% 50%;background-color:#ccc;border-radius:10px;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-transform 0.15s ease-in-out}.custom-switch .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(107,172,67,0.2)}.custom-switch .custom-control-input:disabled~.custom-control-label::before{background-color:#eee}.custom-switch .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#6bac43}.custom-switch .custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#bedeaa}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(12px)}.custom-switch .custom-control-input:checked~.custom-control-label::before{background-color:#6bac43;border-color:#6bac43}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(107,172,67,0.5)}.kpi-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -8px}.kpi-container>.kpi{min-width:var(--kpi-min-width,220px);margin:8px}@media (min-width:668px){.kpi-container>.kpi{max-width:calc(var(--kpi-col-sm,50%) - 16px)}}@media (min-width:992px){.kpi-container{-ms-flex-pack:distribute;justify-content:space-around}.kpi-container>.kpi{max-width:calc(var(--kpi-col-md,33.33333%) - 16px)}}@media (min-width:1500px){.kpi-container{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.kpi-container>.kpi{max-width:calc(var(--kpi-col-lg,25%) - 16px)}}.kpi-title{margin-top:0;font-weight:600}.kpi{position:relative;display:flex;flex-basis:100%;flex-grow:1;align-items:center;margin:0 8px 16px;overflow-y:hidden;font-size:26px;color:#357ebd;align-self:flex-start}.kpi-card{background:#fff;border:1px solid #000;border-color:currentColor;border-radius:4px;align-self:auto}.kpi-stat{flex:1 1 0;align-self:flex-start;min-width:0;padding:8px 0;overflow:hidden}.kpi-icon+.kpi-stat{align-self:center;padding:8px 16px}.kpi-card .kpi-stat{padding:8px 16px}.kpi-value{display:block;font-weight:700;line-height:1}.kpi-subvalue{padding-left:0.4em;font-size:0.6em;font-weight:400;color:#9f9f9f}.kpi-label,.kpi-secondary-label,.kpi-lg-label{display:block;font-size:0.53846em;line-height:1.1;color:#aaa}.kpi-secondary-label{font-size:12px;line-height:12px;opacity:0.7}.kpi-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:35%;height:100%;font-size:32px;vertical-align:top}.kpi-card .kpi-icon{margin-left:12px}.has-icon-bg .kpi-icon{display:block;width:max-content;margin-left:0}.has-icon-bg .kpi-icon .kpi-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.has-icon-bg.kpi-sm>.kpi-icon{display:flex;flex-grow:1;width:48px;min-width:48px;max-width:48px}.kpi-icon .svg-placeholder{display:none;width:2em;height:auto;background:currentColor;border-radius:4px;opacity:0}.kpi-card>.kpi-icon .svg-placeholder{height:100%;border-radius:0}.has-icon-bg .kpi-icon .svg-placeholder{display:block;opacity:0.2}@supports not (width: fit-content){.kpi-lg.has-icon-bg .kpi-icon{min-width:86px}
+.has-icon-bg .kpi-icon{min-width:57px;height:100%}.has-icon-bg .kpi-icon::before{position:absolute;top:0;bottom:0;display:block;width:100%;content:" ";background:currentColor;opacity:0.2}.has-icon-bg .kpi-icon .svg-placeholder{opacity:0 !important}}
+.kpi-sm .kpi-icon{font-size:24px}.kpi-sm .kpi-stat{padding:4px 8px}.kpi-lg,.kpi-xl{font-size:30px}.kpi-lg .kpi-stat,.kpi-xl .kpi-stat{padding:16px 10px}.kpi-lg .kpi-label,.kpi-xl .kpi-label{padding:3px 0;font-size:17px;font-weight:400}.kpi-lg .kpi-icon,.kpi-xl .kpi-icon{overflow:visible;font-size:48px;text-align:center}.kpi-lg-label{font-size:17px}.kpi-xl{font-size:48px}.kpi-xl .kpi-icon{font-size:54px}.stat-value{display:inline-block;font-size:26px;font-weight:700;line-height:1}.progress-tracker{display:flex;background:#fff;border:1px solid #cde1f1;border-radius:5px}.progress-tracker-container{flex-grow:1;overflow:auto}.progress-tracker-container::-webkit-scrollbar{display:none}.progress-steps{display:flex;flex-grow:1;height:100%;padding:0;margin:0;list-style:none}.progress-step{position:relative;display:flex;flex:1 1 0;min-width:140px;overflow:hidden}.progress-tracker-arrow{position:absolute;top:0;right:0;display:block;width:14px;height:100%;color:#cde1f1}.progress-tracker-arrow svg{width:100%;height:100%}.progress-step-link{position:relative;display:flex;align-items:center;width:100%;padding:6px 12px 6px 8px;font-size:0.875rem;font-weight:500;line-height:1.25;color:#aaa}.progress-tracker-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;padding:1px 0 0;margin-right:6px;font-size:12px;color:#fff;background:#6bac43;border-radius:999px;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.progress-tracker-icon.current{background:#fff;border:2px solid #6bac43}.progress-tracker-icon.upcoming{background:#fff;border:2px solid #aaa}.progress-tracker-more{flex:0 1 auto;min-width:56px}.progress-tracker-more .progress-step-link{padding:4px 14px;font-size:24px}.progress-tracker-more+.progress-tracker-more{display:none}.progress-tracker-details{min-width:0;margin-top:2px}.current+.progress-tracker-details .progress-tracker-title,.current+.progress-tracker-details .progress-tracker-subtitle{color:#6bac43}.progress-tracker-title{color:#1c1c1c}.progress-tracker-subtitle{margin:0;font-size:0.75rem;font-weight:400;line-height:1rem;color:#aaa}.remaining-time{position:relative;display:flex;flex-direction:column;justify-content:center;padding:6px 20px;margin-left:auto;text-align:center;border-left:1px solid #cde1f1}.remaining-time-title{font-size:12px;line-height:14px;color:#aaa;white-space:nowrap}.remaining-time-countdown{margin:0;font-weight:500;line-height:1;color:#6bac43}.ant-select.form-control{padding:0}.ant-select.form-control .ant-select-selector{height:39px !important;padding:6px 12px !important;border-radius:5px !important;margin:0 !important;background-color:initial !important;border:none !important;box-shadow:none !important}.ant-select.form-control .ant-select-selector .ant-select-selection-item{display:inline-flex;align-items:center}.input-group .ant-select.ant-select-focused{z-index:3}.ant-select.ant-select-focused:not(.ant-select-disabled).form-control{border:1px solid #6bac43;outline:none;box-shadow:var(--focus-state-shadow)}.ant-select.ant-select-focused:not(.ant-select-disabled).form-control .ant-select-selector{border:none;outline:none;box-shadow:none}.ant-select.form-control .ant-select-arrow,.ant-select.form-control .ant-select-clear{width:16px;height:16px;font-size:16px}.ant-select.ant-select-single.form-control .ant-select-selection-item{padding-right:0px;margin-right:18px;transition:margin-right 0s,padding-right 0s}.ant-select.ant-select-single.ant-select-allow-clear.form-control .ant-select-selection-item{margin-right:36px}.ant-select.ant-select-multiple.form-control .ant-select-selection-overflow{padding-right:18px}.ant-select.ant-select-multiple.form-control,.ant-select.ant-select-multiple.form-control .ant-select-selector{height:initial !important;min-height:39px}.ant-select-clear{right:30px}.color-selector-items{display:flex;flex-wrap:wrap;gap:8px}.color-selector-items .color-selector-item-container{display:flex;padding:2px;border:2px solid transparent}.color-selector-items .color-selector-item-container.checked{border-color:#6bac43}.form-control-static .color-selector-items .color-selector-item-container{padding:0;border:0}.color-selector-items .color-selector-item-container .color-selector-item{position:relative;width:32px;height:32px;margin:0;overflow:hidden;box-shadow:rgba(0,0,0,0.15) 0 0 0 1px inset}.color-selector-items .color-selector-item-container .color-selector-item:not(.readonly){cursor:pointer}.color-selector-items .color-selector-item-container .color-selector-item .color-selector-item-checkbox{display:none}.error-wrap{max-width:450px;margin:0 auto;text-align:center}.error-wrap h1{font-size:45px}.error-wrap .error-icon{margin:15px;font-size:256px;line-height:256px;opacity:0.7}.error-wrap .error-icon.info{color:#198fc8}.error-wrap .error-icon.warning{color:#dba400}.error-wrap .error-icon.danger{color:#d04441}.error-details pre{color:#d04441;background-color:transparent;border:0}.rock-blank{background-color:#fff}.rock-blank main.container{padding:12px;margin:0}.exception-table{word-break:break-all;word-wrap:break-word}.exception-table td{min-width:200px;vertical-align:text-top}.exceptionDetail-stackTrace-hide{display:none}.exceptionDetail-stackTrace-show{display:table-row}.exceptionDetail-stackTrace-show pre{padding:0;color:inherit;background-color:transparent;border-color:transparent}.scroll-container{clear:both}.scroll-container .viewport{position:relative;overflow:hidden}.scroll-container .overview{position:absolute;top:0;left:0;list-style:none}.scroll-container .track{position:relative;padding:0;background-color:#aaa;border-radius:4px}.scroll-container .thumb{position:absolute;overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none;background-color:#ccc;border-radius:120px;-webkit-touch-callout:none}.scroll-container .disable{display:none}.scroll-container-vertical{width:520px}.scroll-container-vertical .viewport{width:500px;height:375px}.scroll-container-vertical .overview{width:100%}.scroll-container-vertical .scrollbar{position:relative;float:right;width:15px;height:120px}.scroll-container-vertical .track{width:1px;height:100%;border-radius:4px}.scroll-container-vertical .thumb{top:0;width:13px;height:20px;margin-left:-6px}.scroll-container-horizontal{width:100%;margin:0}.scroll-container-horizontal .viewport{width:100%;min-height:200px}.scroll-container-horizontal .scrollbar{position:relative;width:100%;height:15px;padding:0 15px}.scroll-container-horizontal .track{width:100%;height:1px;padding:0 1px}.scroll-container-horizontal .thumb{width:20px;height:13px;margin-top:-6px;border-radius:10px}.noSelect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.primary-color{color:#fff;background-color:#6bac43}.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-top{vertical-align:text-top !important}.align-text-bottom{vertical-align:text-bottom !important}.bg-primary{background-color:#6bac43 !important}.bg-success{background-color:#6bac43 !important}.bg-info{background-color:#198fc8 !important}.bg-warning{background-color:#dba400 !important}.bg-danger{background-color:#d04441 !important}.bg-critical{background-color:#ee7624 !important}.bg-body,.bg-color{background-color:#f3f3f3 !important}.border{border:1px solid #000 !important}.border-top{border-top:1px solid #000 !important}.border-right{border-right:1px solid #000 !important}.border-bottom{border-bottom:1px solid #000 !important}.border-left{border-left:1px solid #000 !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:#6bac43 !important}.border-success{border-color:#6bac43 !important}.border-danger{border-color:#d04441 !important}.border-warning{border-color:#dba400 !important}.border-info{border-color:#198fc8 !important}.border-critical{border-color:#ee7624 !important}.border-panel{border-color:#cde1f1 !important}.rounded{border-radius:5px !important}.rounded-sm{border-radius:3px !important}.rounded-lg{border-radius:12px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:999px !important}.rounded-0{border-radius:0 !important}.rounded-top{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.rounded-right{border-top-right-radius:5px !important;border-bottom-right-radius:5px !important}.rounded-bottom{border-bottom-right-radius:5px !important;border-bottom-left-radius:5px !important}.rounded-left{border-top-left-radius:5px !important;border-bottom-left-radius:5px !important}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #f5f5f5;border-radius:5px}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:5px;border-bottom-left-radius:5px}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem 1.25rem}.card-title{margin-top:0;margin-bottom:0.75rem}.card-subtitle{margin-top:-0.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:0.75rem 1.25rem;margin-top:0;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid #f5f5f5}.card-header:first-child{border-radius:calc(5px - 1px) calc(5px - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:0.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid #f5f5f5}.card-footer:last-child{border-radius:0 0 calc(5px - 1px) calc(5px - 1px)}.card-header-tabs{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(5px - 1px);border-top-right-radius:calc(5px - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(5px - 1px);border-bottom-left-radius:calc(5px - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{margin-bottom:-1px;border-radius:0}.card-sm .card-body{padding:0.75rem 0.75rem}.card-schedule{min-height:99px;margin-bottom:16px;border-radius:12px}.card-schedule .card-body{padding-right:0}.card-schedule .card-title{font-size:21px}.card-schedule .schedule-date{font-weight:600}.card-schedule .schedule-occurrence,.card-schedule .schedule-occurrence-schedule{display:block}.card-schedule .schedule-confirm{display:flex;flex-basis:180px;flex-wrap:wrap;align-items:center;align-self:center;justify-content:flex-end;margin-right:0.75rem}.card-schedule .schedule-confirm .btn-primary{margin:4px 0 4px 8px}.card-schedule.schedule-unavailable{background:#f5f5f5}.bg-transparent{background-color:transparent !important}.bg-current{background-color:currentColor !important}.bg-black{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-gray-100{background-color:#f8f9fa !important}.bg-gray-200{background-color:#e9ecef !important}.bg-gray-300{background-color:#dee2e6 !important}.bg-gray-400{background-color:#ced4da !important}.bg-gray-500{background-color:#adb5bd !important}.bg-gray-600{background-color:#6c757d !important}.bg-gray-700{background-color:#495057 !important}.bg-gray-800{background-color:#343a40 !important}.bg-gray-900{background-color:#212529 !important}.bg-red-100{background-color:#fff5f5 !important}.bg-red-200{background-color:#fed7d7 !important}.bg-red-300{background-color:#feb2b2 !important}.bg-red-400{background-color:#fc8181 !important}.bg-red-500{background-color:#f56565 !important}.bg-red-600{background-color:#e53e3e !important}.bg-red-700{background-color:#c53030 !important}.bg-red-800{background-color:#9b2c2c !important}.bg-red-900{background-color:#742a2a !important}.bg-orange-100{background-color:#fffaf0 !important}.bg-orange-200{background-color:#feebc8 !important}.bg-orange-300{background-color:#fbd38d !important}.bg-orange-400{background-color:#f6ad55 !important}.bg-orange-500{background-color:#ed8936 !important}.bg-orange-600{background-color:#dd6b20 !important}.bg-orange-700{background-color:#c05621 !important}.bg-orange-800{background-color:#9c4221 !important}.bg-orange-900{background-color:#7b341e !important}.bg-yellow-100{background-color:ivory !important}.bg-yellow-200{background-color:#fefcbf !important}.bg-yellow-300{background-color:#faf089 !important}.bg-yellow-400{background-color:#f6e05e !important}.bg-yellow-500{background-color:#ecc94b !important}.bg-yellow-600{background-color:#d69e2e !important}.bg-yellow-700{background-color:#b7791f !important}.bg-yellow-800{background-color:#975a16 !important}.bg-yellow-900{background-color:#744210 !important}.bg-green-100{background-color:#f0fff4 !important}.bg-green-200{background-color:#c6f6d5 !important}.bg-green-300{background-color:#9ae6b4 !important}.bg-green-400{background-color:#68d391 !important}.bg-green-500{background-color:#48bb78 !important}.bg-green-600{background-color:#38a169 !important}.bg-green-700{background-color:#2f855a !important}.bg-green-800{background-color:#276749 !important}.bg-green-900{background-color:#22543d !important}.bg-teal-100{background-color:#e6fffa !important}.bg-teal-200{background-color:#b2f5ea !important}.bg-teal-300{background-color:#81e6d9 !important}.bg-teal-400{background-color:#4fd1c5 !important}.bg-teal-500{background-color:#38b2ac !important}.bg-teal-600{background-color:#319795 !important}.bg-teal-700{background-color:#2c7a7b !important}.bg-teal-800{background-color:#285e61 !important}.bg-teal-900{background-color:#234e52 !important}.bg-blue-100{background-color:#ebf8ff !important}.bg-blue-200{background-color:#bee3f8 !important}.bg-blue-300{background-color:#90cdf4 !important}.bg-blue-400{background-color:#63b3ed !important}.bg-blue-500{background-color:#4299e1 !important}.bg-blue-600{background-color:#3182ce !important}.bg-blue-700{background-color:#2b6cb0 !important}.bg-blue-800{background-color:#2c5282 !important}.bg-blue-900{background-color:#2a4365 !important}.bg-indigo-100{background-color:#ebf4ff !important}.bg-indigo-200{background-color:#c3dafe !important}.bg-indigo-300{background-color:#a3bffa !important}.bg-indigo-400{background-color:#7f9cf5 !important}.bg-indigo-500{background-color:#667eea !important}.bg-indigo-600{background-color:#5a67d8 !important}.bg-indigo-700{background-color:#4c51bf !important}.bg-indigo-800{background-color:#434190 !important}.bg-indigo-900{background-color:#3c366b !important}.bg-purple-100{background-color:#faf5ff !important}.bg-purple-200{background-color:#e9d8fd !important}.bg-purple-300{background-color:#d6bcfa !important}.bg-purple-400{background-color:#b794f4 !important}.bg-purple-500{background-color:#9f7aea !important}.bg-purple-600{background-color:#805ad5 !important}.bg-purple-700{background-color:#6b46c1 !important}.bg-purple-800{background-color:#553c9a !important}.bg-purple-900{background-color:#44337a !important}.bg-pink-100{background-color:#fff5f7 !important}.bg-pink-200{background-color:#fed7e2 !important}.bg-pink-300{background-color:#fbb6ce !important}.bg-pink-400{background-color:#f687b3 !important}.bg-pink-500{background-color:#ed64a6 !important}.bg-pink-600{background-color:#d53f8c !important}.bg-pink-700{background-color:#b83280 !important}.bg-pink-800{background-color:#97266d !important}.bg-pink-900{background-color:#702459 !important}.text-transparent{color:transparent !important}.text-current{color:currentColor !important}.text-black{color:#000 !important}.text-white{color:#fff !important}.text-gray-100{color:#f8f9fa !important}.text-gray-200{color:#e9ecef !important}.text-gray-300{color:#dee2e6 !important}.text-gray-400{color:#ced4da !important}.text-gray-500{color:#adb5bd !important}.text-gray-600{color:#6c757d !important}.text-gray-700{color:#495057 !important}.text-gray-800{color:#343a40 !important}.text-gray-900{color:#212529 !important}.text-red-100{color:#fff5f5 !important}.text-red-200{color:#fed7d7 !important}.text-red-300{color:#feb2b2 !important}.text-red-400{color:#fc8181 !important}.text-red-500{color:#f56565 !important}.text-red-600{color:#e53e3e !important}.text-red-700{color:#c53030 !important}.text-red-800{color:#9b2c2c !important}.text-red-900{color:#742a2a !important}.text-orange-100{color:#fffaf0 !important}.text-orange-200{color:#feebc8 !important}.text-orange-300{color:#fbd38d !important}.text-orange-400{color:#f6ad55 !important}.text-orange-500{color:#ed8936 !important}.text-orange-600{color:#dd6b20 !important}.text-orange-700{color:#c05621 !important}.text-orange-800{color:#9c4221 !important}.text-orange-900{color:#7b341e !important}.text-yellow-100{color:ivory !important}.text-yellow-200{color:#fefcbf !important}.text-yellow-300{color:#faf089 !important}.text-yellow-400{color:#f6e05e !important}.text-yellow-500{color:#ecc94b !important}.text-yellow-600{color:#d69e2e !important}.text-yellow-700{color:#b7791f !important}.text-yellow-800{color:#975a16 !important}.text-yellow-900{color:#744210 !important}.text-green-100{color:#f0fff4 !important}.text-green-200{color:#c6f6d5 !important}.text-green-300{color:#9ae6b4 !important}.text-green-400{color:#68d391 !important}.text-green-500{color:#48bb78 !important}.text-green-600{color:#38a169 !important}.text-green-700{color:#2f855a !important}.text-green-800{color:#276749 !important}.text-green-900{color:#22543d !important}.text-teal-100{color:#e6fffa !important}.text-teal-200{color:#b2f5ea !important}.text-teal-300{color:#81e6d9 !important}.text-teal-400{color:#4fd1c5 !important}.text-teal-500{color:#38b2ac !important}.text-teal-600{color:#319795 !important}.text-teal-700{color:#2c7a7b !important}.text-teal-800{color:#285e61 !important}.text-teal-900{color:#234e52 !important}.text-blue-100{color:#ebf8ff !important}.text-blue-200{color:#bee3f8 !important}.text-blue-300{color:#90cdf4 !important}.text-blue-400{color:#63b3ed !important}.text-blue-500{color:#4299e1 !important}.text-blue-600{color:#3182ce !important}.text-blue-700{color:#2b6cb0 !important}.text-blue-800{color:#2c5282 !important}.text-blue-900{color:#2a4365 !important}.text-indigo-100{color:#ebf4ff !important}.text-indigo-200{color:#c3dafe !important}.text-indigo-300{color:#a3bffa !important}.text-indigo-400{color:#7f9cf5 !important}.text-indigo-500{color:#667eea !important}.text-indigo-600{color:#5a67d8 !important}.text-indigo-700{color:#4c51bf !important}.text-indigo-800{color:#434190 !important}.text-indigo-900{color:#3c366b !important}.text-purple-100{color:#faf5ff !important}.text-purple-200{color:#e9d8fd !important}.text-purple-300{color:#d6bcfa !important}.text-purple-400{color:#b794f4 !important}.text-purple-500{color:#9f7aea !important}.text-purple-600{color:#805ad5 !important}.text-purple-700{color:#6b46c1 !important}.text-purple-800{color:#553c9a !important}.text-purple-900{color:#44337a !important}.text-pink-100{color:#fff5f7 !important}.text-pink-200{color:#fed7e2 !important}.text-pink-300{color:#fbb6ce !important}.text-pink-400{color:#f687b3 !important}.text-pink-500{color:#ed64a6 !important}.text-pink-600{color:#d53f8c !important}.text-pink-700{color:#b83280 !important}.text-pink-800{color:#97266d !important}.text-pink-900{color:#702459 !important}.border-transparent{border-color:transparent !important}.border-black{border-color:#000 !important}.border-white{border-color:#fff !important}.border-gray-100{border-color:#f7fafc !important}.border-gray-200{border-color:#edf2f7 !important}.border-gray-300{border-color:#e2e8f0 !important}.border-gray-400{border-color:#cbd5e0 !important}.border-gray-500{border-color:#a0aec0 !important}.border-gray-600{border-color:#718096 !important}.border-gray-700{border-color:#4a5568 !important}.border-gray-800{border-color:#2d3748 !important}.border-gray-900{border-color:#1a202c !important}.border-red-100{border-color:#fff5f5 !important}.border-red-200{border-color:#fed7d7 !important}.border-red-300{border-color:#feb2b2 !important}.border-red-400{border-color:#fc8181 !important}.border-red-500{border-color:#f56565 !important}.border-red-600{border-color:#e53e3e !important}.border-red-700{border-color:#c53030 !important}.border-red-800{border-color:#9b2c2c !important}.border-red-900{border-color:#742a2a !important}.border-orange-100{border-color:#fffaf0 !important}.border-orange-200{border-color:#feebc8 !important}.border-orange-300{border-color:#fbd38d !important}.border-orange-400{border-color:#f6ad55 !important}.border-orange-500{border-color:#ed8936 !important}.border-orange-600{border-color:#dd6b20 !important}.border-orange-700{border-color:#c05621 !important}.border-orange-800{border-color:#9c4221 !important}.border-orange-900{border-color:#7b341e !important}.border-yellow-100{border-color:ivory !important}.border-yellow-200{border-color:#fefcbf !important}.border-yellow-300{border-color:#faf089 !important}.border-yellow-400{border-color:#f6e05e !important}.border-yellow-500{border-color:#ecc94b !important}.border-yellow-600{border-color:#d69e2e !important}.border-yellow-700{border-color:#b7791f !important}.border-yellow-800{border-color:#975a16 !important}.border-yellow-900{border-color:#744210 !important}.border-green-100{border-color:#f0fff4 !important}.border-green-200{border-color:#c6f6d5 !important}.border-green-300{border-color:#9ae6b4 !important}.border-green-400{border-color:#68d391 !important}.border-green-500{border-color:#48bb78 !important}.border-green-600{border-color:#38a169 !important}.border-green-700{border-color:#2f855a !important}.border-green-800{border-color:#276749 !important}.border-green-900{border-color:#22543d !important}.border-teal-100{border-color:#e6fffa !important}.border-teal-200{border-color:#b2f5ea !important}.border-teal-300{border-color:#81e6d9 !important}.border-teal-400{border-color:#4fd1c5 !important}.border-teal-500{border-color:#38b2ac !important}.border-teal-600{border-color:#319795 !important}.border-teal-700{border-color:#2c7a7b !important}.border-teal-800{border-color:#285e61 !important}.border-teal-900{border-color:#234e52 !important}.border-blue-100{border-color:#ebf8ff !important}.border-blue-200{border-color:#bee3f8 !important}.border-blue-300{border-color:#90cdf4 !important}.border-blue-400{border-color:#63b3ed !important}.border-blue-500{border-color:#4299e1 !important}.border-blue-600{border-color:#3182ce !important}.border-blue-700{border-color:#2b6cb0 !important}.border-blue-800{border-color:#2c5282 !important}.border-blue-900{border-color:#2a4365 !important}.border-indigo-100{border-color:#ebf4ff !important}.border-indigo-200{border-color:#c3dafe !important}.border-indigo-300{border-color:#a3bffa !important}.border-indigo-400{border-color:#7f9cf5 !important}.border-indigo-500{border-color:#667eea !important}.border-indigo-600{border-color:#5a67d8 !important}.border-indigo-700{border-color:#4c51bf !important}.border-indigo-800{border-color:#434190 !important}.border-indigo-900{border-color:#3c366b !important}.border-purple-100{border-color:#faf5ff !important}.border-purple-200{border-color:#e9d8fd !important}.border-purple-300{border-color:#d6bcfa !important}.border-purple-400{border-color:#b794f4 !important}.border-purple-500{border-color:#9f7aea !important}.border-purple-600{border-color:#805ad5 !important}.border-purple-700{border-color:#6b46c1 !important}.border-purple-800{border-color:#553c9a !important}.border-purple-900{border-color:#44337a !important}.border-pink-100{border-color:#fff5f7 !important}.border-pink-200{border-color:#fed7e2 !important}.border-pink-300{border-color:#fbb6ce !important}.border-pink-400{border-color:#f687b3 !important}.border-pink-500{border-color:#ed64a6 !important}.border-pink-600{border-color:#d53f8c !important}.border-pink-700{border-color:#b83280 !important}.border-pink-800{border-color:#97266d !important}.border-pink-900{border-color:#702459 !important}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer,.clickable{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.cursor-grabbing{cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.cursor-zoom-in{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.cursor-zoom-out{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.row-eq-height{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}@media (min-width:992px){.row-eq-height-md{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.hover-underline:hover{text-decoration:underline}.object-contain{object-fit:contain !important}.object-cover{object-fit:cover !important}.object-fill{object-fit:fill !important}.object-none{object-fit:none !important}.object-scale-down{object-fit:scale-down !important}.o-00,.o-0{opacity:0 !important}.o-10{opacity:0.1 !important}.o-20{opacity:0.2 !important}.o-30{opacity:0.3 !important}.o-40{opacity:0.4 !important}.o-50{opacity:0.5 !important}.o-60{opacity:0.6 !important}.o-70{opacity:0.7 !important}.o-80{opacity:0.8 !important}.o-90{opacity:0.9 !important}.o-100{opacity:1 !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1050}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1050}.inset-0{position:absolute;top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.bottom-0{bottom:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06) !important}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05) !important}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04) !important}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25) !important}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06) !important}.shadow-none{box-shadow:none !important}.w-1{width:1% !important}.w-20{width:20% !important}.w-25,.width-quarter{width:25% !important}.width-third{width:33.33333% !important}.w-50,.width-half{width:50% !important}.w-75{width:75% !important}.w-100,.width-full{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-w-0{min-width:0 !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.padding-all-none{padding:0 !important}.padding-all-sm{padding:8px !important}.padding-all-md{padding:15px !important}.padding-all-lg{padding:30px !important}.padding-all-xl{padding:60px !important}.margin-all-none{margin:0 !important}.margin-all-sm{margin:8px !important}.margin-all-md{margin:15px !important}.margin-all-lg{margin:30px !important}.margin-all-xl{margin:60px !important}.padding-v-none{padding-top:0 !important;padding-bottom:0 !important}.padding-v-sm{padding-top:8px !important;padding-bottom:8px !important}.padding-v-md{padding-top:15px !important;padding-bottom:15px !important}.padding-v-lg{padding-top:30px !important;padding-bottom:30px !important}.padding-v-xl{padding-top:60px !important;padding-bottom:60px !important}.margin-v-none{margin-top:0 !important;margin-bottom:0 !important}.margin-v-sm{margin-top:8px !important;margin-bottom:8px !important}.margin-v-md{margin-top:15px !important;margin-bottom:15px !important}.margin-v-lg{margin-top:30px !important;margin-bottom:30px !important}.margin-v-xl{margin-top:60px !important;margin-bottom:60px !important}.padding-h-none{padding-right:0 !important;padding-left:0 !important}.padding-h-sm{padding-right:8px !important;padding-left:8px !important}.padding-h-md{padding-right:15px !important;padding-left:15px !important}.padding-h-lg{padding-right:30px !important;padding-left:30px !important}.padding-h-xl{padding-right:60px !important;padding-left:60px !important}.margin-h-none{margin-right:0 !important;margin-left:0 !important}.margin-h-sm{margin-right:8px !important;margin-left:8px !important}.margin-h-md{margin-right:15px !important;margin-left:15px !important}.margin-h-lg{margin-right:30px !important;margin-left:30px !important}.margin-h-xl{margin-right:60px !important;margin-left:60px !important}.padding-t-none{padding-top:0 !important}.padding-t-sm{padding-top:8px !important}.padding-t-md{padding-top:15px !important}.padding-t-lg{padding-top:30px !important}.padding-t-xl{padding-top:60px !important}.margin-t-none{margin-top:0 !important}.margin-t-sm{margin-top:8px !important}.margin-t-md{margin-top:15px !important}.margin-t-lg{margin-top:30px !important}.margin-t-xl{margin-top:60px !important}.padding-b-none{padding-bottom:0 !important}.padding-b-sm{padding-bottom:8px !important}.padding-b-md{padding-bottom:15px !important}.padding-b-lg{padding-bottom:30px !important}.padding-b-xl{padding-bottom:60px !important}.margin-b-none{margin-bottom:0 !important}.margin-b-sm{margin-bottom:8px !important}.margin-b-md{margin-bottom:15px !important}.margin-b-lg{margin-bottom:30px !important}.margin-b-xl{margin-bottom:60px !important}.padding-r-none{padding-right:0 !important}.padding-r-sm{padding-right:8px !important}.padding-r-md{padding-right:15px !important}.padding-r-lg{padding-right:30px !important}.padding-r-xl{padding-right:60px !important}.margin-r-none{margin-right:0 !important}.margin-r-sm{margin-right:8px !important}.margin-r-md{margin-right:15px !important}.margin-r-lg{margin-right:30px !important}.margin-r-xl{margin-right:60px !important}.padding-l-none{padding-left:0 !important}.padding-l-sm{padding-left:8px !important}.padding-l-md{padding-left:15px !important}.padding-l-lg{padding-left:30px !important}.padding-l-xl{padding-left:60px !important}.margin-l-none{margin-left:0 !important}.margin-l-sm{margin-left:8px !important}.margin-l-md{margin-left:15px !important}.margin-l-lg{margin-left:30px !important}.margin-l-xl{margin-left:60px !important}.mx--panel-body{margin-right:-15px;margin-left:-15px}.font-monospace{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light,.text-light{font-weight:300 !important}.font-weight-lighter{font-weight:200 !important}.font-weight-normal,.text-normal{font-weight:400 !important}.font-weight-semibold{font-weight:600 !important}.font-weight-bold,.text-semibold{font-weight:700 !important}.font-weight-bolder,.text-bold{font-weight:900 !important}.font-italic{font-style:italic !important}.text-primary{color:#6bac43 !important}.text-success{color:#6bac43 !important}.text-danger{color:#d04441 !important}.text-warning{color:#dba400 !important}.text-info{color:#198fc8 !important}.text-critical{color:#ee7624 !important}.text-color,.text-body{color:#1c1c1c !important}.text-muted{color:#aaa !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-decoration-none{text-decoration:none !important}.text-linethrough{text-decoration:line-through !important}.text-reset{color:inherit !important}.text-shadow-light{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.text-shadow{text-shadow:-1px -1px 0 #777,1px -1px 0 #777,-1px 1px 0 #777,1px 1px 0 #777}.text-shadow-dark{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.leading-tight{line-height:0.9 !important}.leading-snug{line-height:1 !important}.leading-normal{line-height:1.5 !important}.leading-relaxed{line-height:1.75 !important}.leading-loose{line-height:2 !important}.select-none,.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.-z-10{z-index:-10 !important}.z-0{z-index:0 !important}.z-10{z-index:10 !important}.z-20{z-index:20 !important}.z-30{z-index:30 !important}.z-40{z-index:40 !important}.z-50{z-index:50 !important}.z-auto{z-index:auto !important}.is-inactive{opacity:0.6}.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:flex !important}.d-inline-flex{display:inline-flex !important}.col{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:0.25rem !important}.m-2{margin:0.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:0.25rem !important}.mt-2{margin-top:0.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.mr-0{margin-right:0 !important}.mr-1{margin-right:0.25rem !important}.mr-2{margin-right:0.5rem !important}.mr-3{margin-right:1rem !important}.mr-4{margin-right:1.5rem !important}.mr-5{margin-right:3rem !important}.mr-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:0.25rem !important}.mb-2{margin-bottom:0.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ml-0{margin-left:0 !important}.ml-1{margin-left:0.25rem !important}.ml-2{margin-left:0.5rem !important}.ml-3{margin-left:1rem !important}.ml-4{margin-left:1.5rem !important}.ml-5{margin-left:3rem !important}.ml-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:0.25rem !important}.p-2{padding:0.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:0.25rem !important}.pt-2{padding-top:0.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pr-0{padding-right:0 !important}.pr-1{padding-right:0.25rem !important}.pr-2{padding-right:0.5rem !important}.pr-3{padding-right:1rem !important}.pr-4{padding-right:1.5rem !important}.pr-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:0.25rem !important}.pb-2{padding-bottom:0.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.pl-0{padding-left:0 !important}.pl-1{padding-left:0.25rem !important}.pl-2{padding-left:0.5rem !important}.pl-3{padding-left:1rem !important}.pl-4{padding-left:1.5rem !important}.pl-5{padding-left:3rem !important}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width:668px){.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:flex !important}.d-sm-inline-flex{display:inline-flex !important}.col-sm{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:0.25rem !important}.m-sm-2{margin:0.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-sm-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-sm-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:0.25rem !important}.mt-sm-2{margin-top:0.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.mr-sm-0{margin-right:0 !important}.mr-sm-1{margin-right:0.25rem !important}.mr-sm-2{margin-right:0.5rem !important}.mr-sm-3{margin-right:1rem !important}.mr-sm-4{margin-right:1.5rem !important}.mr-sm-5{margin-right:3rem !important}.mr-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:0.25rem !important}.mb-sm-2{margin-bottom:0.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ml-sm-0{margin-left:0 !important}.ml-sm-1{margin-left:0.25rem !important}.ml-sm-2{margin-left:0.5rem !important}.ml-sm-3{margin-left:1rem !important}.ml-sm-4{margin-left:1.5rem !important}.ml-sm-5{margin-left:3rem !important}.ml-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:0.25rem !important}.p-sm-2{padding:0.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-sm-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-sm-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:0.25rem !important}.pt-sm-2{padding-top:0.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pr-sm-0{padding-right:0 !important}.pr-sm-1{padding-right:0.25rem !important}.pr-sm-2{padding-right:0.5rem !important}.pr-sm-3{padding-right:1rem !important}.pr-sm-4{padding-right:1.5rem !important}.pr-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:0.25rem !important}.pb-sm-2{padding-bottom:0.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.pl-sm-0{padding-left:0 !important}.pl-sm-1{padding-left:0.25rem !important}.pl-sm-2{padding-left:0.5rem !important}.pl-sm-3{padding-left:1rem !important}.pl-sm-4{padding-left:1.5rem !important}.pl-sm-5{padding-left:3rem !important}.text-sm-left,.sm-text-left{text-align:left !important}.text-sm-right,.sm-text-right{text-align:right !important}.text-sm-center,.sm-text-right{text-align:center !important}}@media (min-width:992px){.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:flex !important}.d-md-inline-flex{display:inline-flex !important}.col-md{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:0.25rem !important}.m-md-2{margin:0.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-md-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-md-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:0.25rem !important}.mt-md-2{margin-top:0.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.mr-md-0{margin-right:0 !important}.mr-md-1{margin-right:0.25rem !important}.mr-md-2{margin-right:0.5rem !important}.mr-md-3{margin-right:1rem !important}.mr-md-4{margin-right:1.5rem !important}.mr-md-5{margin-right:3rem !important}.mr-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:0.25rem !important}.mb-md-2{margin-bottom:0.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ml-md-0{margin-left:0 !important}.ml-md-1{margin-left:0.25rem !important}.ml-md-2{margin-left:0.5rem !important}.ml-md-3{margin-left:1rem !important}.ml-md-4{margin-left:1.5rem !important}.ml-md-5{margin-left:3rem !important}.ml-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:0.25rem !important}.p-md-2{padding:0.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-md-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-md-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:0.25rem !important}.pt-md-2{padding-top:0.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pr-md-0{padding-right:0 !important}.pr-md-1{padding-right:0.25rem !important}.pr-md-2{padding-right:0.5rem !important}.pr-md-3{padding-right:1rem !important}.pr-md-4{padding-right:1.5rem !important}.pr-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:0.25rem !important}.pb-md-2{padding-bottom:0.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.pl-md-0{padding-left:0 !important}.pl-md-1{padding-left:0.25rem !important}.pl-md-2{padding-left:0.5rem !important}.pl-md-3{padding-left:1rem !important}.pl-md-4{padding-left:1.5rem !important}.pl-md-5{padding-left:3rem !important}.text-md-left,.md-text-left{text-align:left !important}.text-md-right,.md-text-right{text-align:right !important}.text-md-center,.md-text-right{text-align:center !important}}@media (min-width:1500px){.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:flex !important}.d-lg-inline-flex{display:inline-flex !important}.col-lg{flex:1 0 0;padding-right:15px;padding-left:15px}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-eq{flex-basis:0 !important;flex-grow:1 !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:0.25rem !important}.m-lg-2{margin:0.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-lg-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-lg-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:0.25rem !important}.mt-lg-2{margin-top:0.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.mr-lg-0{margin-right:0 !important}.mr-lg-1{margin-right:0.25rem !important}.mr-lg-2{margin-right:0.5rem !important}.mr-lg-3{margin-right:1rem !important}.mr-lg-4{margin-right:1.5rem !important}.mr-lg-5{margin-right:3rem !important}.mr-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:0.25rem !important}.mb-lg-2{margin-bottom:0.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ml-lg-0{margin-left:0 !important}.ml-lg-1{margin-left:0.25rem !important}.ml-lg-2{margin-left:0.5rem !important}.ml-lg-3{margin-left:1rem !important}.ml-lg-4{margin-left:1.5rem !important}.ml-lg-5{margin-left:3rem !important}.ml-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:0.25rem !important}.p-lg-2{padding:0.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-lg-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-lg-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:0.25rem !important}.pt-lg-2{padding-top:0.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pr-lg-0{padding-right:0 !important}.pr-lg-1{padding-right:0.25rem !important}.pr-lg-2{padding-right:0.5rem !important}.pr-lg-3{padding-right:1rem !important}.pr-lg-4{padding-right:1.5rem !important}.pr-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:0.25rem !important}.pb-lg-2{padding-bottom:0.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.pl-lg-0{padding-left:0 !important}.pl-lg-1{padding-left:0.25rem !important}.pl-lg-2{padding-left:0.5rem !important}.pl-lg-3{padding-left:1rem !important}.pl-lg-4{padding-left:1.5rem !important}.pl-lg-5{padding-left:3rem !important}.text-lg-left,.lg-text-left{text-align:left !important}.text-lg-right,.lg-text-right{text-align:right !important}.text-lg-center,.lg-text-right{text-align:center !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:flex !important}.d-print-inline-flex{display:inline-flex !important}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.abs-scroll-list{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}iframe{border:0 solid #ccc}.form-row{margin-right:-5px;margin-left:-5px}.form-row:before,.form-row:after{display:table;content:" "}.form-row:after{clear:both}.form-row:before,.form-row:after{display:table;content:" "}.form-row:after{clear:both}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-control-group .form-row{margin-right:0;margin-left:0}.tip{padding:0 6px 2px;font-size:17px;color:#fff;background-color:#71a5bf;border-radius:4px}.tip.tip-liquid::after,.tip.tip-lava::after{content:"{{ Lava }}"}.tip.tip-html::after{content:"< HTML />"}.navigation-tip{padding:2px 4px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:90%;color:#198fc8;white-space:nowrap;background-color:#d9edf7;border-radius:5px}.alert-warning .navigation-tip{color:#fcf8e3;background-color:#ffc30f}a.help{margin-left:6px;color:#86b8cc;outline:0}a.warning{margin-left:6px;color:#dba400;outline:0}.help-message{font-weight:400}.photo img{width:100%}.photo>a.fluidbox-opened:hover+a{display:none}.well>h1,.well>h2,.well>h3,.well>h4{margin-top:0}.rock-fullname{display:none !important;visibility:hidden !important}.dropdown-menu{box-shadow:0 4px 8px 0 rgba(0,0,0,0.1);max-height:85vh;overflow-y:auto}.dropdown-menu.datepicker-dropdown{max-height:none;overflow-y:visible;font-size:19px}.dropdown-right .dropdown-menu{right:0;left:auto}.dropdown-menu .btn-link{width:100%;padding:3px 20px;line-height:1.333333;color:#303030;text-align:left;border:0}.dropdown-menu .btn-link:hover,.dropdown-menu .btn-link:focus{color:#232323;text-decoration:none;background-color:#f5f5f5}.dropdown-menu .dropdown-item-danger{color:#d04441}.dropdown-menu .dropdown-item-danger:hover{color:#fff;background-color:#d04441}.btn>.btn-icon{position:relative;top:-1px;width:1em;height:1em;margin-left:0.5em;vertical-align:middle}.alert-default{color:#1c1c1c;background-color:#eee;border-color:#d4d4d4}.alert-default hr{border-top-color:#c7c7c7}.alert-default .alert-link{color:#020202}.alert-default hr{border-top-color:#c7c7c7}.alert-default .alert-link{color:#020202}.alert-validation{color:#d04441;background-color:#fcf8e3;border-color:#f7ecb5;font-weight:700}.alert-validation hr{border-top-color:#f5e79e}.alert-validation .alert-link{color:#b22f2c}.alert-validation hr{border-top-color:#f5e79e}.alert-validation .alert-link{color:#b22f2c}.alert-validation ul,.alert-validation span{font-weight:400;color:#484848}.alert-validation ul{padding:5px 25px 0;line-height:1.5}th[align="center"]{text-align:center}th[align="right"]{text-align:right}.form-right{margin-bottom:12px;text-align:right}.form-right:before,.form-right:after{display:table;content:" "}.form-right:after{clear:both}.form-right:before,.form-right:after{display:table;content:" "}.form-right:after{clear:both}.form-right .control-label{display:block}.form-right .input-group{float:right}.btn-tabled a:hover{text-decoration:underline}.label-hidden>.control-label{display:none}.control-label-offset{margin-top:30px}.control-label-offset.checkbox{margin-top:35px}.badge-danger{color:#fff !important;background-color:#d04441 !important}.badge-warning{color:#fff !important;background-color:#dba400 !important}.badge-success{color:#fff !important;background-color:#6bac43 !important}.badge-info{color:#fff !important;background-color:#198fc8 !important}.badge-critical{color:#fff !important;background-color:#ee7624 !important}.badge-legend .badge{height:25px;margin-right:4px;cursor:pointer}.popover-content{overflow:hidden}.popover-content header{padding:8px 14px;margin:-9px -14px 8px;font-size:19px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #eaeaea;border-radius:5px 5px 0 0}.popover-content header:before,.popover-content header:after{display:table;content:" "}.popover-content header:after{clear:both}.popover-content header:before,.popover-content header:after{display:table;content:" "}.popover-content header:after{clear:both}.popover-content header img{float:left;width:32px;margin-right:6px}.popover-content header h3{float:left;margin:0 0 0 6px;font-size:18px;font-weight:400}.popover-content header h3 small{display:block}.popover-content .body div{margin-bottom:2px}.popover-content .body div:last-child{margin-bottom:0}.list-group-item:before,.list-group-item:after{display:table;content:" "}.list-group-item:after{clear:both}.list-group-item:before,.list-group-item:after{display:table;content:" "}.list-group-item:after{clear:both}.list-group-item .toggle-container{display:inline-block}.list-group-item .content{display:block;float:left}.panel-headerimage{margin:-15px -15px 15px -15px}.panel .panel-heading .panel-title small{opacity:0.5}.panel .panel-heading .panel-toggle{margin-top:-2px;margin-bottom:-2px}.panel .panel-heading .panel-options{float:right;margin:-10px -15px -10px 10px}.panel .panel-heading .panel-options button{padding:9px 12px 10px;border:0;border-radius:0 5px 0 0}.panel .panel-heading .checkbox{margin:0 !important}.panel .panel-heading .panel-labels{float:right;margin-top:-5.9px;margin-bottom:-5.9px}.panel .panel-heading .panel-labels .panel-text{float:left;margin-top:5px;font-size:17px}.panel .panel-heading .panel-actions{margin-top:4px}.panel .panel-heading .form-group{margin-bottom:0}.panel .panel-footer{color:#1c1c1c;background-color:#f5f5f5}.panel .panel-settings{padding:15px;margin:-15px;border-bottom:1px solid #7eb0db}.panel .panel-settings-group{display:flex;flex-wrap:wrap;margin:-15px}.panel .panel-settings-group>.form-group{flex:1 1 100%;border-bottom:1px solid #ccc}.panel .panel-settings-group>.form-group:first-child{border-left:0}@media (min-width:668px){.panel .panel-settings-group>.form-group{flex:1 1 auto;border-left:1px solid #ccc}}.panel .panel-settings-group .control-label{position:absolute;z-index:30;padding:6px 12px;font-size:12px;font-weight:400;color:#aaa;pointer-events:none}.panel .panel-settings-group .btn,.panel .panel-settings-group .btn-group,.panel .panel-settings-group .dropdown-menu{width:100%}.panel .panel-settings-group .btn{display:flex;justify-content:space-between;padding-top:26px;text-align:left;background:transparent;border:0;border-radius:0 !important}.panel-toolbar{padding:6px 16px;font-size:17px;border-bottom:1px solid #dbdbdb;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}@media (min-width:668px){.panel-toolbar{flex-wrap:nowrap}}.panel-toolbar .btn-tool,.panel-toolbar .picker .picker-label{padding:1px 5px;color:#6f7782;font-size:17px;font-weight:600;line-height:1.5;background:transparent;border:1px solid transparent}.panel-toolbar .btn-tool:focus,.panel-toolbar .picker .picker-label:focus,.panel-toolbar .btn-tool:hover,.panel-toolbar .picker .picker-label:hover,.panel-toolbar .btn-tool:active,.panel-toolbar .picker .picker-label:active,.panel-toolbar .btn-tool.active,.panel-toolbar .picker .picker-label.active{background:#e9ecee}.panel-toolbar .picker-select-none{margin:1px 0 0 2px}.panel-toolbar .nav-pills{margin:6px 8px}.panel-toolbar .nav-pills>li{margin-top:6px;margin-bottom:6px}.panel-toolbar .slidingdaterange-select,.panel-toolbar .slidingdaterange-number,.panel-toolbar .slidingdaterange-daterange .input-group{margin-bottom:0}.panel-toolbar.panel-toolbar-right{justify-content:flex-end;gap:4px 30px}.panel-toolbar-border{border-bottom:1px solid #dbdbdb}.panel-toolbar-border .btn{box-shadow:none;border:0;background:transparent}.panel-toolbar-border .btn i{font-size:75%}.panel-toolbar-shadow{box-shadow:0 1px 3px 0 rgba(21,27,38,0.15);z-index:10}.no-border{border-color:transparent}.panel-widget{border-color:#cde1f1}.panel-widget>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-widget>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-widget>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-widget>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-widget>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-widget>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-widget>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-widget>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-widget.collapsed{overflow:hidden}.panel-widget .panel-heading{border:0}.panel-widget .panel-heading .checkbox{display:inline;float:left;margin-top:0 !important;margin-bottom:0 !important}.panel-widget .panel-heading .actions a{margin-left:4px}.panel-widget .panel-heading small{color:#a6c8e6}.panel-widget>.panel-body{border-top:1px solid #7eb0db}.panel-persondetails{border-color:#cde1f1;background-color:#fff}.panel-persondetails>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-persondetails>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-persondetails>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-persondetails>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-persondetails>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-persondetails>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-persondetails>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-persondetails>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-persondetails .panel-title i{display:none}.panel-persondetails .panel-heading{display:flex;align-items:center;flex-wrap:wrap}.panel-persondetails .panel-heading .actions{margin:-4px 0 -4px auto}.panel-persondetails .panel-heading .actions a{margin-left:4px}.panel-persondetails .panel-body{padding:13px 18px 15px}.panel-persondetails .panel-body .form-group.static-control{line-height:1.25;margin-bottom:16px}.panel-persondetails .panel-body .form-group.static-control .control-wrapper .form-control-static{margin:0;padding:0;min-height:0;line-height:1.5;overflow-wrap:break-word}.panel-persondetails .panel-body .form-group.static-control .control-wrapper .form-control-static>a{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-persondetails .panel-body .form-group.static-control:last-child{margin-bottom:0}.panel-persondetails .panel-body .form-group.static-control label{margin-bottom:3px}.panel-persondetails .panel-body h4{padding:8px 18px;margin:-13px -18px 12px;font-size:17px;font-weight:600;color:#737475;background:#eee}.panel-persondetails .panel-body .form-group+h4{margin-top:24px}.panel-persondetails .panel-body .form-group.static-control.matrix-attribute label{width:100%;text-align:left}.panel-persondetails .panel-body .form-group.static-control.matrix-attribute .form-control-static{width:100%}.panel-persondetails .panel-body i.fa.fa-bars{cursor:pointer}.panel-persondetails .attribute-values+.attribute-values{margin-top:24px}.panel-block{border-top-color:#b9d4ec;border-color:#cde1f1}.panel-block>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-block>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-block>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-block>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-block>.panel-heading{color:#5697d0;background-color:#f5f9fc;border-color:#7eb0db}.panel-block>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-block>.panel-heading .badge{color:#f5f9fc;background-color:#5697d0}.panel-block>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-block>.panel-heading:before,.panel-block>.panel-heading:after{display:table;content:" "}.panel-block>.panel-heading:after{clear:both}.panel-block>.panel-heading:before,.panel-block>.panel-heading:after{display:table;content:" "}.panel-block>.panel-heading:after{clear:both}.panel-block>.panel-heading .panel-title{float:left}.panel-block>.panel-heading .panel-title i{color:#6a6a6a;display:none}.panel-block .list-group-item{background-color:transparent}.panel-block .panel-body .panel-fullwidth,.panel-block .panel-body .grid.grid-panel{margin:0 -15px}.panel-block .panel-body .panel-fullwidth:first-child,.panel-block .panel-body .grid.grid-panel:first-child{margin-top:-15px}.panel-block .panel-body .panel-fullwidth:last-child,.panel-block .panel-body .grid.grid-panel:last-child{margin-bottom:-15px}.panel-block .panel-body .panel-fullwidth .table-bordered,.panel-block .panel-body .grid.grid-panel .table-bordered{border-width:1px 0 0 0}.panel-block .panel-body .panel-fullwidth .table-bordered>tfoot>tr>td,.panel-block .panel-body .grid.grid-panel .table-bordered>tfoot>tr>td{border:0}.panel-block .panel-inline-heading{background:#f5f9fc;border-bottom:1px solid #cde1f1}.panel-block .panel-sidebar{border-right:1px solid #cde1f1}.panel-waterfall{border-color:#cde1f1;box-shadow:none !important;overflow:hidden}.panel-waterfall>.panel-heading{color:#5697d0;background-color:transparent;border-color:transparent}.panel-waterfall>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-waterfall>.panel-heading .badge{color:transparent;background-color:#5697d0}.panel-waterfall>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-waterfall>.panel-heading{color:#5697d0;background-color:transparent;border-color:transparent}.panel-waterfall>.panel-heading+.panel-collapse>.panel-body{border-top-color:#cde1f1}.panel-waterfall>.panel-heading .badge{color:transparent;background-color:#5697d0}.panel-waterfall>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#cde1f1}.panel-waterfall .panel-heading{padding-bottom:8px}.panel-waterfall .panel-heading+.panel-body{border-top:1px solid #cde1f1}.panel-waterfall .panel-body{padding:0 15px}.panel-waterfall .panel-body>.row{display:flex;flex-wrap:wrap}.panel-waterfall .panel-body>.row>[class*="col-"]{padding-top:15px;padding-bottom:15px}.panel-waterfall .panel-body>.row>[class*="col-"]:not(:last-child),.panel-waterfall .panel-body>.row>[class*="col-"].show-divider{border-bottom:1px solid #cde1f1}@media (min-width:992px){.panel-waterfall .panel-body>.row>[class*="col-"]:not(:last-child),.panel-waterfall .panel-body>.row>[class*="col-"].show-divider{border-bottom-width:0;border-right:1px solid #cde1f1}}.panel-waterfall .panel-footer{padding:0}.panel-body-columns{padding:0;margin:-15px}.panel-body-columns>[class*="col-"]{padding:15px}.panel-body-columns .sidebar{background-color:#f5f5f5;border-bottom:1px solid #cde1f1}.panel-body-columns .sidebar:last-child{border-top:1px solid #cde1f1}@media (min-width:992px){.panel-body-columns .sidebar{border-bottom:0;border-right:1px solid #cde1f1}.panel-body-columns .sidebar:last-child{border-top:0;border-left:1px solid #cde1f1}}.panel-analytics .panel-body{padding:0 calc(var(--gutter-x) * 0.5)}.panel-analytics .panel-body .grid.grid-panel{margin-bottom:0}.panel-analytics .analytics-details>.grid-filter{padding:15px;margin:-15px -15px 15px -15px}.panel-analytics .filter-options,.panel-analytics .analysis-types{padding-top:15px;padding-bottom:15px;background-color:#f5f5f5}.panel-analytics .filter-options{border-right:1px solid #cde1f1;border-bottom-left-radius:5px}.panel-analytics .analysis-types{margin-bottom:calc(var(--gutter-x) * 0.5);border-bottom:1px solid #cde1f1}.panel-dashboard{height:220px;margin:24px 0 0}.panel-drawer{width:100%;background-color:#f5f5f5}.drawer-content{padding:15px}.panel-drawer.open>.drawer-content{display:block}.drawer-pull{padding:6px 8px;color:#5697d0;cursor:pointer;border-bottom:1px solid #cde1f1}.drawer-pull:before,.drawer-pull:after{display:table;content:" "}.drawer-pull:after{clear:both}.drawer-pull:before,.drawer-pull:after{display:table;content:" "}.drawer-pull:after{clear:both}.drawer-pull i{float:right}.panel-sub-header{display:flex;min-height:38px;align-items:center;padding:4px 24px;border-bottom:1px solid #cde1f1;background-color:#f5f5f5}.panel-badges{--badge-size:24px;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:end;align-items:center;justify-content:flex-end;height:38px;padding:0 24px;border-bottom:1px solid #cde1f1;background-color:#f5f5f5}.panel-badges:empty{display:none}.panel-badges .badge{background-color:inherit}.badge .fa-square::before,.badge .fa-circle::before{display:block;width:1em;height:1em;content:" ";background:currentColor}.badge .fa-circle::before{border-radius:50%}.paneleditor-label{float:left}.paneleditor-input{float:left;margin-top:-6px;margin-right:4px;margin-left:4px}.btn.aspNetDisabled{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}.btn-action{color:#fff;background-color:#aaa;border-color:#9d9d9d}.btn-action:focus,.btn-action.focus{color:#fff;background-color:#909090;border-color:#5d5d5d}.btn-action:hover{color:#fff;background-color:#909090;border-color:#7e7e7e}.btn-action:active,.btn-action.active,.open>.dropdown-toggle.btn-action{color:#fff;background-color:#909090;background-image:none;border-color:#7e7e7e}.btn-action:active:hover,.btn-action.active:hover,.open>.dropdown-toggle.btn-action:hover,.btn-action:active:focus,.btn-action.active:focus,.open>.dropdown-toggle.btn-action:focus,.btn-action:active.focus,.btn-action.active.focus,.open>.dropdown-toggle.btn-action.focus{color:#fff;background-color:#7f7f7f;border-color:#5d5d5d}.btn-action.disabled:hover,.btn-action[disabled]:hover,fieldset[disabled] .btn-action:hover,.btn-action.disabled:focus,.btn-action[disabled]:focus,fieldset[disabled] .btn-action:focus,.btn-action.disabled.focus,.btn-action[disabled].focus,fieldset[disabled] .btn-action.focus{background-color:#aaa;border-color:#9d9d9d}.btn-action .badge{color:#aaa;background-color:#fff}.btn-action:focus,.btn-action.focus{color:#fff;background-color:#909090;border-color:#5d5d5d}.btn-action:hover{color:#fff;background-color:#909090;border-color:#7e7e7e}.btn-action:active,.btn-action.active,.open>.dropdown-toggle.btn-action{color:#fff;background-color:#909090;background-image:none;border-color:#7e7e7e}.btn-action:active:hover,.btn-action.active:hover,.open>.dropdown-toggle.btn-action:hover,.btn-action:active:focus,.btn-action.active:focus,.open>.dropdown-toggle.btn-action:focus,.btn-action:active.focus,.btn-action.active.focus,.open>.dropdown-toggle.btn-action.focus{color:#fff;background-color:#7f7f7f;border-color:#5d5d5d}.btn-action.disabled:hover,.btn-action[disabled]:hover,fieldset[disabled] .btn-action:hover,.btn-action.disabled:focus,.btn-action[disabled]:focus,fieldset[disabled] .btn-action:focus,.btn-action.disabled.focus,.btn-action[disabled].focus,fieldset[disabled] .btn-action.focus{background-color:#aaa;border-color:#9d9d9d}.btn-action .badge{color:#aaa;background-color:#fff}.btn-action:focus,.btn-action.focus{background-color:#aaa;border-color:#9d9d9d}.btn-security{color:#6bac43;background-color:#fff;border-color:#fff}.btn-security:focus,.btn-security.focus{color:#6bac43;background-color:#e6e6e6;border-color:#bfbfbf}.btn-security:hover{color:#6bac43;background-color:#e6e6e6;border-color:#e0e0e0}.btn-security:active,.btn-security.active,.open>.dropdown-toggle.btn-security{color:#6bac43;background-color:#e6e6e6;background-image:none;border-color:#e0e0e0}.btn-security:active:hover,.btn-security.active:hover,.open>.dropdown-toggle.btn-security:hover,.btn-security:active:focus,.btn-security.active:focus,.open>.dropdown-toggle.btn-security:focus,.btn-security:active.focus,.btn-security.active.focus,.open>.dropdown-toggle.btn-security.focus{color:#6bac43;background-color:#d4d4d4;border-color:#bfbfbf}.btn-security.disabled:hover,.btn-security[disabled]:hover,fieldset[disabled] .btn-security:hover,.btn-security.disabled:focus,.btn-security[disabled]:focus,fieldset[disabled] .btn-security:focus,.btn-security.disabled.focus,.btn-security[disabled].focus,fieldset[disabled] .btn-security.focus{background-color:#fff;border-color:#fff}.btn-security .badge{color:#fff;background-color:#6bac43}.btn-security:focus,.btn-security.focus{color:#6bac43;background-color:#e6e6e6;border-color:#bfbfbf}.btn-security:hover{color:#6bac43;background-color:#e6e6e6;border-color:#e0e0e0}.btn-security:active,.btn-security.active,.open>.dropdown-toggle.btn-security{color:#6bac43;background-color:#e6e6e6;background-image:none;border-color:#e0e0e0}.btn-security:active:hover,.btn-security.active:hover,.open>.dropdown-toggle.btn-security:hover,.btn-security:active:focus,.btn-security.active:focus,.open>.dropdown-toggle.btn-security:focus,.btn-security:active.focus,.btn-security.active.focus,.open>.dropdown-toggle.btn-security.focus{color:#6bac43;background-color:#d4d4d4;border-color:#bfbfbf}.btn-security.disabled:hover,.btn-security[disabled]:hover,fieldset[disabled] .btn-security:hover,.btn-security.disabled:focus,.btn-security[disabled]:focus,fieldset[disabled] .btn-security:focus,.btn-security.disabled.focus,.btn-security[disabled].focus,fieldset[disabled] .btn-security.focus{background-color:#fff;border-color:#fff}.btn-security .badge{color:#fff;background-color:#6bac43}.btn-security:focus,.btn-security.focus{background-color:#fff;border-color:#fff}.btn-authentication{width:100%;margin-bottom:8px;color:#6bac43;background-color:#fff;border-color:#fff}.btn-authentication.facebook,.btn-authentication.google,.btn-authentication.twitter{background-color:var(--btn-bg,#fff);border-color:var(--btn-bg,#fff)}.btn-authentication.facebook::before,.btn-authentication.google::before,.btn-authentication.twitter::before{margin-right:12px;font-family:"FontAwesome Brands";font-weight:400;content:var(--social-icon);flex:0 0 1.25em}.btn-authentication.facebook{color:#fff;--btn-bg:#3b5998;--btn-hover-bg:#2d4373;--social-icon:"\f39e"}.btn-authentication.google{color:#6bac43}.btn-authentication.google:before{background-image:url("/Assets/Icons/googlesigninicon.svg");background-size:contain;background-repeat:no-repeat;background-position:center;width:1em;height:1em;content:" "}.btn-authentication.twitter{color:#fff;--btn-bg:#1da1f2;--btn-hover-bg:#0c85d0;--social-icon:"\f099"}.btn-authentication:hover{background-color:var(--btn-hover-bg,#e6e6e6)}.btn-authentication-v2{display:inline-flex;align-items:center;justify-content:space-between;white-space:normal}.btn-authentication-v2:after{content:" ";flex:0 1 1.25em}.btn-pill{border-radius:999px}.btn-overflow{color:#aaa}.btn-overflow:hover,.btn-overflow:focus{color:#1c1c1c}.btn-minimal{padding:0;color:#686868;text-decoration:none}.alert-success .btn-success{color:#fff}.alert-success a{color:#6bac43;border-bottom:1px dotted #6bac43}.alert-info .btn-info{color:#fff}.alert-info a:not([class]){color:#198fc8;border-bottom:1px dotted #198fc8}.alert-warning .btn-warning{color:#fff}.alert-warning a{color:#dba400;border-bottom:1px dotted #dba400}.alert-danger .btn-danger{color:#fff}.alert-danger a{color:#d04441;border-bottom:1px dotted #d04441}.alert .help{border-bottom:0}.system-error .close{color:inherit}.carousel-control .fa-chevron-left,.carousel-control .fa-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .fa-chevron-left{left:40px}.carousel-control .fa-chevron-right{right:40px}.form-no-margin{margin:0}.list-padded{margin-top:12px}.list-padded li{margin-top:12px}.list-padded li:first-child{margin-top:0}h1.condensed,h2.condensed,h3.condensed,h4.condensed,h5.condensed,h6.condensed{margin-top:0;margin-bottom:0}div.aspNetDisabled{opacity:0.5}.icon-fw{width:1.285714286em;text-align:center}.btn-outline-default{color:#fff;background-color:transparent;border-color:#fff}.btn-outline-default:hover{color:#6bac43;background-color:#fff;border-color:#fff}.btn-outline-default:focus,.btn-outline-default.focus{box-shadow:0 0 0 0.2rem rgba(255,255,255,0.5)}.btn-outline-default.disabled{opacity:0.5}.btn-outline-primary{color:#6bac43;background-color:transparent;border-color:#6bac43}.btn-outline-primary:hover{color:#fff;background-color:#6bac43;border-color:#6bac43}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 0.2rem rgba(107,172,67,0.5)}.btn-outline-primary.disabled{opacity:0.5}.btn-outline-success{color:#6bac43;background-color:transparent;border-color:#6bac43}.btn-outline-success:hover{color:#fff;background-color:#6bac43;border-color:#6bac43}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 0.2rem rgba(107,172,67,0.5)}.btn-outline-success.disabled{opacity:0.5}.btn-outline-info{color:#198fc8;background-color:transparent;border-color:#198fc8}.btn-outline-info:hover{color:#fff;background-color:#198fc8;border-color:#198fc8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 0.2rem rgba(25,143,200,0.5)}.btn-outline-info.disabled{opacity:0.5}.btn-outline-warning{color:#dba400;background-color:transparent;border-color:#dba400}.btn-outline-warning:hover{color:#fff;background-color:#dba400;border-color:#dba400}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 0.2rem rgba(219,164,0,0.5)}.btn-outline-warning.disabled{opacity:0.5}.grid-columncommand .btn-danger{color:#6bac43;background-color:#fff;border-color:#fff}.grid-columncommand .btn-danger:focus,.grid-columncommand .btn-danger.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.grid-columncommand .btn-danger:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.grid-columncommand .btn-danger:active,.grid-columncommand .btn-danger.active,.open>.dropdown-toggle.grid-columncommand .btn-danger{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.grid-columncommand .btn-danger:active:hover,.grid-columncommand .btn-danger.active:hover,.open>.dropdown-toggle.grid-columncommand .btn-danger:hover,.grid-columncommand .btn-danger:active:focus,.grid-columncommand .btn-danger.active:focus,.open>.dropdown-toggle.grid-columncommand .btn-danger:focus,.grid-columncommand .btn-danger:active.focus,.grid-columncommand .btn-danger.active.focus,.open>.dropdown-toggle.grid-columncommand .btn-danger.focus{color:#fff;background-color:#952725;border-color:#751f1d}.grid-columncommand .btn-danger.disabled:hover,.grid-columncommand .btn-danger[disabled]:hover,fieldset[disabled] .grid-columncommand .btn-danger:hover,.grid-columncommand .btn-danger.disabled:focus,.grid-columncommand .btn-danger[disabled]:focus,fieldset[disabled] .grid-columncommand .btn-danger:focus,.grid-columncommand .btn-danger.disabled.focus,.grid-columncommand .btn-danger[disabled].focus,fieldset[disabled] .grid-columncommand .btn-danger.focus{background-color:#fff;border-color:#fff}.grid-columncommand .btn-danger .badge{color:#fff;background-color:#6bac43}.btn-danger-solid{color:#fff;background-color:#d04441;border-color:#d04441}.btn-danger-solid:focus,.btn-danger-solid.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.btn-danger-solid:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.btn-danger-solid:active,.btn-danger-solid.active,.open>.dropdown-toggle.btn-danger-solid{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.btn-danger-solid:active:hover,.btn-danger-solid.active:hover,.open>.dropdown-toggle.btn-danger-solid:hover,.btn-danger-solid:active:focus,.btn-danger-solid.active:focus,.open>.dropdown-toggle.btn-danger-solid:focus,.btn-danger-solid:active.focus,.btn-danger-solid.active.focus,.open>.dropdown-toggle.btn-danger-solid.focus{color:#fff;background-color:#952725;border-color:#751f1d}.btn-danger-solid.disabled:hover,.btn-danger-solid[disabled]:hover,fieldset[disabled] .btn-danger-solid:hover,.btn-danger-solid.disabled:focus,.btn-danger-solid[disabled]:focus,fieldset[disabled] .btn-danger-solid:focus,.btn-danger-solid.disabled.focus,.btn-danger-solid[disabled].focus,fieldset[disabled] .btn-danger-solid.focus{background-color:#d04441;border-color:#d04441}.btn-danger-solid .badge{color:#d04441;background-color:#fff}.btn-danger-solid:focus,.btn-danger-solid.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.btn-danger-solid:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.btn-danger-solid:active,.btn-danger-solid.active,.open>.dropdown-toggle.btn-danger-solid{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.btn-danger-solid:active:hover,.btn-danger-solid.active:hover,.open>.dropdown-toggle.btn-danger-solid:hover,.btn-danger-solid:active:focus,.btn-danger-solid.active:focus,.open>.dropdown-toggle.btn-danger-solid:focus,.btn-danger-solid:active.focus,.btn-danger-solid.active.focus,.open>.dropdown-toggle.btn-danger-solid.focus{color:#fff;background-color:#952725;border-color:#751f1d}.btn-danger-solid.disabled:hover,.btn-danger-solid[disabled]:hover,fieldset[disabled] .btn-danger-solid:hover,.btn-danger-solid.disabled:focus,.btn-danger-solid[disabled]:focus,fieldset[disabled] .btn-danger-solid:focus,.btn-danger-solid.disabled.focus,.btn-danger-solid[disabled].focus,fieldset[disabled] .btn-danger-solid.focus{background-color:#d04441;border-color:#d04441}.btn-danger-solid .badge{color:#d04441;background-color:#fff}.btn-danger-solid:focus,.btn-danger-solid.focus{background-color:#d04441;border-color:#d04441}.badge-bar{display:flex;align-items:center;--badge-size:36px}.badge-bar .badge{background-color:inherit}.rock-popover{display:flex;z-index:1050;flex-wrap:wrap;width:500px;max-width:100%;font-size:14px;border-radius:4px;color:#1c1c1c}@media (min-width:480px){.rock-popover{flex-wrap:nowrap;max-height:383px}}.rock-popover .popover-title{display:flex;align-items:center;min-height:40px;padding-right:6px}.rock-popover .dropdown-menu a{font-size:14px;line-height:24px}.rock-popover>.popover-panel+.popover-panel{border-left:1px solid #cde1f1}.rock-popover .popover-panel{display:flex;flex-direction:column;width:100%}@media (min-width:480px){.rock-popover .popover-panel{width:50%}}.rock-popover .popover-panel .popover-content{min-height:100px;overflow:auto}.segment-and{display:flex;align-items:center;text-align:center;max-width:580px;margin:32px auto}.segment-and .text{padding:0 6px;text-transform:uppercase;border:1px solid #cde1f1;border-radius:4px;font-size:14px;background-color:#e4e4e4;font-weight:500;margin:0 10px}.segment-and::before,.segment-and::after{content:"";border:1px solid #cde1f1;flex:1}.fa,.fas{font-family:"Font Awesome\ 5 Pro" !important}.btn{padding:8px 16px;font-size:19px;line-height:1.333333;border-radius:5px;padding:9px 16px 8px}.btn-sm{padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px;padding:6px 10px 5px;padding-top:6px;padding-bottom:4px}.btn-xs{padding:3px 8px;font-size:17px;line-height:1.5;border-radius:3px;padding:4px 8px 3px}.pagination>li>a,.pagination>li>span{padding:10px 15px 8px}.list-group .list-group-item{border-left:0;border-right:0}.list-group .list-group-item:first-child{border-top:0}.list-group .list-group-item:last-child{border-bottom:0}.list-group .list-group-item.active{z-index:0}.list-group.list-group-dark .list-group-item{background-color:#303030;color:#6bac43;border-top:1px solid #1c1c1c}.list-group.list-group-dark .list-group-item:hover,.list-group.list-group-dark .list-group-item:focus,.list-group.list-group-dark .list-group-item.active{color:#fff;border-top:1px solid #1c1c1c}.list-group.shadowed .list-group-item{border-left:0;border-right:0}.list-group.shadowed .list-group-item:first-child{border-top:0}.list-group.shadowed .list-group-item:last-child{border-bottom:0}.list-group.rounded-lg .list-group-item:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.list-group.rounded-lg .list-group-item:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.alert p,.alert ul{margin-bottom:28px}@-webkit-keyframes rotating /* Safari and Chrome */{from{-webkit-transform:rotate(0deg);
+-o-transform:rotate(0deg);
+transform:rotate(0deg)}
+to{-webkit-transform:rotate(360deg);
+-o-transform:rotate(360deg);
+transform:rotate(360deg)}}
+@keyframes rotating{from{-ms-transform:rotate(0deg);
+-moz-transform:rotate(0deg);
+-webkit-transform:rotate(0deg);
+-o-transform:rotate(0deg);
+transform:rotate(0deg)}
+to{-ms-transform:rotate(360deg);
+-moz-transform:rotate(360deg);
+-webkit-transform:rotate(360deg);
+-o-transform:rotate(360deg);
+transform:rotate(360deg)}}
+.rotating{-webkit-animation:rotating 0.5s linear infinite;-moz-animation:rotating 0.5s linear infinite;-ms-animation:rotating 0.5s linear infinite;-o-animation:rotating 0.5s linear infinite;animation:rotating 0.5s linear infinite}.accordion .panel{overflow:hidden}.accordion .panel>.panel-heading{font-weight:500;letter-spacing:0}.accordion .panel>.panel-heading i{transition:all 0.2s ease}.accordion .panel>.panel-heading .flip{transform:rotate(180deg)}.accordion .panel.panel-primary,.accordion .panel.panel-secondary,.accordion .panel.panel-tertiary,.accordion .panel.panel-success,.accordion .panel.panel-info,.accordion .panel.panel-warning,.accordion .panel.panel-danger{border-top:0px}.chart{height:200px;margin-bottom:60px;margin-right:-10px;margin-left:-10px}.chart-col{padding-left:7px !important;padding-right:7px !important}.bar{position:relative;height:200px;border-radius:5px}.bar-fill{position:absolute;bottom:0;width:100%;border-radius:5px}.bar-label{position:absolute;bottom:0;left:50%;right:0;width:40px;margin-left:-20px;margin-bottom:-45px;transform:rotate(-90deg)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#303030}body{background-color:#303030}.split{position:absolute;top:0;bottom:0;width:50%}.split.split-left{left:0}.split.split-right{right:0}@media (max-width:991px){.split{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;display:block;border-bottom:1px solid rgba(0,0,0,0.1)}.split:before{content:"";display:block;padding-top:100%}}@media (max-width:668px){.split:before{padding-top:100%}}#live-bar{position:relative;z-index:10}#navigation-wrapper{position:fixed;top:0;width:100%;z-index:1001;transition:all 0.1s ease-in-out}body.block-highlight #navigation-wrapper{position:absolute}body.modal-open #navigation-wrapper{z-index:1}.nav{font-family:colfax-web,sans-serif;font-weight:700}.nav a{font-size:16px;text-decoration:none}.nav-logo span{position:absolute;top:22px;left:70px;font-size:18.05px;line-height:1.05;font-weight:900;text-transform:uppercase;text-align:left}.nav-primary{position:relative;z-index:1;box-shadow:0 0 6px rgba(0,0,0,0.2);background-color:#fff;transition:all 0.2s ease-in-out}.nav-primary .nav-icon{position:relative;z-index:1;width:35px}.nav-primary li{position:relative;display:inline-block;width:75px}.nav-primary a{position:relative;display:inline-block;width:100%;height:75px;line-height:75px;text-align:center;color:#1c1c1c;outline:none;border-left:1px solid rgba(0,0,0,0.05)}.nav-primary a i{font-size:1.1em}.nav-primary .nav-logo{border-left:0}.nav-primary li:last-child a{border-right:0}.nav-primary li:nth-child(6n) a{border-right:0}.nav-transparent .nav-primary{background-color:transparent;box-shadow:none;background:#000;background:linear-gradient(180deg,rgba(0,0,0,0.6) 0%,transparent 100%)}.nav-transparent .nav-primary a{border-left:transparent;color:#fff}@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3){.nav-primary a{line-height:65px}}@media (min-width:669px){.nav-primary li{width:25%}.nav-primary .nav-logo span{display:block}.nav-primary .nav-icon{width:36px}.nav-primary a{width:75px}.nav-primary a i{position:relative;z-index:2;font-size:1.25em}}.nav-secondary li a:focus{color:#6bac43}.notes .panel-heading{display:none}.notes .note-editor{margin:0;padding:24px;background-color:#fff;border-radius:12px}.notes .note-editor textarea{resize:none;padding:12px;color:#1c1c1c;box-shadow:none}.note-editor .settings{padding:12px}.note-editor .meta-body:focus,.note-editor .meta-body:focus-within,.note-editor .meta-body.focus-within{border-color:transparent;box-shadow:none}.note-editor .meta-body{border-radius:12px;border-color:transparent;overflow:hidden}.notes .panel,.notes .panel-body{background-color:transparent;border-radius:0;box-shadow:none}.note{word-wrap:break-word;border:0px}.note-editor .settings .noteentry-notetype{height:36px;font-size:16px;font-family:colfax-web,sans-serif;margin-right:10px}.note-editor .settings .checkbox{font-size:16px;margin-top:6px !important}.note .note-comments{position:relative;z-index:1;background-color:transparent;border:0}.card{border:0px}.card-count{position:absolute;top:14px;right:14px;display:inline-block;width:33.6px;height:33.6px;line-height:36.4px}.card-cap{position:absolute;top:0;left:0;right:0;height:5px;border-top-left-radius:5px;border-top-right-radius:5px}.card .full-screen{transition:transform 0.5s;outline:1px solid transparent;-webkit-backface-visibility:hidden;transform:translateZ(0);will-change:transform;-webkit-perspective:1000}.card:hover .full-screen{transform:scale(1.05)}.card-gradient{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:#000;background:linear-gradient(180deg,transparent 0%,#000 100%);opacity:0.7}.swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}@media (min-width:668px){.swiper-slide{opacity:0.6;transition:opacity 0.3s ease-in-out}.swiper-slide.swiper-slide-active{opacity:1}}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,0.5)),to(transparent));background-image:-webkit-linear-gradient(right,rgba(0,0,0,0.5),transparent);background-image:-o-linear-gradient(right,rgba(0,0,0,0.5),transparent);background-image:linear-gradient(to left,rgba(0,0,0,0.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,0.5)),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5),transparent);background-image:linear-gradient(to right,rgba(0,0,0,0.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,0.5)),to(transparent));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,0.5),transparent);background-image:-o-linear-gradient(bottom,rgba(0,0,0,0.5),transparent);background-image:linear-gradient(to top,rgba(0,0,0,0.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0.5)),to(transparent));background-image:-webkit-linear-gradient(top,rgba(0,0,0,0.5),transparent);background-image:-o-linear-gradient(top,rgba(0,0,0,0.5),transparent);background-image:linear-gradient(to bottom,rgba(0,0,0,0.5),transparent)}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:47px;height:64px;margin-top:-22px;z-index:10;cursor:pointer;background-size:22px 39px;background-position:center;background-repeat:no-repeat;background-color:#fff;border-radius:5px;box-shadow:0 0 15px rgba(0,0,0,0.5)}.swiper-prev,.swiper-next{position:absolute;top:50%;width:50px;height:50px;margin-top:-50px;z-index:10;cursor:pointer;background-color:#6bac43;border-radius:100px;box-shadow:0 0 15px rgba(0,0,0,0.5);outline:none;-webkit-transition:opacity 2s ease-in-out;transition:opacity 0.3s ease-in-out}.swiper-prev i,.swiper-next i{position:absolute;top:50%;margin-top:-16px;color:#fff}.swiper-prev.swiper-button-disabled,.swiper-next.swiper-button-disabled{opacity:0}.swiper-next{right:20px}.swiper-next i{margin-left:3px}.swiper-prev{left:20px}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-lock{display:none}.swiper-pagination{position:relative;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:auto;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:12px;height:12px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}.bg-black .swiper-pagination-bullet,.bg-gray-darker .swiper-pagination-bullet,.bg-gray-dark .swiper-pagination-bullet,.bg-gray .swiper-pagination-bullet,.bg-primary .swiper-pagination-bullet,.bg-secondary .swiper-pagination-bullet,.bg-gray-tertiary .swiper-pagination-bullet{background:#fff}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#6bac43 !important}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px,-50%,0);transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top,200ms -webkit-transform;transition:200ms top,200ms -webkit-transform;-o-transition:200ms transform,200ms top;transition:200ms transform,200ms top;transition:200ms transform,200ms top,200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left,200ms -webkit-transform;transition:200ms left,200ms -webkit-transform;-o-transition:200ms transform,200ms left;transition:200ms transform,200ms left;transition:200ms transform,200ms left,200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right,200ms -webkit-transform;transition:200ms right,200ms -webkit-transform;-o-transition:200ms transform,200ms right;transition:200ms transform,200ms right;transition:200ms transform,200ms right,200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0,0,0,0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255,255,255,0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0,0,0,0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:'';width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);
+transform:rotate(360deg)}}
+@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);
+transform:rotate(360deg)}}
+.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}.ratio-thin,.ratio-landscape,.ratio-shuare,.ratio-square,.ratio-portrait{position:relative;display:block}.ratio-thin .ratio-item,.ratio-landscape .ratio-item,.ratio-shuare .ratio-item,.ratio-square .ratio-item,.ratio-portrait .ratio-item{position:absolute;right:0;bottom:0;left:0;top:0}.ratio-thin:before,.ratio-landscape:before,.ratio-shuare:before,.ratio-square:before,.ratio-portrait:before{content:"";display:block}.ratio-thin:before{padding-top:35%}.ratio-landscape:before{padding-top:50%}.ratio-shuare:before{padding-top:70%}.ratio-square:before{padding-top:100%}.ratio-portrait:before{padding-top:150%}.form-control.input-width-sm,.input-group.input-width-sm,.form-control-group.input-width-sm input{width:80px}.select-wrapper{position:relative;display:inline-block;cursor:pointer;overflow:hidden}.select-wrapper:after{content:'\f0d7';font-family:"Font Awesome 5 Pro";position:absolute;top:50%;right:10px;margin-top:-11px;font-weight:900;color:#fff;cursor:pointer}.select-wrapper select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#6bac43;border:0;padding:6px 10px 5px;padding-right:30px;font-family:colfax-web,sans-serif;font-weight:500;color:#fff;outline:none;cursor:pointer;border-radius:4px}.select-wrapper select::-ms-expand{display:none}.checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.radio label,.checkbox label{margin-left:7px}.checkbox .label-text:before{content:"\f0c8";font-family:"Font Awesome 5 Pro";font-size:24px;font-weight:300;position:absolute;left:0;height:25px;width:25px;color:#6bac43}.checkbox input:checked+.label-text:before{content:"\f14a";font-weight:900;color:#6bac43}.panel{border:0;margin-bottom:14px;border-radius:12px;box-shadow:none}.panel.card{background-color:transparent}@media (min-width:668px){.panel{margin-bottom:28px}}.panel.panel-primary,.panel.panel-secondary,.panel.panel-tertiary,.panel.panel-success,.panel.panel-info,.panel.panel-warning,.panel.panel-danger{border-top:5px solid #eee}.panel.panel-primary,.panel.panel-success{border-color:#6bac43}.panel.panel-secondary{border-color:#1c683e}.panel.panel-tertiary{border-color:#2a4930}.panel.panel-info{border-color:#198fc8}.panel.panel-warning{border-color:#dba400}.panel.panel-danger{border-color:#d04441}.panel>.panel-heading{font-family:colfax-web,sans-serif;font-weight:700;letter-spacing:-0.5px}.panel-default>.panel-heading{border-bottom:1px solid #e4e4e4}.panel .panel-title{margin-top:2px}.panel-body{padding:28px;z-index:0;position:relative}.panel-image{position:relative;display:block;border-top-left-radius:5px;border-top-right-radius:5px}.panel-image img{display:block;max-width:100%}.panel-image .label{margin-bottom:-18px}@media (min-width:668px){.panel-image .label{margin-bottom:-15px}}.row-reverse{direction:rtl}.row-reverse *{direction:ltr}.row{margin-left:-14px;margin-right:-14px}.row .col-xs-1,.row .col-sm-1,.row .col-md-1,.row .col-lg-1,.row .col-xs-2,.row .col-sm-2,.row .col-md-2,.row .col-lg-2,.row .col-xs-3,.row .col-sm-3,.row .col-md-3,.row .col-lg-3,.row .col-xs-4,.row .col-sm-4,.row .col-md-4,.row .col-lg-4,.row .col-xs-5,.row .col-sm-5,.row .col-md-5,.row .col-lg-5,.row .col-xs-6,.row .col-sm-6,.row .col-md-6,.row .col-lg-6,.row .col-xs-7,.row .col-sm-7,.row .col-md-7,.row .col-lg-7,.row .col-xs-8,.row .col-sm-8,.row .col-md-8,.row .col-lg-8,.row .col-xs-9,.row .col-sm-9,.row .col-md-9,.row .col-lg-9,.row .col-xs-10,.row .col-sm-10,.row .col-md-10,.row .col-lg-10,.row .col-xs-11,.row .col-sm-11,.row .col-md-11,.row .col-lg-11,.row .col-xs-12,.row .col-sm-12,.row .col-md-12,.row .col-lg-12{padding-left:14px;padding-right:14px}.form-row{margin-left:-14px;margin-right:-14px}.row-condensed{margin-left:-7px;margin-right:-7px}.row-condensed .col-xs-1,.row-condensed .col-sm-1,.row-condensed .col-md-1,.row-condensed .col-lg-1,.row-condensed .col-xs-2,.row-condensed .col-sm-2,.row-condensed .col-md-2,.row-condensed .col-lg-2,.row-condensed .col-xs-3,.row-condensed .col-sm-3,.row-condensed .col-md-3,.row-condensed .col-lg-3,.row-condensed .col-xs-4,.row-condensed .col-sm-4,.row-condensed .col-md-4,.row-condensed .col-lg-4,.row-condensed .col-xs-5,.row-condensed .col-sm-5,.row-condensed .col-md-5,.row-condensed .col-lg-5,.row-condensed .col-xs-6,.row-condensed .col-sm-6,.row-condensed .col-md-6,.row-condensed .col-lg-6,.row-condensed .col-xs-7,.row-condensed .col-sm-7,.row-condensed .col-md-7,.row-condensed .col-lg-7,.row-condensed .col-xs-8,.row-condensed .col-sm-8,.row-condensed .col-md-8,.row-condensed .col-lg-8,.row-condensed .col-xs-9,.row-condensed .col-sm-9,.row-condensed .col-md-9,.row-condensed .col-lg-9,.row-condensed .col-xs-10,.row-condensed .col-sm-10,.row-condensed .col-md-10,.row-condensed .col-lg-10,.row-condensed .col-xs-11,.row-condensed .col-sm-11,.row-condensed .col-md-11,.row-condensed .col-lg-11,.row-condensed .col-xs-12,.row-condensed .col-sm-12,.row-condensed .col-md-12,.row-condensed .col-lg-12{padding-left:7px;padding-right:7px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{display:inline-block;float:none;vertical-align:top}.dropdown-menu{font-family:colfax-web,sans-serif;overflow-y:auto}.dropdown-menu>li>a{font-size:17.1px;font-weight:500;text-decoration:none;padding-top:8px;padding-bottom:6px}.dropdown-menu>li:last-child>a{border-bottom:none}.floating{text-align:center}.floating:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.floating .floating-item{display:inline-block;vertical-align:middle}.floating.floating-left{text-align:left}.floating.floating-right{text-align:right}.floating.floating-top:before{vertical-align:top}.floating.floating-top .floating-item{vertical-align:top}.floating.floating-bottom:before{vertical-align:bottom}.floating.floating-bottom .floating-item{vertical-align:bottom}.breadcrumb{background-color:transparent;padding:0}.breadcrumb li,.breadcrumb a{font-family:colfax-web,sans-serif;font-size:15px;font-weight:700;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span,.pagination>li:last-child>a,.pagination>li:last-child>span{background-color:#1c1c1c;color:#fff}.pagination>li>a,.pagination>li>span{border-width:3px;margin-left:-3px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{border-color:#1c1c1c}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{border-color:#1c1c1c}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#1c1c1c}.pagination>li:first-child>a:hover,.pagination>li:first-child>span:hover,.pagination>li:last-child>a:hover,.pagination>li:last-child>span:hover,.pagination>li:first-child>a:focus,.pagination>li:first-child>span:focus,.pagination>li:last-child>a:focus,.pagination>li:last-child>span:focus{color:#6bac43}label{font-weight:500}.label{text-decoration:none;letter-spacing:-0.5px}.label.sans-serif,.sans-serif .label{padding:0.5em 0.6em}.label.sans-serif small,.sans-serif .label small{padding:0}.label.text-uppercase{padding:0.3em 0.6em}.label.circular{padding:0.4em 0.7em}.label.rounded{border-radius:8px;padding:0.4em 0.6em 0.3em}.btn{font-family:colfax-web,sans-serif;font-weight:500;text-decoration:none;vertical-align:bottom;border-color:transparent;transition:all 0.2s ease-in-out}.btn:active,.btn.active{box-shadow:none}.btn:hover{border-color:transparent}.btn i{position:relative;top:1px}.btn-link:hover,.btn-link:active,.btn-link:focus{text-decoration:none}.btn-xs{font-size:14px}.btn-share{position:relative;display:inline-block}.btn-share ul{position:absolute;top:28px;left:50%;width:200px;margin-left:-100px}.btn-share li{display:inline-block;width:50px}.btn-disabled{color:#aaa;background-color:#eee;border-color:#eee}.btn-disabled:focus,.btn-disabled.focus{color:#aaa;background-color:#d4d4d4;border-color:#aeaeae}.btn-disabled:hover{color:#aaa;background-color:#d4d4d4;border-color:#cfcfcf}.btn-disabled:active,.btn-disabled.active,.open>.dropdown-toggle.btn-disabled{color:#aaa;background-color:#d4d4d4;background-image:none;border-color:#cfcfcf}.btn-disabled:active:hover,.btn-disabled.active:hover,.open>.dropdown-toggle.btn-disabled:hover,.btn-disabled:active:focus,.btn-disabled.active:focus,.open>.dropdown-toggle.btn-disabled:focus,.btn-disabled:active.focus,.btn-disabled.active.focus,.open>.dropdown-toggle.btn-disabled.focus{color:#aaa;background-color:#c3c3c3;border-color:#aeaeae}.btn-disabled.disabled:hover,.btn-disabled[disabled]:hover,fieldset[disabled] .btn-disabled:hover,.btn-disabled.disabled:focus,.btn-disabled[disabled]:focus,fieldset[disabled] .btn-disabled:focus,.btn-disabled.disabled.focus,.btn-disabled[disabled].focus,fieldset[disabled] .btn-disabled.focus{background-color:#eee;border-color:#eee}.btn-disabled .badge{color:#eee;background-color:#aaa}.btn-disabled:focus,.btn-disabled.focus{color:#aaa;background-color:#d4d4d4;border-color:#aeaeae}.btn-disabled:hover{color:#aaa;background-color:#d4d4d4;border-color:#cfcfcf}.btn-disabled:active,.btn-disabled.active,.open>.dropdown-toggle.btn-disabled{color:#aaa;background-color:#d4d4d4;background-image:none;border-color:#cfcfcf}.btn-disabled:active:hover,.btn-disabled.active:hover,.open>.dropdown-toggle.btn-disabled:hover,.btn-disabled:active:focus,.btn-disabled.active:focus,.open>.dropdown-toggle.btn-disabled:focus,.btn-disabled:active.focus,.btn-disabled.active.focus,.open>.dropdown-toggle.btn-disabled.focus{color:#aaa;background-color:#c3c3c3;border-color:#aeaeae}.btn-disabled.disabled:hover,.btn-disabled[disabled]:hover,fieldset[disabled] .btn-disabled:hover,.btn-disabled.disabled:focus,.btn-disabled[disabled]:focus,fieldset[disabled] .btn-disabled:focus,.btn-disabled.disabled.focus,.btn-disabled[disabled].focus,fieldset[disabled] .btn-disabled.focus{background-color:#eee;border-color:#eee}.btn-disabled .badge{color:#eee;background-color:#aaa}.btn-disabled:focus,.btn-disabled.focus{background-color:#eee;border-color:#eee}.btn-default:hover{background-color:#f2f2f2;border-color:#f2f2f2}.btn-primary:active,.btn-primary:focus{background-color:#6bac43}.btn-secondary{color:#fff;background-color:#1c683e;border-color:#1c683e}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#114026;border-color:#010402}.btn-secondary:hover{color:#fff;background-color:#114026;border-color:#0f3821}.btn-secondary:active,.btn-secondary.active,.open>.dropdown-toggle.btn-secondary{color:#fff;background-color:#114026;background-image:none;border-color:#0f3821}.btn-secondary:active:hover,.btn-secondary.active:hover,.open>.dropdown-toggle.btn-secondary:hover,.btn-secondary:active:focus,.btn-secondary.active:focus,.open>.dropdown-toggle.btn-secondary:focus,.btn-secondary:active.focus,.btn-secondary.active.focus,.open>.dropdown-toggle.btn-secondary.focus{color:#fff;background-color:#0a2415;border-color:#010402}.btn-secondary.disabled:hover,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary:hover,.btn-secondary.disabled:focus,.btn-secondary[disabled]:focus,fieldset[disabled] .btn-secondary:focus,.btn-secondary.disabled.focus,.btn-secondary[disabled].focus,fieldset[disabled] .btn-secondary.focus{background-color:#1c683e;border-color:#1c683e}.btn-secondary .badge{color:#1c683e;background-color:#fff}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#114026;border-color:#010402}.btn-secondary:hover{color:#fff;background-color:#114026;border-color:#0f3821}.btn-secondary:active,.btn-secondary.active,.open>.dropdown-toggle.btn-secondary{color:#fff;background-color:#114026;background-image:none;border-color:#0f3821}.btn-secondary:active:hover,.btn-secondary.active:hover,.open>.dropdown-toggle.btn-secondary:hover,.btn-secondary:active:focus,.btn-secondary.active:focus,.open>.dropdown-toggle.btn-secondary:focus,.btn-secondary:active.focus,.btn-secondary.active.focus,.open>.dropdown-toggle.btn-secondary.focus{color:#fff;background-color:#0a2415;border-color:#010402}.btn-secondary.disabled:hover,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary:hover,.btn-secondary.disabled:focus,.btn-secondary[disabled]:focus,fieldset[disabled] .btn-secondary:focus,.btn-secondary.disabled.focus,.btn-secondary[disabled].focus,fieldset[disabled] .btn-secondary.focus{background-color:#1c683e;border-color:#1c683e}.btn-secondary .badge{color:#1c683e;background-color:#fff}.btn-secondary:focus,.btn-secondary.focus{background-color:#1c683e;border-color:#1c683e}.btn-tertiary{color:#fff;background-color:#2a4930;border-color:#2a4930}.btn-tertiary:focus,.btn-tertiary.focus{color:#fff;background-color:#17291b;border-color:#000}.btn-tertiary:hover{color:#fff;background-color:#17291b;border-color:#142216}.btn-tertiary:active,.btn-tertiary.active,.open>.dropdown-toggle.btn-tertiary{color:#fff;background-color:#17291b;background-image:none;border-color:#142216}.btn-tertiary:active:hover,.btn-tertiary.active:hover,.open>.dropdown-toggle.btn-tertiary:hover,.btn-tertiary:active:focus,.btn-tertiary.active:focus,.open>.dropdown-toggle.btn-tertiary:focus,.btn-tertiary:active.focus,.btn-tertiary.active.focus,.open>.dropdown-toggle.btn-tertiary.focus{color:#fff;background-color:#0a120c;border-color:#000}.btn-tertiary.disabled:hover,.btn-tertiary[disabled]:hover,fieldset[disabled] .btn-tertiary:hover,.btn-tertiary.disabled:focus,.btn-tertiary[disabled]:focus,fieldset[disabled] .btn-tertiary:focus,.btn-tertiary.disabled.focus,.btn-tertiary[disabled].focus,fieldset[disabled] .btn-tertiary.focus{background-color:#2a4930;border-color:#2a4930}.btn-tertiary .badge{color:#2a4930;background-color:#fff}.btn-tertiary:focus,.btn-tertiary.focus{color:#fff;background-color:#17291b;border-color:#000}.btn-tertiary:hover{color:#fff;background-color:#17291b;border-color:#142216}.btn-tertiary:active,.btn-tertiary.active,.open>.dropdown-toggle.btn-tertiary{color:#fff;background-color:#17291b;background-image:none;border-color:#142216}.btn-tertiary:active:hover,.btn-tertiary.active:hover,.open>.dropdown-toggle.btn-tertiary:hover,.btn-tertiary:active:focus,.btn-tertiary.active:focus,.open>.dropdown-toggle.btn-tertiary:focus,.btn-tertiary:active.focus,.btn-tertiary.active.focus,.open>.dropdown-toggle.btn-tertiary.focus{color:#fff;background-color:#0a120c;border-color:#000}.btn-tertiary.disabled:hover,.btn-tertiary[disabled]:hover,fieldset[disabled] .btn-tertiary:hover,.btn-tertiary.disabled:focus,.btn-tertiary[disabled]:focus,fieldset[disabled] .btn-tertiary:focus,.btn-tertiary.disabled.focus,.btn-tertiary[disabled].focus,fieldset[disabled] .btn-tertiary.focus{background-color:#2a4930;border-color:#2a4930}.btn-tertiary .badge{color:#2a4930;background-color:#fff}.btn-tertiary:focus,.btn-tertiary.focus{background-color:#2a4930;border-color:#2a4930}.btn-gray-lighter{color:#1c1c1c;background-color:#eee;border-color:#eee}.btn-gray-lighter:focus,.btn-gray-lighter.focus{color:#1c1c1c;background-color:#d4d4d4;border-color:#aeaeae}.btn-gray-lighter:hover{color:#1c1c1c;background-color:#d4d4d4;border-color:#cfcfcf}.btn-gray-lighter:active,.btn-gray-lighter.active,.open>.dropdown-toggle.btn-gray-lighter{color:#1c1c1c;background-color:#d4d4d4;background-image:none;border-color:#cfcfcf}.btn-gray-lighter:active:hover,.btn-gray-lighter.active:hover,.open>.dropdown-toggle.btn-gray-lighter:hover,.btn-gray-lighter:active:focus,.btn-gray-lighter.active:focus,.open>.dropdown-toggle.btn-gray-lighter:focus,.btn-gray-lighter:active.focus,.btn-gray-lighter.active.focus,.open>.dropdown-toggle.btn-gray-lighter.focus{color:#1c1c1c;background-color:#c3c3c3;border-color:#aeaeae}.btn-gray-lighter.disabled:hover,.btn-gray-lighter[disabled]:hover,fieldset[disabled] .btn-gray-lighter:hover,.btn-gray-lighter.disabled:focus,.btn-gray-lighter[disabled]:focus,fieldset[disabled] .btn-gray-lighter:focus,.btn-gray-lighter.disabled.focus,.btn-gray-lighter[disabled].focus,fieldset[disabled] .btn-gray-lighter.focus{background-color:#eee;border-color:#eee}.btn-gray-lighter .badge{color:#eee;background-color:#1c1c1c}.btn-gray-lighter:focus,.btn-gray-lighter.focus{color:#1c1c1c;background-color:#d4d4d4;border-color:#aeaeae}.btn-gray-lighter:hover{color:#1c1c1c;background-color:#d4d4d4;border-color:#cfcfcf}.btn-gray-lighter:active,.btn-gray-lighter.active,.open>.dropdown-toggle.btn-gray-lighter{color:#1c1c1c;background-color:#d4d4d4;background-image:none;border-color:#cfcfcf}.btn-gray-lighter:active:hover,.btn-gray-lighter.active:hover,.open>.dropdown-toggle.btn-gray-lighter:hover,.btn-gray-lighter:active:focus,.btn-gray-lighter.active:focus,.open>.dropdown-toggle.btn-gray-lighter:focus,.btn-gray-lighter:active.focus,.btn-gray-lighter.active.focus,.open>.dropdown-toggle.btn-gray-lighter.focus{color:#1c1c1c;background-color:#c3c3c3;border-color:#aeaeae}.btn-gray-lighter.disabled:hover,.btn-gray-lighter[disabled]:hover,fieldset[disabled] .btn-gray-lighter:hover,.btn-gray-lighter.disabled:focus,.btn-gray-lighter[disabled]:focus,fieldset[disabled] .btn-gray-lighter:focus,.btn-gray-lighter.disabled.focus,.btn-gray-lighter[disabled].focus,fieldset[disabled] .btn-gray-lighter.focus{background-color:#eee;border-color:#eee}.btn-gray-lighter .badge{color:#eee;background-color:#1c1c1c}.btn-gray-lighter:focus,.btn-gray-lighter.focus{background-color:#eee;border-color:#eee}.btn-gray-light{color:#1c1c1c;background-color:#aaa;border-color:#aaa}.btn-gray-light:focus,.btn-gray-light.focus{color:#1c1c1c;background-color:#909090;border-color:#6a6a6a}.btn-gray-light:hover{color:#1c1c1c;background-color:#909090;border-color:#8b8b8b}.btn-gray-light:active,.btn-gray-light.active,.open>.dropdown-toggle.btn-gray-light{color:#1c1c1c;background-color:#909090;background-image:none;border-color:#8b8b8b}.btn-gray-light:active:hover,.btn-gray-light.active:hover,.open>.dropdown-toggle.btn-gray-light:hover,.btn-gray-light:active:focus,.btn-gray-light.active:focus,.open>.dropdown-toggle.btn-gray-light:focus,.btn-gray-light:active.focus,.btn-gray-light.active.focus,.open>.dropdown-toggle.btn-gray-light.focus{color:#1c1c1c;background-color:#7f7f7f;border-color:#6a6a6a}.btn-gray-light.disabled:hover,.btn-gray-light[disabled]:hover,fieldset[disabled] .btn-gray-light:hover,.btn-gray-light.disabled:focus,.btn-gray-light[disabled]:focus,fieldset[disabled] .btn-gray-light:focus,.btn-gray-light.disabled.focus,.btn-gray-light[disabled].focus,fieldset[disabled] .btn-gray-light.focus{background-color:#aaa;border-color:#aaa}.btn-gray-light .badge{color:#aaa;background-color:#1c1c1c}.btn-gray-light:focus,.btn-gray-light.focus{color:#1c1c1c;background-color:#909090;border-color:#6a6a6a}.btn-gray-light:hover{color:#1c1c1c;background-color:#909090;border-color:#8b8b8b}.btn-gray-light:active,.btn-gray-light.active,.open>.dropdown-toggle.btn-gray-light{color:#1c1c1c;background-color:#909090;background-image:none;border-color:#8b8b8b}.btn-gray-light:active:hover,.btn-gray-light.active:hover,.open>.dropdown-toggle.btn-gray-light:hover,.btn-gray-light:active:focus,.btn-gray-light.active:focus,.open>.dropdown-toggle.btn-gray-light:focus,.btn-gray-light:active.focus,.btn-gray-light.active.focus,.open>.dropdown-toggle.btn-gray-light.focus{color:#1c1c1c;background-color:#7f7f7f;border-color:#6a6a6a}.btn-gray-light.disabled:hover,.btn-gray-light[disabled]:hover,fieldset[disabled] .btn-gray-light:hover,.btn-gray-light.disabled:focus,.btn-gray-light[disabled]:focus,fieldset[disabled] .btn-gray-light:focus,.btn-gray-light.disabled.focus,.btn-gray-light[disabled].focus,fieldset[disabled] .btn-gray-light.focus{background-color:#aaa;border-color:#aaa}.btn-gray-light .badge{color:#aaa;background-color:#1c1c1c}.btn-gray-light:focus,.btn-gray-light.focus{background-color:#aaa;border-color:#aaa}.btn-gray-dark{color:#fff;background-color:#303030;border-color:#303030}.btn-gray-dark:focus,.btn-gray-dark.focus{color:#fff;background-color:#161616;border-color:#000}.btn-gray-dark:hover{color:#fff;background-color:#161616;border-color:#111}.btn-gray-dark:active,.btn-gray-dark.active,.open>.dropdown-toggle.btn-gray-dark{color:#fff;background-color:#161616;background-image:none;border-color:#111}.btn-gray-dark:active:hover,.btn-gray-dark.active:hover,.open>.dropdown-toggle.btn-gray-dark:hover,.btn-gray-dark:active:focus,.btn-gray-dark.active:focus,.open>.dropdown-toggle.btn-gray-dark:focus,.btn-gray-dark:active.focus,.btn-gray-dark.active.focus,.open>.dropdown-toggle.btn-gray-dark.focus{color:#fff;background-color:#050505;border-color:#000}.btn-gray-dark.disabled:hover,.btn-gray-dark[disabled]:hover,fieldset[disabled] .btn-gray-dark:hover,.btn-gray-dark.disabled:focus,.btn-gray-dark[disabled]:focus,fieldset[disabled] .btn-gray-dark:focus,.btn-gray-dark.disabled.focus,.btn-gray-dark[disabled].focus,fieldset[disabled] .btn-gray-dark.focus{background-color:#303030;border-color:#303030}.btn-gray-dark .badge{color:#303030;background-color:#fff}.btn-gray-dark:focus,.btn-gray-dark.focus{color:#fff;background-color:#161616;border-color:#000}.btn-gray-dark:hover{color:#fff;background-color:#161616;border-color:#111}.btn-gray-dark:active,.btn-gray-dark.active,.open>.dropdown-toggle.btn-gray-dark{color:#fff;background-color:#161616;background-image:none;border-color:#111}.btn-gray-dark:active:hover,.btn-gray-dark.active:hover,.open>.dropdown-toggle.btn-gray-dark:hover,.btn-gray-dark:active:focus,.btn-gray-dark.active:focus,.open>.dropdown-toggle.btn-gray-dark:focus,.btn-gray-dark:active.focus,.btn-gray-dark.active.focus,.open>.dropdown-toggle.btn-gray-dark.focus{color:#fff;background-color:#050505;border-color:#000}.btn-gray-dark.disabled:hover,.btn-gray-dark[disabled]:hover,fieldset[disabled] .btn-gray-dark:hover,.btn-gray-dark.disabled:focus,.btn-gray-dark[disabled]:focus,fieldset[disabled] .btn-gray-dark:focus,.btn-gray-dark.disabled.focus,.btn-gray-dark[disabled].focus,fieldset[disabled] .btn-gray-dark.focus{background-color:#303030;border-color:#303030}.btn-gray-dark .badge{color:#303030;background-color:#fff}.btn-gray-dark:focus,.btn-gray-dark.focus{background-color:#303030;border-color:#303030}.btn-gray-darker{color:#fff;background-color:#1c1c1c;border-color:#1c1c1c}.btn-gray-darker:focus,.btn-gray-darker.focus{color:#fff;background-color:#020202;border-color:#000}.btn-gray-darker:hover{color:#fff;background-color:#020202;border-color:#000}.btn-gray-darker:active,.btn-gray-darker.active,.open>.dropdown-toggle.btn-gray-darker{color:#fff;background-color:#020202;background-image:none;border-color:#000}.btn-gray-darker:active:hover,.btn-gray-darker.active:hover,.open>.dropdown-toggle.btn-gray-darker:hover,.btn-gray-darker:active:focus,.btn-gray-darker.active:focus,.open>.dropdown-toggle.btn-gray-darker:focus,.btn-gray-darker:active.focus,.btn-gray-darker.active.focus,.open>.dropdown-toggle.btn-gray-darker.focus{color:#fff;background-color:#000;border-color:#000}.btn-gray-darker.disabled:hover,.btn-gray-darker[disabled]:hover,fieldset[disabled] .btn-gray-darker:hover,.btn-gray-darker.disabled:focus,.btn-gray-darker[disabled]:focus,fieldset[disabled] .btn-gray-darker:focus,.btn-gray-darker.disabled.focus,.btn-gray-darker[disabled].focus,fieldset[disabled] .btn-gray-darker.focus{background-color:#1c1c1c;border-color:#1c1c1c}.btn-gray-darker .badge{color:#1c1c1c;background-color:#fff}.btn-gray-darker:focus,.btn-gray-darker.focus{color:#fff;background-color:#020202;border-color:#000}.btn-gray-darker:hover{color:#fff;background-color:#020202;border-color:#000}.btn-gray-darker:active,.btn-gray-darker.active,.open>.dropdown-toggle.btn-gray-darker{color:#fff;background-color:#020202;background-image:none;border-color:#000}.btn-gray-darker:active:hover,.btn-gray-darker.active:hover,.open>.dropdown-toggle.btn-gray-darker:hover,.btn-gray-darker:active:focus,.btn-gray-darker.active:focus,.open>.dropdown-toggle.btn-gray-darker:focus,.btn-gray-darker:active.focus,.btn-gray-darker.active.focus,.open>.dropdown-toggle.btn-gray-darker.focus{color:#fff;background-color:#000;border-color:#000}.btn-gray-darker.disabled:hover,.btn-gray-darker[disabled]:hover,fieldset[disabled] .btn-gray-darker:hover,.btn-gray-darker.disabled:focus,.btn-gray-darker[disabled]:focus,fieldset[disabled] .btn-gray-darker:focus,.btn-gray-darker.disabled.focus,.btn-gray-darker[disabled].focus,fieldset[disabled] .btn-gray-darker.focus{background-color:#1c1c1c;border-color:#1c1c1c}.btn-gray-darker .badge{color:#1c1c1c;background-color:#fff}.btn-gray-darker:focus,.btn-gray-darker.focus{background-color:#1c1c1c;border-color:#1c1c1c}.btn-danger{color:#fff;background-color:#d04441;border-color:#d04441}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.btn-danger:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#952725;border-color:#751f1d}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d04441;border-color:#d04441}.btn-danger .badge{color:#d04441;background-color:#fff}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#b22f2c;border-color:#751f1d}.btn-danger:hover{color:#fff;background-color:#b22f2c;border-color:#aa2d2a}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#b22f2c;background-image:none;border-color:#aa2d2a}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#952725;border-color:#751f1d}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d04441;border-color:#d04441}.btn-danger .badge{color:#d04441;background-color:#fff}.btn-danger:focus,.btn-danger.focus{background-color:#d04441;border-color:#d04441}.btn-facebook{color:#fff;background-color:#3c5a99;border-color:#3c5a99}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2e4474;border-color:#18243d}.btn-facebook:hover{color:#fff;background-color:#2e4474;border-color:#2b406d}.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2e4474;background-image:none;border-color:#2b406d}.btn-facebook:active:hover,.btn-facebook.active:hover,.open>.dropdown-toggle.btn-facebook:hover,.btn-facebook:active:focus,.btn-facebook.active:focus,.open>.dropdown-toggle.btn-facebook:focus,.btn-facebook:active.focus,.btn-facebook.active.focus,.open>.dropdown-toggle.btn-facebook.focus{color:#fff;background-color:#24355b;border-color:#18243d}.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled.focus,.btn-facebook[disabled].focus,fieldset[disabled] .btn-facebook.focus{background-color:#3c5a99;border-color:#3c5a99}.btn-facebook .badge{color:#3c5a99;background-color:#fff}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2e4474;border-color:#18243d}.btn-facebook:hover{color:#fff;background-color:#2e4474;border-color:#2b406d}.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2e4474;background-image:none;border-color:#2b406d}.btn-facebook:active:hover,.btn-facebook.active:hover,.open>.dropdown-toggle.btn-facebook:hover,.btn-facebook:active:focus,.btn-facebook.active:focus,.open>.dropdown-toggle.btn-facebook:focus,.btn-facebook:active.focus,.btn-facebook.active.focus,.open>.dropdown-toggle.btn-facebook.focus{color:#fff;background-color:#24355b;border-color:#18243d}.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled.focus,.btn-facebook[disabled].focus,fieldset[disabled] .btn-facebook.focus{background-color:#3c5a99;border-color:#3c5a99}.btn-facebook .badge{color:#3c5a99;background-color:#fff}.btn-facebook:focus,.btn-facebook.focus{background-color:#3c5a99;border-color:#3c5a99}.btn-twitter{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#0c85d0;border-color:#085788}.btn-twitter:hover{color:#fff;background-color:#0c85d0;border-color:#0b7fc6}.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#0c85d0;background-image:none;border-color:#0b7fc6}.btn-twitter:active:hover,.btn-twitter.active:hover,.open>.dropdown-toggle.btn-twitter:hover,.btn-twitter:active:focus,.btn-twitter.active:focus,.open>.dropdown-toggle.btn-twitter:focus,.btn-twitter:active.focus,.btn-twitter.active.focus,.open>.dropdown-toggle.btn-twitter.focus{color:#fff;background-color:#0a70ae;border-color:#085788}.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled.focus,.btn-twitter[disabled].focus,fieldset[disabled] .btn-twitter.focus{background-color:#1da1f2;border-color:#1da1f2}.btn-twitter .badge{color:#1da1f2;background-color:#fff}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#0c85d0;border-color:#085788}.btn-twitter:hover{color:#fff;background-color:#0c85d0;border-color:#0b7fc6}.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#0c85d0;background-image:none;border-color:#0b7fc6}.btn-twitter:active:hover,.btn-twitter.active:hover,.open>.dropdown-toggle.btn-twitter:hover,.btn-twitter:active:focus,.btn-twitter.active:focus,.open>.dropdown-toggle.btn-twitter:focus,.btn-twitter:active.focus,.btn-twitter.active.focus,.open>.dropdown-toggle.btn-twitter.focus{color:#fff;background-color:#0a70ae;border-color:#085788}.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled.focus,.btn-twitter[disabled].focus,fieldset[disabled] .btn-twitter.focus{background-color:#1da1f2;border-color:#1da1f2}.btn-twitter .badge{color:#1da1f2;background-color:#fff}.btn-twitter:focus,.btn-twitter.focus{background-color:#1da1f2;border-color:#1da1f2}.btn-google{color:#fff;background-color:#db4437;border-color:#db4437}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#bd2e22;border-color:#7c1e16}.btn-google:hover{color:#fff;background-color:#bd2e22;border-color:#b42c20}.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{color:#fff;background-color:#bd2e22;background-image:none;border-color:#b42c20}.btn-google:active:hover,.btn-google.active:hover,.open>.dropdown-toggle.btn-google:hover,.btn-google:active:focus,.btn-google.active:focus,.open>.dropdown-toggle.btn-google:focus,.btn-google:active.focus,.btn-google.active.focus,.open>.dropdown-toggle.btn-google.focus{color:#fff;background-color:#9f271d;border-color:#7c1e16}.btn-google.disabled:hover,.btn-google[disabled]:hover,fieldset[disabled] .btn-google:hover,.btn-google.disabled:focus,.btn-google[disabled]:focus,fieldset[disabled] .btn-google:focus,.btn-google.disabled.focus,.btn-google[disabled].focus,fieldset[disabled] .btn-google.focus{background-color:#db4437;border-color:#db4437}.btn-google .badge{color:#db4437;background-color:#fff}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#bd2e22;border-color:#7c1e16}.btn-google:hover{color:#fff;background-color:#bd2e22;border-color:#b42c20}.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{color:#fff;background-color:#bd2e22;background-image:none;border-color:#b42c20}.btn-google:active:hover,.btn-google.active:hover,.open>.dropdown-toggle.btn-google:hover,.btn-google:active:focus,.btn-google.active:focus,.open>.dropdown-toggle.btn-google:focus,.btn-google:active.focus,.btn-google.active.focus,.open>.dropdown-toggle.btn-google.focus{color:#fff;background-color:#9f271d;border-color:#7c1e16}.btn-google.disabled:hover,.btn-google[disabled]:hover,fieldset[disabled] .btn-google:hover,.btn-google.disabled:focus,.btn-google[disabled]:focus,fieldset[disabled] .btn-google:focus,.btn-google.disabled.focus,.btn-google[disabled].focus,fieldset[disabled] .btn-google.focus{background-color:#db4437;border-color:#db4437}.btn-google .badge{color:#db4437;background-color:#fff}.btn-google:focus,.btn-google.focus{background-color:#db4437;border-color:#db4437}.btn-pinterest{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#8c0615;border-color:#43030a}.btn-pinterest:hover{color:#fff;background-color:#8c0615;border-color:#820613}.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#8c0615;background-image:none;border-color:#820613}.btn-pinterest:active:hover,.btn-pinterest.active:hover,.open>.dropdown-toggle.btn-pinterest:hover,.btn-pinterest:active:focus,.btn-pinterest.active:focus,.open>.dropdown-toggle.btn-pinterest:focus,.btn-pinterest:active.focus,.btn-pinterest.active.focus,.open>.dropdown-toggle.btn-pinterest.focus{color:#fff;background-color:#6a0410;border-color:#43030a}.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled.focus,.btn-pinterest[disabled].focus,fieldset[disabled] .btn-pinterest.focus{background-color:#bd081c;border-color:#bd081c}.btn-pinterest .badge{color:#bd081c;background-color:#fff}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#8c0615;border-color:#43030a}.btn-pinterest:hover{color:#fff;background-color:#8c0615;border-color:#820613}.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#8c0615;background-image:none;border-color:#820613}.btn-pinterest:active:hover,.btn-pinterest.active:hover,.open>.dropdown-toggle.btn-pinterest:hover,.btn-pinterest:active:focus,.btn-pinterest.active:focus,.open>.dropdown-toggle.btn-pinterest:focus,.btn-pinterest:active.focus,.btn-pinterest.active.focus,.open>.dropdown-toggle.btn-pinterest.focus{color:#fff;background-color:#6a0410;border-color:#43030a}.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled.focus,.btn-pinterest[disabled].focus,fieldset[disabled] .btn-pinterest.focus{background-color:#bd081c;border-color:#bd081c}.btn-pinterest .badge{color:#bd081c;background-color:#fff}.btn-pinterest:focus,.btn-pinterest.focus{background-color:#bd081c;border-color:#bd081c}.btn .fa-xs,.fa-xs{position:relative;top:-1px}.btn .fa-lg,.fa-lg{position:relative;top:1px}.btn-play{width:56px;height:56px;line-height:56px;background-color:#6bac43;border-radius:1000px;border:3px solid #fff;transition:background-color 0.1s;font-size:15.2px;transform:scale(1.65);z-index:1}.btn-play:hover{color:#fff;background-color:#1c683e}.btn-play .wistia_embed{display:inline-block;position:absolute !important;top:0;right:0;bottom:0;left:0;border-radius:1000px}.btn-play .wistia_embed .wistia_click_to_play{position:absolute !important;top:0;left:0;width:100%;height:100%;border-radius:1000px}.btn-play i{position:absolute !important;top:50% !important;left:50%;height:20px;width:20px;line-height:20px;text-align:center;margin-top:-10px;margin-left:-9px}@media (min-width:992px){.split-image-container{position:fixed;top:0;right:0;bottom:0;width:39%;z-index:-1;opacity:1}.split-image-container .split-image{position:absolute;top:0;right:0;bottom:0;left:0}}.input-search{position:relative;background-color:transparent;border:0;width:auto;padding-right:15px !important}.input-search.jumbo{font-size:42px;letter-spacing:-1.5px !important}.input-search::placeholder{color:#fff;opacity:0.2}.search-result b{background-color:#ffffa6}.input-clear{top:50%;margin-top:-29px;right:-70px;opacity:0.2;height:60px;width:70px;line-height:60px;text-align:center;cursor:pointer;color:#fff;font-weight:900;padding-top:10px}.input-clear:hover{opacity:1;font-weight:900;color:#c64f55}@media only screen and (max-width:668px){.input-search.jumbo{font-size:24px;letter-spacing:-1px !important}}.text-secondary{color:#1c683e}.text-tertiary{color:#2a4930}.text-gray-lighter{color:#d4d4d4}.text-gray-light{color:#aaa}.text-gray{color:#555}.text-gray-dark{color:#303030}.text-gray-darker{color:#1c1c1c}a.text-gray-dark:hover{color:#707070}a.text-gray-light:hover{color:#aaa}a.text-gray-dark:focus{color:#303030}a.text-danger:hover{color:#9e2927 !important}.bg-facebook{background-color:#3c5a99 !important}.bg-twitter{background-color:#1da1f2 !important}.bg-instagram{background-color:#f56040 !important}.bg-google{background-color:#db4437 !important}.bg-pinterest{background-color:#bd081c !important}.text-facebook{color:#3c5a99}.text-facebook:hover{color:#263a62}.text-twitter{color:#1da1f2}.text-twitter:hover{color:#0b76b8}.text-instagram{color:#f56040}.text-instagram:hover{color:#dd310c}.text-google{color:#db4437}.text-google:hover{color:#a7291e}.text-pinterest{color:#bd081c}.text-pinterest:hover{color:#740511}.text-youtube{color:red}.text-youtube:hover{color:#b30000}.text-white,.text-white a:not(.btn),.text-white a:not(.btn):hover{color:#fff}.text-white .panel-body a:not(.btn){color:#6bac43}.text-white .panel-body a:not(.btn):hover{color:#1c683e}.text-white .panel-body{background-color:#fff;color:#1c1c1c}.text-white .panel-body a:not(.btn){color:#6bac43}.text-white .panel-body h1 a,.text-white .panel-body .h1 a,.text-white .panel-body h2 a,.text-white .panel-body .h2 a,.text-white .panel-body h3 a,.text-white .panel-body .h3 a,.text-white .panel-body h4 a,.text-white .panel-body .h4 a,.text-white .panel-body h5 a,.text-white .panel-body .h5 a,.text-white .panel-body h6 a,.text-white .panel-body .h6 a{color:#1c1c1c}.text-white .panel-body h1 a:hover,.text-white .panel-body .h1 a:hover,.text-white .panel-body h2 a:hover,.text-white .panel-body .h2 a:hover,.text-white .panel-body h3 a:hover,.text-white .panel-body .h3 a:hover,.text-white .panel-body h4 a:hover,.text-white .panel-body .h4 a:hover,.text-white .panel-body h5 a:hover,.text-white .panel-body .h5 a:hover,.text-white .panel-body h6 a:hover,.text-white .panel-body .h6 a:hover{color:#6bac43}.text-kidspring-primary{color:#198ad3}.text-kidspring-secondary{color:#0c60af}.text-kidspring-tertiary{color:#70b32d}.bg-white{background-color:#fff}.bg-secondary{background-color:#1c683e}.bg-tertiary{background-color:#2a4930}.bg-success{background-color:#6bac43}.bg-info{background-color:#198fc8}.bg-warning{background-color:#dba400}.bg-danger{background-color:#d04441}.bg-kidspring-primary{background-color:#198ad3}.bg-kidspring-secondary{background-color:#0c60af}.bg-kidspring-tertiary{background-color:#70b32d}.bg-gray-lighter{background-color:#eee}.bg-gray-light{background-color:#aaa}.bg-gray{background-color:#555}.bg-gray-dark{background-color:#303030}.bg-gray-darker{background-color:#1c1c1c}.bg-black{background-color:#000}.bg-white{background-color:#fff}.text-hover-white:hover{color:#fff !important}.text-hover-primary:hover{color:#6bac43 !important}.text-hover-secondary:hover{color:#1c683e !important}.text-hover-tertiary:hover{color:#2a4930 !important}.strong{font-weight:500}.stronger{font-weight:700}.strongest{font-weight:900}.serif{font-family:ff-meta-serif-web-pro,serif !important}.sans-serif{font-family:colfax-web,sans-serif !important}.italic{font-style:italic}.no-breaks{white-space:nowrap}.text-smaller{font-size:0.8em}.text-constrained{max-width:700px}.page-constrained{max-width:1480px}.text-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mx-auto{margin-left:auto;margin-right:auto}.letter-spacing-condensed{letter-spacing:-0.5px}.letter-spacing-normal{letter-spacing:normal}.clickable{cursor:pointer}.no-break{white-space:nowrap}.text-center ul,.text-center ol{text-align:left}.no-border{border:none}.rounded{border-radius:5px}.rounded-top{border-top-left-radius:5px;border-top-right-radius:5px}.rounded-bottom{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.rounded-top-left{border-top-left-radius:5px}.rounded-top-right{border-top-right-radius:5px}.rounded-bottom-left{border-bottom-left-radius:5px}.rounded-bottom-right{border-bottom-right-radius:5px}.circular{border-radius:5000px}.circular-top{border-top-left-radius:5000px;border-top-right-radius:5000px}.circular-bottom{border-bottom-left-radius:5000px;border-bottom-right-radius:5000px}.circular-top-left{border-top-left-radius:5000px}.circular-top-right{border-top-right-radius:5000px}.circular-bottom-left{border-bottom-left-radius:5000px}.circular-bottom-right{border-bottom-right-radius:5000px}.shadowed{box-shadow:0 1px 3px rgba(28,28,28,0.25),0 3px 0px rgba(28,28,28,0.1)}.grayscale{filter:grayscale(1)}.position-absolute{position:absolute !important}.position-relative{position:relative !important}.position-fixed{position:fixed !important}.position-left-boundry{top:50%;bottom:auto;left:0;right:auto}.position-right-boundry{top:50%;bottom:auto;left:auto;right:0}.position-top-boundry{top:0;bottom:auto;left:50%;right:auto}.position-bottom-boundry{top:auto;bottom:0;left:50%;right:auto}.margin-top-double{margin-top:56px}.margin-top-double-negative{margin-top:-56px}.margin-top{margin-top:28px}.margin-top-negative{margin-top:-28px}.margin-top-half{margin-top:14px}.margin-top-half-negative{margin-top:-14px}.margin-right-double{margin-right:56px}.margin-right-double-negative{margin-right:-56px}.margin-right{margin-right:28px}.margin-right-negative{margin-right:-28px}.margin-right-half{margin-right:14px}.margin-right-half-negative{margin-right:-14px}.margin-bottom-double{margin-bottom:56px}.margin-bottom-double-negative{margin-bottom:-56px}.margin-bottom{margin-bottom:28px}.margin-bottom-negative{margin-bottom:-28px}.margin-bottom-half{margin-bottom:14px}.margin-bottom-half-negative{margin-bottom:-14px}.margin-left-double{margin-left:56px}.margin-left-double-negative{margin-left:-56px}.margin-left{margin-left:28px}.margin-left-negative{margin-left:-28px}.margin-left-half{margin-left:14px}.margin-left-half-negative{margin-left:-14px}.margin-top-auto{margin-top:auto}.margin-right-auto{margin-right:auto}.margin-bottom-auto{margin-bottom:auto}.margin-left-auto{margin-left:auto}.top-zero{top:0}.right-zero{right:0}.bottom-zero{bottom:0}.left-zero{left:0}.top-half{top:50%}.right-half{right:50%}.bottom-half{bottom:50%}.left-half{left:50%}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.width-half{width:50%}.width-full{width:100%}.parent-hover-visible{opacity:0;transition:opacity 0.1s ease-in-out}*:hover>.parent-hover-visible{opacity:1}.full-screen{position:absolute;top:0px;right:0px;bottom:0px;left:0px}.background-cover{background-size:cover}.background-center{background-position:center}.background-left{background-position:left}.background-right{background-position:right}.bring-forward{position:relative;z-index:1}.overflow-hidden{overflow:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0)}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.display-none{display:none !important}.display-block{display:block}.display-inline-block{display:inline-block}.vertical-align-middle{vertical-align:middle}.list-relaxed li{margin-bottom:5.6px}.list-style-none{list-style-type:none}.list-inline li{display:inline-block}.text-decoration-none{text-decoration:none}.text-decoration-none,.text-decoration-none:hover,.text-decoration-none:focus,.text-decoration-none *,.text-decoration-none *:hover,.text-decoration-none *:focus{text-decoration:none}@keyframes pulse{0%{opacity:0.7}
+50%{opacity:1}
+100%{opacity:0.7}}
+.pulse-opacity{-webkit-animation:pulse 1.5s infinite ease-in-out;-o-animation:pulse 1.5s infinite ease-in-out;-ms-animation:pulse 1.5s infinite ease-in-out;-moz-animation:pulse 1.5s infinite ease-in-out;animation:pulse 1.5s infinite ease-in-out}.soft-double{padding:56px !important}.soft-double-top{padding-top:56px !important}.soft-double-bottom{padding-bottom:56px !important}.soft-double-right{padding-right:56px !important}.soft-double-left{padding-left:56px !important}.soft-double-ends{padding-top:56px !important;padding-bottom:56px !important}.soft-double-sides{padding-left:56px !important;padding-right:56px !important}.soft{padding:28px !important}.soft-top{padding-top:28px !important}.soft-bottom{padding-bottom:28px !important}.soft-right{padding-right:28px !important}.soft-left{padding-left:28px !important}.soft-ends{padding-top:28px !important;padding-bottom:28px !important}.soft-sides{padding-left:28px !important;padding-right:28px !important}.soft-half{padding:14px !important}.soft-half-top{padding-top:14px !important}.soft-half-bottom{padding-bottom:14px !important}.soft-half-right{padding-right:14px !important}.soft-half-left{padding-left:14px !important}.soft-half-ends{padding-top:14px !important;padding-bottom:14px !important}.soft-half-sides{padding-left:14px !important;padding-right:14px !important}.soft-quarter{padding:7px !important}.soft-quarter-top{padding-top:7px !important}.soft-quarter-bottom{padding-bottom:7px !important}.soft-quarter-right{padding-right:7px !important}.soft-quarter-left{padding-left:7px !important}.soft-quarter-ends{padding-top:7px !important;padding-bottom:7px !important}.soft-quarter-sides{padding-left:7px !important;padding-right:7px !important}.hard{padding:0 !important}.hard-top{padding-top:0 !important}.hard-bottom{padding-bottom:0 !important}.hard-right{padding-right:0 !important}.hard-left{padding-left:0 !important}.hard-ends{padding-top:0 !important;padding-bottom:0 !important}.hard-sides{padding-left:0 !important;padding-right:0 !important}.push-double{margin:56px !important}.push-double-top{margin-top:56px !important}.push-double-bottom{margin-bottom:56px !important}.push-double-right{margin-right:56px !important}.push-double-left{margin-left:56px !important}.push-double-ends{margin-top:56px !important;margin-bottom:56px !important}.push-double-sides{margin-left:56px !important;margin-right:56px !important}.push{margin:28px !important}.push-top{margin-top:28px !important}.push-bottom{margin-bottom:28px !important}.push-right{margin-right:28px !important}.push-left{margin-left:28px !important}.push-ends{margin-top:28px !important;margin-bottom:28px !important}.push-sides{margin-left:28px !important;margin-right:28px !important}.push-half{margin:14px !important}.push-half-top{margin-top:14px !important}.push-half-bottom{margin-bottom:14px !important}.push-half-right{margin-right:14px !important}.push-half-left{margin-left:14px !important}.push-half-ends{margin-top:14px !important;margin-bottom:14px !important}.push-half-sides{margin-left:14px !important;margin-right:14px !important}.push-quarter{margin:7px !important}.push-quarter-top{margin-top:7px !important}.push-quarter-bottom{margin-bottom:7px !important}.push-quarter-right{margin-right:7px !important}.push-quarter-left{margin-left:7px !important}.push-quarter-ends{margin-top:7px !important;margin-bottom:7px !important}.push-quarter-sides{margin-left:7px !important;margin-right:7px !important}.flush{margin:0 !important}.flush-top{margin-top:0 !important}.flush-bottom{margin-bottom:0 !important}.flush-right{margin-right:0 !important}.flush-left{margin-left:0 !important}.flush-ends{margin-top:0 !important;margin-bottom:0 !important}.flush-sides{margin-left:0 !important;margin-right:0 !important}.shell{margin-bottom:14px;margin-left:14px;margin-right:14px;padding:56px 28px 28px}@media (min-width:668px){.shell{margin-bottom:28px;margin-left:28px;margin-right:28px;padding:84px 28px 56px}}.row .shell{margin-left:0;margin-right:0}a{text-decoration:underline}.jumbo{font-size:54px;letter-spacing:-2px !important}legend{font-weight:700}.display-1{font-size:45px;line-height:50px;letter-spacing:-3.5px}.display-2{font-size:38px;line-height:40px;letter-spacing:-2px}.display-3{font-size:30px;line-height:38px;letter-spacing:-2px}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,p,ol,ul{margin-bottom:28px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:colfax-web,sans-serif;letter-spacing:-1px;margin-top:0}h1 a,.h1 a,h2 a,.h2 a,h3 a,.h3 a,h4 a,.h4 a,h5 a,.h5 a,h6 a,.h6 a{color:inherit;text-decoration:none;transition:color 0.1s}h1 a:hover,.h1 a:hover,h2 a:hover,.h2 a:hover,h3 a:hover,.h3 a:hover,h4 a:hover,.h4 a:hover,h5 a:hover,.h5 a:hover,h6 a:hover,.h6 a:hover{color:#6bac43;text-decoration:none}h1.italic,.h1.italic,h2.italic,.h2.italic,h3.italic,.h3.italic,h4.italic,.h4.italic,h5.italic,.h5.italic,h6.italic,.h6.italic{letter-spacing:-0.5px}a h1,a .h1,a h2,a .h2,a h3,a .h3,a h4,a .h4,a h5,a .h5,a h6,a .h6{color:#1c1c1c;transition:all 0.1s ease-in-out}a:hover h1,a:hover .h1,a:hover h2,a:hover .h2,a:hover h3,a:hover .h3,a:hover h4,a:hover .h4,a:hover h5,a:hover .h5,a:hover h6,a:hover .h6{color:#6bac43}.picker h4{letter-spacing:0}img{max-width:100%}hr{border-top-width:3px;margin-top:56px;margin-bottom:56px;border-color:rgba(0,0,0,0.1)}hr.invisible{border-width:0}hr.tiny{max-width:120px}blockquote{border-left:5px solid #6bac43;font-size:26px;font-weight:700;font-style:italic;color:#1c683e;padding:28px;margin:28px;margin-left:0;letter-spacing:-0.2px}blockquote footer{padding:0;font-family:ff-meta-serif-web-pro,serif;font-weight:500;letter-spacing:0}blockquote footer:before,blockquote small:before,blockquote .small:before{font-weight:500}@media (max-width:667px){blockquote{margin-left:0;padding-right:14px;font-size:23px}}@media (max-width:667px){small{font-size:16px;line-height:22px}}mark,.mark{background-color:#ffffa6}.tag-list{font-size:17px;line-height:20px}@media (max-width:991px){.tag-list{font-size:18px;line-height:19px}}@media (max-width:667px){.tag-list{font-size:18px;line-height:14px}}.tag-list a{margin-right:9.333333333px}.tag-list a i{margin-right:2px}.lead{font-size:1.25em}.lead small{font-size:65%}ul,ol{padding-left:18.666666667px}.text-center ul,.text-center ol,.sm-text-center ul,.sm-text-center ol,.xs-text-center ul,.xs-text-center ol{text-align:left}.hero{padding:56px 28px}@media (min-width:668px){.hero{padding:112px 28px}}.hero .hero-shim{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;background:-moz-linear-gradient(top,transparent 0%,#000 100%);background:-webkit-linear-gradient(top,transparent 0%,#000 100%);background:linear-gradient(to bottom,transparent 0%,#000 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#000000',GradientType=0);opacity:0.4}.editorial-content img{border-radius:12px}.editorial-content img+img{margin-top:14px}@media (min-width:668px){.editorial-content img+img{margin-top:28px}}#footer a:hover{color:#fff}#cms-admin-footer,.zone-configuration-bar,.block-configuration-bar{font-family:"colfax-web",Helvetica,Arial,sans-serif}.progress{margin-bottom:28px}.hidden{display:none !important}@media (min-width:668px){.nav-logo span{top:22px;left:70px}.display-1{font-size:95px;line-height:95px;letter-spacing:-2.5px}.display-2{font-size:76px;line-height:80px;letter-spacing:-2px}.nav-transparent .nav-primary{padding:15px !important}.md-mx-auto{margin-left:auto;margin-right:auto}.md-text-constrained{max-width:700px}.md-page-constrained{max-width:1200px}}@media only screen and (min-width:668px) and (max-width:991px){#cms-admin-footer{bottom:0;top:auto}.jumbo{font-size:46px}.sm-btn-block{display:inline-block;width:100%}.sm-display-none{display:none !important}.sm-display-block{display:block}.sm-display-inline-block{display:inline-block}.sm-width-half{width:50%}.sm-width-full{width:100%}.sm-position-absolute{position:absolute !important}.sm-position-relative{position:relative !important}.sm-position-fixed{position:fixed !important}.btn-primary:hover{background-color:#6bac43}.sm-ratio-none:before{padding-top:0%}.sm-ratio-thin:before{padding-top:40%}.sm-ratio-landscape:before{padding-top:50%}.sm-ratio-shuare:before{padding-top:70%}.sm-ratio-square:before{padding-top:100%}.sm-ratio-portrait:before{padding-top:150%}.sm-text-center{text-align:center !important}.sm-text-left{text-align:left}.sm-text-right{text-align:right}.sm-mx-auto{margin-left:auto;margin-right:auto}.sm-pull-none{float:none !important}.sm-position-left-boundry{top:50%;bottom:auto;left:0;right:auto}.sm-position-right-boundry{top:50%;bottom:auto;left:auto;right:0}.sm-position-top-boundry{top:0;bottom:auto;left:50%;right:auto}.sm-position-bottom-boundry{top:auto;bottom:0;left:50%;right:auto}.sm-margin-top-double{margin-top:56px}.sm-margin-top-double-negative{margin-top:-56px}.sm-margin-top{margin-top:28px}.sm-margin-top-negative{margin-top:-28px}.sm-margin-top-half{margin-top:14px}.sm-margin-top-half-negative{margin-top:-14px}.sm-margin-right-double{margin-right:56px}.sm-margin-right-double-negative{margin-right:-56px}.sm-margin-right{margin-right:28px}.sm-margin-right-negative{margin-right:-28px}.sm-margin-right-half{margin-right:14px}.sm-margin-right-half-negative{margin-right:-14px}.sm-margin-bottom-double{margin-bottom:56px}.sm-margin-bottom-double-negative{margin-bottom:-56px}.sm-margin-bottom{margin-bottom:28px}.sm-margin-bottom-negative{margin-bottom:-28px}.sm-margin-bottom-half{margin-bottom:14px}.sm-margin-bottom-half-negative{margin-bottom:-14px}.sm-margin-left-double{margin-left:56px}.sm-margin-left-double-negative{margin-left:-56px}.sm-margin-left{margin-left:28px}.sm-margin-left-negative{margin-left:-28px}.sm-margin-left-half{margin-left:14px}.sm-margin-left-half-negative{margin-left:-14px}.sm-margin-top-auto{margin-top:auto}.sm-margin-right-auto{margin-right:auto}.sm-margin-bottom-auto{margin-bottom:auto}.sm-margin-left-auto{margin-left:auto}.sm-soft-double{padding:56px !important}.sm-soft-double-top{padding-top:56px !important}.sm-soft-double-bottom{padding-bottom:56px !important}.sm-soft-double-right{padding-right:56px !important}.sm-soft-double-left{padding-left:56px !important}.sm-soft-double-ends{padding-top:56px !important;padding-bottom:56px !important}.sm-soft-double-sides{padding-left:56px !important;padding-right:56px !important}.sm-soft{padding:28px !important}.sm-soft-top{padding-top:28px !important}.sm-soft-bottom{padding-bottom:28px !important}.sm-soft-right{padding-right:28px !important}.sm-soft-left{padding-left:28px !important}.sm-soft-ends{padding-top:28px !important;padding-bottom:28px !important}.sm-soft-sides{padding-left:28px !important;padding-right:28px !important}.sm-soft-half{padding:14px !important}.sm-soft-half-top{padding-top:14px !important}.sm-soft-half-bottom{padding-bottom:14px !important}.sm-soft-half-right{padding-right:14px !important}.sm-soft-half-left{padding-left:14px !important}.sm-soft-half-ends{padding-top:14px !important;padding-bottom:14px !important}.sm-soft-half-sides{padding-left:14px !important;padding-right:14px !important}.sm-hard{padding:0 !important}.sm-hard-top{padding-top:0 !important}.sm-hard-bottom{padding-bottom:0 !important}.sm-hard-right{padding-right:0 !important}.sm-hard-left{padding-left:0 !important}.sm-hard-ends{padding-top:0 !important;padding-bottom:0 !important}.sm-hard-sides{padding-left:0 !important;padding-right:0 !important}.sm-push-double{margin:56px !important}.sm-push-double-top{margin-top:56px !important}.sm-push-double-bottom{margin-bottom:56px !important}.sm-push-double-right{margin-right:56px !important}.sm-push-double-left{margin-left:56px !important}.sm-push-double-ends{margin-top:56px !important;margin-bottom:56px !important}.sm-push-double-sides{margin-left:56px !important;margin-right:56px !important}.sm-push{margin:28px !important}.sm-push-top{margin-top:28px !important}.sm-push-bottom{margin-bottom:28px !important}.sm-push-right{margin-right:28px !important}.sm-push-left{margin-left:28px !important}.sm-push-ends{margin-top:28px !important;margin-bottom:28px !important}.sm-push-sides{margin-left:28px !important;margin-right:28px !important}.sm-push-half{margin:14px !important}.sm-push-half-top{margin-top:14px !important}.sm-push-half-bottom{margin-bottom:14px !important}.sm-push-half-right{margin-right:14px !important}.sm-push-half-left{margin-left:14px !important}.sm-push-half-ends{margin-top:14px !important;margin-bottom:14px !important}.sm-push-half-sides{margin-left:14px !important;margin-right:14px !important}.sm-push-quarter{margin:7px !important}.sm-push-quarter-top{margin-top:7px !important}.sm-push-quarter-bottom{margin-bottom:7px !important}.sm-push-quarter-right{margin-right:7px !important}.sm-push-quarter-left{margin-left:7px !important}.sm-push-quarter-ends{margin-top:7px !important;margin-bottom:7px !important}.sm-push-quarter-sides{margin-left:7px !important;margin-right:7px !important}.sm-flush{margin:0 !important}.sm-flush-top{margin-top:0 !important}.sm-flush-bottom{margin-bottom:0 !important}.sm-flush-right{margin-right:0 !important}.sm-flush-left{margin-left:0 !important}.sm-flush-ends{margin-top:0 !important;margin-bottom:0 !important}.sm-flush-sides{margin-left:0 !important;margin-right:0 !important}}@media only screen and (max-width:668px){#cms-admin-footer{bottom:auto;top:0}#cms-admin-footer .btn{color:#555}body.is-admin{margin-top:36px}body{font-size:19px}body .card{font-size:19px}body .panel{font-size:18px}body .label{font-size:14px}.jumbo{font-size:38px}.lead{font-size:1.05em}h1,.h1,.xs-h1{font-size:36px;letter-spacing:-0.7px !important}h2,.h2,.xs-h2{font-size:31px;letter-spacing:-0.7px !important}h3,.h3,.xs-h3{font-size:30px}h4,.h4,.xs-h4{font-size:26px}h5,.h5,.xs-h5{font-size:23px}h6,.h6,.xs-h6{font-size:19px}small{font-size:90%}.label.sans-serif,.sans-serif .label{padding:0.5em 0.8em 0.4em}.label.circular{padding:0.3em 0.8em 0.25em}blockquote{font-size:20px !important;letter-spacing:0 !important}.editorial-content blockquote{margin-left:-28px}.progress{margin-bottom:14px}.btn-primary:hover{background-color:#6bac43}.btn-xs{padding:2px 5px 1px}.btn-sm{padding:5px 10px 4px}.xs-mx-auto{margin-left:auto;margin-right:auto}.xs-text-center{text-align:center !important}.xs-text-left{text-align:left !important}.xs-btn-sm{padding:5px 10px;font-size:17px;line-height:1.5;border-radius:3px;padding:6px 10px 5px}.xs-btn-xs{padding:3px 8px;font-size:17px;line-height:1.5;border-radius:3px;padding:4px 8px 3px}.note-editor .settings .commands{margin-top:20px}.checkbox .label-text:before{top:0px}.xs-position-absolute{position:absolute !important}.xs-position-relative{position:relative !important}.xs-position-fixed{position:fixed !important}.xs-row-reverse{direction:rtl}.xs-row-condensed{margin-left:-7px;margin-right:-7px}.xs-row-condensed .col-xs-1,.xs-row-condensed .col-sm-1,.xs-row-condensed .col-md-1,.xs-row-condensed .col-lg-1,.xs-row-condensed .col-xs-2,.xs-row-condensed .col-sm-2,.xs-row-condensed .col-md-2,.xs-row-condensed .col-lg-2,.xs-row-condensed .col-xs-3,.xs-row-condensed .col-sm-3,.xs-row-condensed .col-md-3,.xs-row-condensed .col-lg-3,.xs-row-condensed .col-xs-4,.xs-row-condensed .col-sm-4,.xs-row-condensed .col-md-4,.xs-row-condensed .col-lg-4,.xs-row-condensed .col-xs-5,.xs-row-condensed .col-sm-5,.xs-row-condensed .col-md-5,.xs-row-condensed .col-lg-5,.xs-row-condensed .col-xs-6,.xs-row-condensed .col-sm-6,.xs-row-condensed .col-md-6,.xs-row-condensed .col-lg-6,.xs-row-condensed .col-xs-7,.xs-row-condensed .col-sm-7,.xs-row-condensed .col-md-7,.xs-row-condensed .col-lg-7,.xs-row-condensed .col-xs-8,.xs-row-condensed .col-sm-8,.xs-row-condensed .col-md-8,.xs-row-condensed .col-lg-8,.xs-row-condensed .col-xs-9,.xs-row-condensed .col-sm-9,.xs-row-condensed .col-md-9,.xs-row-condensed .col-lg-9,.xs-row-condensed .col-xs-10,.xs-row-condensed .col-sm-10,.xs-row-condensed .col-md-10,.xs-row-condensed .col-lg-10,.xs-row-condensed .col-xs-11,.xs-row-condensed .col-sm-11,.xs-row-condensed .col-md-11,.xs-row-condensed .col-lg-11,.xs-row-condensed .col-xs-12,.xs-row-condensed .col-sm-12,.xs-row-condensed .col-md-12,.xs-row-condensed .col-lg-12{padding-left:7px;padding-right:7px}.xs-nav-stacked>li{float:none}.xs-nav-stacked>li+li{margin-top:2px;margin-left:0}.xs-btn-block{display:inline-block;width:100%}.btn-play{transform:scale(1.5)}.xs-pull-none{float:none !important}.xs-display-none{display:none !important}.xs-display-block{display:block}.xs-display-inline-block{display:inline-block}.xs-width-half{width:50%}.xs-width-full{width:100%}.xs-ratio-none:before{padding-top:0%}.xs-ratio-thin:before{padding-top:40%}.xs-ratio-landscape:before{padding-top:50%}.xs-ratio-shuare:before{padding-top:70%}.xs-ratio-square:before{padding-top:100%}.xs-ratio-portrait:before{padding-top:150%}.xs-absolute{position:absolute}.xs-relative{position:relative}.xs-display-none{display:none}.xs-display-block{display:block}.xs-display-inline{display:inline}.xs-display-inline-block{display:inline-block}.xs-position-left-boundry{top:50%;bottom:auto;left:0;right:auto}.xs-position-right-boundry{top:50%;bottom:auto;left:auto;right:0}.xs-position-top-boundry{top:0;bottom:auto;left:50%;right:auto}.xs-position-bottom-boundry{top:auto;bottom:0;left:50%;right:auto}.xs-margin-top-double{margin-top:56px}.xs-margin-top-double-negative{margin-top:-56px}.xs-margin-top{margin-top:28px}.xs-margin-top-negative{margin-top:-28px}.xs-margin-top-half{margin-top:14px}.xs-margin-top-half-negative{margin-top:-14px}.xs-margin-right-double{margin-right:56px}.xs-margin-right-double-negative{margin-right:-56px}.xs-margin-right{margin-right:28px}.xs-margin-right-negative{margin-right:-28px}.xs-margin-right-half{margin-right:14px}.xs-margin-right-half-negative{margin-right:-14px}.xs-margin-bottom-double{margin-bottom:56px}.xs-margin-bottom-double-negative{margin-bottom:-56px}.xs-margin-bottom{margin-bottom:28px}.xs-margin-bottom-negative{margin-bottom:-28px}.xs-margin-bottom-half{margin-bottom:14px}.xs-margin-bottom-half-negative{margin-bottom:-14px}.xs-margin-left-double{margin-left:56px}.xs-margin-left-double-negative{margin-left:-56px}.xs-margin-left{margin-left:28px}.xs-margin-left-negative{margin-left:-28px}.xs-margin-left-half{margin-left:14px}.xs-margin-left-half-negative{margin-left:-14px}.xs-margin-top-auto{margin-top:auto}.xs-margin-right-auto{margin-right:auto}.xs-margin-bottom-auto{margin-bottom:auto}.xs-margin-left-auto{margin-left:auto}.xs-top-zero{top:0}.xs-right-zero{right:0}.xs-bottom-zero{bottom:0}.xs-left-zero{left:0}.xs-top-auto{top:auto}.xs-right-auto{right:auto}.xs-bottom-auto{bottom:auto}.xs-left-auto{left:auto}.xs-width-half{width:50%}.xs-width-full{width:100%}.xs-text-center{text-align:center}.xs-text-left{text-align:left}.xs-text-right{text-align:right}.xs-pull-none{float:none !important}.xs-pull-left{float:left}.xs-pull-right{float:right}.xs-soft-double{padding:56px !important}.xs-soft-double-top{padding-top:56px !important}.xs-soft-double-bottom{padding-bottom:56px !important}.xs-soft-double-right{padding-right:56px !important}.xs-soft-double-left{padding-left:56px !important}.xs-soft-double-ends{padding-top:56px !important;padding-bottom:56px !important}.xs-soft-double-sides{padding-left:56px !important;padding-right:56px !important}.xs-soft{padding:28px !important}.xs-soft-top{padding-top:28px !important}.xs-soft-bottom{padding-bottom:28px !important}.xs-soft-right{padding-right:28px !important}.xs-soft-left{padding-left:28px !important}.xs-soft-ends{padding-top:28px !important;padding-bottom:28px !important}.xs-soft-sides{padding-left:28px !important;padding-right:28px !important}.xs-soft-half{padding:14px !important}.xs-soft-half-top{padding-top:14px !important}.xs-soft-half-bottom{padding-bottom:14px !important}.xs-soft-half-right{padding-right:14px !important}.xs-soft-half-left{padding-left:14px !important}.xs-soft-half-ends{padding-top:14px !important;padding-bottom:14px !important}.xs-soft-half-sides{padding-left:14px !important;padding-right:14px !important}.xs-hard{padding:0 !important}.xs-hard-top{padding-top:0 !important}.xs-hard-bottom{padding-bottom:0 !important}.xs-hard-right{padding-right:0 !important}.xs-hard-left{padding-left:0 !important}.xs-hard-ends{padding-top:0 !important;padding-bottom:0 !important}.xs-hard-sides{padding-left:0 !important;padding-right:0 !important}.xs-push-double{margin:56px !important}.xs-push-double-top{margin-top:56px !important}.xs-push-double-bottom{margin-bottom:56px !important}.xs-push-double-right{margin-right:56px !important}.xs-push-double-left{margin-left:56px !important}.xs-push-double-ends{margin-top:56px !important;margin-bottom:56px !important}.xs-push-double-sides{margin-left:56px !important;margin-right:56px !important}.xs-push{margin:28px !important}.xs-push-top{margin-top:28px !important}.xs-push-bottom{margin-bottom:28px !important}.xs-push-right{margin-right:28px !important}.xs-push-left{margin-left:28px !important}.xs-push-ends{margin-top:28px !important;margin-bottom:28px !important}.xs-push-sides{margin-left:28px !important;margin-right:28px !important}.xs-push-half{margin:14px !important}.xs-push-half-top{margin-top:14px !important}.xs-push-half-bottom{margin-bottom:14px !important}.xs-push-half-right{margin-right:14px !important}.xs-push-half-left{margin-left:14px !important}.xs-push-half-ends{margin-top:14px !important;margin-bottom:14px !important}.xs-push-half-sides{margin-left:14px !important;margin-right:14px !important}.xs-push-quarter{margin:7px !important}.xs-push-quarter-top{margin-top:7px !important}.xs-push-quarter-bottom{margin-bottom:7px !important}.xs-push-quarter-right{margin-right:7px !important}.xs-push-quarter-left{margin-left:7px !important}.xs-push-quarter-ends{margin-top:7px !important;margin-bottom:7px !important}.xs-push-quarter-sides{margin-left:7px !important;margin-right:7px !important}.xs-flush{margin:0 !important}.xs-flush-top{margin-top:0 !important}.xs-flush-bottom{margin-bottom:0 !important}.xs-flush-right{margin-right:0 !important}.xs-flush-left{margin-left:0 !important}.xs-flush-ends{margin-top:0 !important;margin-bottom:0 !important}.xs-flush-sides{margin-left:0 !important;margin-right:0 !important}}
\ No newline at end of file
diff --git a/RockWeb/Themes/NewSpring/Styles/theme.less b/RockWeb/Themes/NewSpring/Styles/theme.less
new file mode 100644
index 00000000000..d0e61a1dbf1
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/Styles/theme.less
@@ -0,0 +1,354 @@
+// Load Master Styles
+// -------------------------
+@import "../../../Styles/Bootstrap/variables.less";
+@import "../../../Styles/_rock-core.less";
+@import "../../../Styles/_store.less";
+@import "../../../Styles/_rock-variables.less";
+@import "_variables";
+@import "_bootstrap-overrides";
+@import "_animations";
+@import "_accordions";
+@import "_charts";
+@import "_layout";
+@import "_navigation";
+@import "_notes";
+@import "_cards";
+@import "_swiper";
+@import "_ratios";
+@import "_forms";
+@import "_panels";
+@import "_grids";
+@import "_dropdowns";
+@import "_floating";
+@import "_breadcrumbs";
+@import "_pagination";
+@import "_labels";
+@import "_buttons";
+@import "_images";
+@import "_search";
+@import "_colors";
+@import "_helpers";
+// @import '_breakpoint-visual-utility';
+
+.shell {
+  margin-bottom: @base-spacing-unit / 2;
+  margin-left: @base-spacing-unit / 2;
+  margin-right: @base-spacing-unit / 2;
+  padding: @base-spacing-unit*2 @base-spacing-unit @base-spacing-unit;
+
+  @media (min-width: @screen-sm-min) {
+    margin-bottom: @base-spacing-unit;
+    margin-left: @base-spacing-unit;
+    margin-right: @base-spacing-unit;
+    padding: @base-spacing-unit*3 @base-spacing-unit @base-spacing-unit*2;
+  }
+
+  .row & {
+    margin-left: 0;
+    margin-right: 0;
+  }
+}
+
+a {
+  text-decoration: underline;
+}
+
+.jumbo {
+  font-size: 54px;
+  letter-spacing: -2px !important;
+}
+
+legend {
+  font-weight: 700;
+}
+
+.display-1 {
+  font-size: floor((@font-size-base * 2.4));
+  line-height: ceil((@line-height-computed * 2));
+  letter-spacing: -3.5px;
+}
+
+.display-2 {
+  font-size: floor((@font-size-base * 2));
+  line-height: ceil((@line-height-computed * 1.6));
+  letter-spacing: -2px;
+}
+
+.display-3 {
+  font-size: floor((@font-size-base * 1.6));
+  line-height: ceil((@line-height-computed * 1.5));
+  letter-spacing: -2px;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6,
+p,
+ol,
+ul {
+  margin-bottom: @base-spacing-unit;
+}
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+  font-family: @font-family-sans-serif;
+  letter-spacing: -1px;
+  margin-top: 0;
+
+  a {
+    color: inherit;
+    text-decoration: none;
+    transition: color 0.1s;
+
+    &:hover {
+      color: @brand-primary;
+      text-decoration: none;
+    }
+  }
+}
+
+h1.italic,
+.h1.italic,
+h2.italic,
+.h2.italic,
+h3.italic,
+.h3.italic,
+h4.italic,
+.h4.italic,
+h5.italic,
+.h5.italic,
+h6.italic,
+.h6.italic {
+  letter-spacing: -0.5px;
+}
+
+a {
+  h1,
+  .h1,
+  h2,
+  .h2,
+  h3,
+  .h3,
+  h4,
+  .h4,
+  h5,
+  .h5,
+  h6,
+  .h6 {
+    color: @gray-darker;
+    transition: all 0.1s ease-in-out;
+  }
+
+  &:hover {
+    h1,
+    .h1,
+    h2,
+    .h2,
+    h3,
+    .h3,
+    h4,
+    .h4,
+    h5,
+    .h5,
+    h6,
+    .h6 {
+      color: @brand-primary;
+    }
+  }
+}
+
+.picker h4 {
+  letter-spacing: 0;
+}
+
+img {
+  max-width: 100%;
+}
+
+hr {
+  border-top-width: 3px;
+  margin-top: @base-spacing-unit * 2;
+  margin-bottom: @base-spacing-unit * 2;
+  border-color: rgba(0, 0, 0, 0.1);
+
+  &.invisible {
+    border-width: 0;
+  }
+
+  &.tiny {
+    max-width: 120px;
+  }
+}
+
+blockquote {
+  border-left: 5px solid @brand-primary;
+  font-size: floor((@font-size-base * 1.4));
+  font-weight: 700;
+  font-style: italic;
+  color: @brand-secondary;
+  padding: @base-spacing-unit;
+  margin: @base-spacing-unit;
+  margin-left: 0;
+  letter-spacing: -0.2px;
+
+  footer {
+    padding: 0;
+    font-family: @font-family-serif;
+    font-weight: 500;
+    letter-spacing: 0;
+  }
+
+  & footer:before,
+  & small:before,
+  & .small:before {
+    font-weight: 500;
+  }
+
+  @media (max-width: @screen-xs-max) {
+    margin-left: 0;
+    padding-right: @base-spacing-unit / 2;
+    font-size: floor((@font-size-base * 1.25));
+  }
+}
+
+small {
+  @media (max-width: @screen-xs-max) {
+    font-size: floor((@font-size-base * 0.85));
+    line-height: ceil((@line-height-computed * 0.85));
+  }
+}
+
+mark,
+.mark {
+  background-color: #ffffa6;
+}
+
+.tag-list {
+  font-size: floor((@font-size-base * 0.9));
+  line-height: ceil((@line-height-computed * 0.8));
+
+  @media (max-width: @screen-sm-max) {
+    font-size: floor((@font-size-base * 0.95));
+    line-height: ceil((@line-height-computed * 0.75));
+  }
+
+  @media (max-width: @screen-xs-max) {
+    font-size: floor((@font-size-base * 0.95));
+    line-height: ceil((@line-height-computed * 0.55));
+  }
+
+  a {
+    margin-right: @base-spacing-unit / 3;
+
+    i {
+      margin-right: 2px;
+    }
+  }
+}
+
+.lead {
+  font-size: 1.25em;
+}
+
+.lead small {
+  font-size: 65%;
+}
+
+ul,
+ol {
+  padding-left: @base-spacing-unit / 3 * 2;
+
+  .text-center &,
+  .sm-text-center &,
+  .xs-text-center & {
+    text-align: left;
+  }
+}
+
+.hero {
+  padding: @base-spacing-unit*2 @base-spacing-unit;
+
+  @media (min-width: @screen-sm-min) {
+    padding: @base-spacing-unit*4 @base-spacing-unit;
+  }
+
+  .hero-shim {
+    content: "";
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    border-radius: 5px;
+    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,1+100 */
+    background: -moz-linear-gradient(
+      top,
+      rgba(0, 0, 0, 0) 0%,
+      rgba(0, 0, 0, 1) 100%
+    ); /* FF3.6-15 */
+    background: -webkit-linear-gradient(
+      top,
+      rgba(0, 0, 0, 0) 0%,
+      rgba(0, 0, 0, 1) 100%
+    ); /* Chrome10-25,Safari5.1-6 */
+    background: linear-gradient(
+      to bottom,
+      rgba(0, 0, 0, 0) 0%,
+      rgba(0, 0, 0, 1) 100%
+    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
+    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
+    opacity: 0.4;
+  }
+}
+
+.editorial-content {
+  img {
+    border-radius: @border-radius-large;
+
+    & + img {
+      margin-top: @base-spacing-unit / 2;
+
+      @media (min-width: @screen-sm-min) {
+        margin-top: @base-spacing-unit;
+      }
+    }
+  }
+}
+
+#footer a:hover {
+  color: @white;
+}
+
+#cms-admin-footer,
+.zone-configuration-bar,
+.block-configuration-bar {
+  font-family: "colfax-web", Helvetica, Arial, sans-serif;
+}
+
+.progress {
+  margin-bottom: @base-spacing-unit;
+}
+.hidden {
+  display: none !important;
+}
+
+@import "_breakpoints";
diff --git a/RockWeb/Themes/NewSpring/StylesNew/bootstrap.css b/RockWeb/Themes/NewSpring/StylesNew/bootstrap.css
new file mode 100644
index 00000000000..4a0ee784e3e
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/StylesNew/bootstrap.css
@@ -0,0 +1,11930 @@
+/*!
+ * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+ .fa,
+ .fas,
+ .far,
+ .fal,
+ .fad,
+ .fab {
+   -moz-osx-font-smoothing: grayscale;
+   -webkit-font-smoothing: antialiased;
+   display: inline-block;
+   font-style: normal;
+   font-variant: normal;
+   text-rendering: auto;
+   line-height: 1;
+ }
+ /* makes the font 33% larger relative to the icon container */
+ .fa-lg {
+   font-size: 1.33333333em;
+   line-height: 0.75em;
+   vertical-align: -0.0667em;
+ }
+ .fa-xs {
+   font-size: 0.75em;
+ }
+ .fa-sm {
+   font-size: 0.875em;
+ }
+ .fa-1x {
+   font-size: 1em;
+ }
+ .fa-2x {
+   font-size: 2em;
+ }
+ .fa-3x {
+   font-size: 3em;
+ }
+ .fa-4x {
+   font-size: 4em;
+ }
+ .fa-5x {
+   font-size: 5em;
+ }
+ .fa-6x {
+   font-size: 6em;
+ }
+ .fa-7x {
+   font-size: 7em;
+ }
+ .fa-8x {
+   font-size: 8em;
+ }
+ .fa-9x {
+   font-size: 9em;
+ }
+ .fa-10x {
+   font-size: 10em;
+ }
+ .fa-fw {
+   text-align: center;
+   width: 1.25em;
+ }
+ .fa-ul {
+   list-style-type: none;
+   margin-left: 2.5em;
+   padding-left: 0;
+ }
+ .fa-ul > li {
+   position: relative;
+ }
+ .fa-li {
+   left: -2em;
+   position: absolute;
+   text-align: center;
+   width: 2em;
+   line-height: inherit;
+ }
+ .fa-border {
+   border-radius: 0.1em;
+   border: solid 0.08em #eee;
+   padding: 0.2em 0.25em 0.15em;
+ }
+ .fa-pull-left {
+   float: left;
+ }
+ .fa-pull-right {
+   float: right;
+ }
+ .fa.fa-pull-left,
+ .fas.fa-pull-left,
+ .far.fa-pull-left,
+ .fal.fa-pull-left,
+ .fab.fa-pull-left {
+   margin-right: 0.3em;
+ }
+ .fa.fa-pull-right,
+ .fas.fa-pull-right,
+ .far.fa-pull-right,
+ .fal.fa-pull-right,
+ .fab.fa-pull-right {
+   margin-left: 0.3em;
+ }
+ .fa-spin {
+   animation: fa-spin 2s infinite linear;
+ }
+ .fa-pulse {
+   animation: fa-spin 1s infinite steps(8);
+ }
+ @keyframes fa-spin {
+   0% {
+     transform: rotate(0deg);
+   }
+   100% {
+     transform: rotate(360deg);
+   }
+ }
+ .fa-rotate-90 {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+   transform: rotate(90deg);
+ }
+ .fa-rotate-180 {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+   transform: rotate(180deg);
+ }
+ .fa-rotate-270 {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+   transform: rotate(270deg);
+ }
+ .fa-flip-horizontal {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+   transform: scale(-1, 1);
+ }
+ .fa-flip-vertical {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+   transform: scale(1, -1);
+ }
+ .fa-flip-both,
+ .fa-flip-horizontal.fa-flip-vertical {
+   -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+   transform: scale(-1, -1);
+ }
+ :root .fa-rotate-90,
+ :root .fa-rotate-180,
+ :root .fa-rotate-270,
+ :root .fa-flip-horizontal,
+ :root .fa-flip-vertical,
+ :root .fa-flip-both {
+   filter: none;
+ }
+ .fa-stack {
+   display: inline-block;
+   height: 2em;
+   line-height: 2em;
+   position: relative;
+   vertical-align: middle;
+   width: 2em;
+ }
+ .fa-stack-1x,
+ .fa-stack-2x {
+   left: 0;
+   position: absolute;
+   text-align: center;
+   width: 100%;
+ }
+ .fa-stack-1x {
+   line-height: inherit;
+ }
+ .fa-stack-2x {
+   font-size: 2em;
+ }
+ .fa-inverse {
+   color: #fff;
+ }
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+    readers do not read off random characters that represent icons */
+ .fa-500px:before {
+   content: "\f26e";
+ }
+ .fa-accessible-icon:before {
+   content: "\f368";
+ }
+ .fa-accusoft:before {
+   content: "\f369";
+ }
+ .fa-acquisitions-incorporated:before {
+   content: "\f6af";
+ }
+ .fa-ad:before {
+   content: "\f641";
+ }
+ .fa-address-book:before {
+   content: "\f2b9";
+ }
+ .fa-address-card:before {
+   content: "\f2bb";
+ }
+ .fa-adjust:before {
+   content: "\f042";
+ }
+ .fa-adn:before {
+   content: "\f170";
+ }
+ .fa-adversal:before {
+   content: "\f36a";
+ }
+ .fa-affiliatetheme:before {
+   content: "\f36b";
+ }
+ .fa-air-freshener:before {
+   content: "\f5d0";
+ }
+ .fa-airbnb:before {
+   content: "\f834";
+ }
+ .fa-algolia:before {
+   content: "\f36c";
+ }
+ .fa-align-center:before {
+   content: "\f037";
+ }
+ .fa-align-justify:before {
+   content: "\f039";
+ }
+ .fa-align-left:before {
+   content: "\f036";
+ }
+ .fa-align-right:before {
+   content: "\f038";
+ }
+ .fa-alipay:before {
+   content: "\f642";
+ }
+ .fa-allergies:before {
+   content: "\f461";
+ }
+ .fa-amazon:before {
+   content: "\f270";
+ }
+ .fa-amazon-pay:before {
+   content: "\f42c";
+ }
+ .fa-ambulance:before {
+   content: "\f0f9";
+ }
+ .fa-american-sign-language-interpreting:before {
+   content: "\f2a3";
+ }
+ .fa-amilia:before {
+   content: "\f36d";
+ }
+ .fa-anchor:before {
+   content: "\f13d";
+ }
+ .fa-android:before {
+   content: "\f17b";
+ }
+ .fa-angellist:before {
+   content: "\f209";
+ }
+ .fa-angle-double-down:before {
+   content: "\f103";
+ }
+ .fa-angle-double-left:before {
+   content: "\f100";
+ }
+ .fa-angle-double-right:before {
+   content: "\f101";
+ }
+ .fa-angle-double-up:before {
+   content: "\f102";
+ }
+ .fa-angle-down:before {
+   content: "\f107";
+ }
+ .fa-angle-left:before {
+   content: "\f104";
+ }
+ .fa-angle-right:before {
+   content: "\f105";
+ }
+ .fa-angle-up:before {
+   content: "\f106";
+ }
+ .fa-angry:before {
+   content: "\f556";
+ }
+ .fa-angrycreative:before {
+   content: "\f36e";
+ }
+ .fa-angular:before {
+   content: "\f420";
+ }
+ .fa-ankh:before {
+   content: "\f644";
+ }
+ .fa-app-store:before {
+   content: "\f36f";
+ }
+ .fa-app-store-ios:before {
+   content: "\f370";
+ }
+ .fa-apper:before {
+   content: "\f371";
+ }
+ .fa-apple:before {
+   content: "\f179";
+ }
+ .fa-apple-alt:before {
+   content: "\f5d1";
+ }
+ .fa-apple-pay:before {
+   content: "\f415";
+ }
+ .fa-archive:before {
+   content: "\f187";
+ }
+ .fa-archway:before {
+   content: "\f557";
+ }
+ .fa-arrow-alt-circle-down:before {
+   content: "\f358";
+ }
+ .fa-arrow-alt-circle-left:before {
+   content: "\f359";
+ }
+ .fa-arrow-alt-circle-right:before {
+   content: "\f35a";
+ }
+ .fa-arrow-alt-circle-up:before {
+   content: "\f35b";
+ }
+ .fa-arrow-circle-down:before {
+   content: "\f0ab";
+ }
+ .fa-arrow-circle-left:before {
+   content: "\f0a8";
+ }
+ .fa-arrow-circle-right:before {
+   content: "\f0a9";
+ }
+ .fa-arrow-circle-up:before {
+   content: "\f0aa";
+ }
+ .fa-arrow-down:before {
+   content: "\f063";
+ }
+ .fa-arrow-left:before {
+   content: "\f060";
+ }
+ .fa-arrow-right:before {
+   content: "\f061";
+ }
+ .fa-arrow-up:before {
+   content: "\f062";
+ }
+ .fa-arrows-alt:before {
+   content: "\f0b2";
+ }
+ .fa-arrows-alt-h:before {
+   content: "\f337";
+ }
+ .fa-arrows-alt-v:before {
+   content: "\f338";
+ }
+ .fa-artstation:before {
+   content: "\f77a";
+ }
+ .fa-assistive-listening-systems:before {
+   content: "\f2a2";
+ }
+ .fa-asterisk:before {
+   content: "\f069";
+ }
+ .fa-asymmetrik:before {
+   content: "\f372";
+ }
+ .fa-at:before {
+   content: "\f1fa";
+ }
+ .fa-atlas:before {
+   content: "\f558";
+ }
+ .fa-atlassian:before {
+   content: "\f77b";
+ }
+ .fa-atom:before {
+   content: "\f5d2";
+ }
+ .fa-audible:before {
+   content: "\f373";
+ }
+ .fa-audio-description:before {
+   content: "\f29e";
+ }
+ .fa-autoprefixer:before {
+   content: "\f41c";
+ }
+ .fa-avianex:before {
+   content: "\f374";
+ }
+ .fa-aviato:before {
+   content: "\f421";
+ }
+ .fa-award:before {
+   content: "\f559";
+ }
+ .fa-aws:before {
+   content: "\f375";
+ }
+ .fa-baby:before {
+   content: "\f77c";
+ }
+ .fa-baby-carriage:before {
+   content: "\f77d";
+ }
+ .fa-backspace:before {
+   content: "\f55a";
+ }
+ .fa-backward:before {
+   content: "\f04a";
+ }
+ .fa-bacon:before {
+   content: "\f7e5";
+ }
+ .fa-bacteria:before {
+   content: "\e059";
+ }
+ .fa-bacterium:before {
+   content: "\e05a";
+ }
+ .fa-bahai:before {
+   content: "\f666";
+ }
+ .fa-balance-scale:before {
+   content: "\f24e";
+ }
+ .fa-balance-scale-left:before {
+   content: "\f515";
+ }
+ .fa-balance-scale-right:before {
+   content: "\f516";
+ }
+ .fa-ban:before {
+   content: "\f05e";
+ }
+ .fa-band-aid:before {
+   content: "\f462";
+ }
+ .fa-bandcamp:before {
+   content: "\f2d5";
+ }
+ .fa-barcode:before {
+   content: "\f02a";
+ }
+ .fa-bars:before {
+   content: "\f0c9";
+ }
+ .fa-baseball-ball:before {
+   content: "\f433";
+ }
+ .fa-basketball-ball:before {
+   content: "\f434";
+ }
+ .fa-bath:before {
+   content: "\f2cd";
+ }
+ .fa-battery-empty:before {
+   content: "\f244";
+ }
+ .fa-battery-full:before {
+   content: "\f240";
+ }
+ .fa-battery-half:before {
+   content: "\f242";
+ }
+ .fa-battery-quarter:before {
+   content: "\f243";
+ }
+ .fa-battery-three-quarters:before {
+   content: "\f241";
+ }
+ .fa-battle-net:before {
+   content: "\f835";
+ }
+ .fa-bed:before {
+   content: "\f236";
+ }
+ .fa-beer:before {
+   content: "\f0fc";
+ }
+ .fa-behance:before {
+   content: "\f1b4";
+ }
+ .fa-behance-square:before {
+   content: "\f1b5";
+ }
+ .fa-bell:before {
+   content: "\f0f3";
+ }
+ .fa-bell-slash:before {
+   content: "\f1f6";
+ }
+ .fa-bezier-curve:before {
+   content: "\f55b";
+ }
+ .fa-bible:before {
+   content: "\f647";
+ }
+ .fa-bicycle:before {
+   content: "\f206";
+ }
+ .fa-biking:before {
+   content: "\f84a";
+ }
+ .fa-bimobject:before {
+   content: "\f378";
+ }
+ .fa-binoculars:before {
+   content: "\f1e5";
+ }
+ .fa-biohazard:before {
+   content: "\f780";
+ }
+ .fa-birthday-cake:before {
+   content: "\f1fd";
+ }
+ .fa-bitbucket:before {
+   content: "\f171";
+ }
+ .fa-bitcoin:before {
+   content: "\f379";
+ }
+ .fa-bity:before {
+   content: "\f37a";
+ }
+ .fa-black-tie:before {
+   content: "\f27e";
+ }
+ .fa-blackberry:before {
+   content: "\f37b";
+ }
+ .fa-blender:before {
+   content: "\f517";
+ }
+ .fa-blender-phone:before {
+   content: "\f6b6";
+ }
+ .fa-blind:before {
+   content: "\f29d";
+ }
+ .fa-blog:before {
+   content: "\f781";
+ }
+ .fa-blogger:before {
+   content: "\f37c";
+ }
+ .fa-blogger-b:before {
+   content: "\f37d";
+ }
+ .fa-bluetooth:before {
+   content: "\f293";
+ }
+ .fa-bluetooth-b:before {
+   content: "\f294";
+ }
+ .fa-bold:before {
+   content: "\f032";
+ }
+ .fa-bolt:before {
+   content: "\f0e7";
+ }
+ .fa-bomb:before {
+   content: "\f1e2";
+ }
+ .fa-bone:before {
+   content: "\f5d7";
+ }
+ .fa-bong:before {
+   content: "\f55c";
+ }
+ .fa-book:before {
+   content: "\f02d";
+ }
+ .fa-book-dead:before {
+   content: "\f6b7";
+ }
+ .fa-book-medical:before {
+   content: "\f7e6";
+ }
+ .fa-book-open:before {
+   content: "\f518";
+ }
+ .fa-book-reader:before {
+   content: "\f5da";
+ }
+ .fa-bookmark:before {
+   content: "\f02e";
+ }
+ .fa-bootstrap:before {
+   content: "\f836";
+ }
+ .fa-border-all:before {
+   content: "\f84c";
+ }
+ .fa-border-none:before {
+   content: "\f850";
+ }
+ .fa-border-style:before {
+   content: "\f853";
+ }
+ .fa-bowling-ball:before {
+   content: "\f436";
+ }
+ .fa-box:before {
+   content: "\f466";
+ }
+ .fa-box-open:before {
+   content: "\f49e";
+ }
+ .fa-box-tissue:before {
+   content: "\e05b";
+ }
+ .fa-boxes:before {
+   content: "\f468";
+ }
+ .fa-braille:before {
+   content: "\f2a1";
+ }
+ .fa-brain:before {
+   content: "\f5dc";
+ }
+ .fa-bread-slice:before {
+   content: "\f7ec";
+ }
+ .fa-briefcase:before {
+   content: "\f0b1";
+ }
+ .fa-briefcase-medical:before {
+   content: "\f469";
+ }
+ .fa-broadcast-tower:before {
+   content: "\f519";
+ }
+ .fa-broom:before {
+   content: "\f51a";
+ }
+ .fa-brush:before {
+   content: "\f55d";
+ }
+ .fa-btc:before {
+   content: "\f15a";
+ }
+ .fa-buffer:before {
+   content: "\f837";
+ }
+ .fa-bug:before {
+   content: "\f188";
+ }
+ .fa-building:before {
+   content: "\f1ad";
+ }
+ .fa-bullhorn:before {
+   content: "\f0a1";
+ }
+ .fa-bullseye:before {
+   content: "\f140";
+ }
+ .fa-burn:before {
+   content: "\f46a";
+ }
+ .fa-buromobelexperte:before {
+   content: "\f37f";
+ }
+ .fa-bus:before {
+   content: "\f207";
+ }
+ .fa-bus-alt:before {
+   content: "\f55e";
+ }
+ .fa-business-time:before {
+   content: "\f64a";
+ }
+ .fa-buy-n-large:before {
+   content: "\f8a6";
+ }
+ .fa-buysellads:before {
+   content: "\f20d";
+ }
+ .fa-calculator:before {
+   content: "\f1ec";
+ }
+ .fa-calendar:before {
+   content: "\f133";
+ }
+ .fa-calendar-alt:before {
+   content: "\f073";
+ }
+ .fa-calendar-check:before {
+   content: "\f274";
+ }
+ .fa-calendar-day:before {
+   content: "\f783";
+ }
+ .fa-calendar-minus:before {
+   content: "\f272";
+ }
+ .fa-calendar-plus:before {
+   content: "\f271";
+ }
+ .fa-calendar-times:before {
+   content: "\f273";
+ }
+ .fa-calendar-week:before {
+   content: "\f784";
+ }
+ .fa-camera:before {
+   content: "\f030";
+ }
+ .fa-camera-retro:before {
+   content: "\f083";
+ }
+ .fa-campground:before {
+   content: "\f6bb";
+ }
+ .fa-canadian-maple-leaf:before {
+   content: "\f785";
+ }
+ .fa-candy-cane:before {
+   content: "\f786";
+ }
+ .fa-cannabis:before {
+   content: "\f55f";
+ }
+ .fa-capsules:before {
+   content: "\f46b";
+ }
+ .fa-car:before {
+   content: "\f1b9";
+ }
+ .fa-car-alt:before {
+   content: "\f5de";
+ }
+ .fa-car-battery:before {
+   content: "\f5df";
+ }
+ .fa-car-crash:before {
+   content: "\f5e1";
+ }
+ .fa-car-side:before {
+   content: "\f5e4";
+ }
+ .fa-caravan:before {
+   content: "\f8ff";
+ }
+ .fa-caret-down:before {
+   content: "\f0d7";
+ }
+ .fa-caret-left:before {
+   content: "\f0d9";
+ }
+ .fa-caret-right:before {
+   content: "\f0da";
+ }
+ .fa-caret-square-down:before {
+   content: "\f150";
+ }
+ .fa-caret-square-left:before {
+   content: "\f191";
+ }
+ .fa-caret-square-right:before {
+   content: "\f152";
+ }
+ .fa-caret-square-up:before {
+   content: "\f151";
+ }
+ .fa-caret-up:before {
+   content: "\f0d8";
+ }
+ .fa-carrot:before {
+   content: "\f787";
+ }
+ .fa-cart-arrow-down:before {
+   content: "\f218";
+ }
+ .fa-cart-plus:before {
+   content: "\f217";
+ }
+ .fa-cash-register:before {
+   content: "\f788";
+ }
+ .fa-cat:before {
+   content: "\f6be";
+ }
+ .fa-cc-amazon-pay:before {
+   content: "\f42d";
+ }
+ .fa-cc-amex:before {
+   content: "\f1f3";
+ }
+ .fa-cc-apple-pay:before {
+   content: "\f416";
+ }
+ .fa-cc-diners-club:before {
+   content: "\f24c";
+ }
+ .fa-cc-discover:before {
+   content: "\f1f2";
+ }
+ .fa-cc-jcb:before {
+   content: "\f24b";
+ }
+ .fa-cc-mastercard:before {
+   content: "\f1f1";
+ }
+ .fa-cc-paypal:before {
+   content: "\f1f4";
+ }
+ .fa-cc-stripe:before {
+   content: "\f1f5";
+ }
+ .fa-cc-visa:before {
+   content: "\f1f0";
+ }
+ .fa-centercode:before {
+   content: "\f380";
+ }
+ .fa-centos:before {
+   content: "\f789";
+ }
+ .fa-certificate:before {
+   content: "\f0a3";
+ }
+ .fa-chair:before {
+   content: "\f6c0";
+ }
+ .fa-chalkboard:before {
+   content: "\f51b";
+ }
+ .fa-chalkboard-teacher:before {
+   content: "\f51c";
+ }
+ .fa-charging-station:before {
+   content: "\f5e7";
+ }
+ .fa-chart-area:before {
+   content: "\f1fe";
+ }
+ .fa-chart-bar:before {
+   content: "\f080";
+ }
+ .fa-chart-line:before {
+   content: "\f201";
+ }
+ .fa-chart-pie:before {
+   content: "\f200";
+ }
+ .fa-check:before {
+   content: "\f00c";
+ }
+ .fa-check-circle:before {
+   content: "\f058";
+ }
+ .fa-check-double:before {
+   content: "\f560";
+ }
+ .fa-check-square:before {
+   content: "\f14a";
+ }
+ .fa-cheese:before {
+   content: "\f7ef";
+ }
+ .fa-chess:before {
+   content: "\f439";
+ }
+ .fa-chess-bishop:before {
+   content: "\f43a";
+ }
+ .fa-chess-board:before {
+   content: "\f43c";
+ }
+ .fa-chess-king:before {
+   content: "\f43f";
+ }
+ .fa-chess-knight:before {
+   content: "\f441";
+ }
+ .fa-chess-pawn:before {
+   content: "\f443";
+ }
+ .fa-chess-queen:before {
+   content: "\f445";
+ }
+ .fa-chess-rook:before {
+   content: "\f447";
+ }
+ .fa-chevron-circle-down:before {
+   content: "\f13a";
+ }
+ .fa-chevron-circle-left:before {
+   content: "\f137";
+ }
+ .fa-chevron-circle-right:before {
+   content: "\f138";
+ }
+ .fa-chevron-circle-up:before {
+   content: "\f139";
+ }
+ .fa-chevron-down:before {
+   content: "\f078";
+ }
+ .fa-chevron-left:before {
+   content: "\f053";
+ }
+ .fa-chevron-right:before {
+   content: "\f054";
+ }
+ .fa-chevron-up:before {
+   content: "\f077";
+ }
+ .fa-child:before {
+   content: "\f1ae";
+ }
+ .fa-chrome:before {
+   content: "\f268";
+ }
+ .fa-chromecast:before {
+   content: "\f838";
+ }
+ .fa-church:before {
+   content: "\f51d";
+ }
+ .fa-circle:before {
+   content: "\f111";
+ }
+ .fa-circle-notch:before {
+   content: "\f1ce";
+ }
+ .fa-city:before {
+   content: "\f64f";
+ }
+ .fa-clinic-medical:before {
+   content: "\f7f2";
+ }
+ .fa-clipboard:before {
+   content: "\f328";
+ }
+ .fa-clipboard-check:before {
+   content: "\f46c";
+ }
+ .fa-clipboard-list:before {
+   content: "\f46d";
+ }
+ .fa-clock:before {
+   content: "\f017";
+ }
+ .fa-clone:before {
+   content: "\f24d";
+ }
+ .fa-closed-captioning:before {
+   content: "\f20a";
+ }
+ .fa-cloud:before {
+   content: "\f0c2";
+ }
+ .fa-cloud-download-alt:before {
+   content: "\f381";
+ }
+ .fa-cloud-meatball:before {
+   content: "\f73b";
+ }
+ .fa-cloud-moon:before {
+   content: "\f6c3";
+ }
+ .fa-cloud-moon-rain:before {
+   content: "\f73c";
+ }
+ .fa-cloud-rain:before {
+   content: "\f73d";
+ }
+ .fa-cloud-showers-heavy:before {
+   content: "\f740";
+ }
+ .fa-cloud-sun:before {
+   content: "\f6c4";
+ }
+ .fa-cloud-sun-rain:before {
+   content: "\f743";
+ }
+ .fa-cloud-upload-alt:before {
+   content: "\f382";
+ }
+ .fa-cloudflare:before {
+   content: "\e07d";
+ }
+ .fa-cloudscale:before {
+   content: "\f383";
+ }
+ .fa-cloudsmith:before {
+   content: "\f384";
+ }
+ .fa-cloudversify:before {
+   content: "\f385";
+ }
+ .fa-cocktail:before {
+   content: "\f561";
+ }
+ .fa-code:before {
+   content: "\f121";
+ }
+ .fa-code-branch:before {
+   content: "\f126";
+ }
+ .fa-codepen:before {
+   content: "\f1cb";
+ }
+ .fa-codiepie:before {
+   content: "\f284";
+ }
+ .fa-coffee:before {
+   content: "\f0f4";
+ }
+ .fa-cog:before {
+   content: "\f013";
+ }
+ .fa-cogs:before {
+   content: "\f085";
+ }
+ .fa-coins:before {
+   content: "\f51e";
+ }
+ .fa-columns:before {
+   content: "\f0db";
+ }
+ .fa-comment:before {
+   content: "\f075";
+ }
+ .fa-comment-alt:before {
+   content: "\f27a";
+ }
+ .fa-comment-dollar:before {
+   content: "\f651";
+ }
+ .fa-comment-dots:before {
+   content: "\f4ad";
+ }
+ .fa-comment-medical:before {
+   content: "\f7f5";
+ }
+ .fa-comment-slash:before {
+   content: "\f4b3";
+ }
+ .fa-comments:before {
+   content: "\f086";
+ }
+ .fa-comments-dollar:before {
+   content: "\f653";
+ }
+ .fa-compact-disc:before {
+   content: "\f51f";
+ }
+ .fa-compass:before {
+   content: "\f14e";
+ }
+ .fa-compress:before {
+   content: "\f066";
+ }
+ .fa-compress-alt:before {
+   content: "\f422";
+ }
+ .fa-compress-arrows-alt:before {
+   content: "\f78c";
+ }
+ .fa-concierge-bell:before {
+   content: "\f562";
+ }
+ .fa-confluence:before {
+   content: "\f78d";
+ }
+ .fa-connectdevelop:before {
+   content: "\f20e";
+ }
+ .fa-contao:before {
+   content: "\f26d";
+ }
+ .fa-cookie:before {
+   content: "\f563";
+ }
+ .fa-cookie-bite:before {
+   content: "\f564";
+ }
+ .fa-copy:before {
+   content: "\f0c5";
+ }
+ .fa-copyright:before {
+   content: "\f1f9";
+ }
+ .fa-cotton-bureau:before {
+   content: "\f89e";
+ }
+ .fa-couch:before {
+   content: "\f4b8";
+ }
+ .fa-cpanel:before {
+   content: "\f388";
+ }
+ .fa-creative-commons:before {
+   content: "\f25e";
+ }
+ .fa-creative-commons-by:before {
+   content: "\f4e7";
+ }
+ .fa-creative-commons-nc:before {
+   content: "\f4e8";
+ }
+ .fa-creative-commons-nc-eu:before {
+   content: "\f4e9";
+ }
+ .fa-creative-commons-nc-jp:before {
+   content: "\f4ea";
+ }
+ .fa-creative-commons-nd:before {
+   content: "\f4eb";
+ }
+ .fa-creative-commons-pd:before {
+   content: "\f4ec";
+ }
+ .fa-creative-commons-pd-alt:before {
+   content: "\f4ed";
+ }
+ .fa-creative-commons-remix:before {
+   content: "\f4ee";
+ }
+ .fa-creative-commons-sa:before {
+   content: "\f4ef";
+ }
+ .fa-creative-commons-sampling:before {
+   content: "\f4f0";
+ }
+ .fa-creative-commons-sampling-plus:before {
+   content: "\f4f1";
+ }
+ .fa-creative-commons-share:before {
+   content: "\f4f2";
+ }
+ .fa-creative-commons-zero:before {
+   content: "\f4f3";
+ }
+ .fa-credit-card:before {
+   content: "\f09d";
+ }
+ .fa-critical-role:before {
+   content: "\f6c9";
+ }
+ .fa-crop:before {
+   content: "\f125";
+ }
+ .fa-crop-alt:before {
+   content: "\f565";
+ }
+ .fa-cross:before {
+   content: "\f654";
+ }
+ .fa-crosshairs:before {
+   content: "\f05b";
+ }
+ .fa-crow:before {
+   content: "\f520";
+ }
+ .fa-crown:before {
+   content: "\f521";
+ }
+ .fa-crutch:before {
+   content: "\f7f7";
+ }
+ .fa-css3:before {
+   content: "\f13c";
+ }
+ .fa-css3-alt:before {
+   content: "\f38b";
+ }
+ .fa-cube:before {
+   content: "\f1b2";
+ }
+ .fa-cubes:before {
+   content: "\f1b3";
+ }
+ .fa-cut:before {
+   content: "\f0c4";
+ }
+ .fa-cuttlefish:before {
+   content: "\f38c";
+ }
+ .fa-d-and-d:before {
+   content: "\f38d";
+ }
+ .fa-d-and-d-beyond:before {
+   content: "\f6ca";
+ }
+ .fa-dailymotion:before {
+   content: "\e052";
+ }
+ .fa-dashcube:before {
+   content: "\f210";
+ }
+ .fa-database:before {
+   content: "\f1c0";
+ }
+ .fa-deaf:before {
+   content: "\f2a4";
+ }
+ .fa-deezer:before {
+   content: "\e077";
+ }
+ .fa-delicious:before {
+   content: "\f1a5";
+ }
+ .fa-democrat:before {
+   content: "\f747";
+ }
+ .fa-deploydog:before {
+   content: "\f38e";
+ }
+ .fa-deskpro:before {
+   content: "\f38f";
+ }
+ .fa-desktop:before {
+   content: "\f108";
+ }
+ .fa-dev:before {
+   content: "\f6cc";
+ }
+ .fa-deviantart:before {
+   content: "\f1bd";
+ }
+ .fa-dharmachakra:before {
+   content: "\f655";
+ }
+ .fa-dhl:before {
+   content: "\f790";
+ }
+ .fa-diagnoses:before {
+   content: "\f470";
+ }
+ .fa-diaspora:before {
+   content: "\f791";
+ }
+ .fa-dice:before {
+   content: "\f522";
+ }
+ .fa-dice-d20:before {
+   content: "\f6cf";
+ }
+ .fa-dice-d6:before {
+   content: "\f6d1";
+ }
+ .fa-dice-five:before {
+   content: "\f523";
+ }
+ .fa-dice-four:before {
+   content: "\f524";
+ }
+ .fa-dice-one:before {
+   content: "\f525";
+ }
+ .fa-dice-six:before {
+   content: "\f526";
+ }
+ .fa-dice-three:before {
+   content: "\f527";
+ }
+ .fa-dice-two:before {
+   content: "\f528";
+ }
+ .fa-digg:before {
+   content: "\f1a6";
+ }
+ .fa-digital-ocean:before {
+   content: "\f391";
+ }
+ .fa-digital-tachograph:before {
+   content: "\f566";
+ }
+ .fa-directions:before {
+   content: "\f5eb";
+ }
+ .fa-discord:before {
+   content: "\f392";
+ }
+ .fa-discourse:before {
+   content: "\f393";
+ }
+ .fa-disease:before {
+   content: "\f7fa";
+ }
+ .fa-divide:before {
+   content: "\f529";
+ }
+ .fa-dizzy:before {
+   content: "\f567";
+ }
+ .fa-dna:before {
+   content: "\f471";
+ }
+ .fa-dochub:before {
+   content: "\f394";
+ }
+ .fa-docker:before {
+   content: "\f395";
+ }
+ .fa-dog:before {
+   content: "\f6d3";
+ }
+ .fa-dollar-sign:before {
+   content: "\f155";
+ }
+ .fa-dolly:before {
+   content: "\f472";
+ }
+ .fa-dolly-flatbed:before {
+   content: "\f474";
+ }
+ .fa-donate:before {
+   content: "\f4b9";
+ }
+ .fa-door-closed:before {
+   content: "\f52a";
+ }
+ .fa-door-open:before {
+   content: "\f52b";
+ }
+ .fa-dot-circle:before {
+   content: "\f192";
+ }
+ .fa-dove:before {
+   content: "\f4ba";
+ }
+ .fa-download:before {
+   content: "\f019";
+ }
+ .fa-draft2digital:before {
+   content: "\f396";
+ }
+ .fa-drafting-compass:before {
+   content: "\f568";
+ }
+ .fa-dragon:before {
+   content: "\f6d5";
+ }
+ .fa-draw-polygon:before {
+   content: "\f5ee";
+ }
+ .fa-dribbble:before {
+   content: "\f17d";
+ }
+ .fa-dribbble-square:before {
+   content: "\f397";
+ }
+ .fa-dropbox:before {
+   content: "\f16b";
+ }
+ .fa-drum:before {
+   content: "\f569";
+ }
+ .fa-drum-steelpan:before {
+   content: "\f56a";
+ }
+ .fa-drumstick-bite:before {
+   content: "\f6d7";
+ }
+ .fa-drupal:before {
+   content: "\f1a9";
+ }
+ .fa-dumbbell:before {
+   content: "\f44b";
+ }
+ .fa-dumpster:before {
+   content: "\f793";
+ }
+ .fa-dumpster-fire:before {
+   content: "\f794";
+ }
+ .fa-dungeon:before {
+   content: "\f6d9";
+ }
+ .fa-dyalog:before {
+   content: "\f399";
+ }
+ .fa-earlybirds:before {
+   content: "\f39a";
+ }
+ .fa-ebay:before {
+   content: "\f4f4";
+ }
+ .fa-edge:before {
+   content: "\f282";
+ }
+ .fa-edge-legacy:before {
+   content: "\e078";
+ }
+ .fa-edit:before {
+   content: "\f044";
+ }
+ .fa-egg:before {
+   content: "\f7fb";
+ }
+ .fa-eject:before {
+   content: "\f052";
+ }
+ .fa-elementor:before {
+   content: "\f430";
+ }
+ .fa-ellipsis-h:before {
+   content: "\f141";
+ }
+ .fa-ellipsis-v:before {
+   content: "\f142";
+ }
+ .fa-ello:before {
+   content: "\f5f1";
+ }
+ .fa-ember:before {
+   content: "\f423";
+ }
+ .fa-empire:before {
+   content: "\f1d1";
+ }
+ .fa-envelope:before {
+   content: "\f0e0";
+ }
+ .fa-envelope-open:before {
+   content: "\f2b6";
+ }
+ .fa-envelope-open-text:before {
+   content: "\f658";
+ }
+ .fa-envelope-square:before {
+   content: "\f199";
+ }
+ .fa-envira:before {
+   content: "\f299";
+ }
+ .fa-equals:before {
+   content: "\f52c";
+ }
+ .fa-eraser:before {
+   content: "\f12d";
+ }
+ .fa-erlang:before {
+   content: "\f39d";
+ }
+ .fa-ethereum:before {
+   content: "\f42e";
+ }
+ .fa-ethernet:before {
+   content: "\f796";
+ }
+ .fa-etsy:before {
+   content: "\f2d7";
+ }
+ .fa-euro-sign:before {
+   content: "\f153";
+ }
+ .fa-evernote:before {
+   content: "\f839";
+ }
+ .fa-exchange-alt:before {
+   content: "\f362";
+ }
+ .fa-exclamation:before {
+   content: "\f12a";
+ }
+ .fa-exclamation-circle:before {
+   content: "\f06a";
+ }
+ .fa-exclamation-triangle:before {
+   content: "\f071";
+ }
+ .fa-expand:before {
+   content: "\f065";
+ }
+ .fa-expand-alt:before {
+   content: "\f424";
+ }
+ .fa-expand-arrows-alt:before {
+   content: "\f31e";
+ }
+ .fa-expeditedssl:before {
+   content: "\f23e";
+ }
+ .fa-external-link-alt:before {
+   content: "\f35d";
+ }
+ .fa-external-link-square-alt:before {
+   content: "\f360";
+ }
+ .fa-eye:before {
+   content: "\f06e";
+ }
+ .fa-eye-dropper:before {
+   content: "\f1fb";
+ }
+ .fa-eye-slash:before {
+   content: "\f070";
+ }
+ .fa-facebook:before {
+   content: "\f09a";
+ }
+ .fa-facebook-f:before {
+   content: "\f39e";
+ }
+ .fa-facebook-messenger:before {
+   content: "\f39f";
+ }
+ .fa-facebook-square:before {
+   content: "\f082";
+ }
+ .fa-fan:before {
+   content: "\f863";
+ }
+ .fa-fantasy-flight-games:before {
+   content: "\f6dc";
+ }
+ .fa-fast-backward:before {
+   content: "\f049";
+ }
+ .fa-fast-forward:before {
+   content: "\f050";
+ }
+ .fa-faucet:before {
+   content: "\e005";
+ }
+ .fa-fax:before {
+   content: "\f1ac";
+ }
+ .fa-feather:before {
+   content: "\f52d";
+ }
+ .fa-feather-alt:before {
+   content: "\f56b";
+ }
+ .fa-fedex:before {
+   content: "\f797";
+ }
+ .fa-fedora:before {
+   content: "\f798";
+ }
+ .fa-female:before {
+   content: "\f182";
+ }
+ .fa-fighter-jet:before {
+   content: "\f0fb";
+ }
+ .fa-figma:before {
+   content: "\f799";
+ }
+ .fa-file:before {
+   content: "\f15b";
+ }
+ .fa-file-alt:before {
+   content: "\f15c";
+ }
+ .fa-file-archive:before {
+   content: "\f1c6";
+ }
+ .fa-file-audio:before {
+   content: "\f1c7";
+ }
+ .fa-file-code:before {
+   content: "\f1c9";
+ }
+ .fa-file-contract:before {
+   content: "\f56c";
+ }
+ .fa-file-csv:before {
+   content: "\f6dd";
+ }
+ .fa-file-download:before {
+   content: "\f56d";
+ }
+ .fa-file-excel:before {
+   content: "\f1c3";
+ }
+ .fa-file-export:before {
+   content: "\f56e";
+ }
+ .fa-file-image:before {
+   content: "\f1c5";
+ }
+ .fa-file-import:before {
+   content: "\f56f";
+ }
+ .fa-file-invoice:before {
+   content: "\f570";
+ }
+ .fa-file-invoice-dollar:before {
+   content: "\f571";
+ }
+ .fa-file-medical:before {
+   content: "\f477";
+ }
+ .fa-file-medical-alt:before {
+   content: "\f478";
+ }
+ .fa-file-pdf:before {
+   content: "\f1c1";
+ }
+ .fa-file-powerpoint:before {
+   content: "\f1c4";
+ }
+ .fa-file-prescription:before {
+   content: "\f572";
+ }
+ .fa-file-signature:before {
+   content: "\f573";
+ }
+ .fa-file-upload:before {
+   content: "\f574";
+ }
+ .fa-file-video:before {
+   content: "\f1c8";
+ }
+ .fa-file-word:before {
+   content: "\f1c2";
+ }
+ .fa-fill:before {
+   content: "\f575";
+ }
+ .fa-fill-drip:before {
+   content: "\f576";
+ }
+ .fa-film:before {
+   content: "\f008";
+ }
+ .fa-filter:before {
+   content: "\f0b0";
+ }
+ .fa-fingerprint:before {
+   content: "\f577";
+ }
+ .fa-fire:before {
+   content: "\f06d";
+ }
+ .fa-fire-alt:before {
+   content: "\f7e4";
+ }
+ .fa-fire-extinguisher:before {
+   content: "\f134";
+ }
+ .fa-firefox:before {
+   content: "\f269";
+ }
+ .fa-firefox-browser:before {
+   content: "\e007";
+ }
+ .fa-first-aid:before {
+   content: "\f479";
+ }
+ .fa-first-order:before {
+   content: "\f2b0";
+ }
+ .fa-first-order-alt:before {
+   content: "\f50a";
+ }
+ .fa-firstdraft:before {
+   content: "\f3a1";
+ }
+ .fa-fish:before {
+   content: "\f578";
+ }
+ .fa-fist-raised:before {
+   content: "\f6de";
+ }
+ .fa-flag:before {
+   content: "\f024";
+ }
+ .fa-flag-checkered:before {
+   content: "\f11e";
+ }
+ .fa-flag-usa:before {
+   content: "\f74d";
+ }
+ .fa-flask:before {
+   content: "\f0c3";
+ }
+ .fa-flickr:before {
+   content: "\f16e";
+ }
+ .fa-flipboard:before {
+   content: "\f44d";
+ }
+ .fa-flushed:before {
+   content: "\f579";
+ }
+ .fa-fly:before {
+   content: "\f417";
+ }
+ .fa-folder:before {
+   content: "\f07b";
+ }
+ .fa-folder-minus:before {
+   content: "\f65d";
+ }
+ .fa-folder-open:before {
+   content: "\f07c";
+ }
+ .fa-folder-plus:before {
+   content: "\f65e";
+ }
+ .fa-font:before {
+   content: "\f031";
+ }
+ .fa-font-awesome:before {
+   content: "\f2b4";
+ }
+ .fa-font-awesome-alt:before {
+   content: "\f35c";
+ }
+ .fa-font-awesome-flag:before {
+   content: "\f425";
+ }
+ .fa-font-awesome-logo-full:before {
+   content: "\f4e6";
+ }
+ .fa-fonticons:before {
+   content: "\f280";
+ }
+ .fa-fonticons-fi:before {
+   content: "\f3a2";
+ }
+ .fa-football-ball:before {
+   content: "\f44e";
+ }
+ .fa-fort-awesome:before {
+   content: "\f286";
+ }
+ .fa-fort-awesome-alt:before {
+   content: "\f3a3";
+ }
+ .fa-forumbee:before {
+   content: "\f211";
+ }
+ .fa-forward:before {
+   content: "\f04e";
+ }
+ .fa-foursquare:before {
+   content: "\f180";
+ }
+ .fa-free-code-camp:before {
+   content: "\f2c5";
+ }
+ .fa-freebsd:before {
+   content: "\f3a4";
+ }
+ .fa-frog:before {
+   content: "\f52e";
+ }
+ .fa-frown:before {
+   content: "\f119";
+ }
+ .fa-frown-open:before {
+   content: "\f57a";
+ }
+ .fa-fulcrum:before {
+   content: "\f50b";
+ }
+ .fa-funnel-dollar:before {
+   content: "\f662";
+ }
+ .fa-futbol:before {
+   content: "\f1e3";
+ }
+ .fa-galactic-republic:before {
+   content: "\f50c";
+ }
+ .fa-galactic-senate:before {
+   content: "\f50d";
+ }
+ .fa-gamepad:before {
+   content: "\f11b";
+ }
+ .fa-gas-pump:before {
+   content: "\f52f";
+ }
+ .fa-gavel:before {
+   content: "\f0e3";
+ }
+ .fa-gem:before {
+   content: "\f3a5";
+ }
+ .fa-genderless:before {
+   content: "\f22d";
+ }
+ .fa-get-pocket:before {
+   content: "\f265";
+ }
+ .fa-gg:before {
+   content: "\f260";
+ }
+ .fa-gg-circle:before {
+   content: "\f261";
+ }
+ .fa-ghost:before {
+   content: "\f6e2";
+ }
+ .fa-gift:before {
+   content: "\f06b";
+ }
+ .fa-gifts:before {
+   content: "\f79c";
+ }
+ .fa-git:before {
+   content: "\f1d3";
+ }
+ .fa-git-alt:before {
+   content: "\f841";
+ }
+ .fa-git-square:before {
+   content: "\f1d2";
+ }
+ .fa-github:before {
+   content: "\f09b";
+ }
+ .fa-github-alt:before {
+   content: "\f113";
+ }
+ .fa-github-square:before {
+   content: "\f092";
+ }
+ .fa-gitkraken:before {
+   content: "\f3a6";
+ }
+ .fa-gitlab:before {
+   content: "\f296";
+ }
+ .fa-gitter:before {
+   content: "\f426";
+ }
+ .fa-glass-cheers:before {
+   content: "\f79f";
+ }
+ .fa-glass-martini:before {
+   content: "\f000";
+ }
+ .fa-glass-martini-alt:before {
+   content: "\f57b";
+ }
+ .fa-glass-whiskey:before {
+   content: "\f7a0";
+ }
+ .fa-glasses:before {
+   content: "\f530";
+ }
+ .fa-glide:before {
+   content: "\f2a5";
+ }
+ .fa-glide-g:before {
+   content: "\f2a6";
+ }
+ .fa-globe:before {
+   content: "\f0ac";
+ }
+ .fa-globe-africa:before {
+   content: "\f57c";
+ }
+ .fa-globe-americas:before {
+   content: "\f57d";
+ }
+ .fa-globe-asia:before {
+   content: "\f57e";
+ }
+ .fa-globe-europe:before {
+   content: "\f7a2";
+ }
+ .fa-gofore:before {
+   content: "\f3a7";
+ }
+ .fa-golf-ball:before {
+   content: "\f450";
+ }
+ .fa-goodreads:before {
+   content: "\f3a8";
+ }
+ .fa-goodreads-g:before {
+   content: "\f3a9";
+ }
+ .fa-google:before {
+   content: "\f1a0";
+ }
+ .fa-google-drive:before {
+   content: "\f3aa";
+ }
+ .fa-google-pay:before {
+   content: "\e079";
+ }
+ .fa-google-play:before {
+   content: "\f3ab";
+ }
+ .fa-google-plus:before {
+   content: "\f2b3";
+ }
+ .fa-google-plus-g:before {
+   content: "\f0d5";
+ }
+ .fa-google-plus-square:before {
+   content: "\f0d4";
+ }
+ .fa-google-wallet:before {
+   content: "\f1ee";
+ }
+ .fa-gopuram:before {
+   content: "\f664";
+ }
+ .fa-graduation-cap:before {
+   content: "\f19d";
+ }
+ .fa-gratipay:before {
+   content: "\f184";
+ }
+ .fa-grav:before {
+   content: "\f2d6";
+ }
+ .fa-greater-than:before {
+   content: "\f531";
+ }
+ .fa-greater-than-equal:before {
+   content: "\f532";
+ }
+ .fa-grimace:before {
+   content: "\f57f";
+ }
+ .fa-grin:before {
+   content: "\f580";
+ }
+ .fa-grin-alt:before {
+   content: "\f581";
+ }
+ .fa-grin-beam:before {
+   content: "\f582";
+ }
+ .fa-grin-beam-sweat:before {
+   content: "\f583";
+ }
+ .fa-grin-hearts:before {
+   content: "\f584";
+ }
+ .fa-grin-squint:before {
+   content: "\f585";
+ }
+ .fa-grin-squint-tears:before {
+   content: "\f586";
+ }
+ .fa-grin-stars:before {
+   content: "\f587";
+ }
+ .fa-grin-tears:before {
+   content: "\f588";
+ }
+ .fa-grin-tongue:before {
+   content: "\f589";
+ }
+ .fa-grin-tongue-squint:before {
+   content: "\f58a";
+ }
+ .fa-grin-tongue-wink:before {
+   content: "\f58b";
+ }
+ .fa-grin-wink:before {
+   content: "\f58c";
+ }
+ .fa-grip-horizontal:before {
+   content: "\f58d";
+ }
+ .fa-grip-lines:before {
+   content: "\f7a4";
+ }
+ .fa-grip-lines-vertical:before {
+   content: "\f7a5";
+ }
+ .fa-grip-vertical:before {
+   content: "\f58e";
+ }
+ .fa-gripfire:before {
+   content: "\f3ac";
+ }
+ .fa-grunt:before {
+   content: "\f3ad";
+ }
+ .fa-guilded:before {
+   content: "\e07e";
+ }
+ .fa-guitar:before {
+   content: "\f7a6";
+ }
+ .fa-gulp:before {
+   content: "\f3ae";
+ }
+ .fa-h-square:before {
+   content: "\f0fd";
+ }
+ .fa-hacker-news:before {
+   content: "\f1d4";
+ }
+ .fa-hacker-news-square:before {
+   content: "\f3af";
+ }
+ .fa-hackerrank:before {
+   content: "\f5f7";
+ }
+ .fa-hamburger:before {
+   content: "\f805";
+ }
+ .fa-hammer:before {
+   content: "\f6e3";
+ }
+ .fa-hamsa:before {
+   content: "\f665";
+ }
+ .fa-hand-holding:before {
+   content: "\f4bd";
+ }
+ .fa-hand-holding-heart:before {
+   content: "\f4be";
+ }
+ .fa-hand-holding-medical:before {
+   content: "\e05c";
+ }
+ .fa-hand-holding-usd:before {
+   content: "\f4c0";
+ }
+ .fa-hand-holding-water:before {
+   content: "\f4c1";
+ }
+ .fa-hand-lizard:before {
+   content: "\f258";
+ }
+ .fa-hand-middle-finger:before {
+   content: "\f004";
+ }
+ .fa-hand-paper:before {
+   content: "\f256";
+ }
+ .fa-hand-peace:before {
+   content: "\f25b";
+ }
+ .fa-hand-point-down:before {
+   content: "\f0a7";
+ }
+ .fa-hand-point-left:before {
+   content: "\f0a5";
+ }
+ .fa-hand-point-right:before {
+   content: "\f0a4";
+ }
+ .fa-hand-point-up:before {
+   content: "\f0a6";
+ }
+ .fa-hand-pointer:before {
+   content: "\f25a";
+ }
+ .fa-hand-rock:before {
+   content: "\f255";
+ }
+ .fa-hand-scissors:before {
+   content: "\f257";
+ }
+ .fa-hand-sparkles:before {
+   content: "\e05d";
+ }
+ .fa-hand-spock:before {
+   content: "\f259";
+ }
+ .fa-hands:before {
+   content: "\f4c2";
+ }
+ .fa-hands-helping:before {
+   content: "\f4c4";
+ }
+ .fa-hands-wash:before {
+   content: "\e05e";
+ }
+ .fa-handshake:before {
+   content: "\f2b5";
+ }
+ .fa-handshake-alt-slash:before {
+   content: "\e05f";
+ }
+ .fa-handshake-slash:before {
+   content: "\e060";
+ }
+ .fa-hanukiah:before {
+   content: "\f6e6";
+ }
+ .fa-hard-hat:before {
+   content: "\f807";
+ }
+ .fa-hashtag:before {
+   content: "\f292";
+ }
+ .fa-hat-cowboy:before {
+   content: "\f8c0";
+ }
+ .fa-hat-cowboy-side:before {
+   content: "\f8c1";
+ }
+ .fa-hat-wizard:before {
+   content: "\f6e8";
+ }
+ .fa-hdd:before {
+   content: "\f0a0";
+ }
+ .fa-head-side-cough:before {
+   content: "\e061";
+ }
+ .fa-head-side-cough-slash:before {
+   content: "\e062";
+ }
+ .fa-head-side-mask:before {
+   content: "\e063";
+ }
+ .fa-head-side-virus:before {
+   content: "\e064";
+ }
+ .fa-heading:before {
+   content: "\f1dc";
+ }
+ .fa-headphones:before {
+   content: "\f025";
+ }
+ .fa-headphones-alt:before {
+   content: "\f58f";
+ }
+ .fa-headset:before {
+   content: "\f590";
+ }
+ .fa-heart:before {
+   content: "\f004";
+ }
+ .fa-heart-broken:before {
+   content: "\f7a9";
+ }
+ .fa-heartbeat:before {
+   content: "\f21e";
+ }
+ .fa-helicopter:before {
+   content: "\f533";
+ }
+ .fa-highlighter:before {
+   content: "\f591";
+ }
+ .fa-hiking:before {
+   content: "\f6ec";
+ }
+ .fa-hippo:before {
+   content: "\f6ed";
+ }
+ .fa-hips:before {
+   content: "\f452";
+ }
+ .fa-hire-a-helper:before {
+   content: "\f3b0";
+ }
+ .fa-history:before {
+   content: "\f1da";
+ }
+ .fa-hive:before {
+   content: "\e07f";
+ }
+ .fa-hockey-puck:before {
+   content: "\f453";
+ }
+ .fa-holly-berry:before {
+   content: "\f7aa";
+ }
+ .fa-home:before {
+   content: "\f015";
+ }
+ .fa-hooli:before {
+   content: "\f427";
+ }
+ .fa-hornbill:before {
+   content: "\f592";
+ }
+ .fa-horse:before {
+   content: "\f6f0";
+ }
+ .fa-horse-head:before {
+   content: "\f7ab";
+ }
+ .fa-hospital:before {
+   content: "\f0f8";
+ }
+ .fa-hospital-alt:before {
+   content: "\f47d";
+ }
+ .fa-hospital-symbol:before {
+   content: "\f47e";
+ }
+ .fa-hospital-user:before {
+   content: "\f80d";
+ }
+ .fa-hot-tub:before {
+   content: "\f593";
+ }
+ .fa-hotdog:before {
+   content: "\f80f";
+ }
+ .fa-hotel:before {
+   content: "\f594";
+ }
+ .fa-hotjar:before {
+   content: "\f3b1";
+ }
+ .fa-hourglass:before {
+   content: "\f254";
+ }
+ .fa-hourglass-end:before {
+   content: "\f253";
+ }
+ .fa-hourglass-half:before {
+   content: "\f252";
+ }
+ .fa-hourglass-start:before {
+   content: "\f251";
+ }
+ .fa-house-damage:before {
+   content: "\f6f1";
+ }
+ .fa-house-user:before {
+   content: "\e065";
+ }
+ .fa-houzz:before {
+   content: "\f27c";
+ }
+ .fa-hryvnia:before {
+   content: "\f6f2";
+ }
+ .fa-html5:before {
+   content: "\f13b";
+ }
+ .fa-hubspot:before {
+   content: "\f3b2";
+ }
+ .fa-i-cursor:before {
+   content: "\f246";
+ }
+ .fa-ice-cream:before {
+   content: "\f810";
+ }
+ .fa-icicles:before {
+   content: "\f7ad";
+ }
+ .fa-icons:before {
+   content: "\f86d";
+ }
+ .fa-id-badge:before {
+   content: "\f2c1";
+ }
+ .fa-id-card:before {
+   content: "\f2c2";
+ }
+ .fa-id-card-alt:before {
+   content: "\f47f";
+ }
+ .fa-ideal:before {
+   content: "\e013";
+ }
+ .fa-igloo:before {
+   content: "\f7ae";
+ }
+ .fa-image:before {
+   content: "\f03e";
+ }
+ .fa-images:before {
+   content: "\f302";
+ }
+ .fa-imdb:before {
+   content: "\f2d8";
+ }
+ .fa-inbox:before {
+   content: "\f01c";
+ }
+ .fa-indent:before {
+   content: "\f03c";
+ }
+ .fa-industry:before {
+   content: "\f275";
+ }
+ .fa-infinity:before {
+   content: "\f534";
+ }
+ .fa-info:before {
+   content: "\f129";
+ }
+ .fa-info-circle:before {
+   content: "\f05a";
+ }
+ .fa-innosoft:before {
+   content: "\e080";
+ }
+ .fa-instagram:before {
+   content: "\f16d";
+ }
+ .fa-instagram-square:before {
+   content: "\e055";
+ }
+ .fa-instalod:before {
+   content: "\e081";
+ }
+ .fa-intercom:before {
+   content: "\f7af";
+ }
+ .fa-internet-explorer:before {
+   content: "\f26b";
+ }
+ .fa-invision:before {
+   content: "\f7b0";
+ }
+ .fa-ioxhost:before {
+   content: "\f208";
+ }
+ .fa-italic:before {
+   content: "\f033";
+ }
+ .fa-itch-io:before {
+   content: "\f83a";
+ }
+ .fa-itunes:before {
+   content: "\f3b4";
+ }
+ .fa-itunes-note:before {
+   content: "\f3b5";
+ }
+ .fa-java:before {
+   content: "\f4e4";
+ }
+ .fa-jedi:before {
+   content: "\f669";
+ }
+ .fa-jedi-order:before {
+   content: "\f50e";
+ }
+ .fa-jenkins:before {
+   content: "\f3b6";
+ }
+ .fa-jira:before {
+   content: "\f7b1";
+ }
+ .fa-joget:before {
+   content: "\f3b7";
+ }
+ .fa-joint:before {
+   content: "\f595";
+ }
+ .fa-joomla:before {
+   content: "\f1aa";
+ }
+ .fa-journal-whills:before {
+   content: "\f66a";
+ }
+ .fa-js:before {
+   content: "\f3b8";
+ }
+ .fa-js-square:before {
+   content: "\f3b9";
+ }
+ .fa-jsfiddle:before {
+   content: "\f1cc";
+ }
+ .fa-kaaba:before {
+   content: "\f66b";
+ }
+ .fa-kaggle:before {
+   content: "\f5fa";
+ }
+ .fa-key:before {
+   content: "\f084";
+ }
+ .fa-keybase:before {
+   content: "\f4f5";
+ }
+ .fa-keyboard:before {
+   content: "\f11c";
+ }
+ .fa-keycdn:before {
+   content: "\f3ba";
+ }
+ .fa-khanda:before {
+   content: "\f66d";
+ }
+ .fa-kickstarter:before {
+   content: "\f3bb";
+ }
+ .fa-kickstarter-k:before {
+   content: "\f3bc";
+ }
+ .fa-kiss:before {
+   content: "\f596";
+ }
+ .fa-kiss-beam:before {
+   content: "\f597";
+ }
+ .fa-kiss-wink-heart:before {
+   content: "\f598";
+ }
+ .fa-kiwi-bird:before {
+   content: "\f535";
+ }
+ .fa-korvue:before {
+   content: "\f42f";
+ }
+ .fa-landmark:before {
+   content: "\f66f";
+ }
+ .fa-language:before {
+   content: "\f1ab";
+ }
+ .fa-laptop:before {
+   content: "\f109";
+ }
+ .fa-laptop-code:before {
+   content: "\f5fc";
+ }
+ .fa-laptop-house:before {
+   content: "\e066";
+ }
+ .fa-laptop-medical:before {
+   content: "\f812";
+ }
+ .fa-laravel:before {
+   content: "\f3bd";
+ }
+ .fa-lastfm:before {
+   content: "\f202";
+ }
+ .fa-lastfm-square:before {
+   content: "\f203";
+ }
+ .fa-laugh:before {
+   content: "\f599";
+ }
+ .fa-laugh-beam:before {
+   content: "\f59a";
+ }
+ .fa-laugh-squint:before {
+   content: "\f59b";
+ }
+ .fa-laugh-wink:before {
+   content: "\f59c";
+ }
+ .fa-layer-group:before {
+   content: "\f5fd";
+ }
+ .fa-leaf:before {
+   content: "\f06c";
+ }
+ .fa-leanpub:before {
+   content: "\f212";
+ }
+ .fa-lemon:before {
+   content: "\f094";
+ }
+ .fa-less:before {
+   content: "\f41d";
+ }
+ .fa-less-than:before {
+   content: "\f536";
+ }
+ .fa-less-than-equal:before {
+   content: "\f537";
+ }
+ .fa-level-down-alt:before {
+   content: "\f3be";
+ }
+ .fa-level-up-alt:before {
+   content: "\f3bf";
+ }
+ .fa-life-ring:before {
+   content: "\f1cd";
+ }
+ .fa-lightbulb:before {
+   content: "\f0eb";
+ }
+ .fa-line:before {
+   content: "\f3c0";
+ }
+ .fa-link:before {
+   content: "\f0c1";
+ }
+ .fa-linkedin:before {
+   content: "\f08c";
+ }
+ .fa-linkedin-in:before {
+   content: "\f0e1";
+ }
+ .fa-linode:before {
+   content: "\f2b8";
+ }
+ .fa-linux:before {
+   content: "\f17c";
+ }
+ .fa-lira-sign:before {
+   content: "\f195";
+ }
+ .fa-list:before {
+   content: "\f03a";
+ }
+ .fa-list-alt:before {
+   content: "\f022";
+ }
+ .fa-list-ol:before {
+   content: "\f0cb";
+ }
+ .fa-list-ul:before {
+   content: "\f0ca";
+ }
+ .fa-location-arrow:before {
+   content: "\f124";
+ }
+ .fa-lock:before {
+   content: "\f023";
+ }
+ .fa-lock-open:before {
+   content: "\f3c1";
+ }
+ .fa-long-arrow-alt-down:before {
+   content: "\f309";
+ }
+ .fa-long-arrow-alt-left:before {
+   content: "\f30a";
+ }
+ .fa-long-arrow-alt-right:before {
+   content: "\f30b";
+ }
+ .fa-long-arrow-alt-up:before {
+   content: "\f30c";
+ }
+ .fa-low-vision:before {
+   content: "\f2a8";
+ }
+ .fa-luggage-cart:before {
+   content: "\f59d";
+ }
+ .fa-lungs:before {
+   content: "\f604";
+ }
+ .fa-lungs-virus:before {
+   content: "\e067";
+ }
+ .fa-lyft:before {
+   content: "\f3c3";
+ }
+ .fa-magento:before {
+   content: "\f3c4";
+ }
+ .fa-magic:before {
+   content: "\f0d0";
+ }
+ .fa-magnet:before {
+   content: "\f076";
+ }
+ .fa-mail-bulk:before {
+   content: "\f674";
+ }
+ .fa-mailchimp:before {
+   content: "\f59e";
+ }
+ .fa-male:before {
+   content: "\f183";
+ }
+ .fa-mandalorian:before {
+   content: "\f50f";
+ }
+ .fa-map:before {
+   content: "\f279";
+ }
+ .fa-map-marked:before {
+   content: "\f59f";
+ }
+ .fa-map-marked-alt:before {
+   content: "\f5a0";
+ }
+ .fa-map-marker:before {
+   content: "\f041";
+ }
+ .fa-map-marker-alt:before {
+   content: "\f3c5";
+ }
+ .fa-map-pin:before {
+   content: "\f276";
+ }
+ .fa-map-signs:before {
+   content: "\f277";
+ }
+ .fa-markdown:before {
+   content: "\f60f";
+ }
+ .fa-marker:before {
+   content: "\f5a1";
+ }
+ .fa-mars:before {
+   content: "\f222";
+ }
+ .fa-mars-double:before {
+   content: "\f227";
+ }
+ .fa-mars-stroke:before {
+   content: "\f229";
+ }
+ .fa-mars-stroke-h:before {
+   content: "\f22b";
+ }
+ .fa-mars-stroke-v:before {
+   content: "\f22a";
+ }
+ .fa-mask:before {
+   content: "\f6fa";
+ }
+ .fa-mastodon:before {
+   content: "\f4f6";
+ }
+ .fa-maxcdn:before {
+   content: "\f136";
+ }
+ .fa-mdb:before {
+   content: "\f8ca";
+ }
+ .fa-medal:before {
+   content: "\f5a2";
+ }
+ .fa-medapps:before {
+   content: "\f3c6";
+ }
+ .fa-medium:before {
+   content: "\f23a";
+ }
+ .fa-medium-m:before {
+   content: "\f3c7";
+ }
+ .fa-medkit:before {
+   content: "\f0fa";
+ }
+ .fa-medrt:before {
+   content: "\f3c8";
+ }
+ .fa-meetup:before {
+   content: "\f2e0";
+ }
+ .fa-megaport:before {
+   content: "\f5a3";
+ }
+ .fa-meh:before {
+   content: "\f11a";
+ }
+ .fa-meh-blank:before {
+   content: "\f5a4";
+ }
+ .fa-meh-rolling-eyes:before {
+   content: "\f5a5";
+ }
+ .fa-memory:before {
+   content: "\f538";
+ }
+ .fa-mendeley:before {
+   content: "\f7b3";
+ }
+ .fa-menorah:before {
+   content: "\f676";
+ }
+ .fa-mercury:before {
+   content: "\f223";
+ }
+ .fa-meteor:before {
+   content: "\f753";
+ }
+ .fa-microblog:before {
+   content: "\e01a";
+ }
+ .fa-microchip:before {
+   content: "\f2db";
+ }
+ .fa-microphone:before {
+   content: "\f130";
+ }
+ .fa-microphone-alt:before {
+   content: "\f3c9";
+ }
+ .fa-microphone-alt-slash:before {
+   content: "\f539";
+ }
+ .fa-microphone-slash:before {
+   content: "\f131";
+ }
+ .fa-microscope:before {
+   content: "\f610";
+ }
+ .fa-microsoft:before {
+   content: "\f3ca";
+ }
+ .fa-minus:before {
+   content: "\f068";
+ }
+ .fa-minus-circle:before {
+   content: "\f056";
+ }
+ .fa-minus-square:before {
+   content: "\f146";
+ }
+ .fa-mitten:before {
+   content: "\f7b5";
+ }
+ .fa-mix:before {
+   content: "\f3cb";
+ }
+ .fa-mixcloud:before {
+   content: "\f289";
+ }
+ .fa-mixer:before {
+   content: "\e056";
+ }
+ .fa-mizuni:before {
+   content: "\f3cc";
+ }
+ .fa-mobile:before {
+   content: "\f10b";
+ }
+ .fa-mobile-alt:before {
+   content: "\f3cd";
+ }
+ .fa-modx:before {
+   content: "\f285";
+ }
+ .fa-monero:before {
+   content: "\f3d0";
+ }
+ .fa-money-bill:before {
+   content: "\f0d6";
+ }
+ .fa-money-bill-alt:before {
+   content: "\f3d1";
+ }
+ .fa-money-bill-wave:before {
+   content: "\f53a";
+ }
+ .fa-money-bill-wave-alt:before {
+   content: "\f53b";
+ }
+ .fa-money-check:before {
+   content: "\f53c";
+ }
+ .fa-money-check-alt:before {
+   content: "\f53d";
+ }
+ .fa-monument:before {
+   content: "\f5a6";
+ }
+ .fa-moon:before {
+   content: "\f186";
+ }
+ .fa-mortar-pestle:before {
+   content: "\f5a7";
+ }
+ .fa-mosque:before {
+   content: "\f678";
+ }
+ .fa-motorcycle:before {
+   content: "\f21c";
+ }
+ .fa-mountain:before {
+   content: "\f6fc";
+ }
+ .fa-mouse:before {
+   content: "\f8cc";
+ }
+ .fa-mouse-pointer:before {
+   content: "\f245";
+ }
+ .fa-mug-hot:before {
+   content: "\f7b6";
+ }
+ .fa-music:before {
+   content: "\f001";
+ }
+ .fa-napster:before {
+   content: "\f3d2";
+ }
+ .fa-neos:before {
+   content: "\f612";
+ }
+ .fa-network-wired:before {
+   content: "\f6ff";
+ }
+ .fa-neuter:before {
+   content: "\f22c";
+ }
+ .fa-newspaper:before {
+   content: "\f1ea";
+ }
+ .fa-nimblr:before {
+   content: "\f5a8";
+ }
+ .fa-node:before {
+   content: "\f419";
+ }
+ .fa-node-js:before {
+   content: "\f3d3";
+ }
+ .fa-not-equal:before {
+   content: "\f53e";
+ }
+ .fa-notes-medical:before {
+   content: "\f481";
+ }
+ .fa-npm:before {
+   content: "\f3d4";
+ }
+ .fa-ns8:before {
+   content: "\f3d5";
+ }
+ .fa-nutritionix:before {
+   content: "\f3d6";
+ }
+ .fa-object-group:before {
+   content: "\f247";
+ }
+ .fa-object-ungroup:before {
+   content: "\f248";
+ }
+ .fa-octopus-deploy:before {
+   content: "\e082";
+ }
+ .fa-odnoklassniki:before {
+   content: "\f263";
+ }
+ .fa-odnoklassniki-square:before {
+   content: "\f264";
+ }
+ .fa-oil-can:before {
+   content: "\f613";
+ }
+ .fa-old-republic:before {
+   content: "\f510";
+ }
+ .fa-om:before {
+   content: "\f679";
+ }
+ .fa-opencart:before {
+   content: "\f23d";
+ }
+ .fa-openid:before {
+   content: "\f19b";
+ }
+ .fa-opera:before {
+   content: "\f26a";
+ }
+ .fa-optin-monster:before {
+   content: "\f23c";
+ }
+ .fa-orcid:before {
+   content: "\f8d2";
+ }
+ .fa-osi:before {
+   content: "\f41a";
+ }
+ .fa-otter:before {
+   content: "\f700";
+ }
+ .fa-outdent:before {
+   content: "\f03b";
+ }
+ .fa-page4:before {
+   content: "\f3d7";
+ }
+ .fa-pagelines:before {
+   content: "\f18c";
+ }
+ .fa-pager:before {
+   content: "\f815";
+ }
+ .fa-paint-brush:before {
+   content: "\f1fc";
+ }
+ .fa-paint-roller:before {
+   content: "\f5aa";
+ }
+ .fa-palette:before {
+   content: "\f53f";
+ }
+ .fa-palfed:before {
+   content: "\f3d8";
+ }
+ .fa-pallet:before {
+   content: "\f482";
+ }
+ .fa-paper-plane:before {
+   content: "\f1d8";
+ }
+ .fa-paperclip:before {
+   content: "\f0c6";
+ }
+ .fa-parachute-box:before {
+   content: "\f4cd";
+ }
+ .fa-paragraph:before {
+   content: "\f1dd";
+ }
+ .fa-parking:before {
+   content: "\f540";
+ }
+ .fa-passport:before {
+   content: "\f5ab";
+ }
+ .fa-pastafarianism:before {
+   content: "\f67b";
+ }
+ .fa-paste:before {
+   content: "\f328";
+ }
+ .fa-patreon:before {
+   content: "\f3d9";
+ }
+ .fa-pause:before {
+   content: "\f04c";
+ }
+ .fa-pause-circle:before {
+   content: "\f28b";
+ }
+ .fa-paw:before {
+   content: "\f1b0";
+ }
+ .fa-paypal:before {
+   content: "\f1ed";
+ }
+ .fa-peace:before {
+   content: "\f67c";
+ }
+ .fa-pen:before {
+   content: "\f304";
+ }
+ .fa-pen-alt:before {
+   content: "\f305";
+ }
+ .fa-pen-fancy:before {
+   content: "\f5ac";
+ }
+ .fa-pen-nib:before {
+   content: "\f5ad";
+ }
+ .fa-pen-square:before {
+   content: "\f14b";
+ }
+ .fa-pencil-alt:before {
+   content: "\f303";
+ }
+ .fa-pencil-ruler:before {
+   content: "\f5ae";
+ }
+ .fa-penny-arcade:before {
+   content: "\f704";
+ }
+ .fa-people-arrows:before {
+   content: "\e068";
+ }
+ .fa-people-carry:before {
+   content: "\f4ce";
+ }
+ .fa-pepper-hot:before {
+   content: "\f816";
+ }
+ .fa-perbyte:before {
+   content: "\e083";
+ }
+ .fa-percent:before {
+   content: "\f295";
+ }
+ .fa-percentage:before {
+   content: "\f541";
+ }
+ .fa-periscope:before {
+   content: "\f3da";
+ }
+ .fa-person-booth:before {
+   content: "\f756";
+ }
+ .fa-phabricator:before {
+   content: "\f3db";
+ }
+ .fa-phoenix-framework:before {
+   content: "\f3dc";
+ }
+ .fa-phoenix-squadron:before {
+   content: "\f511";
+ }
+ .fa-phone:before {
+   content: "\f095";
+ }
+ .fa-phone-alt:before {
+   content: "\f879";
+ }
+ .fa-phone-slash:before {
+   content: "\f3dd";
+ }
+ .fa-phone-square:before {
+   content: "\f098";
+ }
+ .fa-phone-square-alt:before {
+   content: "\f87b";
+ }
+ .fa-phone-volume:before {
+   content: "\f2a0";
+ }
+ .fa-photo-video:before {
+   content: "\f87c";
+ }
+ .fa-php:before {
+   content: "\f457";
+ }
+ .fa-pied-piper:before {
+   content: "\f2ae";
+ }
+ .fa-pied-piper-alt:before {
+   content: "\f1a8";
+ }
+ .fa-pied-piper-hat:before {
+   content: "\f4e5";
+ }
+ .fa-pied-piper-pp:before {
+   content: "\f1a7";
+ }
+ .fa-pied-piper-square:before {
+   content: "\e01e";
+ }
+ .fa-piggy-bank:before {
+   content: "\f4d3";
+ }
+ .fa-pills:before {
+   content: "\f484";
+ }
+ .fa-pinterest:before {
+   content: "\f0d2";
+ }
+ .fa-pinterest-p:before {
+   content: "\f231";
+ }
+ .fa-pinterest-square:before {
+   content: "\f0d3";
+ }
+ .fa-pizza-slice:before {
+   content: "\f818";
+ }
+ .fa-place-of-worship:before {
+   content: "\f67f";
+ }
+ .fa-plane:before {
+   content: "\f072";
+ }
+ .fa-plane-arrival:before {
+   content: "\f5af";
+ }
+ .fa-plane-departure:before {
+   content: "\f5b0";
+ }
+ .fa-plane-slash:before {
+   content: "\e069";
+ }
+ .fa-play:before {
+   content: "\f04b";
+ }
+ .fa-play-circle:before {
+   content: "\f144";
+ }
+ .fa-playstation:before {
+   content: "\f3df";
+ }
+ .fa-plug:before {
+   content: "\f1e6";
+ }
+ .fa-plus:before {
+   content: "\f067";
+ }
+ .fa-plus-circle:before {
+   content: "\f055";
+ }
+ .fa-plus-square:before {
+   content: "\f0fe";
+ }
+ .fa-podcast:before {
+   content: "\f2ce";
+ }
+ .fa-poll:before {
+   content: "\f681";
+ }
+ .fa-poll-h:before {
+   content: "\f682";
+ }
+ .fa-poo:before {
+   content: "\f2fe";
+ }
+ .fa-poo-storm:before {
+   content: "\f75a";
+ }
+ .fa-poop:before {
+   content: "\f619";
+ }
+ .fa-portrait:before {
+   content: "\f3e0";
+ }
+ .fa-pound-sign:before {
+   content: "\f154";
+ }
+ .fa-power-off:before {
+   content: "\f011";
+ }
+ .fa-pray:before {
+   content: "\f683";
+ }
+ .fa-praying-hands:before {
+   content: "\f684";
+ }
+ .fa-prescription:before {
+   content: "\f5b1";
+ }
+ .fa-prescription-bottle:before {
+   content: "\f485";
+ }
+ .fa-prescription-bottle-alt:before {
+   content: "\f486";
+ }
+ .fa-print:before {
+   content: "\f02f";
+ }
+ .fa-procedures:before {
+   content: "\f487";
+ }
+ .fa-product-hunt:before {
+   content: "\f288";
+ }
+ .fa-project-diagram:before {
+   content: "\f542";
+ }
+ .fa-pump-medical:before {
+   content: "\e06a";
+ }
+ .fa-pump-soap:before {
+   content: "\e06b";
+ }
+ .fa-pushed:before {
+   content: "\f3e1";
+ }
+ .fa-puzzle-piece:before {
+   content: "\f12e";
+ }
+ .fa-python:before {
+   content: "\f3e2";
+ }
+ .fa-qq:before {
+   content: "\f1d6";
+ }
+ .fa-qrcode:before {
+   content: "\f029";
+ }
+ .fa-question:before {
+   content: "\f128";
+ }
+ .fa-question-circle:before {
+   content: "\f059";
+ }
+ .fa-quidditch:before {
+   content: "\f458";
+ }
+ .fa-quinscape:before {
+   content: "\f459";
+ }
+ .fa-quora:before {
+   content: "\f2c4";
+ }
+ .fa-quote-left:before {
+   content: "\f10d";
+ }
+ .fa-quote-right:before {
+   content: "\f10e";
+ }
+ .fa-quran:before {
+   content: "\f687";
+ }
+ .fa-r-project:before {
+   content: "\f4f7";
+ }
+ .fa-radiation:before {
+   content: "\f7b9";
+ }
+ .fa-radiation-alt:before {
+   content: "\f7ba";
+ }
+ .fa-rainbow:before {
+   content: "\f75b";
+ }
+ .fa-random:before {
+   content: "\f074";
+ }
+ .fa-raspberry-pi:before {
+   content: "\f7bb";
+ }
+ .fa-ravelry:before {
+   content: "\f2d9";
+ }
+ .fa-react:before {
+   content: "\f41b";
+ }
+ .fa-reacteurope:before {
+   content: "\f75d";
+ }
+ .fa-readme:before {
+   content: "\f4d5";
+ }
+ .fa-rebel:before {
+   content: "\f1d0";
+ }
+ .fa-receipt:before {
+   content: "\f543";
+ }
+ .fa-record-vinyl:before {
+   content: "\f8d9";
+ }
+ .fa-recycle:before {
+   content: "\f1b8";
+ }
+ .fa-red-river:before {
+   content: "\f3e3";
+ }
+ .fa-reddit:before {
+   content: "\f1a1";
+ }
+ .fa-reddit-alien:before {
+   content: "\f281";
+ }
+ .fa-reddit-square:before {
+   content: "\f1a2";
+ }
+ .fa-redhat:before {
+   content: "\f7bc";
+ }
+ .fa-redo:before {
+   content: "\f01e";
+ }
+ .fa-redo-alt:before {
+   content: "\f2f9";
+ }
+ .fa-registered:before {
+   content: "\f25d";
+ }
+ .fa-remove-format:before {
+   content: "\f87d";
+ }
+ .fa-renren:before {
+   content: "\f18b";
+ }
+ .fa-reply:before {
+   content: "\f3e5";
+ }
+ .fa-reply-all:before {
+   content: "\f122";
+ }
+ .fa-replyd:before {
+   content: "\f3e6";
+ }
+ .fa-republican:before {
+   content: "\f75e";
+ }
+ .fa-researchgate:before {
+   content: "\f4f8";
+ }
+ .fa-resolving:before {
+   content: "\f3e7";
+ }
+ .fa-restroom:before {
+   content: "\f7bd";
+ }
+ .fa-retweet:before {
+   content: "\f079";
+ }
+ .fa-rev:before {
+   content: "\f5b2";
+ }
+ .fa-ribbon:before {
+   content: "\f4d6";
+ }
+ .fa-ring:before {
+   content: "\f70b";
+ }
+ .fa-road:before {
+   content: "\f018";
+ }
+ .fa-robot:before {
+   content: "\f544";
+ }
+ .fa-rocket:before {
+   content: "\f135";
+ }
+ .fa-rocketchat:before {
+   content: "\f3e8";
+ }
+ .fa-rockrms:before {
+   content: "\f3e9";
+ }
+ .fa-route:before {
+   content: "\f4d7";
+ }
+ .fa-rss:before {
+   content: "\f09e";
+ }
+ .fa-rss-square:before {
+   content: "\f143";
+ }
+ .fa-ruble-sign:before {
+   content: "\f158";
+ }
+ .fa-ruler:before {
+   content: "\f545";
+ }
+ .fa-ruler-combined:before {
+   content: "\f546";
+ }
+ .fa-ruler-horizontal:before {
+   content: "\f547";
+ }
+ .fa-ruler-vertical:before {
+   content: "\f548";
+ }
+ .fa-running:before {
+   content: "\f70c";
+ }
+ .fa-rupee-sign:before {
+   content: "\f156";
+ }
+ .fa-rust:before {
+   content: "\e07a";
+ }
+ .fa-sad-cry:before {
+   content: "\f5b3";
+ }
+ .fa-sad-tear:before {
+   content: "\f5b4";
+ }
+ .fa-safari:before {
+   content: "\f267";
+ }
+ .fa-salesforce:before {
+   content: "\f83b";
+ }
+ .fa-sass:before {
+   content: "\f41e";
+ }
+ .fa-satellite:before {
+   content: "\f7bf";
+ }
+ .fa-satellite-dish:before {
+   content: "\f7c0";
+ }
+ .fa-save:before {
+   content: "\f0c7";
+ }
+ .fa-schlix:before {
+   content: "\f3ea";
+ }
+ .fa-school:before {
+   content: "\f549";
+ }
+ .fa-screwdriver:before {
+   content: "\f54a";
+ }
+ .fa-scribd:before {
+   content: "\f28a";
+ }
+ .fa-scroll:before {
+   content: "\f70e";
+ }
+ .fa-sd-card:before {
+   content: "\f7c2";
+ }
+ .fa-search:before {
+   content: "\f002";
+ }
+ .fa-search-dollar:before {
+   content: "\f688";
+ }
+ .fa-search-location:before {
+   content: "\f689";
+ }
+ .fa-search-minus:before {
+   content: "\f010";
+ }
+ .fa-search-plus:before {
+   content: "\f00e";
+ }
+ .fa-searchengin:before {
+   content: "\f3eb";
+ }
+ .fa-seedling:before {
+   content: "\f4d8";
+ }
+ .fa-sellcast:before {
+   content: "\f2da";
+ }
+ .fa-sellsy:before {
+   content: "\f213";
+ }
+ .fa-server:before {
+   content: "\f233";
+ }
+ .fa-servicestack:before {
+   content: "\f3ec";
+ }
+ .fa-shapes:before {
+   content: "\f61f";
+ }
+ .fa-share:before {
+   content: "\f064";
+ }
+ .fa-share-alt:before {
+   content: "\f1e0";
+ }
+ .fa-share-alt-square:before {
+   content: "\f1e1";
+ }
+ .fa-share-square:before {
+   content: "\f14d";
+ }
+ .fa-shekel-sign:before {
+   content: "\f20b";
+ }
+ .fa-shield-alt:before {
+   content: "\f3ed";
+ }
+ .fa-shield-virus:before {
+   content: "\e06c";
+ }
+ .fa-ship:before {
+   content: "\f21a";
+ }
+ .fa-shipping-fast:before {
+   content: "\f48b";
+ }
+ .fa-shirtsinbulk:before {
+   content: "\f214";
+ }
+ .fa-shoe-prints:before {
+   content: "\f54b";
+ }
+ .fa-shopify:before {
+   content: "\e057";
+ }
+ .fa-shopping-bag:before {
+   content: "\f290";
+ }
+ .fa-shopping-basket:before {
+   content: "\f291";
+ }
+ .fa-shopping-cart:before {
+   content: "\f07a";
+ }
+ .fa-shopware:before {
+   content: "\f5b5";
+ }
+ .fa-shower:before {
+   content: "\f2cc";
+ }
+ .fa-shuttle-van:before {
+   content: "\f5b6";
+ }
+ .fa-sign:before {
+   content: "\f4d9";
+ }
+ .fa-sign-in-alt:before {
+   content: "\f2f6";
+ }
+ .fa-sign-language:before {
+   content: "\f2a7";
+ }
+ .fa-sign-out-alt:before {
+   content: "\f2f5";
+ }
+ .fa-signal:before {
+   content: "\f012";
+ }
+ .fa-signature:before {
+   content: "\f5b7";
+ }
+ .fa-sim-card:before {
+   content: "\f7c4";
+ }
+ .fa-simplybuilt:before {
+   content: "\f215";
+ }
+ .fa-sink:before {
+   content: "\e06d";
+ }
+ .fa-sistrix:before {
+   content: "\f3ee";
+ }
+ .fa-sitemap:before {
+   content: "\f0e8";
+ }
+ .fa-sith:before {
+   content: "\f512";
+ }
+ .fa-skating:before {
+   content: "\f7c5";
+ }
+ .fa-sketch:before {
+   content: "\f7c6";
+ }
+ .fa-skiing:before {
+   content: "\f7c9";
+ }
+ .fa-skiing-nordic:before {
+   content: "\f7ca";
+ }
+ .fa-skull:before {
+   content: "\f54c";
+ }
+ .fa-skull-crossbones:before {
+   content: "\f714";
+ }
+ .fa-skyatlas:before {
+   content: "\f216";
+ }
+ .fa-skype:before {
+   content: "\f17e";
+ }
+ .fa-slack:before {
+   content: "\f198";
+ }
+ .fa-slack-hash:before {
+   content: "\f3ef";
+ }
+ .fa-slash:before {
+   content: "\f715";
+ }
+ .fa-sleigh:before {
+   content: "\f7cc";
+ }
+ .fa-sliders-h:before {
+   content: "\f1de";
+ }
+ .fa-slideshare:before {
+   content: "\f1e7";
+ }
+ .fa-smile:before {
+   content: "\f118";
+ }
+ .fa-smile-beam:before {
+   content: "\f5b8";
+ }
+ .fa-smile-wink:before {
+   content: "\f4da";
+ }
+ .fa-smog:before {
+   content: "\f75f";
+ }
+ .fa-smoking:before {
+   content: "\f48d";
+ }
+ .fa-smoking-ban:before {
+   content: "\f54d";
+ }
+ .fa-sms:before {
+   content: "\f7cd";
+ }
+ .fa-snapchat:before {
+   content: "\f2ab";
+ }
+ .fa-snapchat-ghost:before {
+   content: "\f2ac";
+ }
+ .fa-snapchat-square:before {
+   content: "\f2ad";
+ }
+ .fa-snowboarding:before {
+   content: "\f7ce";
+ }
+ .fa-snowflake:before {
+   content: "\f2dc";
+ }
+ .fa-snowman:before {
+   content: "\f7d0";
+ }
+ .fa-snowplow:before {
+   content: "\f7d2";
+ }
+ .fa-soap:before {
+   content: "\e06e";
+ }
+ .fa-socks:before {
+   content: "\f696";
+ }
+ .fa-solar-panel:before {
+   content: "\f5ba";
+ }
+ .fa-sort:before {
+   content: "\f0dc";
+ }
+ .fa-sort-alpha-down:before {
+   content: "\f15d";
+ }
+ .fa-sort-alpha-down-alt:before {
+   content: "\f881";
+ }
+ .fa-sort-alpha-up:before {
+   content: "\f15e";
+ }
+ .fa-sort-alpha-up-alt:before {
+   content: "\f882";
+ }
+ .fa-sort-amount-down:before {
+   content: "\f160";
+ }
+ .fa-sort-amount-down-alt:before {
+   content: "\f884";
+ }
+ .fa-sort-amount-up:before {
+   content: "\f161";
+ }
+ .fa-sort-amount-up-alt:before {
+   content: "\f885";
+ }
+ .fa-sort-down:before {
+   content: "\f0dd";
+ }
+ .fa-sort-numeric-down:before {
+   content: "\f162";
+ }
+ .fa-sort-numeric-down-alt:before {
+   content: "\f886";
+ }
+ .fa-sort-numeric-up:before {
+   content: "\f163";
+ }
+ .fa-sort-numeric-up-alt:before {
+   content: "\f887";
+ }
+ .fa-sort-up:before {
+   content: "\f0de";
+ }
+ .fa-soundcloud:before {
+   content: "\f1be";
+ }
+ .fa-sourcetree:before {
+   content: "\f7d3";
+ }
+ .fa-spa:before {
+   content: "\f5bb";
+ }
+ .fa-space-shuttle:before {
+   content: "\f197";
+ }
+ .fa-speakap:before {
+   content: "\f3f3";
+ }
+ .fa-speaker-deck:before {
+   content: "\f83c";
+ }
+ .fa-spell-check:before {
+   content: "\f891";
+ }
+ .fa-spider:before {
+   content: "\f717";
+ }
+ .fa-spinner:before {
+   content: "\f110";
+ }
+ .fa-splotch:before {
+   content: "\f5bc";
+ }
+ .fa-spotify:before {
+   content: "\f1bc";
+ }
+ .fa-spray-can:before {
+   content: "\f5bd";
+ }
+ .fa-square:before {
+   content: "\f0c8";
+ }
+ .fa-square-full:before {
+   content: "\f45c";
+ }
+ .fa-square-root-alt:before {
+   content: "\f698";
+ }
+ .fa-squarespace:before {
+   content: "\f5be";
+ }
+ .fa-stack-exchange:before {
+   content: "\f18d";
+ }
+ .fa-stack-overflow:before {
+   content: "\f16c";
+ }
+ .fa-stackpath:before {
+   content: "\f842";
+ }
+ .fa-stamp:before {
+   content: "\f5bf";
+ }
+ .fa-star:before {
+   content: "\f005";
+ }
+ .fa-star-and-crescent:before {
+   content: "\f699";
+ }
+ .fa-star-half:before {
+   content: "\f089";
+ }
+ .fa-star-half-alt:before {
+   content: "\f5c0";
+ }
+ .fa-star-of-david:before {
+   content: "\f69a";
+ }
+ .fa-star-of-life:before {
+   content: "\f621";
+ }
+ .fa-staylinked:before {
+   content: "\f3f5";
+ }
+ .fa-steam:before {
+   content: "\f1b6";
+ }
+ .fa-steam-square:before {
+   content: "\f1b7";
+ }
+ .fa-steam-symbol:before {
+   content: "\f3f6";
+ }
+ .fa-step-backward:before {
+   content: "\f048";
+ }
+ .fa-step-forward:before {
+   content: "\f051";
+ }
+ .fa-stethoscope:before {
+   content: "\f0f1";
+ }
+ .fa-sticker-mule:before {
+   content: "\f3f7";
+ }
+ .fa-sticky-note:before {
+   content: "\f249";
+ }
+ .fa-stop:before {
+   content: "\f04d";
+ }
+ .fa-stop-circle:before {
+   content: "\f28d";
+ }
+ .fa-stopwatch:before {
+   content: "\f2f2";
+ }
+ .fa-stopwatch-20:before {
+   content: "\e06f";
+ }
+ .fa-store:before {
+   content: "\f54e";
+ }
+ .fa-store-alt:before {
+   content: "\f54f";
+ }
+ .fa-store-alt-slash:before {
+   content: "\e070";
+ }
+ .fa-store-slash:before {
+   content: "\e071";
+ }
+ .fa-strava:before {
+   content: "\f428";
+ }
+ .fa-stream:before {
+   content: "\f550";
+ }
+ .fa-street-view:before {
+   content: "\f21d";
+ }
+ .fa-strikethrough:before {
+   content: "\f0cc";
+ }
+ .fa-stripe:before {
+   content: "\f429";
+ }
+ .fa-stripe-s:before {
+   content: "\f42a";
+ }
+ .fa-stroopwafel:before {
+   content: "\f551";
+ }
+ .fa-studiovinari:before {
+   content: "\f3f8";
+ }
+ .fa-stumbleupon:before {
+   content: "\f1a4";
+ }
+ .fa-stumbleupon-circle:before {
+   content: "\f1a3";
+ }
+ .fa-subscript:before {
+   content: "\f12c";
+ }
+ .fa-subway:before {
+   content: "\f239";
+ }
+ .fa-suitcase:before {
+   content: "\f0f2";
+ }
+ .fa-suitcase-rolling:before {
+   content: "\f5c1";
+ }
+ .fa-sun:before {
+   content: "\f185";
+ }
+ .fa-superpowers:before {
+   content: "\f2dd";
+ }
+ .fa-superscript:before {
+   content: "\f12b";
+ }
+ .fa-supple:before {
+   content: "\f3f9";
+ }
+ .fa-surprise:before {
+   content: "\f5c2";
+ }
+ .fa-suse:before {
+   content: "\f7d6";
+ }
+ .fa-swatchbook:before {
+   content: "\f5c3";
+ }
+ .fa-swift:before {
+   content: "\f8e1";
+ }
+ .fa-swimmer:before {
+   content: "\f5c4";
+ }
+ .fa-swimming-pool:before {
+   content: "\f5c5";
+ }
+ .fa-symfony:before {
+   content: "\f83d";
+ }
+ .fa-synagogue:before {
+   content: "\f69b";
+ }
+ .fa-sync:before {
+   content: "\f021";
+ }
+ .fa-sync-alt:before {
+   content: "\f2f1";
+ }
+ .fa-syringe:before {
+   content: "\f48e";
+ }
+ .fa-table:before {
+   content: "\f0ce";
+ }
+ .fa-table-tennis:before {
+   content: "\f45d";
+ }
+ .fa-tablet:before {
+   content: "\f10a";
+ }
+ .fa-tablet-alt:before {
+   content: "\f3fa";
+ }
+ .fa-tablets:before {
+   content: "\f490";
+ }
+ .fa-tachometer-alt:before {
+   content: "\f3fd";
+ }
+ .fa-tag:before {
+   content: "\f02b";
+ }
+ .fa-tags:before {
+   content: "\f02c";
+ }
+ .fa-tape:before {
+   content: "\f4db";
+ }
+ .fa-tasks:before {
+   content: "\f0ae";
+ }
+ .fa-taxi:before {
+   content: "\f1ba";
+ }
+ .fa-teamspeak:before {
+   content: "\f4f9";
+ }
+ .fa-teeth:before {
+   content: "\f62e";
+ }
+ .fa-teeth-open:before {
+   content: "\f62f";
+ }
+ .fa-telegram:before {
+   content: "\f2c6";
+ }
+ .fa-telegram-plane:before {
+   content: "\f3fe";
+ }
+ .fa-temperature-high:before {
+   content: "\f769";
+ }
+ .fa-temperature-low:before {
+   content: "\f76b";
+ }
+ .fa-tencent-weibo:before {
+   content: "\f1d5";
+ }
+ .fa-tenge:before {
+   content: "\f7d7";
+ }
+ .fa-terminal:before {
+   content: "\f120";
+ }
+ .fa-text-height:before {
+   content: "\f034";
+ }
+ .fa-text-width:before {
+   content: "\f035";
+ }
+ .fa-th:before {
+   content: "\f00a";
+ }
+ .fa-th-large:before {
+   content: "\f009";
+ }
+ .fa-th-list:before {
+   content: "\f00b";
+ }
+ .fa-the-red-yeti:before {
+   content: "\f69d";
+ }
+ .fa-theater-masks:before {
+   content: "\f630";
+ }
+ .fa-themeco:before {
+   content: "\f5c6";
+ }
+ .fa-themeisle:before {
+   content: "\f2b2";
+ }
+ .fa-thermometer:before {
+   content: "\f491";
+ }
+ .fa-thermometer-empty:before {
+   content: "\f2cb";
+ }
+ .fa-thermometer-full:before {
+   content: "\f2c7";
+ }
+ .fa-thermometer-half:before {
+   content: "\f2c9";
+ }
+ .fa-thermometer-quarter:before {
+   content: "\f2ca";
+ }
+ .fa-thermometer-three-quarters:before {
+   content: "\f2c8";
+ }
+ .fa-think-peaks:before {
+   content: "\f731";
+ }
+ .fa-thumbs-down:before {
+   content: "\f165";
+ }
+ .fa-thumbs-up:before {
+   content: "\f164";
+ }
+ .fa-thumbtack:before {
+   content: "\f08d";
+ }
+ .fa-ticket-alt:before {
+   content: "\f3ff";
+ }
+ .fa-tiktok:before {
+   content: "\e07b";
+ }
+ .fa-times:before {
+   content: "\f00d";
+ }
+ .fa-times-circle:before {
+   content: "\f057";
+ }
+ .fa-tint:before {
+   content: "\f043";
+ }
+ .fa-tint-slash:before {
+   content: "\f5c7";
+ }
+ .fa-tired:before {
+   content: "\f5c8";
+ }
+ .fa-toggle-off:before {
+   content: "\f204";
+ }
+ .fa-toggle-on:before {
+   content: "\f205";
+ }
+ .fa-toilet:before {
+   content: "\f7d8";
+ }
+ .fa-toilet-paper:before {
+   content: "\f71e";
+ }
+ .fa-toilet-paper-slash:before {
+   content: "\e072";
+ }
+ .fa-toolbox:before {
+   content: "\f552";
+ }
+ .fa-tools:before {
+   content: "\f7d9";
+ }
+ .fa-tooth:before {
+   content: "\f5c9";
+ }
+ .fa-torah:before {
+   content: "\f6a0";
+ }
+ .fa-torii-gate:before {
+   content: "\f6a1";
+ }
+ .fa-tractor:before {
+   content: "\f722";
+ }
+ .fa-trade-federation:before {
+   content: "\f513";
+ }
+ .fa-trademark:before {
+   content: "\f25c";
+ }
+ .fa-traffic-light:before {
+   content: "\f637";
+ }
+ .fa-trailer:before {
+   content: "\e041";
+ }
+ .fa-train:before {
+   content: "\f238";
+ }
+ .fa-tram:before {
+   content: "\f7da";
+ }
+ .fa-transgender:before {
+   content: "\f224";
+ }
+ .fa-transgender-alt:before {
+   content: "\f225";
+ }
+ .fa-trash:before {
+   content: "\f1f8";
+ }
+ .fa-trash-alt:before {
+   content: "\f2ed";
+ }
+ .fa-trash-restore:before {
+   content: "\f829";
+ }
+ .fa-trash-restore-alt:before {
+   content: "\f82a";
+ }
+ .fa-tree:before {
+   content: "\f1bb";
+ }
+ .fa-trello:before {
+   content: "\f181";
+ }
+ .fa-tripadvisor:before {
+   content: "\f262";
+ }
+ .fa-trophy:before {
+   content: "\f091";
+ }
+ .fa-truck:before {
+   content: "\f0d1";
+ }
+ .fa-truck-loading:before {
+   content: "\f4de";
+ }
+ .fa-truck-monster:before {
+   content: "\f63b";
+ }
+ .fa-truck-moving:before {
+   content: "\f4df";
+ }
+ .fa-truck-pickup:before {
+   content: "\f63c";
+ }
+ .fa-tshirt:before {
+   content: "\f553";
+ }
+ .fa-tty:before {
+   content: "\f1e4";
+ }
+ .fa-tumblr:before {
+   content: "\f173";
+ }
+ .fa-tumblr-square:before {
+   content: "\f174";
+ }
+ .fa-tv:before {
+   content: "\f26c";
+ }
+ .fa-twitch:before {
+   content: "\f1e8";
+ }
+ .fa-twitter:before {
+   content: "\f099";
+ }
+ .fa-twitter-square:before {
+   content: "\f081";
+ }
+ .fa-typo3:before {
+   content: "\f42b";
+ }
+ .fa-uber:before {
+   content: "\f402";
+ }
+ .fa-ubuntu:before {
+   content: "\f7df";
+ }
+ .fa-uikit:before {
+   content: "\f403";
+ }
+ .fa-umbraco:before {
+   content: "\f8e8";
+ }
+ .fa-umbrella:before {
+   content: "\f0e9";
+ }
+ .fa-umbrella-beach:before {
+   content: "\f5ca";
+ }
+ .fa-uncharted:before {
+   content: "\e084";
+ }
+ .fa-underline:before {
+   content: "\f0cd";
+ }
+ .fa-undo:before {
+   content: "\f0e2";
+ }
+ .fa-undo-alt:before {
+   content: "\f2ea";
+ }
+ .fa-uniregistry:before {
+   content: "\f404";
+ }
+ .fa-unity:before {
+   content: "\e049";
+ }
+ .fa-universal-access:before {
+   content: "\f29a";
+ }
+ .fa-university:before {
+   content: "\f19c";
+ }
+ .fa-unlink:before {
+   content: "\f127";
+ }
+ .fa-unlock:before {
+   content: "\f09c";
+ }
+ .fa-unlock-alt:before {
+   content: "\f13e";
+ }
+ .fa-unsplash:before {
+   content: "\e07c";
+ }
+ .fa-untappd:before {
+   content: "\f405";
+ }
+ .fa-upload:before {
+   content: "\f093";
+ }
+ .fa-ups:before {
+   content: "\f7e0";
+ }
+ .fa-usb:before {
+   content: "\f287";
+ }
+ .fa-user:before {
+   content: "\f007";
+ }
+ .fa-user-alt:before {
+   content: "\f406";
+ }
+ .fa-user-alt-slash:before {
+   content: "\f4fa";
+ }
+ .fa-user-astronaut:before {
+   content: "\f4fb";
+ }
+ .fa-user-check:before {
+   content: "\f4fc";
+ }
+ .fa-user-circle:before {
+   content: "\f2bd";
+ }
+ .fa-user-clock:before {
+   content: "\f4fd";
+ }
+ .fa-user-cog:before {
+   content: "\f4fe";
+ }
+ .fa-user-edit:before {
+   content: "\f4ff";
+ }
+ .fa-user-friends:before {
+   content: "\f500";
+ }
+ .fa-user-graduate:before {
+   content: "\f501";
+ }
+ .fa-user-injured:before {
+   content: "\f728";
+ }
+ .fa-user-lock:before {
+   content: "\f502";
+ }
+ .fa-user-md:before {
+   content: "\f0f0";
+ }
+ .fa-user-minus:before {
+   content: "\f503";
+ }
+ .fa-user-ninja:before {
+   content: "\f504";
+ }
+ .fa-user-nurse:before {
+   content: "\f82f";
+ }
+ .fa-user-plus:before {
+   content: "\f234";
+ }
+ .fa-user-secret:before {
+   content: "\f21b";
+ }
+ .fa-user-shield:before {
+   content: "\f505";
+ }
+ .fa-user-slash:before {
+   content: "\f506";
+ }
+ .fa-user-tag:before {
+   content: "\f507";
+ }
+ .fa-user-tie:before {
+   content: "\f508";
+ }
+ .fa-user-times:before {
+   content: "\f235";
+ }
+ .fa-users:before {
+   content: "\f0c0";
+ }
+ .fa-users-cog:before {
+   content: "\f509";
+ }
+ .fa-users-slash:before {
+   content: "\e073";
+ }
+ .fa-usps:before {
+   content: "\f7e1";
+ }
+ .fa-ussunnah:before {
+   content: "\f407";
+ }
+ .fa-utensil-spoon:before {
+   content: "\f2e5";
+ }
+ .fa-utensils:before {
+   content: "\f2e7";
+ }
+ .fa-vaadin:before {
+   content: "\f408";
+ }
+ .fa-vector-square:before {
+   content: "\f5cb";
+ }
+ .fa-venus:before {
+   content: "\f221";
+ }
+ .fa-venus-double:before {
+   content: "\f226";
+ }
+ .fa-venus-mars:before {
+   content: "\f228";
+ }
+ .fa-vest:before {
+   content: "\e085";
+ }
+ .fa-vest-patches:before {
+   content: "\e086";
+ }
+ .fa-viacoin:before {
+   content: "\f237";
+ }
+ .fa-viadeo:before {
+   content: "\f2a9";
+ }
+ .fa-viadeo-square:before {
+   content: "\f2aa";
+ }
+ .fa-vial:before {
+   content: "\f492";
+ }
+ .fa-vials:before {
+   content: "\f493";
+ }
+ .fa-viber:before {
+   content: "\f409";
+ }
+ .fa-video:before {
+   content: "\f03d";
+ }
+ .fa-video-slash:before {
+   content: "\f4e2";
+ }
+ .fa-vihara:before {
+   content: "\f6a7";
+ }
+ .fa-vimeo:before {
+   content: "\f40a";
+ }
+ .fa-vimeo-square:before {
+   content: "\f194";
+ }
+ .fa-vimeo-v:before {
+   content: "\f27d";
+ }
+ .fa-vine:before {
+   content: "\f1ca";
+ }
+ .fa-virus:before {
+   content: "\e074";
+ }
+ .fa-virus-slash:before {
+   content: "\e075";
+ }
+ .fa-viruses:before {
+   content: "\e076";
+ }
+ .fa-vk:before {
+   content: "\f189";
+ }
+ .fa-vnv:before {
+   content: "\f40b";
+ }
+ .fa-voicemail:before {
+   content: "\f897";
+ }
+ .fa-volleyball-ball:before {
+   content: "\f45f";
+ }
+ .fa-volume-down:before {
+   content: "\f027";
+ }
+ .fa-volume-mute:before {
+   content: "\f6a9";
+ }
+ .fa-volume-off:before {
+   content: "\f026";
+ }
+ .fa-volume-up:before {
+   content: "\f028";
+ }
+ .fa-vote-yea:before {
+   content: "\f772";
+ }
+ .fa-vr-cardboard:before {
+   content: "\f729";
+ }
+ .fa-vuejs:before {
+   content: "\f41f";
+ }
+ .fa-walking:before {
+   content: "\f554";
+ }
+ .fa-wallet:before {
+   content: "\f555";
+ }
+ .fa-warehouse:before {
+   content: "\f494";
+ }
+ .fa-watchman-monitoring:before {
+   content: "\e087";
+ }
+ .fa-water:before {
+   content: "\f773";
+ }
+ .fa-wave-square:before {
+   content: "\f83e";
+ }
+ .fa-waze:before {
+   content: "\f83f";
+ }
+ .fa-weebly:before {
+   content: "\f5cc";
+ }
+ .fa-weibo:before {
+   content: "\f18a";
+ }
+ .fa-weight:before {
+   content: "\f496";
+ }
+ .fa-weight-hanging:before {
+   content: "\f5cd";
+ }
+ .fa-weixin:before {
+   content: "\f1d7";
+ }
+ .fa-whatsapp:before {
+   content: "\f232";
+ }
+ .fa-whatsapp-square:before {
+   content: "\f40c";
+ }
+ .fa-wheelchair:before {
+   content: "\f193";
+ }
+ .fa-whmcs:before {
+   content: "\f40d";
+ }
+ .fa-wifi:before {
+   content: "\f1eb";
+ }
+ .fa-wikipedia-w:before {
+   content: "\f266";
+ }
+ .fa-wind:before {
+   content: "\f72e";
+ }
+ .fa-window-close:before {
+   content: "\f410";
+ }
+ .fa-window-maximize:before {
+   content: "\f2d0";
+ }
+ .fa-window-minimize:before {
+   content: "\f2d1";
+ }
+ .fa-window-restore:before {
+   content: "\f2d2";
+ }
+ .fa-windows:before {
+   content: "\f17a";
+ }
+ .fa-wine-bottle:before {
+   content: "\f72f";
+ }
+ .fa-wine-glass:before {
+   content: "\f4e3";
+ }
+ .fa-wine-glass-alt:before {
+   content: "\f5ce";
+ }
+ .fa-wix:before {
+   content: "\f5cf";
+ }
+ .fa-wizards-of-the-coast:before {
+   content: "\f730";
+ }
+ .fa-wodu:before {
+   content: "\e088";
+ }
+ .fa-wolf-pack-battalion:before {
+   content: "\f514";
+ }
+ .fa-won-sign:before {
+   content: "\f159";
+ }
+ .fa-wordpress:before {
+   content: "\f19a";
+ }
+ .fa-wordpress-simple:before {
+   content: "\f411";
+ }
+ .fa-wpbeginner:before {
+   content: "\f297";
+ }
+ .fa-wpexplorer:before {
+   content: "\f2de";
+ }
+ .fa-wpforms:before {
+   content: "\f298";
+ }
+ .fa-wpressr:before {
+   content: "\f3e4";
+ }
+ .fa-wrench:before {
+   content: "\f0ad";
+ }
+ .fa-x-ray:before {
+   content: "\f497";
+ }
+ .fa-xbox:before {
+   content: "\f412";
+ }
+ .fa-xing:before {
+   content: "\f168";
+ }
+ .fa-xing-square:before {
+   content: "\f169";
+ }
+ .fa-y-combinator:before {
+   content: "\f23b";
+ }
+ .fa-yahoo:before {
+   content: "\f19e";
+ }
+ .fa-yammer:before {
+   content: "\f840";
+ }
+ .fa-yandex:before {
+   content: "\f413";
+ }
+ .fa-yandex-international:before {
+   content: "\f414";
+ }
+ .fa-yarn:before {
+   content: "\f7e3";
+ }
+ .fa-yelp:before {
+   content: "\f1e9";
+ }
+ .fa-yen-sign:before {
+   content: "\f157";
+ }
+ .fa-yin-yang:before {
+   content: "\f6ad";
+ }
+ .fa-yoast:before {
+   content: "\f2b1";
+ }
+ .fa-youtube:before {
+   content: "\f167";
+ }
+ .fa-youtube-square:before {
+   content: "\f431";
+ }
+ .fa-zhihu:before {
+   content: "\f63f";
+ }
+ .sr-only {
+   position: absolute;
+   width: 1px;
+   height: 1px;
+   padding: 0;
+   margin: -1px;
+   overflow: hidden;
+   clip: rect(0, 0, 0, 0);
+   border: 0;
+ }
+ .sr-only-focusable:active,
+ .sr-only-focusable:focus {
+   clip: auto;
+   height: auto;
+   margin: 0;
+   overflow: visible;
+   position: static;
+   width: auto;
+ }
+ .sr-only-focusable:active,
+ .sr-only-focusable:focus {
+   position: static;
+   width: auto;
+   height: auto;
+   margin: 0;
+   overflow: visible;
+   clip: auto;
+ }
+ /*!
+  * Bootstrap v3.4.1 (https://getbootstrap.com/)
+  * Copyright 2011-2019 Twitter, Inc.
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+  */
+ /*
+   Summary of customizations for Rock:
+   1. Comment out the glyphicons
+   2. Add in the FontAwesome mixin
+   3. Add reference to FontAwesome _rock-update_map-classes.less
+   4. Add reference to _rock-fa-mixins.less
+   5. Add Flexbox Option, with default using grid
+ */
+ /*
+   Summary of customizations for Rock:
+   1. Make sure the _update-map.less file is in place
+   2. Make 'virtual links' mixins.less -> _mixins.less and variables.less -> _variables.less to support older Rock themes
+   3. Add the prefixes below
+ */
+ .fa {
+   font-family: 'FontAwesome';
+   font-weight: 900;
+ }
+ /* prefix start */
+ .fas {
+   font-family: 'FontAwesome';
+   font-weight: 900;
+ }
+ .far {
+   font-family: 'FontAwesome';
+   font-weight: 400;
+ }
+ .fal {
+   font-family: 'FontAwesome';
+   font-weight: 300;
+ }
+ .fab {
+   font-family: "FontAwesome Brands";
+   font-weight: normal;
+ }
+ /* prefix end */
+ .fa.fa-rating-selected:before,
+ .fa.fa-rating-on:before {
+   content: "\f005";
+ }
+ .fa.fa-rating-unselected:before,
+ .fa.fa-rating-off:before {
+   font-weight: 400;
+   content: "\f005";
+ }
+ .fa.fa-clone,
+ .fa.fa-file-text-o,
+ .fa.fa-refresh {
+   font-family: 'FontAwesome';
+   font-weight: 900;
+ }
+ .fa-layers {
+   position: relative;
+   display: inline-block;
+   width: 1em;
+   height: 1em;
+   text-align: center;
+   vertical-align: -0.125em;
+ }
+ .fa-layers i {
+   position: absolute;
+   top: 0;
+   right: 0;
+   bottom: 0;
+   left: 0;
+   margin: auto;
+ }
+ .fa-layers-counter {
+   top: 0;
+   right: 0;
+   -webkit-box-sizing: border-box;
+   box-sizing: border-box;
+   min-width: 1.5em;
+   max-width: 5em;
+   height: 1.5em;
+   padding: 0.25em;
+   overflow: hidden;
+   line-height: 1;
+   color: #fff;
+   text-overflow: ellipsis;
+   background-color: #c64f55;
+   border-radius: 1em;
+   -webkit-transform: scale(0.25);
+   transform: scale(0.25);
+   -webkit-transform-origin: top right;
+   transform-origin: top right;
+ }
+ .fa-layers-counter,
+ .fa-layers-text {
+   position: absolute;
+   display: inline-block;
+   text-align: center;
+ }
+ .fa.fa-500px,
+ .fa.fa-accessible-icon,
+ .fa.fa-accusoft,
+ .fa.fa-adn,
+ .fa.fa-adversal,
+ .fa.fa-affiliatetheme,
+ .fa.fa-algolia,
+ .fa.fa-amazon,
+ .fa.fa-amilia,
+ .fa.fa-android,
+ .fa.fa-angellist,
+ .fa.fa-angrycreative,
+ .fa.fa-angular,
+ .fa.fa-app-store,
+ .fa.fa-app-store-ios,
+ .fa.fa-apper,
+ .fa.fa-apple,
+ .fa.fa-apple-pay,
+ .fa.fa-asymmetrik,
+ .fa.fa-audible,
+ .fa.fa-autoprefixer,
+ .fa.fa-avianex,
+ .fa.fa-aviato,
+ .fa.fa-aws,
+ .fa.fa-bandcamp,
+ .fa.fa-behance,
+ .fa.fa-behance-square,
+ .fa.fa-bimobject,
+ .fa.fa-bitbucket,
+ .fa.fa-bitcoin,
+ .fa.fa-bity,
+ .fa.fa-black-tie,
+ .fa.fa-blackberry,
+ .fa.fa-blogger,
+ .fa.fa-blogger-b,
+ .fa.fa-bluetooth,
+ .fa.fa-bluetooth-b,
+ .fa.fa-btc,
+ .fa.fa-buromobelexperte,
+ .fa.fa-buysellads,
+ .fa.fa-cc-amex,
+ .fa.fa-cc-apple-pay,
+ .fa.fa-cc-diners-club,
+ .fa.fa-cc-discover,
+ .fa.fa-cc-jcb,
+ .fa.fa-cc-mastercard,
+ .fa.fa-cc-paypal,
+ .fa.fa-cc-stripe,
+ .fa.fa-cc-visa,
+ .fa.fa-centercode,
+ .fa.fa-chrome,
+ .fa.fa-cloudscale,
+ .fa.fa-cloudsmith,
+ .fa.fa-cloudversify,
+ .fa.fa-codepen,
+ .fa.fa-codiepie,
+ .fa.fa-connectdevelop,
+ .fa.fa-contao,
+ .fa.fa-cpanel,
+ .fa.fa-creative-commons,
+ .fa.fa-css3,
+ .fa.fa-css3-alt,
+ .fa.fa-cuttlefish,
+ .fa.fa-d-and-d,
+ .fa.fa-dashcube,
+ .fa.fa-delicious,
+ .fa.fa-deploydog,
+ .fa.fa-deskpro,
+ .fa.fa-deviantart,
+ .fa.fa-digg,
+ .fa.fa-digital-ocean,
+ .fa.fa-discord,
+ .fa.fa-discourse,
+ .fa.fa-dochub,
+ .fa.fa-docker,
+ .fa.fa-draft2digital,
+ .fa.fa-dribbble,
+ .fa.fa-dribbble-square,
+ .fa.fa-dropbox,
+ .fa.fa-drupal,
+ .fa.fa-dyalog,
+ .fa.fa-earlybirds,
+ .fa.fa-edge,
+ .fa.fa-ember,
+ .fa.fa-empire,
+ .fa.fa-envira,
+ .fa.fa-erlang,
+ .fa.fa-etsy,
+ .fa.fa-expeditedssl,
+ .fa.fa-facebook,
+ .fa.fa-facebook-f,
+ .fa.fa-facebook-messenger,
+ .fa.fa-facebook-square,
+ .fa.fa-firefox,
+ .fa.fa-first-order,
+ .fa.fa-firstdraft,
+ .fa.fa-flickr,
+ .fa.fa-fly,
+ .fa.fa-font-awesome,
+ .fa.fa-font-awesome-alt,
+ .fa.fa-font-awesome-flag,
+ .fa.fa-fonticons,
+ .fa.fa-fonticons-fi,
+ .fa.fa-fort-awesome,
+ .fa.fa-fort-awesome-alt,
+ .fa.fa-forumbee,
+ .fa.fa-foursquare,
+ .fa.fa-free-code-camp,
+ .fa.fa-freebsd,
+ .fa.fa-get-pocket,
+ .fa.fa-gg,
+ .fa.fa-gg-circle,
+ .fa.fa-git,
+ .fa.fa-git-square,
+ .fa.fa-github,
+ .fa.fa-github-alt,
+ .fa.fa-github-square,
+ .fa.fa-gitkraken,
+ .fa.fa-gitlab,
+ .fa.fa-gitter,
+ .fa.fa-glide,
+ .fa.fa-glide-g,
+ .fa.fa-gofore,
+ .fa.fa-goodreads,
+ .fa.fa-goodreads-g,
+ .fa.fa-google,
+ .fa.fa-google-drive,
+ .fa.fa-google-play,
+ .fa.fa-google-plus,
+ .fa.fa-google-plus-g,
+ .fa.fa-google-plus-square,
+ .fa.fa-google-wallet,
+ .fa.fa-gratipay,
+ .fa.fa-grav,
+ .fa.fa-gripfire,
+ .fa.fa-grunt,
+ .fa.fa-gulp,
+ .fa.fa-hacker-news,
+ .fa.fa-hacker-news-square,
+ .fa.fa-hire-a-helper,
+ .fa.fa-hooli,
+ .fa.fa-hotjar,
+ .fa.fa-houzz,
+ .fa.fa-html5,
+ .fa.fa-hubspot,
+ .fa.fa-imdb,
+ .fa.fa-instagram,
+ .fa.fa-internet-explorer,
+ .fa.fa-ioxhost,
+ .fa.fa-itunes,
+ .fa.fa-itunes-note,
+ .fa.fa-jenkins,
+ .fa.fa-joget,
+ .fa.fa-joomla,
+ .fa.fa-js,
+ .fa.fa-js-square,
+ .fa.fa-jsfiddle,
+ .fa.fa-keycdn,
+ .fa.fa-kickstarter,
+ .fa.fa-kickstarter-k,
+ .fa.fa-laravel,
+ .fa.fa-lastfm,
+ .fa.fa-lastfm-square,
+ .fa.fa-leanpub,
+ .fa.fa-less,
+ .fa.fa-line,
+ .fa.fa-linkedin,
+ .fa.fa-linkedin-in,
+ .fa.fa-linode,
+ .fa.fa-linux,
+ .fa.fa-lyft,
+ .fa.fa-magento,
+ .fa.fa-maxcdn,
+ .fa.fa-medapps,
+ .fa.fa-medium,
+ .fa.fa-medium-m,
+ .fa.fa-medrt,
+ .fa.fa-meetup,
+ .fa.fa-microsoft,
+ .fa.fa-mix,
+ .fa.fa-mixcloud,
+ .fa.fa-mizuni,
+ .fa.fa-modx,
+ .fa.fa-monero,
+ .fa.fa-napster,
+ .fa.fa-nintendo-switch,
+ .fa.fa-node,
+ .fa.fa-node-js,
+ .fa.fa-npm,
+ .fa.fa-ns8,
+ .fa.fa-nutritionix,
+ .fa.fa-odnoklassniki,
+ .fa.fa-odnoklassniki-square,
+ .fa.fa-opencart,
+ .fa.fa-openid,
+ .fa.fa-opera,
+ .fa.fa-optin-monster,
+ .fa.fa-osi,
+ .fa.fa-page4,
+ .fa.fa-pagelines,
+ .fa.fa-palfed,
+ .fa.fa-patreon,
+ .fa.fa-paypal,
+ .fa.fa-periscope,
+ .fa.fa-phabricator,
+ .fa.fa-phoenix-framework,
+ .fa.fa-pied-piper,
+ .fa.fa-pied-piper-alt,
+ .fa.fa-pied-piper-pp,
+ .fa.fa-pinterest,
+ .fa.fa-pinterest-p,
+ .fa.fa-pinterest-square,
+ .fa.fa-playstation,
+ .fa.fa-product-hunt,
+ .fa.fa-pushed,
+ .fa.fa-python,
+ .fa.fa-qq,
+ .fa.fa-quora,
+ .fa.fa-ravelry,
+ .fa.fa-react,
+ .fa.fa-rebel,
+ .fa.fa-red-river,
+ .fa.fa-reddit,
+ .fa.fa-reddit-alien,
+ .fa.fa-reddit-square,
+ .fa.fa-rendact,
+ .fa.fa-renren,
+ .fa.fa-replyd,
+ .fa.fa-resolving,
+ .fa.fa-rocketchat,
+ .fa.fa-rockrms,
+ .fa.fa-safari,
+ .fa.fa-sass,
+ .fa.fa-schlix,
+ .fa.fa-scribd,
+ .fa.fa-searchengin,
+ .fa.fa-sellcast,
+ .fa.fa-sellsy,
+ .fa.fa-servicestack,
+ .fa.fa-shirtsinbulk,
+ .fa.fa-simplybuilt,
+ .fa.fa-sistrix,
+ .fa.fa-skyatlas,
+ .fa.fa-skype,
+ .fa.fa-slack,
+ .fa.fa-slack-hash,
+ .fa.fa-slideshare,
+ .fa.fa-snapchat,
+ .fa.fa-snapchat-ghost,
+ .fa.fa-snapchat-square,
+ .fa.fa-soundcloud,
+ .fa.fa-speakap,
+ .fa.fa-spotify,
+ .fa.fa-stack-exchange,
+ .fa.fa-stack-overflow,
+ .fa.fa-staylinked,
+ .fa.fa-steam,
+ .fa.fa-steam-square,
+ .fa.fa-steam-symbol,
+ .fa.fa-sticker-mule,
+ .fa.fa-strava,
+ .fa.fa-stripe,
+ .fa.fa-stripe-s,
+ .fa.fa-studiovinari,
+ .fa.fa-stumbleupon,
+ .fa.fa-stumbleupon-circle,
+ .fa.fa-superpowers,
+ .fa.fa-supple,
+ .fa.fa-telegram,
+ .fa.fa-telegram-plane,
+ .fa.fa-tencent-weibo,
+ .fa.fa-themeisle,
+ .fa.fa-trello,
+ .fa.fa-tripadvisor,
+ .fa.fa-tumblr,
+ .fa.fa-tumblr-square,
+ .fa.fa-twitch,
+ .fa.fa-twitter,
+ .fa.fa-twitter-square,
+ .fa.fa-typo3,
+ .fa.fa-uber,
+ .fa.fa-uikit,
+ .fa.fa-uniregistry,
+ .fa.fa-untappd,
+ .fa.fa-usb,
+ .fa.fa-ussunnah,
+ .fa.fa-vaadin,
+ .fa.fa-viacoin,
+ .fa.fa-viadeo,
+ .fa.fa-viadeo-square,
+ .fa.fa-viber,
+ .fa.fa-vimeo,
+ .fa.fa-vimeo-square,
+ .fa.fa-vimeo-v,
+ .fa.fa-vine,
+ .fa.fa-vk,
+ .fa.fa-vnv,
+ .fa.fa-vuejs,
+ .fa.fa-weibo,
+ .fa.fa-weixin,
+ .fa.fa-whatsapp,
+ .fa.fa-whatsapp-square,
+ .fa.fa-whmcs,
+ .fa.fa-wikipedia-w,
+ .fa.fa-windows,
+ .fa.fa-wordpress,
+ .fa.fa-wordpress-simple,
+ .fa.fa-wpbeginner,
+ .fa.fa-wpexplorer,
+ .fa.fa-wpforms,
+ .fa.fa-xbox,
+ .fa.fa-xing,
+ .fa.fa-xing-square,
+ .fa.fa-y-combinator,
+ .fa.fa-yahoo,
+ .fa.fa-yandex,
+ .fa.fa-yandex-international,
+ .fa.fa-yelp,
+ .fa.fa-yoast,
+ .fa.fa-youtube,
+ .fa.fa-linkedin-square,
+ .fa.fa-youtube-square,
+ .fa.fa-youtube-play,
+ .fa.fa-bitbucket-square,
+ .fa.fa-gittip,
+ .fa.fa-ra,
+ .fa.fa-resistance,
+ .fa.fa-ge,
+ .fa.fa-y-combinator-square,
+ .fa.fa-yc-square,
+ .fa.fa-wechat,
+ .fa.fa-meanpath,
+ .fa.fa-facebook-official,
+ .fa.fa-yc,
+ .fa.fa-wheelchair-alt,
+ .fa.fa-google-plus-official,
+ .fa.fa-google-plus-circle,
+ .fa.fa-fa,
+ .fa.fa-eercast {
+   font-family: "FontAwesome Brands";
+   font-weight: normal !important;
+ }
+ .fa.fa-star-o,
+ .fa.fa-trash-o,
+ .fa.fa-file-o,
+ .fa.fa-clock-o,
+ .fa.fa-arrow-circle-o-down,
+ .fa.fa-arrow-circle-o-up,
+ .fa.fa-play-circle-o,
+ .fa.fa-list-alt,
+ .fa.fa-picture-o,
+ .fa.fa-photo,
+ .fa.fa-image,
+ .fa.fa-pencil-square-o,
+ .fa.fa-share-square-o,
+ .fa.fa-check-square-o,
+ .fa.fa-times-circle-o,
+ .fa.fa-check-circle-o,
+ .fa.fa-eye-slash,
+ .fa.fa-bar-chart,
+ .fa.fa-bar-chart-o,
+ .fa.fa-thumbs-o-up,
+ .fa.fa-thumbs-o-down,
+ .fa.fa-heart-o,
+ .fa.fa-lemon-o,
+ .fa.fa-square-o,
+ .fa.fa-bookmark-o,
+ .fa.fa-credit-card,
+ .fa.fa-hdd-o,
+ .fa.fa-hand-o-right,
+ .fa.fa-hand-o-left,
+ .fa.fa-hand-o-up,
+ .fa.fa-hand-o-down,
+ .fa.fa-files-o,
+ .fa.fa-floppy-o,
+ .fa.fa-money,
+ .fa.fa-comment-o,
+ .fa.fa-comments-o,
+ .fa.fa-clipboard,
+ .fa.fa-paste,
+ .fa.fa-lightbulb-o,
+ .fa.fa-bell-o,
+ .fa.fa-file-text-o,
+ .fa.fa-building-o,
+ .fa.fa-hospital-o,
+ .fa.fa-circle-o,
+ .fa.fa-folder-o,
+ .fa.fa-folder-open-o,
+ .fa.fa-smile-o,
+ .fa.fa-frown-o,
+ .fa.fa-meh-o,
+ .fa.fa-keyboard-o,
+ .fa.fa-flag-o,
+ .fa.fa-star-half-o,
+ .fa.fa-star-half-empty,
+ .fa.fa-star-half-full,
+ .fa.fa-calendar-o,
+ .fa.fa-minus-square-o,
+ .fa.fa-compass,
+ .fa.fa-caret-square-o-down,
+ .fa.fa-toggle-down,
+ .fa.fa-caret-square-o-up,
+ .fa.fa-toggle-up,
+ .fa.fa-caret-square-o-right,
+ .fa.fa-toggle-right,
+ .fa.fa-sun-o,
+ .fa.fa-moon-o,
+ .fa.fa-arrow-circle-o-right,
+ .fa.fa-arrow-circle-o-left,
+ .fa.fa-caret-square-o-left,
+ .fa.fa-toggle-left,
+ .fa.fa-dot-circle-o,
+ .fa.fa-plus-square-o,
+ .fa.fa-envelope-o,
+ .fa.fa-file-pdf-o,
+ .fa.fa-file-word-o,
+ .fa.fa-file-excel-o,
+ .fa.fa-file-powerpoint-o,
+ .fa.fa-file-image-o,
+ .fa.fa-file-photo-o,
+ .fa.fa-file-picture-o,
+ .fa.fa-file-archive-o,
+ .fa.fa-file-zip-o,
+ .fa.fa-file-audio-o,
+ .fa.fa-file-sound-o,
+ .fa.fa-file-video-o,
+ .fa.fa-file-movie-o,
+ .fa.fa-file-code-o,
+ .fa.fa-life-ring,
+ .fa.fa-life-bouy,
+ .fa.fa-life-buoy,
+ .fa.fa-life-saver,
+ .fa.fa-support,
+ .fa.fa-paper-plane-o,
+ .fa.fa-send-o,
+ .fa.fa-circle-thin,
+ .fa.fa-futbol-o,
+ .fa.fa-soccer-ball-o,
+ .fa.fa-newspaper-o,
+ .fa.fa-bell-slash-o,
+ .fa.fa-copyright,
+ .fa.fa-cc,
+ .fa.fa-diamond,
+ .fa.fa-object-group,
+ .fa.fa-object-ungroup,
+ .fa.fa-sticky-note-o,
+ .fa.fa-clone,
+ .fa.fa-hourglass-o,
+ .fa.fa-hand-rock-o,
+ .fa.fa-hand-grab-o,
+ .fa.fa-hand-paper-o,
+ .fa.fa-hand-stop-o,
+ .fa.fa-hand-scissors-o,
+ .fa.fa-hand-lizard-o,
+ .fa.fa-hand-spock-o,
+ .fa.fa-hand-pointer-o,
+ .fa.fa-hand-peace-o,
+ .fa.fa-registered,
+ .fa.fa-calendar-plus-o,
+ .fa.fa-calendar-minus-o,
+ .fa.fa-calendar-times-o,
+ .fa.fa-calendar-check-o,
+ .fa.fa-map-o,
+ .fa.fa-commenting-o,
+ .fa.fa-pause-circle-o,
+ .fa.fa-stop-circle-o,
+ .fa.fa-question-circle-o,
+ .fa.fa-handshake-o,
+ .fa.fa-envelope-open-o,
+ .fa.fa-address-book-o,
+ .fa.fa-address-card-o,
+ .fa.fa-vcard-o,
+ .fa.fa-user-circle-o,
+ .fa.fa-user-o,
+ .fa.fa-id-badge,
+ .fa.fa-id-card-o,
+ .fa.fa-drivers-license-o,
+ .fa.fa-window-maximize,
+ .fa.fa-window-restore,
+ .fa.fa-window-close-o,
+ .fa.fa-times-rectangle-o,
+ .fa.fa-snowflake-o {
+   font-family: 'FontAwesome';
+   font-weight: 400;
+ }
+ .fa-address-book-o:before {
+   content: "\f2b9";
+ }
+ .fa-address-card-o:before {
+   content: "\f2bb";
+ }
+ .fa-area-chart:before {
+   content: "\f1fe";
+ }
+ .fa-arrow-circle-o-down:before {
+   content: "\f358";
+ }
+ .fa-arrow-circle-o-left:before {
+   content: "\f359";
+ }
+ .fa-arrow-circle-o-right:before {
+   content: "\f35a";
+ }
+ .fa-arrow-circle-o-up:before {
+   content: "\f35b";
+ }
+ .fa-arrows:before {
+   content: "\f0b2";
+ }
+ .fa-arrows-alt:before {
+   content: "\f31e";
+ }
+ .fa-arrows-h:before {
+   content: "\f337";
+ }
+ .fa-arrows-v:before {
+   content: "\f338";
+ }
+ .fa-asl-interpreting:before {
+   content: "\f2a3";
+ }
+ .fa-automobile:before {
+   content: "\f1b9";
+ }
+ .fa-bank:before,
+ .fa-institution:before {
+   content: "\f19c";
+ }
+ .fa-bar-chart-o:before {
+   content: "\f080";
+ }
+ .fa-bar-chart:before {
+   content: "\f080";
+ }
+ .fa-bathtub:before,
+ .fa-s15:before {
+   content: "\f2cd";
+ }
+ .fa-battery:before {
+   content: "\f240";
+ }
+ .fa-battery-0:before {
+   content: "\f244";
+ }
+ .fa-battery-1:before {
+   content: "\f243";
+ }
+ .fa-battery-2:before {
+   content: "\f242";
+ }
+ .fa-battery-3:before {
+   content: "\f241";
+ }
+ .fa-battery-4:before {
+   content: "\f240";
+ }
+ .fa-bell-o:before {
+   content: "\f0f3";
+ }
+ .fa-bell-slash-o:before {
+   content: "\f1f6";
+ }
+ .fa-bitbucket-square:before {
+   content: "\f171";
+ }
+ .fa-bitcoin:before {
+   content: "\f15a";
+ }
+ .fa-bookmark-o:before {
+   content: "\f02e";
+ }
+ .fa-building-o:before {
+   content: "\f1ad";
+ }
+ .fa-cab:before {
+   content: "\f1ba";
+ }
+ .fa-calendar-check-o:before {
+   content: "\f274";
+ }
+ .fa-calendar-minus-o:before {
+   content: "\f272";
+ }
+ .fa-calendar-o:before {
+   content: "\f133";
+ }
+ .fa-calendar-plus-o:before {
+   content: "\f271";
+ }
+ .fa-calendar-times-o:before {
+   content: "\f273";
+ }
+ .fa-caret-square-o-down:before {
+   content: "\f150";
+ }
+ .fa-caret-square-o-left:before {
+   content: "\f191";
+ }
+ .fa-caret-square-o-right:before {
+   content: "\f152";
+ }
+ .fa-caret-square-o-up:before {
+   content: "\f151";
+ }
+ .fa-cc:before {
+   content: "\f20a";
+ }
+ .fa-chain:before {
+   content: "\f0c1";
+ }
+ .fa-chain-broken:before {
+   content: "\f127";
+ }
+ .fa-check-circle-o:before {
+   content: "\f058";
+ }
+ .fa-check-square-o:before {
+   content: "\f14a";
+ }
+ .fa-circle-o-notch:before {
+   content: "\f1ce";
+ }
+ .fa-circle-o:before,
+ .fa-circle-thin:before {
+   content: "\f111";
+ }
+ .fa-clock-o:before {
+   content: "\f017";
+ }
+ .fa-close:before {
+   content: "\f00d";
+ }
+ .fa-cloud-download:before {
+   content: "\f381";
+ }
+ .fa-cloud-upload:before {
+   content: "\f382";
+ }
+ .fa-cny:before,
+ .fa-jpy:before,
+ .fa-rmb:before,
+ .fa-yen:before {
+   content: "\f157";
+ }
+ .fa-code-fork:before {
+   content: "\f126";
+ }
+ .fa-comment-o:before {
+   content: "\f075";
+ }
+ .fa-commenting-o:before,
+ .fa-commenting:before {
+   content: "\f27a";
+ }
+ .fa-comments-o:before {
+   content: "\f086";
+ }
+ .fa-credit-card-alt:before {
+   content: "\f09d";
+ }
+ .fa-cutlery:before {
+   content: "\f2e7";
+ }
+ .fa-dashboard:before {
+   content: "\f3fd";
+ }
+ .fa-deafness:before {
+   content: "\f2a4";
+ }
+ .fa-dedent:before {
+   content: "\f03b";
+ }
+ .fa-diamond:before {
+   content: "\f3a5";
+ }
+ .fa-dollar:before,
+ .fa-usd:before {
+   content: "\f155";
+ }
+ .fa-dot-circle-o:before {
+   content: "\f192";
+ }
+ .fa-drivers-license-o:before {
+   content: "\f2c2";
+ }
+ .fa-drivers-license:before {
+   content: "\f2c2";
+ }
+ .fa-eercast:before {
+   content: "\f2da";
+ }
+ .fa-envelope-o:before {
+   content: "\f0e0";
+ }
+ .fa-envelope-open-o:before {
+   content: "\f2b6";
+ }
+ .fa-eur:before,
+ .fa-euro:before {
+   content: "\f153";
+ }
+ .fa-exchange:before {
+   content: "\f362";
+ }
+ .fa-external-link-square:before {
+   content: "\f360";
+ }
+ .fa-external-link:before {
+   content: "\f35d";
+ }
+ .fa-eyedropper:before {
+   content: "\f1fb";
+ }
+ .fa-fa:before {
+   content: "\f2b4";
+ }
+ .fa-facebook-f:before,
+ .fa-facebook:before {
+   content: "\f39e";
+ }
+ .fa-facebook-official:before {
+   content: "\f09a";
+ }
+ .fa-feed:before {
+   content: "\f09e";
+ }
+ .fa-file-archive-o:before {
+   content: "\f1c6";
+ }
+ .fa-file-audio-o:before,
+ .fa-file-sound-o:before {
+   content: "\f1c7";
+ }
+ .fa-file-code-o:before {
+   content: "\f1c9";
+ }
+ .fa-file-excel-o:before {
+   content: "\f1c3";
+ }
+ .fa-file-image-o:before,
+ .fa-file-photo-o:before,
+ .fa-file-picture-o:before {
+   content: "\f1c5";
+ }
+ .fa-file-movie-o:before,
+ .fa-file-video-o:before {
+   content: "\f1c8";
+ }
+ .fa-file-o:before {
+   content: "\f15b";
+ }
+ .fa-file-pdf-o:before {
+   content: "\f1c1";
+ }
+ .fa-file-powerpoint-o:before {
+   content: "\f1c4";
+ }
+ .fa-file-text:before,
+ .fa-file-text-o:before {
+   content: "\f15c";
+ }
+ .fa-file-word-o:before {
+   content: "\f1c2";
+ }
+ .fa-file-zip-o:before {
+   content: "\f1c6";
+ }
+ .fa-files-o:before {
+   content: "\f0c5";
+ }
+ .fa-flag-o:before {
+   content: "\f024";
+ }
+ .fa-flash:before {
+   content: "\f0e7";
+ }
+ .fa-floppy-o:before {
+   content: "\f0c7";
+ }
+ .fa-folder-o:before {
+   content: "\f07b";
+ }
+ .fa-folder-open-o:before {
+   content: "\f07c";
+ }
+ .fa-frown-o:before {
+   content: "\f119";
+ }
+ .fa-futbol-o:before {
+   content: "\f1e3";
+ }
+ .fa-gbp:before {
+   content: "\f154";
+ }
+ .fa-ge:before {
+   content: "\f1d1";
+ }
+ .fa-gear:before {
+   content: "\f013";
+ }
+ .fa-gears:before {
+   content: "\f085";
+ }
+ .fa-gittip:before {
+   content: "\f184";
+ }
+ .fa-glass:before {
+   content: "\f000";
+ }
+ .fa-google-plus-circle:before,
+ .fa-google-plus-official:before {
+   content: "\f2b3";
+ }
+ .fa-google-plus:before {
+   content: "\f0d5";
+ }
+ .fa-group:before {
+   content: "\f0c0";
+ }
+ .fa-hand-grab-o:before {
+   content: "\f255";
+ }
+ .fa-hand-lizard-o:before {
+   content: "\f258";
+ }
+ .fa-hand-o-down:before {
+   content: "\f0a7";
+ }
+ .fa-hand-o-left:before {
+   content: "\f0a5";
+ }
+ .fa-hand-o-right:before {
+   content: "\f0a4";
+ }
+ .fa-hand-o-up:before {
+   content: "\f0a6";
+ }
+ .fa-hand-paper-o:before,
+ .fa-hand-stop-o:before {
+   content: "\f256";
+ }
+ .fa-hand-peace-o:before {
+   content: "\f25b";
+ }
+ .fa-hand-pointer-o:before {
+   content: "\f25a";
+ }
+ .fa-hand-rock-o:before {
+   content: "\f255";
+ }
+ .fa-hand-scissors-o:before {
+   content: "\f257";
+ }
+ .fa-hand-spock-o:before {
+   content: "\f259";
+ }
+ .fa-handshake-o:before {
+   content: "\f2b5";
+ }
+ .fa-hard-of-hearing:before {
+   content: "\f2a4";
+ }
+ .fa-hdd-o:before {
+   content: "\f0a0";
+ }
+ .fa-header:before {
+   content: "\f1dc";
+ }
+ .fa-heart-o:before {
+   content: "\f004";
+ }
+ .fa-hospital-o:before {
+   content: "\f0f8";
+ }
+ .fa-hotel:before {
+   content: "\f236";
+ }
+ .fa-hourglass-1:before {
+   content: "\f251";
+ }
+ .fa-hourglass-2:before {
+   content: "\f252";
+ }
+ .fa-hourglass-3:before {
+   content: "\f253";
+ }
+ .fa-hourglass-o:before {
+   content: "\f254";
+ }
+ .fa-id-card-o:before {
+   content: "\f2c2";
+ }
+ .fa-ils:before {
+   content: "\f20b";
+ }
+ .fa-image:before,
+ .fa-photo:before,
+ .fa-picture-o:before {
+   content: "\f03e";
+ }
+ .fa-inr:before {
+   content: "\f156";
+ }
+ .fa-intersex:before {
+   content: "\f224";
+ }
+ .fa-keyboard-o:before {
+   content: "\f11c";
+ }
+ .fa-krw:before,
+ .fa-won:before {
+   content: "\f159";
+ }
+ .fa-legal:before {
+   content: "\f0e3";
+ }
+ .fa-lemon-o:before {
+   content: "\f094";
+ }
+ .fa-level-down:before {
+   content: "\f3be";
+ }
+ .fa-level-up:before {
+   content: "\f3bf";
+ }
+ .fa-life-bouy:before,
+ .fa-life-saver:before {
+   content: "\f1cd";
+ }
+ .fa-lightbulb-o:before {
+   content: "\f0eb";
+ }
+ .fa-line-chart:before {
+   content: "\f201";
+ }
+ .fa-linkedin:before {
+   content: "\f0e1";
+ }
+ .fa-linkedin-square:before {
+   content: "\f08c";
+ }
+ .fa-long-arrow-down:before {
+   content: "\f309";
+ }
+ .fa-long-arrow-left:before {
+   content: "\f30a";
+ }
+ .fa-long-arrow-right:before {
+   content: "\f30b";
+ }
+ .fa-long-arrow-up:before {
+   content: "\f30c";
+ }
+ .fa-mail-forward:before {
+   content: "\f064";
+ }
+ .fa-mail-reply-all:before {
+   content: "\f122";
+ }
+ .fa-mail-reply:before {
+   content: "\f3e5";
+ }
+ .fa-map-marker:before {
+   content: "\f3c5";
+ }
+ .fa-map-o:before {
+   content: "\f279";
+ }
+ .fa-meanpath:before {
+   content: "\f2b4";
+ }
+ .fa-meh-o:before {
+   content: "\f11a";
+ }
+ .fa-minus-square-o:before {
+   content: "\f146";
+ }
+ .fa-mobile-phone:before {
+   content: "\f3cd";
+ }
+ .fa-mobile:before {
+   content: "\f3cd";
+ }
+ .fa-money:before {
+   content: "\f3d1";
+ }
+ .fa-moon-o:before {
+   content: "\f186";
+ }
+ .fa-mortar-board:before {
+   content: "\f19d";
+ }
+ .fa-navicon:before {
+   content: "\f0c9";
+ }
+ .fa-newspaper-o:before {
+   content: "\f1ea";
+ }
+ .fa-paper-plane-o:before {
+   content: "\f1d8";
+ }
+ .fa-paste:before {
+   content: "\f328";
+ }
+ .fa-pause-circle-o:before {
+   content: "\f28b";
+ }
+ .fa-pencil-square-o:before {
+   content: "\f044";
+ }
+ .fa-pencil-square:before {
+   content: "\f14b";
+ }
+ .fa-pencil:before {
+   content: "\f303";
+ }
+ .fa-pie-chart:before {
+   content: "\f200";
+ }
+ .fa-play-circle-o:before {
+   content: "\f144";
+ }
+ .fa-plus-square-o:before {
+   content: "\f0fe";
+ }
+ .fa-question-circle-o:before {
+   content: "\f059";
+ }
+ .fa-ra:before {
+   content: "\f1d0";
+ }
+ .fa-refresh:before {
+   content: "\f021";
+ }
+ .fa-remove:before {
+   content: "\f00d";
+ }
+ .fa-reorder:before {
+   content: "\f0c9";
+ }
+ .fa-repeat:before {
+   content: "\f01e";
+ }
+ .fa-resistance:before {
+   content: "\f1d0";
+ }
+ .fa-rotate-left:before {
+   content: "\f0e2";
+ }
+ .fa-rotate-right:before {
+   content: "\f01e";
+ }
+ .fa-rouble:before,
+ .fa-rub:before,
+ .fa-ruble:before {
+   content: "\f158";
+ }
+ .fa-rupee:before {
+   content: "\f156";
+ }
+ .fa-scissors:before {
+   content: "\f0c4";
+ }
+ .fa-send-o:before {
+   content: "\f1d8";
+ }
+ .fa-send:before {
+   content: "\f1d8";
+ }
+ .fa-share-square-o:before {
+   content: "\f14d";
+ }
+ .fa-shekel:before,
+ .fa-sheqel:before {
+   content: "\f20b";
+ }
+ .fa-shield:before {
+   content: "\f3ed";
+ }
+ .fa-sign-in:before {
+   content: "\f2f6";
+ }
+ .fa-sign-out:before {
+   content: "\f2f5";
+ }
+ .fa-signing:before {
+   content: "\f2a7";
+ }
+ .fa-sliders:before {
+   content: "\f1de";
+ }
+ .fa-smile-o:before {
+   content: "\f118";
+ }
+ .fa-snowflake-o:before {
+   content: "\f2dc";
+ }
+ .fa-soccer-ball-o:before {
+   content: "\f1e3";
+ }
+ .fa-sort-alpha-asc:before {
+   content: "\f15d";
+ }
+ .fa-sort-alpha-desc:before {
+   content: "\f15e";
+ }
+ .fa-sort-amount-asc:before {
+   content: "\f160";
+ }
+ .fa-sort-amount-desc:before {
+   content: "\f161";
+ }
+ .fa-sort-asc:before {
+   content: "\f0de";
+ }
+ .fa-sort-desc:before {
+   content: "\f0dd";
+ }
+ .fa-sort-numeric-asc:before {
+   content: "\f162";
+ }
+ .fa-sort-numeric-desc:before {
+   content: "\f163";
+ }
+ .fa-spoon:before {
+   content: "\f2e5";
+ }
+ .fa-square-o:before {
+   content: "\f0c8";
+ }
+ .fa-star-half-empty:before,
+ .fa-star-half-full:before,
+ .fa-star-half-o:before {
+   content: "\f089";
+ }
+ .fa-star-o:before {
+   content: "\f005";
+ }
+ .fa-sticky-note-o:before {
+   content: "\f249";
+ }
+ .fa-stop-circle-o:before {
+   content: "\f28d";
+ }
+ .fa-sun-o:before {
+   content: "\f185";
+ }
+ .fa-support:before {
+   content: "\f1cd";
+ }
+ .fa-tablet:before {
+   content: "\f3fa";
+ }
+ .fa-tachometer:before {
+   content: "\f3fd";
+ }
+ .fa-television:before {
+   content: "\f26c";
+ }
+ .fa-thermometer-0:before {
+   content: "\f2cb";
+ }
+ .fa-thermometer-1:before {
+   content: "\f2ca";
+ }
+ .fa-thermometer-2:before {
+   content: "\f2c9";
+ }
+ .fa-thermometer-3:before {
+   content: "\f2c8";
+ }
+ .fa-thermometer-4:before,
+ .fa-thermometer:before {
+   content: "\f2c7";
+ }
+ .fa-thumb-tack:before {
+   content: "\f08d";
+ }
+ .fa-thumbs-o-down:before {
+   content: "\f165";
+ }
+ .fa-thumbs-o-up:before {
+   content: "\f164";
+ }
+ .fa-ticket:before {
+   content: "\f3ff";
+ }
+ .fa-times-circle-o:before {
+   content: "\f057";
+ }
+ .fa-times-rectangle:before,
+ .fa-times-rectangle-o:before,
+ .fa-window-close-o:before {
+   content: "\f410";
+ }
+ .fa-toggle-down:before {
+   content: "\f150";
+ }
+ .fa-toggle-left:before {
+   content: "\f191";
+ }
+ .fa-toggle-right:before {
+   content: "\f152";
+ }
+ .fa-toggle-up:before {
+   content: "\f151";
+ }
+ .fa-trash:before,
+ .fa-trash-o:before {
+   content: "\f2ed";
+ }
+ .fa-try:before,
+ .fa-turkish-lira:before {
+   content: "\f195";
+ }
+ .fa-unsorted:before {
+   content: "\f0dc";
+ }
+ .fa-user-circle-o:before {
+   content: "\f2bd";
+ }
+ .fa-user-o:before {
+   content: "\f007";
+ }
+ .fa-vcard:before,
+ .fa-vcard-o:before {
+   content: "\f2bb";
+ }
+ .fa-video-camera:before {
+   content: "\f03d";
+ }
+ .fa-vimeo:before {
+   content: "\f27d";
+ }
+ .fa-volume-control-phone:before {
+   content: "\f2a0";
+ }
+ .fa-warning:before {
+   content: "\f071";
+ }
+ .fa-wechat:before {
+   content: "\f1d7";
+ }
+ .fa-wheelchair-alt:before {
+   content: "\f368";
+ }
+ .fa-y-combinator-square:before,
+ .fa-yc-square:before {
+   content: "\f1d4";
+ }
+ .fa-yc:before {
+   content: "\f23b";
+ }
+ .fa-youtube-play:before {
+   content: "\f167";
+ }
+ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+ html {
+   font-family: sans-serif;
+   -ms-text-size-adjust: 100%;
+   -webkit-text-size-adjust: 100%;
+ }
+ body {
+   margin: 0;
+ }
+ article,
+ aside,
+ details,
+ figcaption,
+ figure,
+ footer,
+ header,
+ hgroup,
+ main,
+ menu,
+ nav,
+ section,
+ summary {
+   display: block;
+ }
+ audio,
+ canvas,
+ progress,
+ video {
+   display: inline-block;
+   vertical-align: baseline;
+ }
+ audio:not([controls]) {
+   display: none;
+   height: 0;
+ }
+ [hidden],
+ template {
+   display: none;
+ }
+ a {
+   background-color: transparent;
+ }
+ a:active,
+ a:hover {
+   outline: 0;
+ }
+ abbr[title] {
+   border-bottom: none;
+   text-decoration: underline;
+   text-decoration: underline dotted;
+ }
+ b,
+ strong {
+   font-weight: bold;
+ }
+ dfn {
+   font-style: italic;
+ }
+ h1 {
+   font-size: 2em;
+   margin: 0.67em 0;
+ }
+ mark {
+   background: #ff0;
+   color: #000;
+ }
+ small {
+   font-size: 80%;
+ }
+ sub,
+ sup {
+   font-size: 75%;
+   line-height: 0;
+   position: relative;
+   vertical-align: baseline;
+ }
+ sup {
+   top: -0.5em;
+ }
+ sub {
+   bottom: -0.25em;
+ }
+ img {
+   border: 0;
+ }
+ svg:not(:root) {
+   overflow: hidden;
+ }
+ figure {
+   margin: 1em 40px;
+ }
+ hr {
+   box-sizing: content-box;
+   height: 0;
+ }
+ pre {
+   overflow: auto;
+ }
+ code,
+ kbd,
+ pre,
+ samp {
+   font-family: monospace, monospace;
+   font-size: 1em;
+ }
+ button,
+ input,
+ optgroup,
+ select,
+ textarea {
+   color: inherit;
+   font: inherit;
+   margin: 0;
+ }
+ button {
+   overflow: visible;
+ }
+ button,
+ select {
+   text-transform: none;
+ }
+ button,
+ html input[type="button"],
+ input[type="reset"],
+ input[type="submit"] {
+   -webkit-appearance: button;
+   cursor: pointer;
+ }
+ button[disabled],
+ html input[disabled] {
+   cursor: default;
+ }
+ button::-moz-focus-inner,
+ input::-moz-focus-inner {
+   border: 0;
+   padding: 0;
+ }
+ input {
+   line-height: normal;
+ }
+ input[type="checkbox"],
+ input[type="radio"] {
+   box-sizing: border-box;
+   padding: 0;
+ }
+ input[type="number"]::-webkit-inner-spin-button,
+ input[type="number"]::-webkit-outer-spin-button {
+   height: auto;
+ }
+ input[type="search"] {
+   -webkit-appearance: textfield;
+   box-sizing: content-box;
+ }
+ input[type="search"]::-webkit-search-cancel-button,
+ input[type="search"]::-webkit-search-decoration {
+   -webkit-appearance: none;
+ }
+ fieldset {
+   border: 1px solid #c0c0c0;
+   margin: 0 2px;
+   padding: 0.35em 0.625em 0.75em;
+ }
+ legend {
+   border: 0;
+   padding: 0;
+ }
+ textarea {
+   overflow: auto;
+ }
+ optgroup {
+   font-weight: bold;
+ }
+ table {
+   border-collapse: collapse;
+   border-spacing: 0;
+ }
+ td,
+ th {
+   padding: 0;
+ }
+ /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+ @media print {
+   a,
+   a:visited {
+     text-decoration: underline;
+   }
+   a[href]:after {
+     content: " (" attr(href) ")";
+   }
+   abbr[title]:after {
+     content: " (" attr(title) ")";
+   }
+   a[href^="#"]:after,
+   a[href^="javascript:"]:after {
+     content: "";
+   }
+   pre,
+   blockquote {
+     border: 1px solid #999;
+     page-break-inside: avoid;
+   }
+   thead {
+     display: table-header-group;
+   }
+   tr,
+   img {
+     page-break-inside: avoid;
+   }
+   img {
+     max-width: 100% !important;
+   }
+   p,
+   h2,
+   h3 {
+     orphans: 3;
+     widows: 3;
+   }
+   h2,
+   h3 {
+     page-break-after: avoid;
+   }
+   .navbar {
+     display: none;
+   }
+   .btn > .caret,
+   .dropup > .btn > .caret {
+     border-top-color: #000 !important;
+   }
+   .label {
+     border: 1px solid #000;
+   }
+   .table {
+     border-collapse: collapse !important;
+   }
+   .table td,
+   .table th {
+     background-color: #fff !important;
+   }
+   .table-bordered th,
+   .table-bordered td {
+     border: 1px solid #ddd !important;
+   }
+ }
+ * {
+   box-sizing: border-box;
+ }
+ *:before,
+ *:after {
+   box-sizing: border-box;
+ }
+ html {
+   font-size: 1.25rem;
+   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ }
+ body {
+   font-family: "ff-meta-serif-web-pro", serif;
+   font-size: 20px;
+   line-height: 1.4;
+   color: #1c1c1c;
+   background-color: #fff;
+ }
+ input,
+ button,
+ select,
+ textarea {
+   font-family: inherit;
+   font-size: inherit;
+   line-height: inherit;
+ }
+ a {
+   color: #6bac43;
+   text-decoration: none;
+ }
+ a:hover,
+ a:focus {
+   color: #1c683e;
+   text-decoration: underline;
+ }
+ a:focus {
+   outline: 5px auto -webkit-focus-ring-color;
+   outline-offset: -2px;
+ }
+ figure {
+   margin: 0;
+ }
+ img {
+   vertical-align: middle;
+ }
+ .img-responsive,
+ .thumbnail > img,
+ .thumbnail a > img,
+ .carousel-inner > .item > img,
+ .carousel-inner > .item > a > img {
+   display: block;
+   max-width: 100%;
+   height: auto;
+ }
+ .img-rounded {
+   border-radius: 16px;
+ }
+ .img-thumbnail {
+   padding: 4px;
+   line-height: 1.4;
+   background-color: #fff;
+   border: 1px solid #ddd;
+   border-radius: 8px;
+   -webkit-transition: all 0.2s ease-in-out;
+   transition: all 0.2s ease-in-out;
+   display: inline-block;
+   max-width: 100%;
+   height: auto;
+ }
+ .img-circle {
+   border-radius: 50%;
+ }
+ hr {
+   margin-top: 28px;
+   margin-bottom: 28px;
+   border: 0;
+   border-top: 1px solid #dee2e6;
+ }
+ .sr-only {
+   position: absolute;
+   width: 1px;
+   height: 1px;
+   padding: 0;
+   margin: -1px;
+   overflow: hidden;
+   clip: rect(0, 0, 0, 0);
+   border: 0;
+ }
+ .sr-only-focusable:active,
+ .sr-only-focusable:focus {
+   position: static;
+   width: auto;
+   height: auto;
+   margin: 0;
+   overflow: visible;
+   clip: auto;
+ }
+ [role="button"] {
+   cursor: pointer;
+ }
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ .h1,
+ .h2,
+ .h3,
+ .h4,
+ .h5,
+ .h6 {
+   font-family: inherit;
+   font-weight: 500;
+   line-height: 1.1;
+   color: inherit;
+ }
+ h1 small,
+ h2 small,
+ h3 small,
+ h4 small,
+ h5 small,
+ h6 small,
+ .h1 small,
+ .h2 small,
+ .h3 small,
+ .h4 small,
+ .h5 small,
+ .h6 small,
+ h1 .small,
+ h2 .small,
+ h3 .small,
+ h4 .small,
+ h5 .small,
+ h6 .small,
+ .h1 .small,
+ .h2 .small,
+ .h3 .small,
+ .h4 .small,
+ .h5 .small,
+ .h6 .small {
+   font-weight: 400;
+   line-height: 1;
+   color: #ccc;
+ }
+ h1,
+ .h1,
+ h2,
+ .h2,
+ h3,
+ .h3 {
+   margin-top: 28px;
+   margin-bottom: 14px;
+ }
+ h1 small,
+ .h1 small,
+ h2 small,
+ .h2 small,
+ h3 small,
+ .h3 small,
+ h1 .small,
+ .h1 .small,
+ h2 .small,
+ .h2 .small,
+ h3 .small,
+ .h3 .small {
+   font-size: 65%;
+ }
+ h4,
+ .h4,
+ h5,
+ .h5,
+ h6,
+ .h6 {
+   margin-top: 14px;
+   margin-bottom: 14px;
+ }
+ h4 small,
+ .h4 small,
+ h5 small,
+ .h5 small,
+ h6 small,
+ .h6 small,
+ h4 .small,
+ .h4 .small,
+ h5 .small,
+ .h5 .small,
+ h6 .small,
+ .h6 .small {
+   font-size: 75%;
+ }
+ h1,
+ .h1 {
+   font-size: 40px;
+ }
+ h2,
+ .h2 {
+   font-size: 36px;
+ }
+ h3,
+ .h3 {
+   font-size: 32px;
+ }
+ h4,
+ .h4 {
+   font-size: 28px;
+ }
+ h5,
+ .h5 {
+   font-size: 24px;
+ }
+ h6,
+ .h6 {
+   font-size: 20px;
+ }
+ p {
+   margin: 0 0 14px;
+ }
+ .lead {
+   margin-bottom: 28px;
+   font-size: 23px;
+   font-weight: 300;
+   line-height: 1.4;
+ }
+ @media (min-width: 576px) {
+   .lead {
+     font-size: 30px;
+   }
+ }
+ small,
+ .small {
+   font-size: 85%;
+ }
+ mark,
+ .mark {
+   padding: 0.2em;
+   background-color: #fcf8e3;
+ }
+ .text-left {
+   text-align: left;
+ }
+ .text-right {
+   text-align: right;
+ }
+ .text-center {
+   text-align: center;
+ }
+ .text-justify {
+   text-align: justify;
+ }
+ .text-nowrap {
+   white-space: nowrap;
+ }
+ .text-lowercase {
+   text-transform: lowercase;
+ }
+ .text-uppercase {
+   text-transform: uppercase;
+ }
+ .text-capitalize {
+   text-transform: capitalize;
+ }
+ .text-muted {
+   color: #ccc;
+ }
+ .text-primary {
+   color: #6bac43;
+ }
+ a.text-primary:hover,
+ a.text-primary:focus {
+   color: #548735;
+ }
+ .text-success {
+   color: #468847;
+ }
+ a.text-success:hover,
+ a.text-success:focus {
+   color: #356635;
+ }
+ .text-info {
+   color: #3a87ad;
+ }
+ a.text-info:hover,
+ a.text-info:focus {
+   color: #2d6987;
+ }
+ .text-warning {
+   color: #c09853;
+ }
+ a.text-warning:hover,
+ a.text-warning:focus {
+   color: #a47e3c;
+ }
+ .text-danger {
+   color: #b94a48;
+ }
+ a.text-danger:hover,
+ a.text-danger:focus {
+   color: #953b39;
+ }
+ .bg-primary {
+   color: #fff;
+   background-color: #6bac43;
+ }
+ a.bg-primary:hover,
+ a.bg-primary:focus {
+   background-color: #548735;
+ }
+ .bg-success {
+   background-color: #dff0d8;
+ }
+ a.bg-success:hover,
+ a.bg-success:focus {
+   background-color: #c1e2b3;
+ }
+ .bg-info {
+   background-color: #d9edf7;
+ }
+ a.bg-info:hover,
+ a.bg-info:focus {
+   background-color: #afd9ee;
+ }
+ .bg-warning {
+   background-color: #fcf8e3;
+ }
+ a.bg-warning:hover,
+ a.bg-warning:focus {
+   background-color: #f7ecb5;
+ }
+ .bg-danger {
+   background-color: #f2dede;
+ }
+ a.bg-danger:hover,
+ a.bg-danger:focus {
+   background-color: #e4b9b9;
+ }
+ .page-header {
+   padding-bottom: 13px;
+   margin: 56px 0 28px;
+   border-bottom: 1px solid #efefef;
+ }
+ ul,
+ ol {
+   margin-top: 0;
+   margin-bottom: 14px;
+ }
+ ul ul,
+ ol ul,
+ ul ol,
+ ol ol {
+   margin-bottom: 0;
+ }
+ .list-unstyled {
+   padding-left: 0;
+   list-style: none;
+ }
+ .list-inline {
+   padding-left: 0;
+   list-style: none;
+   margin-left: -5px;
+ }
+ .list-inline > li {
+   display: inline-block;
+   padding-right: 5px;
+   padding-left: 5px;
+ }
+ dl {
+   margin-top: 0;
+   margin-bottom: 28px;
+ }
+ dt,
+ dd {
+   line-height: 1.4;
+ }
+ dt {
+   font-weight: 700;
+ }
+ dd {
+   margin-left: 0;
+ }
+ @media (min-width: 576px) {
+   .dl-horizontal dt {
+     float: left;
+     width: 160px;
+     clear: left;
+     text-align: right;
+     overflow: hidden;
+     text-overflow: ellipsis;
+     white-space: nowrap;
+   }
+   .dl-horizontal dd {
+     margin-left: 180px;
+   }
+ }
+ abbr[title],
+ abbr[data-original-title] {
+   cursor: help;
+ }
+ .initialism {
+   font-size: 90%;
+   text-transform: uppercase;
+ }
+ blockquote {
+   padding: 14px 28px;
+   margin: 0 0 28px;
+   font-size: 25px;
+   border-left: 5px solid #efefef;
+ }
+ blockquote p:last-child,
+ blockquote ul:last-child,
+ blockquote ol:last-child {
+   margin-bottom: 0;
+ }
+ blockquote footer,
+ blockquote small,
+ blockquote .small {
+   display: block;
+   font-size: 80%;
+   line-height: 1.4;
+   color: #4f4f4f;
+ }
+ blockquote footer:before,
+ blockquote small:before,
+ blockquote .small:before {
+   content: "\2014 \00A0";
+ }
+ .blockquote-reverse,
+ blockquote.pull-right {
+   padding-right: 15px;
+   padding-left: 0;
+   text-align: right;
+   border-right: 5px solid #efefef;
+   border-left: 0;
+ }
+ .blockquote-reverse footer:before,
+ blockquote.pull-right footer:before,
+ .blockquote-reverse small:before,
+ blockquote.pull-right small:before,
+ .blockquote-reverse .small:before,
+ blockquote.pull-right .small:before {
+   content: "";
+ }
+ .blockquote-reverse footer:after,
+ blockquote.pull-right footer:after,
+ .blockquote-reverse small:after,
+ blockquote.pull-right small:after,
+ .blockquote-reverse .small:after,
+ blockquote.pull-right .small:after {
+   content: "\00A0 \2014";
+ }
+ address {
+   margin-bottom: 28px;
+   font-style: normal;
+   line-height: 1.4;
+ }
+ code,
+ kbd,
+ pre,
+ samp {
+   font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ }
+ code {
+   padding: 2px 4px;
+   font-size: 90%;
+   color: #c7254e;
+   background-color: #f9f2f4;
+   border-radius: 8px;
+ }
+ kbd {
+   padding: 2px 4px;
+   font-size: 90%;
+   color: #fff;
+   background-color: #333;
+   border-radius: 4px;
+   box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+ }
+ kbd kbd {
+   padding: 0;
+   font-size: 100%;
+   font-weight: 700;
+   box-shadow: none;
+ }
+ pre {
+   display: block;
+   padding: 13.5px;
+   margin: 0 0 14px;
+   font-size: 19px;
+   line-height: 1.4;
+   color: #303030;
+   word-break: break-all;
+   word-wrap: break-word;
+   background-color: #f5f5f5;
+   border: 1px solid #ccc;
+   border-radius: 8px;
+ }
+ pre code {
+   padding: 0;
+   font-size: inherit;
+   color: inherit;
+   white-space: pre-wrap;
+   background-color: transparent;
+   border-radius: 0;
+ }
+ .pre-scrollable {
+   max-height: 340px;
+   overflow-y: scroll;
+ }
+ .container {
+   padding-right: 15px;
+   padding-left: 15px;
+   margin-right: auto;
+   margin-left: auto;
+ }
+ @media (min-width: 576px) {
+   .container {
+     width: 750px;
+   }
+ }
+ @media (min-width: 768px) {
+   .container {
+     width: 970px;
+   }
+ }
+ @media (min-width: 992px) {
+   .container {
+     width: 1170px;
+   }
+ }
+ .container-fluid {
+   padding-right: 15px;
+   padding-left: 15px;
+   margin-right: auto;
+   margin-left: auto;
+ }
+ .row {
+   margin-right: -15px;
+   margin-left: -15px;
+ }
+ .row-no-gutters {
+   margin-right: 0;
+   margin-left: 0;
+ }
+ .row-no-gutters [class*="col-"] {
+   padding-right: 0;
+   padding-left: 0;
+ }
+ .col-xs-1,
+ .col-sm-1,
+ .col-md-1,
+ .col-lg-1,
+ .col-xs-2,
+ .col-sm-2,
+ .col-md-2,
+ .col-lg-2,
+ .col-xs-3,
+ .col-sm-3,
+ .col-md-3,
+ .col-lg-3,
+ .col-xs-4,
+ .col-sm-4,
+ .col-md-4,
+ .col-lg-4,
+ .col-xs-5,
+ .col-sm-5,
+ .col-md-5,
+ .col-lg-5,
+ .col-xs-6,
+ .col-sm-6,
+ .col-md-6,
+ .col-lg-6,
+ .col-xs-7,
+ .col-sm-7,
+ .col-md-7,
+ .col-lg-7,
+ .col-xs-8,
+ .col-sm-8,
+ .col-md-8,
+ .col-lg-8,
+ .col-xs-9,
+ .col-sm-9,
+ .col-md-9,
+ .col-lg-9,
+ .col-xs-10,
+ .col-sm-10,
+ .col-md-10,
+ .col-lg-10,
+ .col-xs-11,
+ .col-sm-11,
+ .col-md-11,
+ .col-lg-11,
+ .col-xs-12,
+ .col-sm-12,
+ .col-md-12,
+ .col-lg-12 {
+   position: relative;
+   min-height: 1px;
+   padding-right: 15px;
+   padding-left: 15px;
+ }
+ .col-xs-1,
+ .col-xs-2,
+ .col-xs-3,
+ .col-xs-4,
+ .col-xs-5,
+ .col-xs-6,
+ .col-xs-7,
+ .col-xs-8,
+ .col-xs-9,
+ .col-xs-10,
+ .col-xs-11,
+ .col-xs-12 {
+   float: left;
+ }
+ .col-xs-12 {
+   width: 100%;
+ }
+ .col-xs-11 {
+   width: 91.66666667%;
+ }
+ .col-xs-10 {
+   width: 83.33333333%;
+ }
+ .col-xs-9 {
+   width: 75%;
+ }
+ .col-xs-8 {
+   width: 66.66666667%;
+ }
+ .col-xs-7 {
+   width: 58.33333333%;
+ }
+ .col-xs-6 {
+   width: 50%;
+ }
+ .col-xs-5 {
+   width: 41.66666667%;
+ }
+ .col-xs-4 {
+   width: 33.33333333%;
+ }
+ .col-xs-3 {
+   width: 25%;
+ }
+ .col-xs-2 {
+   width: 16.66666667%;
+ }
+ .col-xs-1 {
+   width: 8.33333333%;
+ }
+ .col-xs-pull-12 {
+   right: 100%;
+ }
+ .col-xs-pull-11 {
+   right: 91.66666667%;
+ }
+ .col-xs-pull-10 {
+   right: 83.33333333%;
+ }
+ .col-xs-pull-9 {
+   right: 75%;
+ }
+ .col-xs-pull-8 {
+   right: 66.66666667%;
+ }
+ .col-xs-pull-7 {
+   right: 58.33333333%;
+ }
+ .col-xs-pull-6 {
+   right: 50%;
+ }
+ .col-xs-pull-5 {
+   right: 41.66666667%;
+ }
+ .col-xs-pull-4 {
+   right: 33.33333333%;
+ }
+ .col-xs-pull-3 {
+   right: 25%;
+ }
+ .col-xs-pull-2 {
+   right: 16.66666667%;
+ }
+ .col-xs-pull-1 {
+   right: 8.33333333%;
+ }
+ .col-xs-pull-0 {
+   right: auto;
+ }
+ .col-xs-push-12 {
+   left: 100%;
+ }
+ .col-xs-push-11 {
+   left: 91.66666667%;
+ }
+ .col-xs-push-10 {
+   left: 83.33333333%;
+ }
+ .col-xs-push-9 {
+   left: 75%;
+ }
+ .col-xs-push-8 {
+   left: 66.66666667%;
+ }
+ .col-xs-push-7 {
+   left: 58.33333333%;
+ }
+ .col-xs-push-6 {
+   left: 50%;
+ }
+ .col-xs-push-5 {
+   left: 41.66666667%;
+ }
+ .col-xs-push-4 {
+   left: 33.33333333%;
+ }
+ .col-xs-push-3 {
+   left: 25%;
+ }
+ .col-xs-push-2 {
+   left: 16.66666667%;
+ }
+ .col-xs-push-1 {
+   left: 8.33333333%;
+ }
+ .col-xs-push-0 {
+   left: auto;
+ }
+ .col-xs-offset-12 {
+   margin-left: 100%;
+ }
+ .col-xs-offset-11 {
+   margin-left: 91.66666667%;
+ }
+ .col-xs-offset-10 {
+   margin-left: 83.33333333%;
+ }
+ .col-xs-offset-9 {
+   margin-left: 75%;
+ }
+ .col-xs-offset-8 {
+   margin-left: 66.66666667%;
+ }
+ .col-xs-offset-7 {
+   margin-left: 58.33333333%;
+ }
+ .col-xs-offset-6 {
+   margin-left: 50%;
+ }
+ .col-xs-offset-5 {
+   margin-left: 41.66666667%;
+ }
+ .col-xs-offset-4 {
+   margin-left: 33.33333333%;
+ }
+ .col-xs-offset-3 {
+   margin-left: 25%;
+ }
+ .col-xs-offset-2 {
+   margin-left: 16.66666667%;
+ }
+ .col-xs-offset-1 {
+   margin-left: 8.33333333%;
+ }
+ .col-xs-offset-0 {
+   margin-left: 0%;
+ }
+ @media (min-width: 576px) {
+   .col-sm-1,
+   .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-10,
+   .col-sm-11,
+   .col-sm-12 {
+     float: left;
+   }
+   .col-sm-12 {
+     width: 100%;
+   }
+   .col-sm-11 {
+     width: 91.66666667%;
+   }
+   .col-sm-10 {
+     width: 83.33333333%;
+   }
+   .col-sm-9 {
+     width: 75%;
+   }
+   .col-sm-8 {
+     width: 66.66666667%;
+   }
+   .col-sm-7 {
+     width: 58.33333333%;
+   }
+   .col-sm-6 {
+     width: 50%;
+   }
+   .col-sm-5 {
+     width: 41.66666667%;
+   }
+   .col-sm-4 {
+     width: 33.33333333%;
+   }
+   .col-sm-3 {
+     width: 25%;
+   }
+   .col-sm-2 {
+     width: 16.66666667%;
+   }
+   .col-sm-1 {
+     width: 8.33333333%;
+   }
+   .col-sm-pull-12 {
+     right: 100%;
+   }
+   .col-sm-pull-11 {
+     right: 91.66666667%;
+   }
+   .col-sm-pull-10 {
+     right: 83.33333333%;
+   }
+   .col-sm-pull-9 {
+     right: 75%;
+   }
+   .col-sm-pull-8 {
+     right: 66.66666667%;
+   }
+   .col-sm-pull-7 {
+     right: 58.33333333%;
+   }
+   .col-sm-pull-6 {
+     right: 50%;
+   }
+   .col-sm-pull-5 {
+     right: 41.66666667%;
+   }
+   .col-sm-pull-4 {
+     right: 33.33333333%;
+   }
+   .col-sm-pull-3 {
+     right: 25%;
+   }
+   .col-sm-pull-2 {
+     right: 16.66666667%;
+   }
+   .col-sm-pull-1 {
+     right: 8.33333333%;
+   }
+   .col-sm-pull-0 {
+     right: auto;
+   }
+   .col-sm-push-12 {
+     left: 100%;
+   }
+   .col-sm-push-11 {
+     left: 91.66666667%;
+   }
+   .col-sm-push-10 {
+     left: 83.33333333%;
+   }
+   .col-sm-push-9 {
+     left: 75%;
+   }
+   .col-sm-push-8 {
+     left: 66.66666667%;
+   }
+   .col-sm-push-7 {
+     left: 58.33333333%;
+   }
+   .col-sm-push-6 {
+     left: 50%;
+   }
+   .col-sm-push-5 {
+     left: 41.66666667%;
+   }
+   .col-sm-push-4 {
+     left: 33.33333333%;
+   }
+   .col-sm-push-3 {
+     left: 25%;
+   }
+   .col-sm-push-2 {
+     left: 16.66666667%;
+   }
+   .col-sm-push-1 {
+     left: 8.33333333%;
+   }
+   .col-sm-push-0 {
+     left: auto;
+   }
+   .col-sm-offset-12 {
+     margin-left: 100%;
+   }
+   .col-sm-offset-11 {
+     margin-left: 91.66666667%;
+   }
+   .col-sm-offset-10 {
+     margin-left: 83.33333333%;
+   }
+   .col-sm-offset-9 {
+     margin-left: 75%;
+   }
+   .col-sm-offset-8 {
+     margin-left: 66.66666667%;
+   }
+   .col-sm-offset-7 {
+     margin-left: 58.33333333%;
+   }
+   .col-sm-offset-6 {
+     margin-left: 50%;
+   }
+   .col-sm-offset-5 {
+     margin-left: 41.66666667%;
+   }
+   .col-sm-offset-4 {
+     margin-left: 33.33333333%;
+   }
+   .col-sm-offset-3 {
+     margin-left: 25%;
+   }
+   .col-sm-offset-2 {
+     margin-left: 16.66666667%;
+   }
+   .col-sm-offset-1 {
+     margin-left: 8.33333333%;
+   }
+   .col-sm-offset-0 {
+     margin-left: 0%;
+   }
+ }
+ @media (min-width: 768px) {
+   .col-md-1,
+   .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-10,
+   .col-md-11,
+   .col-md-12 {
+     float: left;
+   }
+   .col-md-12 {
+     width: 100%;
+   }
+   .col-md-11 {
+     width: 91.66666667%;
+   }
+   .col-md-10 {
+     width: 83.33333333%;
+   }
+   .col-md-9 {
+     width: 75%;
+   }
+   .col-md-8 {
+     width: 66.66666667%;
+   }
+   .col-md-7 {
+     width: 58.33333333%;
+   }
+   .col-md-6 {
+     width: 50%;
+   }
+   .col-md-5 {
+     width: 41.66666667%;
+   }
+   .col-md-4 {
+     width: 33.33333333%;
+   }
+   .col-md-3 {
+     width: 25%;
+   }
+   .col-md-2 {
+     width: 16.66666667%;
+   }
+   .col-md-1 {
+     width: 8.33333333%;
+   }
+   .col-md-pull-12 {
+     right: 100%;
+   }
+   .col-md-pull-11 {
+     right: 91.66666667%;
+   }
+   .col-md-pull-10 {
+     right: 83.33333333%;
+   }
+   .col-md-pull-9 {
+     right: 75%;
+   }
+   .col-md-pull-8 {
+     right: 66.66666667%;
+   }
+   .col-md-pull-7 {
+     right: 58.33333333%;
+   }
+   .col-md-pull-6 {
+     right: 50%;
+   }
+   .col-md-pull-5 {
+     right: 41.66666667%;
+   }
+   .col-md-pull-4 {
+     right: 33.33333333%;
+   }
+   .col-md-pull-3 {
+     right: 25%;
+   }
+   .col-md-pull-2 {
+     right: 16.66666667%;
+   }
+   .col-md-pull-1 {
+     right: 8.33333333%;
+   }
+   .col-md-pull-0 {
+     right: auto;
+   }
+   .col-md-push-12 {
+     left: 100%;
+   }
+   .col-md-push-11 {
+     left: 91.66666667%;
+   }
+   .col-md-push-10 {
+     left: 83.33333333%;
+   }
+   .col-md-push-9 {
+     left: 75%;
+   }
+   .col-md-push-8 {
+     left: 66.66666667%;
+   }
+   .col-md-push-7 {
+     left: 58.33333333%;
+   }
+   .col-md-push-6 {
+     left: 50%;
+   }
+   .col-md-push-5 {
+     left: 41.66666667%;
+   }
+   .col-md-push-4 {
+     left: 33.33333333%;
+   }
+   .col-md-push-3 {
+     left: 25%;
+   }
+   .col-md-push-2 {
+     left: 16.66666667%;
+   }
+   .col-md-push-1 {
+     left: 8.33333333%;
+   }
+   .col-md-push-0 {
+     left: auto;
+   }
+   .col-md-offset-12 {
+     margin-left: 100%;
+   }
+   .col-md-offset-11 {
+     margin-left: 91.66666667%;
+   }
+   .col-md-offset-10 {
+     margin-left: 83.33333333%;
+   }
+   .col-md-offset-9 {
+     margin-left: 75%;
+   }
+   .col-md-offset-8 {
+     margin-left: 66.66666667%;
+   }
+   .col-md-offset-7 {
+     margin-left: 58.33333333%;
+   }
+   .col-md-offset-6 {
+     margin-left: 50%;
+   }
+   .col-md-offset-5 {
+     margin-left: 41.66666667%;
+   }
+   .col-md-offset-4 {
+     margin-left: 33.33333333%;
+   }
+   .col-md-offset-3 {
+     margin-left: 25%;
+   }
+   .col-md-offset-2 {
+     margin-left: 16.66666667%;
+   }
+   .col-md-offset-1 {
+     margin-left: 8.33333333%;
+   }
+   .col-md-offset-0 {
+     margin-left: 0%;
+   }
+ }
+ @media (min-width: 992px) {
+   .col-lg-1,
+   .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-10,
+   .col-lg-11,
+   .col-lg-12 {
+     float: left;
+   }
+   .col-lg-12 {
+     width: 100%;
+   }
+   .col-lg-11 {
+     width: 91.66666667%;
+   }
+   .col-lg-10 {
+     width: 83.33333333%;
+   }
+   .col-lg-9 {
+     width: 75%;
+   }
+   .col-lg-8 {
+     width: 66.66666667%;
+   }
+   .col-lg-7 {
+     width: 58.33333333%;
+   }
+   .col-lg-6 {
+     width: 50%;
+   }
+   .col-lg-5 {
+     width: 41.66666667%;
+   }
+   .col-lg-4 {
+     width: 33.33333333%;
+   }
+   .col-lg-3 {
+     width: 25%;
+   }
+   .col-lg-2 {
+     width: 16.66666667%;
+   }
+   .col-lg-1 {
+     width: 8.33333333%;
+   }
+   .col-lg-pull-12 {
+     right: 100%;
+   }
+   .col-lg-pull-11 {
+     right: 91.66666667%;
+   }
+   .col-lg-pull-10 {
+     right: 83.33333333%;
+   }
+   .col-lg-pull-9 {
+     right: 75%;
+   }
+   .col-lg-pull-8 {
+     right: 66.66666667%;
+   }
+   .col-lg-pull-7 {
+     right: 58.33333333%;
+   }
+   .col-lg-pull-6 {
+     right: 50%;
+   }
+   .col-lg-pull-5 {
+     right: 41.66666667%;
+   }
+   .col-lg-pull-4 {
+     right: 33.33333333%;
+   }
+   .col-lg-pull-3 {
+     right: 25%;
+   }
+   .col-lg-pull-2 {
+     right: 16.66666667%;
+   }
+   .col-lg-pull-1 {
+     right: 8.33333333%;
+   }
+   .col-lg-pull-0 {
+     right: auto;
+   }
+   .col-lg-push-12 {
+     left: 100%;
+   }
+   .col-lg-push-11 {
+     left: 91.66666667%;
+   }
+   .col-lg-push-10 {
+     left: 83.33333333%;
+   }
+   .col-lg-push-9 {
+     left: 75%;
+   }
+   .col-lg-push-8 {
+     left: 66.66666667%;
+   }
+   .col-lg-push-7 {
+     left: 58.33333333%;
+   }
+   .col-lg-push-6 {
+     left: 50%;
+   }
+   .col-lg-push-5 {
+     left: 41.66666667%;
+   }
+   .col-lg-push-4 {
+     left: 33.33333333%;
+   }
+   .col-lg-push-3 {
+     left: 25%;
+   }
+   .col-lg-push-2 {
+     left: 16.66666667%;
+   }
+   .col-lg-push-1 {
+     left: 8.33333333%;
+   }
+   .col-lg-push-0 {
+     left: auto;
+   }
+   .col-lg-offset-12 {
+     margin-left: 100%;
+   }
+   .col-lg-offset-11 {
+     margin-left: 91.66666667%;
+   }
+   .col-lg-offset-10 {
+     margin-left: 83.33333333%;
+   }
+   .col-lg-offset-9 {
+     margin-left: 75%;
+   }
+   .col-lg-offset-8 {
+     margin-left: 66.66666667%;
+   }
+   .col-lg-offset-7 {
+     margin-left: 58.33333333%;
+   }
+   .col-lg-offset-6 {
+     margin-left: 50%;
+   }
+   .col-lg-offset-5 {
+     margin-left: 41.66666667%;
+   }
+   .col-lg-offset-4 {
+     margin-left: 33.33333333%;
+   }
+   .col-lg-offset-3 {
+     margin-left: 25%;
+   }
+   .col-lg-offset-2 {
+     margin-left: 16.66666667%;
+   }
+   .col-lg-offset-1 {
+     margin-left: 8.33333333%;
+   }
+   .col-lg-offset-0 {
+     margin-left: 0%;
+   }
+ }
+ table {
+   background-color: #fff;
+ }
+ table col[class*="col-"] {
+   position: static;
+   display: table-column;
+   float: none;
+ }
+ table td[class*="col-"],
+ table th[class*="col-"] {
+   position: static;
+   display: table-cell;
+   float: none;
+ }
+ caption {
+   padding-top: 8px;
+   padding-bottom: 8px;
+   color: #ccc;
+   text-align: left;
+ }
+ th {
+   text-align: left;
+ }
+ .table {
+   width: 100%;
+   max-width: 100%;
+   margin-bottom: 28px;
+ }
+ .table > thead > tr > th,
+ .table > tbody > tr > th,
+ .table > tfoot > tr > th,
+ .table > thead > tr > td,
+ .table > tbody > tr > td,
+ .table > tfoot > tr > td {
+   padding: 8px;
+   line-height: 1.4;
+   vertical-align: top;
+   border-top: 1px solid #ddd;
+ }
+ .table > thead > tr > th {
+   vertical-align: bottom;
+   border-bottom: 2px solid #ddd;
+ }
+ .table > caption + thead > tr:first-child > th,
+ .table > colgroup + thead > tr:first-child > th,
+ .table > thead:first-child > tr:first-child > th,
+ .table > caption + thead > tr:first-child > td,
+ .table > colgroup + thead > tr:first-child > td,
+ .table > thead:first-child > tr:first-child > td {
+   border-top: 0;
+ }
+ .table > tbody + tbody {
+   border-top: 2px solid #ddd;
+ }
+ .table .table {
+   background-color: #fff;
+ }
+ .table-condensed > thead > tr > th,
+ .table-condensed > tbody > tr > th,
+ .table-condensed > tfoot > tr > th,
+ .table-condensed > thead > tr > td,
+ .table-condensed > tbody > tr > td,
+ .table-condensed > tfoot > tr > td {
+   padding: 5px;
+ }
+ .table-bordered {
+   border: 1px solid #ddd;
+ }
+ .table-bordered > thead > tr > th,
+ .table-bordered > tbody > tr > th,
+ .table-bordered > tfoot > tr > th,
+ .table-bordered > thead > tr > td,
+ .table-bordered > tbody > tr > td,
+ .table-bordered > tfoot > tr > td {
+   border: 1px solid #ddd;
+ }
+ .table-bordered > thead > tr > th,
+ .table-bordered > thead > tr > td {
+   border-bottom-width: 2px;
+ }
+ .table-striped > tbody > tr:nth-of-type(odd) {
+   background-color: #f7f7f7;
+ }
+ .table-hover > tbody > tr:hover {
+   background-color: #f5f5f5;
+ }
+ .table > thead > tr > td.active,
+ .table > tbody > tr > td.active,
+ .table > tfoot > tr > td.active,
+ .table > thead > tr > th.active,
+ .table > tbody > tr > th.active,
+ .table > tfoot > tr > th.active,
+ .table > thead > tr.active > td,
+ .table > tbody > tr.active > td,
+ .table > tfoot > tr.active > td,
+ .table > thead > tr.active > th,
+ .table > tbody > tr.active > th,
+ .table > tfoot > tr.active > th {
+   background-color: #f5f5f5;
+ }
+ .table-hover > tbody > tr > td.active:hover,
+ .table-hover > tbody > tr > th.active:hover,
+ .table-hover > tbody > tr.active:hover > td,
+ .table-hover > tbody > tr:hover > .active,
+ .table-hover > tbody > tr.active:hover > th {
+   background-color: #e8e8e8;
+ }
+ .table > thead > tr > td.success,
+ .table > tbody > tr > td.success,
+ .table > tfoot > tr > td.success,
+ .table > thead > tr > th.success,
+ .table > tbody > tr > th.success,
+ .table > tfoot > tr > th.success,
+ .table > thead > tr.success > td,
+ .table > tbody > tr.success > td,
+ .table > tfoot > tr.success > td,
+ .table > thead > tr.success > th,
+ .table > tbody > tr.success > th,
+ .table > tfoot > tr.success > th {
+   background-color: #dff0d8;
+ }
+ .table-hover > tbody > tr > td.success:hover,
+ .table-hover > tbody > tr > th.success:hover,
+ .table-hover > tbody > tr.success:hover > td,
+ .table-hover > tbody > tr:hover > .success,
+ .table-hover > tbody > tr.success:hover > th {
+   background-color: #d0e9c6;
+ }
+ .table > thead > tr > td.info,
+ .table > tbody > tr > td.info,
+ .table > tfoot > tr > td.info,
+ .table > thead > tr > th.info,
+ .table > tbody > tr > th.info,
+ .table > tfoot > tr > th.info,
+ .table > thead > tr.info > td,
+ .table > tbody > tr.info > td,
+ .table > tfoot > tr.info > td,
+ .table > thead > tr.info > th,
+ .table > tbody > tr.info > th,
+ .table > tfoot > tr.info > th {
+   background-color: #d9edf7;
+ }
+ .table-hover > tbody > tr > td.info:hover,
+ .table-hover > tbody > tr > th.info:hover,
+ .table-hover > tbody > tr.info:hover > td,
+ .table-hover > tbody > tr:hover > .info,
+ .table-hover > tbody > tr.info:hover > th {
+   background-color: #c4e3f3;
+ }
+ .table > thead > tr > td.warning,
+ .table > tbody > tr > td.warning,
+ .table > tfoot > tr > td.warning,
+ .table > thead > tr > th.warning,
+ .table > tbody > tr > th.warning,
+ .table > tfoot > tr > th.warning,
+ .table > thead > tr.warning > td,
+ .table > tbody > tr.warning > td,
+ .table > tfoot > tr.warning > td,
+ .table > thead > tr.warning > th,
+ .table > tbody > tr.warning > th,
+ .table > tfoot > tr.warning > th {
+   background-color: #fcf8e3;
+ }
+ .table-hover > tbody > tr > td.warning:hover,
+ .table-hover > tbody > tr > th.warning:hover,
+ .table-hover > tbody > tr.warning:hover > td,
+ .table-hover > tbody > tr:hover > .warning,
+ .table-hover > tbody > tr.warning:hover > th {
+   background-color: #faf2cc;
+ }
+ .table > thead > tr > td.danger,
+ .table > tbody > tr > td.danger,
+ .table > tfoot > tr > td.danger,
+ .table > thead > tr > th.danger,
+ .table > tbody > tr > th.danger,
+ .table > tfoot > tr > th.danger,
+ .table > thead > tr.danger > td,
+ .table > tbody > tr.danger > td,
+ .table > tfoot > tr.danger > td,
+ .table > thead > tr.danger > th,
+ .table > tbody > tr.danger > th,
+ .table > tfoot > tr.danger > th {
+   background-color: #f2dede;
+ }
+ .table-hover > tbody > tr > td.danger:hover,
+ .table-hover > tbody > tr > th.danger:hover,
+ .table-hover > tbody > tr.danger:hover > td,
+ .table-hover > tbody > tr:hover > .danger,
+ .table-hover > tbody > tr.danger:hover > th {
+   background-color: #ebcccc;
+ }
+ .table-responsive {
+   min-height: 0.01%;
+   overflow-x: auto;
+ }
+ @media screen and (max-width: 575px) {
+   .table-responsive {
+     width: 100%;
+     margin-bottom: 21px;
+     overflow-y: hidden;
+     -ms-overflow-style: -ms-autohiding-scrollbar;
+     border: 1px solid #ddd;
+   }
+   .table-responsive > .table {
+     margin-bottom: 0;
+   }
+   .table-responsive > .table > thead > tr > th,
+   .table-responsive > .table > tbody > tr > th,
+   .table-responsive > .table > tfoot > tr > th,
+   .table-responsive > .table > thead > tr > td,
+   .table-responsive > .table > tbody > tr > td,
+   .table-responsive > .table > tfoot > tr > td {
+     white-space: nowrap;
+   }
+   .table-responsive > .table-bordered {
+     border: 0;
+   }
+   .table-responsive > .table-bordered > thead > tr > th:first-child,
+   .table-responsive > .table-bordered > tbody > tr > th:first-child,
+   .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+   .table-responsive > .table-bordered > thead > tr > td:first-child,
+   .table-responsive > .table-bordered > tbody > tr > td:first-child,
+   .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+     border-left: 0;
+   }
+   .table-responsive > .table-bordered > thead > tr > th:last-child,
+   .table-responsive > .table-bordered > tbody > tr > th:last-child,
+   .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+   .table-responsive > .table-bordered > thead > tr > td:last-child,
+   .table-responsive > .table-bordered > tbody > tr > td:last-child,
+   .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+     border-right: 0;
+   }
+   .table-responsive > .table-bordered > tbody > tr:last-child > th,
+   .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+   .table-responsive > .table-bordered > tbody > tr:last-child > td,
+   .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+     border-bottom: 0;
+   }
+ }
+ fieldset {
+   min-width: 0;
+   padding: 0;
+   margin: 0;
+   border: 0;
+ }
+ legend {
+   display: block;
+   width: 100%;
+   padding: 0;
+   margin-bottom: 28px;
+   font-size: 30px;
+   line-height: inherit;
+   color: #303030;
+   border: 0;
+   border-bottom: 1px solid #ccc;
+ }
+ label {
+   display: inline-block;
+   max-width: 100%;
+   margin-bottom: 5px;
+   font-weight: 700;
+ }
+ input[type="search"] {
+   box-sizing: border-box;
+   -webkit-appearance: none;
+   appearance: none;
+ }
+ input[type="radio"],
+ input[type="checkbox"] {
+   margin: 4px 0 0;
+   margin-top: 1px \9;
+   line-height: normal;
+ }
+ input[type="radio"][disabled],
+ input[type="checkbox"][disabled],
+ input[type="radio"].disabled,
+ input[type="checkbox"].disabled,
+ fieldset[disabled] input[type="radio"],
+ fieldset[disabled] input[type="checkbox"] {
+   cursor: not-allowed;
+ }
+ input[type="file"] {
+   display: block;
+ }
+ input[type="range"] {
+   display: block;
+   width: 100%;
+ }
+ select[multiple],
+ select[size] {
+   height: auto;
+ }
+ input[type="file"]:focus,
+ input[type="radio"]:focus,
+ input[type="checkbox"]:focus {
+   outline: 5px auto -webkit-focus-ring-color;
+   outline-offset: -2px;
+ }
+ output {
+   display: block;
+   padding-top: 13px;
+   font-size: 20px;
+   line-height: 1.4;
+   color: #a4a4a4;
+ }
+ .form-control {
+   display: block;
+   width: 100%;
+   height: 54px;
+   padding: 12px 24px;
+   font-size: 20px;
+   line-height: 1.4;
+   color: #a4a4a4;
+   background-color: #fff;
+   background-image: none;
+   border: 1px solid #ccc;
+   border-radius: 8px;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+   -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+   transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ }
+ .form-control:focus {
+   border-color: #66afe9;
+   outline: 0;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
+ }
+ .form-control::-moz-placeholder {
+   color: #828282;
+   opacity: 1;
+ }
+ .form-control:-ms-input-placeholder {
+   color: #828282;
+ }
+ .form-control::-webkit-input-placeholder {
+   color: #828282;
+ }
+ .form-control::-ms-expand {
+   background-color: transparent;
+   border: 0;
+ }
+ .form-control[disabled],
+ .form-control[readonly],
+ fieldset[disabled] .form-control {
+   background-color: #efefef;
+   opacity: 1;
+ }
+ .form-control[disabled],
+ fieldset[disabled] .form-control {
+   cursor: not-allowed;
+ }
+ textarea.form-control {
+   height: auto;
+ }
+ select.form-control {
+   padding: 12px 72px 12px 24px;
+   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+   background-repeat: no-repeat;
+   background-position: right 24px center;
+   background-size: 16px 12px;
+   border-radius: 8px;
+   appearance: none;
+ }
+ select.form-control[multiple],
+ select.form-control[size]:not([size="1"]) {
+   padding-right: 24px;
+   background-image: none;
+ }
+ select.form-control:-moz-focusring {
+   color: transparent;
+   text-shadow: 0 0 0 #a4a4a4;
+ }
+ select.form-control:focus::-ms-value {
+   color: #a4a4a4;
+   background-color: #fff;
+ }
+ @media screen and (-webkit-min-device-pixel-ratio: 0) {
+   input[type="date"].form-control,
+   input[type="time"].form-control,
+   input[type="datetime-local"].form-control,
+   input[type="month"].form-control {
+     line-height: 54px;
+   }
+   input[type="date"].input-sm,
+   input[type="time"].input-sm,
+   input[type="datetime-local"].input-sm,
+   input[type="month"].input-sm,
+   .input-group-sm input[type="date"],
+   .input-group-sm input[type="time"],
+   .input-group-sm input[type="datetime-local"],
+   .input-group-sm input[type="month"] {
+     line-height: 43px;
+   }
+   input[type="date"].input-lg,
+   input[type="time"].input-lg,
+   input[type="datetime-local"].input-lg,
+   input[type="month"].input-lg,
+   .input-group-lg input[type="date"],
+   .input-group-lg input[type="time"],
+   .input-group-lg input[type="datetime-local"],
+   .input-group-lg input[type="month"] {
+     line-height: 68px;
+   }
+ }
+ .form-group {
+   margin-bottom: 15px;
+ }
+ .radio,
+ .checkbox {
+   position: relative;
+   display: block;
+   margin-top: 10px;
+   margin-bottom: 10px;
+ }
+ .radio.disabled label,
+ .checkbox.disabled label,
+ fieldset[disabled] .radio label,
+ fieldset[disabled] .checkbox label {
+   cursor: not-allowed;
+ }
+ .radio label,
+ .checkbox label {
+   min-height: 28px;
+   padding-left: 20px;
+   margin-bottom: 0;
+   font-weight: 400;
+   cursor: pointer;
+ }
+ .radio input[type="radio"],
+ .radio-inline input[type="radio"],
+ .checkbox input[type="checkbox"],
+ .checkbox-inline input[type="checkbox"] {
+   position: absolute;
+   margin-top: 4px \9;
+   margin-left: -20px;
+ }
+ .radio + .radio,
+ .checkbox + .checkbox {
+   margin-top: -5px;
+ }
+ .radio-inline,
+ .checkbox-inline {
+   position: relative;
+   display: inline-block;
+   padding-left: 20px;
+   margin-bottom: 0;
+   font-weight: 400;
+   vertical-align: middle;
+   cursor: pointer;
+ }
+ .radio-inline.disabled,
+ .checkbox-inline.disabled,
+ fieldset[disabled] .radio-inline,
+ fieldset[disabled] .checkbox-inline {
+   cursor: not-allowed;
+ }
+ .radio-inline + .radio-inline,
+ .checkbox-inline + .checkbox-inline {
+   margin-top: 0;
+   margin-left: 10px;
+ }
+ .form-control-static {
+   min-height: 48px;
+   padding-top: 13px;
+   padding-bottom: 13px;
+   margin-bottom: 0;
+ }
+ .form-control-static.input-lg,
+ .form-control-static.input-sm {
+   padding-right: 0;
+   padding-left: 0;
+ }
+ .input-sm {
+   height: 43px;
+   padding: 8px 20px;
+   font-size: 17px;
+   line-height: 1.5;
+   border-radius: 4px;
+ }
+ select.input-sm {
+   height: 43px;
+   padding: 8px 72px 8px 20px;
+ }
+ textarea.input-sm,
+ select[multiple].input-sm {
+   height: auto;
+ }
+ .form-group-sm .form-control {
+   height: 43px;
+   padding: 8px 20px;
+   font-size: 17px;
+   line-height: 1.5;
+   border-radius: 4px;
+ }
+ .form-group-sm select.form-control {
+   height: 43px;
+   line-height: 1.5;
+ }
+ .form-group-sm textarea.form-control,
+ .form-group-sm select[multiple].form-control {
+   height: auto;
+ }
+ .form-group-sm .form-control-static {
+   height: 1.5;
+   min-height: 45px;
+   padding: 9px 20px;
+   font-size: 17px;
+   line-height: 1.5;
+ }
+ .input-lg {
+   height: 68px;
+   padding: 16px 32px;
+   font-size: 25px;
+   line-height: 1.3333333;
+   border-radius: 16px;
+ }
+ select.input-lg {
+   height: 68px;
+   padding: 16px 72px 16px 32px;
+ }
+ textarea.input-lg,
+ select[multiple].input-lg {
+   height: auto;
+ }
+ .form-group-lg .form-control {
+   height: 68px;
+   padding: 16px 32px;
+   font-size: 25px;
+   line-height: 1.3333333;
+   border-radius: 16px;
+ }
+ .form-group-lg select.form-control {
+   height: 68px;
+   line-height: 68px;
+ }
+ .form-group-lg textarea.form-control,
+ .form-group-lg select[multiple].form-control {
+   height: auto;
+ }
+ .form-group-lg .form-control-static {
+   height: 68px;
+   min-height: 53px;
+   padding: 17px 32px;
+   font-size: 25px;
+   line-height: 1.3333333;
+ }
+ .has-feedback {
+   position: relative;
+ }
+ .has-feedback .form-control {
+   padding-right: 67.5px;
+ }
+ .form-control-feedback {
+   position: absolute;
+   top: 0;
+   right: 0;
+   z-index: 2;
+   display: block;
+   width: 54px;
+   height: 54px;
+   line-height: 54px;
+   text-align: center;
+   pointer-events: none;
+ }
+ .input-lg + .form-control-feedback,
+ .input-group-lg + .form-control-feedback,
+ .form-group-lg .form-control + .form-control-feedback {
+   width: 68px;
+   height: 68px;
+   line-height: 68px;
+ }
+ .input-sm + .form-control-feedback,
+ .input-group-sm + .form-control-feedback,
+ .form-group-sm .form-control + .form-control-feedback {
+   width: 43px;
+   height: 43px;
+   line-height: 43px;
+ }
+ .has-success .help-block,
+ .has-success .control-label,
+ .has-success .radio,
+ .has-success .checkbox,
+ .has-success .radio-inline,
+ .has-success .checkbox-inline,
+ .has-success.radio label,
+ .has-success.checkbox label,
+ .has-success.radio-inline label,
+ .has-success.checkbox-inline label {
+   color: #468847;
+ }
+ .has-success .form-control {
+   border-color: #468847;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ }
+ .has-success .form-control:focus {
+   border-color: #356635;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ }
+ .has-success .input-group-addon {
+   color: #468847;
+   background-color: #dff0d8;
+   border-color: #468847;
+ }
+ .has-success .form-control-feedback {
+   color: #468847;
+ }
+ .has-warning .help-block,
+ .has-warning .control-label,
+ .has-warning .radio,
+ .has-warning .checkbox,
+ .has-warning .radio-inline,
+ .has-warning .checkbox-inline,
+ .has-warning.radio label,
+ .has-warning.checkbox label,
+ .has-warning.radio-inline label,
+ .has-warning.checkbox-inline label {
+   color: #c09853;
+ }
+ .has-warning .form-control {
+   border-color: #c09853;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ }
+ .has-warning .form-control:focus {
+   border-color: #a47e3c;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ }
+ .has-warning .input-group-addon {
+   color: #c09853;
+   background-color: #fcf8e3;
+   border-color: #c09853;
+ }
+ .has-warning .form-control-feedback {
+   color: #c09853;
+ }
+ .has-error .help-block,
+ .has-error .control-label,
+ .has-error .radio,
+ .has-error .checkbox,
+ .has-error .radio-inline,
+ .has-error .checkbox-inline,
+ .has-error.radio label,
+ .has-error.checkbox label,
+ .has-error.radio-inline label,
+ .has-error.checkbox-inline label {
+   color: #b94a48;
+ }
+ .has-error .form-control {
+   border-color: #b94a48;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ }
+ .has-error .form-control:focus {
+   border-color: #953b39;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ }
+ .has-error .input-group-addon {
+   color: #b94a48;
+   background-color: #f2dede;
+   border-color: #b94a48;
+ }
+ .has-error .form-control-feedback {
+   color: #b94a48;
+ }
+ .has-feedback label ~ .form-control-feedback {
+   top: 33px;
+ }
+ .has-feedback label.sr-only ~ .form-control-feedback {
+   top: 0;
+ }
+ .help-block {
+   display: block;
+   margin-top: 5px;
+   margin-bottom: 10px;
+   color: #5c5c5c;
+ }
+ @media (min-width: 576px) {
+   .form-inline .form-group {
+     display: inline-block;
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .form-inline .form-control {
+     display: inline-block;
+     width: auto;
+     vertical-align: middle;
+   }
+   .form-inline .form-control-static {
+     display: inline-block;
+   }
+   .form-inline .input-group {
+     display: inline-table;
+     vertical-align: middle;
+   }
+   .form-inline .input-group .input-group-addon,
+   .form-inline .input-group .input-group-btn,
+   .form-inline .input-group .form-control {
+     width: auto;
+   }
+   .form-inline .input-group > .form-control {
+     width: 100%;
+   }
+   .form-inline .control-label {
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .form-inline .radio,
+   .form-inline .checkbox {
+     display: inline-block;
+     margin-top: 0;
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .form-inline .radio label,
+   .form-inline .checkbox label {
+     padding-left: 0;
+   }
+   .form-inline .radio input[type="radio"],
+   .form-inline .checkbox input[type="checkbox"] {
+     position: relative;
+     margin-left: 0;
+   }
+   .form-inline .has-feedback .form-control-feedback {
+     top: 0;
+   }
+ }
+ .form-horizontal .radio,
+ .form-horizontal .checkbox,
+ .form-horizontal .radio-inline,
+ .form-horizontal .checkbox-inline {
+   padding-top: 13px;
+   margin-top: 0;
+   margin-bottom: 0;
+ }
+ .form-horizontal .radio,
+ .form-horizontal .checkbox {
+   min-height: 41px;
+ }
+ .form-horizontal .form-group {
+   margin-right: -15px;
+   margin-left: -15px;
+ }
+ @media (min-width: 576px) {
+   .form-horizontal .control-label {
+     padding-top: 13px;
+     margin-bottom: 0;
+     text-align: right;
+   }
+ }
+ .form-horizontal .has-feedback .form-control-feedback {
+   right: 15px;
+ }
+ @media (min-width: 576px) {
+   .form-horizontal .form-group-lg .control-label {
+     padding-top: 17px;
+     font-size: 25px;
+   }
+ }
+ @media (min-width: 576px) {
+   .form-horizontal .form-group-sm .control-label {
+     padding-top: 9px;
+     font-size: 17px;
+   }
+ }
+ .btn {
+   display: inline-block;
+   margin-bottom: 0;
+   font-weight: 500;
+   text-align: center;
+   white-space: nowrap;
+   vertical-align: middle;
+   touch-action: manipulation;
+   cursor: pointer;
+   background-image: none;
+   border: 1px solid transparent;
+   padding: 12px 24px;
+   padding: 13px 24px 11px;
+   font-size: 20px;
+   line-height: 1.4;
+   border-radius: 1000px;
+   -webkit-user-select: none;
+   -moz-user-select: none;
+   -ms-user-select: none;
+   user-select: none;
+ }
+ .btn:focus,
+ .btn:active:focus,
+ .btn.active:focus,
+ .btn.focus,
+ .btn:active.focus,
+ .btn.active.focus {
+   outline: 5px auto -webkit-focus-ring-color;
+   outline-offset: -2px;
+ }
+ .btn:hover,
+ .btn:focus,
+ .btn.focus {
+   color: #1c1c1c;
+   text-decoration: none;
+ }
+ .btn:active,
+ .btn.active {
+   background-image: none;
+   outline: 0;
+   box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ }
+ .btn.disabled,
+ .btn[disabled],
+ fieldset[disabled] .btn {
+   cursor: not-allowed;
+   filter: alpha(opacity=65);
+   opacity: 0.65;
+   box-shadow: none;
+ }
+ a.btn.disabled,
+ fieldset[disabled] a.btn {
+   pointer-events: none;
+ }
+ .btn-default {
+   color: #1c1c1c;
+   background-color: transparent;
+   border-color: #6bac43;
+ }
+ .btn-default:focus,
+ .btn-default.focus {
+   color: #1c1c1c;
+   background-color: rgba(0, 0, 0, 0);
+   border-color: #32501f;
+ }
+ .btn-default:hover {
+   color: #1c1c1c;
+   background-color: rgba(0, 0, 0, 0);
+   border-color: #508032;
+ }
+ .btn-default:active,
+ .btn-default.active,
+ .open > .dropdown-toggle.btn-default {
+   color: #1c1c1c;
+   background-color: rgba(0, 0, 0, 0);
+   background-image: none;
+   border-color: #508032;
+ }
+ .btn-default:active:hover,
+ .btn-default.active:hover,
+ .open > .dropdown-toggle.btn-default:hover,
+ .btn-default:active:focus,
+ .btn-default.active:focus,
+ .open > .dropdown-toggle.btn-default:focus,
+ .btn-default:active.focus,
+ .btn-default.active.focus,
+ .open > .dropdown-toggle.btn-default.focus {
+   color: #1c1c1c;
+   background-color: rgba(0, 0, 0, 0);
+   border-color: #32501f;
+ }
+ .btn-default.disabled:hover,
+ .btn-default[disabled]:hover,
+ fieldset[disabled] .btn-default:hover,
+ .btn-default.disabled:focus,
+ .btn-default[disabled]:focus,
+ fieldset[disabled] .btn-default:focus,
+ .btn-default.disabled.focus,
+ .btn-default[disabled].focus,
+ fieldset[disabled] .btn-default.focus {
+   background-color: transparent;
+   border-color: #6bac43;
+ }
+ .btn-default .badge {
+   color: transparent;
+   background-color: #1c1c1c;
+ }
+ .btn-primary {
+   color: #fff;
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .btn-primary:focus,
+ .btn-primary.focus {
+   color: #fff;
+   background-color: #548735;
+   border-color: #32501f;
+ }
+ .btn-primary:hover {
+   color: #fff;
+   background-color: #548735;
+   border-color: #508032;
+ }
+ .btn-primary:active,
+ .btn-primary.active,
+ .open > .dropdown-toggle.btn-primary {
+   color: #fff;
+   background-color: #548735;
+   background-image: none;
+   border-color: #508032;
+ }
+ .btn-primary:active:hover,
+ .btn-primary.active:hover,
+ .open > .dropdown-toggle.btn-primary:hover,
+ .btn-primary:active:focus,
+ .btn-primary.active:focus,
+ .open > .dropdown-toggle.btn-primary:focus,
+ .btn-primary:active.focus,
+ .btn-primary.active.focus,
+ .open > .dropdown-toggle.btn-primary.focus {
+   color: #fff;
+   background-color: #446e2b;
+   border-color: #32501f;
+ }
+ .btn-primary.disabled:hover,
+ .btn-primary[disabled]:hover,
+ fieldset[disabled] .btn-primary:hover,
+ .btn-primary.disabled:focus,
+ .btn-primary[disabled]:focus,
+ fieldset[disabled] .btn-primary:focus,
+ .btn-primary.disabled.focus,
+ .btn-primary[disabled].focus,
+ fieldset[disabled] .btn-primary.focus {
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .btn-primary .badge {
+   color: #6bac43;
+   background-color: #fff;
+ }
+ .btn-success {
+   color: #fff;
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .btn-success:focus,
+ .btn-success.focus {
+   color: #fff;
+   background-color: #548735;
+   border-color: #32501f;
+ }
+ .btn-success:hover {
+   color: #fff;
+   background-color: #548735;
+   border-color: #508032;
+ }
+ .btn-success:active,
+ .btn-success.active,
+ .open > .dropdown-toggle.btn-success {
+   color: #fff;
+   background-color: #548735;
+   background-image: none;
+   border-color: #508032;
+ }
+ .btn-success:active:hover,
+ .btn-success.active:hover,
+ .open > .dropdown-toggle.btn-success:hover,
+ .btn-success:active:focus,
+ .btn-success.active:focus,
+ .open > .dropdown-toggle.btn-success:focus,
+ .btn-success:active.focus,
+ .btn-success.active.focus,
+ .open > .dropdown-toggle.btn-success.focus {
+   color: #fff;
+   background-color: #446e2b;
+   border-color: #32501f;
+ }
+ .btn-success.disabled:hover,
+ .btn-success[disabled]:hover,
+ fieldset[disabled] .btn-success:hover,
+ .btn-success.disabled:focus,
+ .btn-success[disabled]:focus,
+ fieldset[disabled] .btn-success:focus,
+ .btn-success.disabled.focus,
+ .btn-success[disabled].focus,
+ fieldset[disabled] .btn-success.focus {
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .btn-success .badge {
+   color: #6bac43;
+   background-color: #fff;
+ }
+ .btn-info {
+   color: #fff;
+   background-color: #1698da;
+   border-color: #1698da;
+ }
+ .btn-info:focus,
+ .btn-info.focus {
+   color: #fff;
+   background-color: #1178ac;
+   border-color: #0a4766;
+ }
+ .btn-info:hover {
+   color: #fff;
+   background-color: #1178ac;
+   border-color: #1071a2;
+ }
+ .btn-info:active,
+ .btn-info.active,
+ .open > .dropdown-toggle.btn-info {
+   color: #fff;
+   background-color: #1178ac;
+   background-image: none;
+   border-color: #1071a2;
+ }
+ .btn-info:active:hover,
+ .btn-info.active:hover,
+ .open > .dropdown-toggle.btn-info:hover,
+ .btn-info:active:focus,
+ .btn-info.active:focus,
+ .open > .dropdown-toggle.btn-info:focus,
+ .btn-info:active.focus,
+ .btn-info.active.focus,
+ .open > .dropdown-toggle.btn-info.focus {
+   color: #fff;
+   background-color: #0e618b;
+   border-color: #0a4766;
+ }
+ .btn-info.disabled:hover,
+ .btn-info[disabled]:hover,
+ fieldset[disabled] .btn-info:hover,
+ .btn-info.disabled:focus,
+ .btn-info[disabled]:focus,
+ fieldset[disabled] .btn-info:focus,
+ .btn-info.disabled.focus,
+ .btn-info[disabled].focus,
+ fieldset[disabled] .btn-info.focus {
+   background-color: #1698da;
+   border-color: #1698da;
+ }
+ .btn-info .badge {
+   color: #1698da;
+   background-color: #fff;
+ }
+ .btn-warning {
+   color: #fff;
+   background-color: #f0ad4e;
+   border-color: #f0ad4e;
+ }
+ .btn-warning:focus,
+ .btn-warning.focus {
+   color: #fff;
+   background-color: #ec971f;
+   border-color: #b06d0f;
+ }
+ .btn-warning:hover {
+   color: #fff;
+   background-color: #ec971f;
+   border-color: #eb9316;
+ }
+ .btn-warning:active,
+ .btn-warning.active,
+ .open > .dropdown-toggle.btn-warning {
+   color: #fff;
+   background-color: #ec971f;
+   background-image: none;
+   border-color: #eb9316;
+ }
+ .btn-warning:active:hover,
+ .btn-warning.active:hover,
+ .open > .dropdown-toggle.btn-warning:hover,
+ .btn-warning:active:focus,
+ .btn-warning.active:focus,
+ .open > .dropdown-toggle.btn-warning:focus,
+ .btn-warning:active.focus,
+ .btn-warning.active.focus,
+ .open > .dropdown-toggle.btn-warning.focus {
+   color: #fff;
+   background-color: #d58512;
+   border-color: #b06d0f;
+ }
+ .btn-warning.disabled:hover,
+ .btn-warning[disabled]:hover,
+ fieldset[disabled] .btn-warning:hover,
+ .btn-warning.disabled:focus,
+ .btn-warning[disabled]:focus,
+ fieldset[disabled] .btn-warning:focus,
+ .btn-warning.disabled.focus,
+ .btn-warning[disabled].focus,
+ fieldset[disabled] .btn-warning.focus {
+   background-color: #f0ad4e;
+   border-color: #f0ad4e;
+ }
+ .btn-warning .badge {
+   color: #f0ad4e;
+   background-color: #fff;
+ }
+ .btn-danger {
+   color: #fff;
+   background-color: #c64f55;
+   border-color: #c64f55;
+ }
+ .btn-danger:focus,
+ .btn-danger.focus {
+   color: #fff;
+   background-color: #ab373d;
+   border-color: #712528;
+ }
+ .btn-danger:hover {
+   color: #fff;
+   background-color: #ab373d;
+   border-color: #a3353a;
+ }
+ .btn-danger:active,
+ .btn-danger.active,
+ .open > .dropdown-toggle.btn-danger {
+   color: #fff;
+   background-color: #ab373d;
+   background-image: none;
+   border-color: #a3353a;
+ }
+ .btn-danger:active:hover,
+ .btn-danger.active:hover,
+ .open > .dropdown-toggle.btn-danger:hover,
+ .btn-danger:active:focus,
+ .btn-danger.active:focus,
+ .open > .dropdown-toggle.btn-danger:focus,
+ .btn-danger:active.focus,
+ .btn-danger.active.focus,
+ .open > .dropdown-toggle.btn-danger.focus {
+   color: #fff;
+   background-color: #902f33;
+   border-color: #712528;
+ }
+ .btn-danger.disabled:hover,
+ .btn-danger[disabled]:hover,
+ fieldset[disabled] .btn-danger:hover,
+ .btn-danger.disabled:focus,
+ .btn-danger[disabled]:focus,
+ fieldset[disabled] .btn-danger:focus,
+ .btn-danger.disabled.focus,
+ .btn-danger[disabled].focus,
+ fieldset[disabled] .btn-danger.focus {
+   background-color: #c64f55;
+   border-color: #c64f55;
+ }
+ .btn-danger .badge {
+   color: #c64f55;
+   background-color: #fff;
+ }
+ .btn-link {
+   font-weight: 400;
+   color: #6bac43;
+   border-radius: 0;
+ }
+ .btn-link,
+ .btn-link:active,
+ .btn-link.active,
+ .btn-link[disabled],
+ fieldset[disabled] .btn-link {
+   background-color: transparent;
+   box-shadow: none;
+ }
+ .btn-link,
+ .btn-link:hover,
+ .btn-link:focus,
+ .btn-link:active {
+   border-color: transparent;
+ }
+ .btn-link:hover,
+ .btn-link:focus {
+   color: #1c683e;
+   text-decoration: underline;
+   background-color: transparent;
+ }
+ .btn-link[disabled]:hover,
+ fieldset[disabled] .btn-link:hover,
+ .btn-link[disabled]:focus,
+ fieldset[disabled] .btn-link:focus {
+   color: #ccc;
+   text-decoration: none;
+ }
+ .btn-lg,
+ .btn-group-lg > .btn {
+   padding: 16px 32px;
+   padding: 17px 32px 15px;
+   font-size: 25px;
+   line-height: 1.3333333;
+   border-radius: 1000px;
+ }
+ .btn-sm,
+ .btn-group-sm > .btn {
+   padding: 8px 20px;
+   padding: 9px 20px 7px;
+   font-size: 17px;
+   line-height: 1.5;
+   border-radius: 1000px;
+ }
+ .btn-xs,
+ .btn-group-xs > .btn {
+   padding: 8px 16px;
+   padding: 9px 16px 7px;
+   font-size: 17px;
+   line-height: 1.5;
+   border-radius: 1000px;
+ }
+ .btn-block {
+   display: block;
+   width: 100%;
+ }
+ .btn-block + .btn-block {
+   margin-top: 5px;
+ }
+ input[type="submit"].btn-block,
+ input[type="reset"].btn-block,
+ input[type="button"].btn-block {
+   width: 100%;
+ }
+ .fade {
+   opacity: 0;
+   -webkit-transition: opacity 0.15s linear;
+   transition: opacity 0.15s linear;
+ }
+ .fade.in {
+   opacity: 1;
+ }
+ .collapse {
+   display: none;
+ }
+ .collapse.in {
+   display: block;
+ }
+ tr.collapse.in {
+   display: table-row;
+ }
+ tbody.collapse.in {
+   display: table-row-group;
+ }
+ .collapsing {
+   position: relative;
+   height: 0;
+   overflow: hidden;
+   -webkit-transition-property: height, visibility;
+   transition-property: height, visibility;
+   -webkit-transition-duration: 0.35s;
+   transition-duration: 0.35s;
+   -webkit-transition-timing-function: ease;
+   transition-timing-function: ease;
+ }
+ .caret {
+   display: inline-block;
+   width: 0;
+   height: 0;
+   margin-left: 2px;
+   vertical-align: middle;
+   border-top: 4px dashed;
+   border-top: 4px solid \9;
+   border-right: 4px solid transparent;
+   border-left: 4px solid transparent;
+ }
+ .dropup,
+ .dropdown {
+   position: relative;
+ }
+ .dropdown-toggle:focus {
+   outline: 0;
+ }
+ .dropdown-menu {
+   position: absolute;
+   top: 100%;
+   left: 0;
+   z-index: 1050;
+   display: none;
+   float: left;
+   min-width: 160px;
+   padding: 5px 0;
+   margin: 2px 0 0;
+   font-size: 20px;
+   text-align: left;
+   list-style: none;
+   background-color: #fff;
+   background-clip: padding-box;
+   border: 1px solid #ccc;
+   border: 1px solid rgba(0, 0, 0, 0.15);
+   border-radius: 8px;
+   box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
+ }
+ .dropdown-menu.pull-right {
+   right: 0;
+   left: auto;
+ }
+ .dropdown-menu .divider {
+   height: 1px;
+   margin: 13px 0;
+   overflow: hidden;
+   background-color: #e5e5e5;
+ }
+ .dropdown-menu > li > a {
+   display: block;
+   padding: 3px 20px;
+   clear: both;
+   font-weight: 400;
+   line-height: 1.4;
+   color: #303030;
+   white-space: nowrap;
+ }
+ .dropdown-menu > li > a:hover,
+ .dropdown-menu > li > a:focus {
+   color: #232323;
+   text-decoration: none;
+   background-color: #f5f5f5;
+ }
+ .dropdown-menu > li.indent > a {
+   padding-left: 40px;
+ }
+ .dropdown-menu > .active > a,
+ .dropdown-menu > .active > a:hover,
+ .dropdown-menu > .active > a:focus {
+   color: #fff;
+   text-decoration: none;
+   background-color: #6bac43;
+   outline: 0;
+ }
+ .dropdown-menu > .disabled > a,
+ .dropdown-menu > .disabled > a:hover,
+ .dropdown-menu > .disabled > a:focus {
+   color: #ccc;
+ }
+ .dropdown-menu > .disabled > a:hover,
+ .dropdown-menu > .disabled > a:focus {
+   text-decoration: none;
+   cursor: not-allowed;
+   background-color: transparent;
+   background-image: none;
+   filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ }
+ .open > .dropdown-menu {
+   display: block;
+ }
+ .open > a {
+   outline: 0;
+ }
+ .dropdown-menu-right {
+   right: 0;
+   left: auto;
+ }
+ .dropdown-menu-left {
+   right: auto;
+   left: 0;
+ }
+ .dropdown-header {
+   display: block;
+   padding: 3px 20px;
+   font-size: 17px;
+   line-height: 1.4;
+   color: #ccc;
+   white-space: nowrap;
+ }
+ .dropdown-backdrop {
+   position: fixed;
+   top: 0;
+   right: 0;
+   bottom: 0;
+   left: 0;
+   z-index: 1040;
+ }
+ .pull-right > .dropdown-menu {
+   right: 0;
+   left: auto;
+ }
+ .dropup .caret,
+ .navbar-fixed-bottom .dropdown .caret {
+   content: "";
+   border-top: 0;
+   border-bottom: 4px dashed;
+   border-bottom: 4px solid \9;
+ }
+ .dropup .dropdown-menu,
+ .navbar-fixed-bottom .dropdown .dropdown-menu {
+   top: auto;
+   bottom: 100%;
+   margin-bottom: 2px;
+ }
+ @media (min-width: 576px) {
+   .navbar-right .dropdown-menu {
+     right: 0;
+     left: auto;
+   }
+   .navbar-right .dropdown-menu-left {
+     right: auto;
+     left: 0;
+   }
+ }
+ .btn-group,
+ .btn-group-vertical {
+   position: relative;
+   display: inline-block;
+   vertical-align: middle;
+ }
+ .btn-group > .btn,
+ .btn-group-vertical > .btn {
+   position: relative;
+   float: left;
+ }
+ .btn-group > .btn:hover,
+ .btn-group-vertical > .btn:hover,
+ .btn-group > .btn:focus,
+ .btn-group-vertical > .btn:focus,
+ .btn-group > .btn:active,
+ .btn-group-vertical > .btn:active,
+ .btn-group > .btn.active,
+ .btn-group-vertical > .btn.active {
+   z-index: 2;
+ }
+ .btn-group .btn + .btn,
+ .btn-group .btn + .btn-group,
+ .btn-group .btn-group + .btn,
+ .btn-group .btn-group + .btn-group {
+   margin-left: -1px;
+ }
+ .btn-toolbar {
+   margin-left: -5px;
+ }
+ .btn-toolbar .btn,
+ .btn-toolbar .btn-group,
+ .btn-toolbar .input-group {
+   float: left;
+ }
+ .btn-toolbar > .btn,
+ .btn-toolbar > .btn-group,
+ .btn-toolbar > .input-group {
+   margin-left: 5px;
+ }
+ .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+   border-radius: 0;
+ }
+ .btn-group > .btn:first-child {
+   margin-left: 0;
+ }
+ .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+   border-top-right-radius: 0;
+   border-bottom-right-radius: 0;
+ }
+ .btn-group > .btn:last-child:not(:first-child),
+ .btn-group > .dropdown-toggle:not(:first-child) {
+   border-top-left-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .btn-group > .btn-group {
+   float: left;
+ }
+ .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+   border-radius: 0;
+ }
+ .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+ .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+   border-top-right-radius: 0;
+   border-bottom-right-radius: 0;
+ }
+ .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+   border-top-left-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .btn-group .dropdown-toggle:active,
+ .btn-group.open .dropdown-toggle {
+   outline: 0;
+ }
+ .btn-group > .btn + .dropdown-toggle {
+   padding-right: 8px;
+   padding-left: 8px;
+ }
+ .btn-group > .btn-lg + .dropdown-toggle {
+   padding-right: 12px;
+   padding-left: 12px;
+ }
+ .btn-group.open .dropdown-toggle {
+   box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ }
+ .btn-group.open .dropdown-toggle.btn-link {
+   box-shadow: none;
+ }
+ .btn .caret {
+   margin-left: 0;
+ }
+ .btn-lg .caret {
+   border-width: 5px 5px 0;
+   border-bottom-width: 0;
+ }
+ .dropup .btn-lg .caret {
+   border-width: 0 5px 5px;
+ }
+ .btn-group-vertical > .btn,
+ .btn-group-vertical > .btn-group,
+ .btn-group-vertical > .btn-group > .btn {
+   display: block;
+   float: none;
+   width: 100%;
+   max-width: 100%;
+ }
+ .btn-group-vertical > .btn-group > .btn {
+   float: none;
+ }
+ .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:not(:first-child):not(:last-child) {
+   border-radius: 0;
+ }
+ .btn-group-vertical > .btn:first-child:not(:last-child) {
+   border-top-left-radius: 1000px;
+   border-top-right-radius: 1000px;
+   border-bottom-right-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .btn-group-vertical > .btn:last-child:not(:first-child) {
+   border-top-left-radius: 0;
+   border-top-right-radius: 0;
+   border-bottom-right-radius: 1000px;
+   border-bottom-left-radius: 1000px;
+ }
+ .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+   border-radius: 0;
+ }
+ .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+ .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+   border-bottom-right-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+   border-top-left-radius: 0;
+   border-top-right-radius: 0;
+ }
+ .btn-group-justified {
+   display: table;
+   width: 100%;
+   table-layout: fixed;
+   border-collapse: separate;
+ }
+ .btn-group-justified > .btn,
+ .btn-group-justified > .btn-group {
+   display: table-cell;
+   float: none;
+   width: 1%;
+ }
+ .btn-group-justified > .btn-group .btn {
+   width: 100%;
+ }
+ .btn-group-justified > .btn-group .dropdown-menu {
+   left: auto;
+ }
+ [data-toggle="buttons"] > .btn input[type="radio"],
+ [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+ [data-toggle="buttons"] > .btn input[type="checkbox"],
+ [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+   position: absolute;
+   clip: rect(0, 0, 0, 0);
+   pointer-events: none;
+ }
+ .input-group {
+   position: relative;
+   display: table;
+   border-collapse: separate;
+ }
+ .input-group[class*="col-"] {
+   float: none;
+   padding-right: 0;
+   padding-left: 0;
+ }
+ .input-group .form-control {
+   position: relative;
+   z-index: 2;
+   float: left;
+   width: 100%;
+   margin-bottom: 0;
+ }
+ .input-group .form-control:focus {
+   z-index: 3;
+ }
+ .input-group-lg > .form-control,
+ .input-group-lg > .input-group-addon,
+ .input-group-lg > .input-group-btn > .btn {
+   height: 68px;
+   padding: 16px 32px;
+   font-size: 25px;
+   line-height: 1.3333333;
+   border-radius: 16px;
+ }
+ select.input-group-lg > .form-control,
+ select.input-group-lg > .input-group-addon,
+ select.input-group-lg > .input-group-btn > .btn {
+   height: 68px;
+   padding: 16px 72px 16px 32px;
+ }
+ textarea.input-group-lg > .form-control,
+ textarea.input-group-lg > .input-group-addon,
+ textarea.input-group-lg > .input-group-btn > .btn,
+ select[multiple].input-group-lg > .form-control,
+ select[multiple].input-group-lg > .input-group-addon,
+ select[multiple].input-group-lg > .input-group-btn > .btn {
+   height: auto;
+ }
+ .input-group-sm > .form-control,
+ .input-group-sm > .input-group-addon,
+ .input-group-sm > .input-group-btn > .btn {
+   height: 43px;
+   padding: 8px 20px;
+   font-size: 17px;
+   line-height: 1.5;
+   border-radius: 4px;
+ }
+ select.input-group-sm > .form-control,
+ select.input-group-sm > .input-group-addon,
+ select.input-group-sm > .input-group-btn > .btn {
+   height: 43px;
+   padding: 8px 72px 8px 20px;
+ }
+ textarea.input-group-sm > .form-control,
+ textarea.input-group-sm > .input-group-addon,
+ textarea.input-group-sm > .input-group-btn > .btn,
+ select[multiple].input-group-sm > .form-control,
+ select[multiple].input-group-sm > .input-group-addon,
+ select[multiple].input-group-sm > .input-group-btn > .btn {
+   height: auto;
+ }
+ .input-group-sm > select.form-control,
+ .input-group-lg > select.form-control,
+ .form-group-sm select.form-control {
+   padding-right: 72px;
+ }
+ .input-group-addon,
+ .input-group-btn,
+ .input-group .form-control {
+   display: table-cell;
+ }
+ .input-group-addon:not(:first-child):not(:last-child),
+ .input-group-btn:not(:first-child):not(:last-child),
+ .input-group .form-control:not(:first-child):not(:last-child) {
+   border-radius: 0;
+ }
+ .input-group-addon,
+ .input-group-btn {
+   width: 1%;
+   white-space: nowrap;
+   vertical-align: middle;
+ }
+ .input-group-addon {
+   padding: 12px 24px;
+   font-size: 20px;
+   font-weight: 400;
+   line-height: 1;
+   color: #a4a4a4;
+   text-align: center;
+   background-color: #f0f0f0;
+   border: 1px solid #ccc;
+   border-radius: 8px;
+ }
+ .input-group-addon.input-sm {
+   padding: 8px 20px;
+   font-size: 17px;
+   border-radius: 4px;
+ }
+ .input-group-addon.input-lg {
+   padding: 16px 32px;
+   font-size: 25px;
+   border-radius: 16px;
+ }
+ .input-group-addon input[type="radio"],
+ .input-group-addon input[type="checkbox"] {
+   margin-top: 0;
+ }
+ .input-group .form-control:first-child,
+ .input-group-addon:first-child,
+ .input-group-btn:first-child > .btn,
+ .input-group-btn:first-child > .btn-group > .btn,
+ .input-group-btn:first-child > .dropdown-toggle,
+ .input-group-btn:last-child > .dropdown-toggle:nth-last-child(n+3),
+ .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+ .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+   border-top-right-radius: 0;
+   border-bottom-right-radius: 0;
+ }
+ .input-group-addon:first-child {
+   border-right: 0;
+ }
+ .input-group .form-control:last-child,
+ .input-group-addon:last-child,
+ .input-group-btn:last-child > .btn,
+ .input-group-btn:last-child > .btn-group > .btn,
+ .input-group-btn:last-child > .dropdown-toggle,
+ .input-group-btn:first-child > .btn:not(:first-child),
+ .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+   border-top-left-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .input-group-addon:last-child {
+   border-left: 0;
+ }
+ .input-group-btn {
+   position: relative;
+   font-size: 0;
+   white-space: nowrap;
+ }
+ .input-group-btn > .btn {
+   position: relative;
+ }
+ .input-group-btn > .btn + .btn {
+   margin-left: -1px;
+ }
+ .input-group-btn > .btn:hover,
+ .input-group-btn > .btn:focus,
+ .input-group-btn > .btn:active {
+   z-index: 2;
+ }
+ .input-group-btn:first-child > .btn,
+ .input-group-btn:first-child > .btn-group {
+   margin-right: -1px;
+ }
+ .input-group-btn:last-child > .btn,
+ .input-group-btn:last-child > .btn-group {
+   z-index: 2;
+   margin-left: -1px;
+ }
+ .nav {
+   padding-left: 0;
+   margin-bottom: 0;
+   list-style: none;
+ }
+ .nav > li {
+   position: relative;
+   display: block;
+ }
+ .nav > li > a {
+   position: relative;
+   display: block;
+   padding: 10px 15px;
+ }
+ .nav > li > a:hover,
+ .nav > li > a:focus {
+   text-decoration: none;
+   background-color: #efefef;
+ }
+ .nav > li.disabled > a {
+   color: #ccc;
+ }
+ .nav > li.disabled > a:hover,
+ .nav > li.disabled > a:focus {
+   color: #ccc;
+   text-decoration: none;
+   cursor: not-allowed;
+   background-color: transparent;
+ }
+ .nav .open > a,
+ .nav .open > a:hover,
+ .nav .open > a:focus {
+   background-color: #efefef;
+   border-color: #6bac43;
+ }
+ .nav .nav-divider {
+   height: 1px;
+   margin: 13px 0;
+   overflow: hidden;
+   background-color: #e5e5e5;
+ }
+ .nav > li > a > img {
+   max-width: none;
+ }
+ .nav-tabs {
+   border-bottom: 1px solid #ddd;
+ }
+ .nav-tabs > li {
+   float: left;
+   margin-bottom: -1px;
+ }
+ .nav-tabs > li > a {
+   margin-right: 2px;
+   line-height: 1.4;
+   border: 1px solid transparent;
+   border-radius: 8px 8px 0 0;
+ }
+ .nav-tabs > li > a:hover {
+   border-color: #efefef #efefef #ddd;
+ }
+ .nav-tabs > li.active > a,
+ .nav-tabs > li.active > a:hover,
+ .nav-tabs > li.active > a:focus {
+   color: #a4a4a4;
+   cursor: default;
+   background-color: #fff;
+   border: 1px solid #ddd;
+   border-bottom-color: transparent;
+ }
+ .nav-tabs.nav-justified {
+   width: 100%;
+   border-bottom: 0;
+ }
+ .nav-tabs.nav-justified > li {
+   float: none;
+ }
+ .nav-tabs.nav-justified > li > a {
+   margin-bottom: 5px;
+   text-align: center;
+ }
+ .nav-tabs.nav-justified > .dropdown .dropdown-menu {
+   top: auto;
+   left: auto;
+ }
+ @media (min-width: 576px) {
+   .nav-tabs.nav-justified > li {
+     display: table-cell;
+     width: 1%;
+   }
+   .nav-tabs.nav-justified > li > a {
+     margin-bottom: 0;
+   }
+ }
+ .nav-tabs.nav-justified > li > a {
+   margin-right: 0;
+   border-radius: 8px;
+ }
+ .nav-tabs.nav-justified > .active > a,
+ .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs.nav-justified > .active > a:focus {
+   border: 1px solid #ddd;
+ }
+ @media (min-width: 576px) {
+   .nav-tabs.nav-justified > li > a {
+     border-bottom: 1px solid #ddd;
+     border-radius: 8px 8px 0 0;
+   }
+   .nav-tabs.nav-justified > .active > a,
+   .nav-tabs.nav-justified > .active > a:hover,
+   .nav-tabs.nav-justified > .active > a:focus {
+     border-bottom-color: #fff;
+   }
+ }
+ .nav-pills > li {
+   float: left;
+ }
+ .nav-pills > li > a {
+   border-radius: 8px;
+ }
+ .nav-pills > li + li {
+   margin-left: 2px;
+ }
+ .nav-pills > li.active > a,
+ .nav-pills > li.active > a:hover,
+ .nav-pills > li.active > a:focus {
+   color: #fff;
+   background-color: #6bac43;
+ }
+ .nav-stacked > li {
+   float: none;
+ }
+ .nav-stacked > li + li {
+   margin-top: 2px;
+   margin-left: 0;
+ }
+ .nav-justified {
+   width: 100%;
+ }
+ .nav-justified > li {
+   float: none;
+ }
+ .nav-justified > li > a {
+   margin-bottom: 5px;
+   text-align: center;
+ }
+ .nav-justified > .dropdown .dropdown-menu {
+   top: auto;
+   left: auto;
+ }
+ @media (min-width: 576px) {
+   .nav-justified > li {
+     display: table-cell;
+     width: 1%;
+   }
+   .nav-justified > li > a {
+     margin-bottom: 0;
+   }
+ }
+ .nav-tabs-justified {
+   border-bottom: 0;
+ }
+ .nav-tabs-justified > li > a {
+   margin-right: 0;
+   border-radius: 8px;
+ }
+ .nav-tabs-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus {
+   border: 1px solid #ddd;
+ }
+ @media (min-width: 576px) {
+   .nav-tabs-justified > li > a {
+     border-bottom: 1px solid #ddd;
+     border-radius: 8px 8px 0 0;
+   }
+   .nav-tabs-justified > .active > a,
+   .nav-tabs-justified > .active > a:hover,
+   .nav-tabs-justified > .active > a:focus {
+     border-bottom-color: #fff;
+   }
+ }
+ .tab-content > .tab-pane {
+   display: none;
+ }
+ .tab-content > .active {
+   display: block;
+ }
+ .nav-tabs .dropdown-menu {
+   margin-top: -1px;
+   border-top-left-radius: 0;
+   border-top-right-radius: 0;
+ }
+ .navbar {
+   position: relative;
+   min-height: 50px;
+   margin-bottom: 28px;
+   border: 1px solid transparent;
+ }
+ @media (min-width: 576px) {
+   .navbar {
+     border-radius: 8px;
+   }
+ }
+ @media (min-width: 576px) {
+   .navbar-header {
+     float: left;
+   }
+ }
+ .navbar-collapse {
+   padding-right: 15px;
+   padding-left: 15px;
+   overflow-x: visible;
+   border-top: 1px solid transparent;
+   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+   -webkit-overflow-scrolling: touch;
+ }
+ .navbar-collapse.in {
+   overflow-y: auto;
+ }
+ @media (min-width: 576px) {
+   .navbar-collapse {
+     width: auto;
+     border-top: 0;
+     box-shadow: none;
+   }
+   .navbar-collapse.collapse {
+     display: block !important;
+     height: auto !important;
+     padding-bottom: 0;
+     overflow: visible !important;
+   }
+   .navbar-collapse.in {
+     overflow-y: visible;
+   }
+   .navbar-fixed-top .navbar-collapse,
+   .navbar-static-top .navbar-collapse,
+   .navbar-fixed-bottom .navbar-collapse {
+     padding-right: 0;
+     padding-left: 0;
+   }
+ }
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+   position: fixed;
+   right: 0;
+   left: 0;
+   z-index: 1030;
+ }
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+   max-height: 340px;
+ }
+ @media (max-device-width: 480px) and (orientation: landscape) {
+   .navbar-fixed-top .navbar-collapse,
+   .navbar-fixed-bottom .navbar-collapse {
+     max-height: 200px;
+   }
+ }
+ @media (min-width: 576px) {
+   .navbar-fixed-top,
+   .navbar-fixed-bottom {
+     border-radius: 0;
+   }
+ }
+ .navbar-fixed-top {
+   top: 0;
+   border-width: 0 0 1px;
+ }
+ .navbar-fixed-bottom {
+   bottom: 0;
+   margin-bottom: 0;
+   border-width: 1px 0 0;
+ }
+ .container > .navbar-header,
+ .container-fluid > .navbar-header,
+ .container > .navbar-collapse,
+ .container-fluid > .navbar-collapse {
+   margin-right: -15px;
+   margin-left: -15px;
+ }
+ @media (min-width: 576px) {
+   .container > .navbar-header,
+   .container-fluid > .navbar-header,
+   .container > .navbar-collapse,
+   .container-fluid > .navbar-collapse {
+     margin-right: 0;
+     margin-left: 0;
+   }
+ }
+ .navbar-static-top {
+   z-index: 1000;
+   border-width: 0 0 1px;
+ }
+ @media (min-width: 576px) {
+   .navbar-static-top {
+     border-radius: 0;
+   }
+ }
+ .navbar-brand {
+   float: left;
+   height: 50px;
+   padding: 11px 15px;
+   font-size: 25px;
+   line-height: 28px;
+ }
+ .navbar-brand:hover,
+ .navbar-brand:focus {
+   text-decoration: none;
+ }
+ .navbar-brand > img {
+   display: block;
+ }
+ @media (min-width: 576px) {
+   .navbar > .container .navbar-brand,
+   .navbar > .container-fluid .navbar-brand {
+     margin-left: -15px;
+   }
+ }
+ .navbar-toggle {
+   position: relative;
+   float: right;
+   padding: 9px 10px;
+   margin-right: 15px;
+   margin-top: 8px;
+   margin-bottom: 8px;
+   background-color: transparent;
+   background-image: none;
+   border: 1px solid transparent;
+   border-radius: 8px;
+ }
+ .navbar-toggle:focus {
+   outline: 0;
+ }
+ .navbar-toggle .icon-bar {
+   display: block;
+   width: 22px;
+   height: 2px;
+   border-radius: 1px;
+ }
+ .navbar-toggle .icon-bar + .icon-bar {
+   margin-top: 4px;
+ }
+ @media (min-width: 576px) {
+   .navbar-toggle {
+     display: none;
+   }
+ }
+ .navbar-nav {
+   margin: 5.5px -15px;
+ }
+ .navbar-nav > li > a {
+   padding-top: 10px;
+   padding-bottom: 10px;
+   line-height: 28px;
+ }
+ @media (max-width: 575px) {
+   .navbar-nav .open .dropdown-menu {
+     position: static;
+     float: none;
+     width: auto;
+     margin-top: 0;
+     background-color: transparent;
+     border: 0;
+     box-shadow: none;
+   }
+   .navbar-nav .open .dropdown-menu > li > a,
+   .navbar-nav .open .dropdown-menu .dropdown-header {
+     padding: 5px 15px 5px 25px;
+   }
+   .navbar-nav .open .dropdown-menu > li > a {
+     line-height: 28px;
+   }
+   .navbar-nav .open .dropdown-menu > li > a:hover,
+   .navbar-nav .open .dropdown-menu > li > a:focus {
+     background-image: none;
+   }
+ }
+ @media (min-width: 576px) {
+   .navbar-nav {
+     float: left;
+     margin: 0;
+   }
+   .navbar-nav > li {
+     float: left;
+   }
+   .navbar-nav > li > a {
+     padding-top: 11px;
+     padding-bottom: 11px;
+   }
+ }
+ .navbar-form {
+   padding: 10px 15px;
+   margin-right: -15px;
+   margin-left: -15px;
+   border-top: 1px solid transparent;
+   border-bottom: 1px solid transparent;
+   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+   margin-top: -2px;
+   margin-bottom: -2px;
+ }
+ @media (min-width: 576px) {
+   .navbar-form .form-group {
+     display: inline-block;
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .navbar-form .form-control {
+     display: inline-block;
+     width: auto;
+     vertical-align: middle;
+   }
+   .navbar-form .form-control-static {
+     display: inline-block;
+   }
+   .navbar-form .input-group {
+     display: inline-table;
+     vertical-align: middle;
+   }
+   .navbar-form .input-group .input-group-addon,
+   .navbar-form .input-group .input-group-btn,
+   .navbar-form .input-group .form-control {
+     width: auto;
+   }
+   .navbar-form .input-group > .form-control {
+     width: 100%;
+   }
+   .navbar-form .control-label {
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .navbar-form .radio,
+   .navbar-form .checkbox {
+     display: inline-block;
+     margin-top: 0;
+     margin-bottom: 0;
+     vertical-align: middle;
+   }
+   .navbar-form .radio label,
+   .navbar-form .checkbox label {
+     padding-left: 0;
+   }
+   .navbar-form .radio input[type="radio"],
+   .navbar-form .checkbox input[type="checkbox"] {
+     position: relative;
+     margin-left: 0;
+   }
+   .navbar-form .has-feedback .form-control-feedback {
+     top: 0;
+   }
+ }
+ @media (max-width: 575px) {
+   .navbar-form .form-group {
+     margin-bottom: 5px;
+   }
+   .navbar-form .form-group:last-child {
+     margin-bottom: 0;
+   }
+ }
+ @media (min-width: 576px) {
+   .navbar-form {
+     width: auto;
+     padding-top: 0;
+     padding-bottom: 0;
+     margin-right: 0;
+     margin-left: 0;
+     border: 0;
+     box-shadow: none;
+   }
+ }
+ .navbar-nav > li > .dropdown-menu {
+   margin-top: 0;
+   border-top-left-radius: 0;
+   border-top-right-radius: 0;
+ }
+ .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+   margin-bottom: 0;
+   border-top-left-radius: 8px;
+   border-top-right-radius: 8px;
+   border-bottom-right-radius: 0;
+   border-bottom-left-radius: 0;
+ }
+ .navbar-btn {
+   margin-top: -2px;
+   margin-bottom: -2px;
+ }
+ .navbar-btn.btn-sm {
+   margin-top: 3.5px;
+   margin-bottom: 3.5px;
+ }
+ .navbar-btn.btn-xs {
+   margin-top: 14px;
+   margin-bottom: 14px;
+ }
+ .navbar-text {
+   margin-top: 11px;
+   margin-bottom: 11px;
+ }
+ @media (min-width: 576px) {
+   .navbar-text {
+     float: left;
+     margin-right: 15px;
+     margin-left: 15px;
+   }
+ }
+ @media (min-width: 576px) {
+   .navbar-left {
+     float: left !important;
+   }
+   .navbar-right {
+     float: right !important;
+     margin-right: -15px;
+   }
+   .navbar-right ~ .navbar-right {
+     margin-right: 0;
+   }
+ }
+ .navbar-default {
+   background-color: #f8f8f8;
+   border-color: #e7e7e7;
+ }
+ .navbar-default .navbar-brand {
+   color: #777;
+ }
+ .navbar-default .navbar-brand:hover,
+ .navbar-default .navbar-brand:focus {
+   color: #5e5e5e;
+   background-color: transparent;
+ }
+ .navbar-default .navbar-text {
+   color: #777;
+ }
+ .navbar-default .navbar-nav > li > a {
+   color: #777;
+ }
+ .navbar-default .navbar-nav > li > a:hover,
+ .navbar-default .navbar-nav > li > a:focus {
+   color: #333;
+   background-color: transparent;
+ }
+ .navbar-default .navbar-nav > .active > a,
+ .navbar-default .navbar-nav > .active > a:hover,
+ .navbar-default .navbar-nav > .active > a:focus {
+   color: #555;
+   background-color: #e7e7e7;
+ }
+ .navbar-default .navbar-nav > .disabled > a,
+ .navbar-default .navbar-nav > .disabled > a:hover,
+ .navbar-default .navbar-nav > .disabled > a:focus {
+   color: #ccc;
+   background-color: transparent;
+ }
+ .navbar-default .navbar-nav > .open > a,
+ .navbar-default .navbar-nav > .open > a:hover,
+ .navbar-default .navbar-nav > .open > a:focus {
+   color: #555;
+   background-color: #e7e7e7;
+ }
+ @media (max-width: 575px) {
+   .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+     color: #777;
+   }
+   .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+   .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+     color: #333;
+     background-color: transparent;
+   }
+   .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+   .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+   .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+     color: #555;
+     background-color: #e7e7e7;
+   }
+   .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+   .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+   .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+     color: #ccc;
+     background-color: transparent;
+   }
+ }
+ .navbar-default .navbar-toggle {
+   border-color: #ddd;
+ }
+ .navbar-default .navbar-toggle:hover,
+ .navbar-default .navbar-toggle:focus {
+   background-color: #ddd;
+ }
+ .navbar-default .navbar-toggle .icon-bar {
+   background-color: #888;
+ }
+ .navbar-default .navbar-collapse,
+ .navbar-default .navbar-form {
+   border-color: #e7e7e7;
+ }
+ .navbar-default .navbar-link {
+   color: #777;
+ }
+ .navbar-default .navbar-link:hover {
+   color: #333;
+ }
+ .navbar-default .btn-link {
+   color: #777;
+ }
+ .navbar-default .btn-link:hover,
+ .navbar-default .btn-link:focus {
+   color: #333;
+ }
+ .navbar-default .btn-link[disabled]:hover,
+ fieldset[disabled] .navbar-default .btn-link:hover,
+ .navbar-default .btn-link[disabled]:focus,
+ fieldset[disabled] .navbar-default .btn-link:focus {
+   color: #ccc;
+ }
+ .navbar-inverse {
+   background-color: #222;
+   border-color: #020202;
+ }
+ .navbar-inverse .navbar-brand {
+   color: #e6e6e6;
+ }
+ .navbar-inverse .navbar-brand:hover,
+ .navbar-inverse .navbar-brand:focus {
+   color: #fff;
+   background-color: transparent;
+ }
+ .navbar-inverse .navbar-text {
+   color: #f2f2f2;
+ }
+ .navbar-inverse .navbar-nav > li > a {
+   color: #e6e6e6;
+ }
+ .navbar-inverse .navbar-nav > li > a:hover,
+ .navbar-inverse .navbar-nav > li > a:focus {
+   color: #fff;
+   background-color: transparent;
+ }
+ .navbar-inverse .navbar-nav > .active > a,
+ .navbar-inverse .navbar-nav > .active > a:hover,
+ .navbar-inverse .navbar-nav > .active > a:focus {
+   color: #fff;
+   background-color: #a6a6a6;
+ }
+ .navbar-inverse .navbar-nav > .disabled > a,
+ .navbar-inverse .navbar-nav > .disabled > a:hover,
+ .navbar-inverse .navbar-nav > .disabled > a:focus {
+   color: #444;
+   background-color: transparent;
+ }
+ .navbar-inverse .navbar-nav > .open > a,
+ .navbar-inverse .navbar-nav > .open > a:hover,
+ .navbar-inverse .navbar-nav > .open > a:focus {
+   color: #fff;
+   background-color: #a6a6a6;
+ }
+ @media (max-width: 575px) {
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+     border-color: #020202;
+   }
+   .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+     background-color: #020202;
+   }
+   .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+     color: #e6e6e6;
+   }
+   .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+   .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+     color: #fff;
+     background-color: transparent;
+   }
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+     color: #fff;
+     background-color: #a6a6a6;
+   }
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+   .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+     color: #444;
+     background-color: transparent;
+   }
+ }
+ .navbar-inverse .navbar-toggle {
+   border-color: #333;
+ }
+ .navbar-inverse .navbar-toggle:hover,
+ .navbar-inverse .navbar-toggle:focus {
+   background-color: #333;
+ }
+ .navbar-inverse .navbar-toggle .icon-bar {
+   background-color: #fff;
+ }
+ .navbar-inverse .navbar-collapse,
+ .navbar-inverse .navbar-form {
+   border-color: #101010;
+ }
+ .navbar-inverse .navbar-link {
+   color: #e6e6e6;
+ }
+ .navbar-inverse .navbar-link:hover {
+   color: #fff;
+ }
+ .navbar-inverse .btn-link {
+   color: #e6e6e6;
+ }
+ .navbar-inverse .btn-link:hover,
+ .navbar-inverse .btn-link:focus {
+   color: #fff;
+ }
+ .navbar-inverse .btn-link[disabled]:hover,
+ fieldset[disabled] .navbar-inverse .btn-link:hover,
+ .navbar-inverse .btn-link[disabled]:focus,
+ fieldset[disabled] .navbar-inverse .btn-link:focus {
+   color: #444;
+ }
+ .breadcrumb {
+   padding: 8px 15px;
+   margin-bottom: 28px;
+   list-style: none;
+   background-color: #f5f5f5;
+   border-radius: 8px;
+ }
+ .breadcrumb > li {
+   display: inline-block;
+ }
+ .breadcrumb > li + li:before {
+   padding: 0 5px;
+   color: #ccc;
+   content: "/\00a0";
+ }
+ .breadcrumb > .active {
+   color: #ccc;
+ }
+ .pagination {
+   display: inline-block;
+   padding-left: 0;
+   margin: 28px 0;
+   border-radius: 8px;
+ }
+ .pagination > li {
+   display: inline;
+ }
+ .pagination > li > a,
+ .pagination > li > span {
+   position: relative;
+   float: left;
+   padding: 12px 24px;
+   margin-left: -1px;
+   line-height: 1.4;
+   color: #6bac43;
+   text-decoration: none;
+   background-color: #fff;
+   border: 1px solid #ddd;
+ }
+ .pagination > li > a:hover,
+ .pagination > li > span:hover,
+ .pagination > li > a:focus,
+ .pagination > li > span:focus {
+   z-index: 2;
+   color: #1c683e;
+   background-color: #efefef;
+   border-color: #ddd;
+ }
+ .pagination > li:first-child > a,
+ .pagination > li:first-child > span {
+   margin-left: 0;
+   border-top-left-radius: 8px;
+   border-bottom-left-radius: 8px;
+ }
+ .pagination > li:last-child > a,
+ .pagination > li:last-child > span {
+   border-top-right-radius: 8px;
+   border-bottom-right-radius: 8px;
+ }
+ .pagination > .active > a,
+ .pagination > .active > span,
+ .pagination > .active > a:hover,
+ .pagination > .active > span:hover,
+ .pagination > .active > a:focus,
+ .pagination > .active > span:focus {
+   z-index: 3;
+   color: #fff;
+   cursor: default;
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .pagination > .disabled > span,
+ .pagination > .disabled > span:hover,
+ .pagination > .disabled > span:focus,
+ .pagination > .disabled > a,
+ .pagination > .disabled > a:hover,
+ .pagination > .disabled > a:focus {
+   color: #ccc;
+   cursor: not-allowed;
+   background-color: #fff;
+   border-color: #ddd;
+ }
+ .pagination-lg > li > a,
+ .pagination-lg > li > span {
+   padding: 16px 32px;
+   font-size: 25px;
+   line-height: 1.3333333;
+ }
+ .pagination-lg > li:first-child > a,
+ .pagination-lg > li:first-child > span {
+   border-top-left-radius: 16px;
+   border-bottom-left-radius: 16px;
+ }
+ .pagination-lg > li:last-child > a,
+ .pagination-lg > li:last-child > span {
+   border-top-right-radius: 16px;
+   border-bottom-right-radius: 16px;
+ }
+ .pagination-sm > li > a,
+ .pagination-sm > li > span {
+   padding: 8px 20px;
+   font-size: 17px;
+   line-height: 1.5;
+ }
+ .pagination-sm > li:first-child > a,
+ .pagination-sm > li:first-child > span {
+   border-top-left-radius: 4px;
+   border-bottom-left-radius: 4px;
+ }
+ .pagination-sm > li:last-child > a,
+ .pagination-sm > li:last-child > span {
+   border-top-right-radius: 4px;
+   border-bottom-right-radius: 4px;
+ }
+ .pager {
+   padding-left: 0;
+   margin: 28px 0;
+   text-align: center;
+   list-style: none;
+ }
+ .pager li {
+   display: inline;
+ }
+ .pager li > a,
+ .pager li > span {
+   display: inline-block;
+   padding: 5px 14px;
+   background-color: #fff;
+   border: 1px solid #ddd;
+   border-radius: 15px;
+ }
+ .pager li > a:hover,
+ .pager li > a:focus {
+   text-decoration: none;
+   background-color: #efefef;
+ }
+ .pager .next > a,
+ .pager .next > span {
+   float: right;
+ }
+ .pager .previous > a,
+ .pager .previous > span {
+   float: left;
+ }
+ .pager .disabled > a,
+ .pager .disabled > a:hover,
+ .pager .disabled > a:focus,
+ .pager .disabled > span {
+   color: #ccc;
+   cursor: not-allowed;
+   background-color: #fff;
+ }
+ .label {
+   display: inline;
+   padding: 0.2em 0.6em 0.3em;
+   font-size: 75%;
+   font-weight: 700;
+   line-height: 1;
+   color: #fff;
+   text-align: center;
+   white-space: nowrap;
+   vertical-align: baseline;
+   border-radius: 0.25em;
+ }
+ a.label:hover,
+ a.label:focus {
+   color: #fff;
+   text-decoration: none;
+   cursor: pointer;
+ }
+ .label:empty {
+   display: none;
+ }
+ .btn .label {
+   position: relative;
+   top: -1px;
+ }
+ .label-default {
+   background-color: #ccc;
+ }
+ .label-default[href]:hover,
+ .label-default[href]:focus {
+   background-color: #b3b3b3;
+ }
+ .label-primary {
+   background-color: #6bac43;
+ }
+ .label-primary[href]:hover,
+ .label-primary[href]:focus {
+   background-color: #548735;
+ }
+ .label-success {
+   background-color: #6bac43;
+ }
+ .label-success[href]:hover,
+ .label-success[href]:focus {
+   background-color: #548735;
+ }
+ .label-info {
+   background-color: #1698da;
+ }
+ .label-info[href]:hover,
+ .label-info[href]:focus {
+   background-color: #1178ac;
+ }
+ .label-warning {
+   background-color: #f0ad4e;
+ }
+ .label-warning[href]:hover,
+ .label-warning[href]:focus {
+   background-color: #ec971f;
+ }
+ .label-danger {
+   background-color: #c64f55;
+ }
+ .label-danger[href]:hover,
+ .label-danger[href]:focus {
+   background-color: #ab373d;
+ }
+ .badge {
+   display: inline-block;
+   min-width: 10px;
+   padding: 3px 7px;
+   font-size: 17px;
+   font-weight: bold;
+   line-height: 1;
+   color: #fff;
+   text-align: center;
+   white-space: nowrap;
+   vertical-align: middle;
+   background-color: #ccc;
+   border-radius: 10px;
+ }
+ .badge:empty {
+   display: none;
+ }
+ .btn .badge {
+   position: relative;
+   top: -1px;
+ }
+ .btn-xs .badge,
+ .btn-group-xs > .btn .badge {
+   top: 0;
+   padding: 1px 5px;
+ }
+ a.badge:hover,
+ a.badge:focus {
+   color: #fff;
+   text-decoration: none;
+   cursor: pointer;
+ }
+ .list-group-item.active > .badge,
+ .nav-pills > .active > a > .badge {
+   color: #6bac43;
+   background-color: #fff;
+ }
+ .list-group-item > .badge {
+   float: right;
+ }
+ .list-group-item > .badge + .badge {
+   margin-right: 5px;
+ }
+ .nav-pills > li > a > .badge {
+   margin-left: 3px;
+ }
+ .jumbotron {
+   padding-top: 30px;
+   padding-bottom: 30px;
+   margin-bottom: 30px;
+   color: inherit;
+   background-color: #efefef;
+ }
+ .jumbotron h1,
+ .jumbotron .h1 {
+   color: inherit;
+ }
+ .jumbotron p {
+   margin-bottom: 15px;
+   font-size: 30px;
+   font-weight: 200;
+ }
+ .jumbotron > hr {
+   border-top-color: #d6d6d6;
+ }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+   padding-right: 15px;
+   padding-left: 15px;
+   border-radius: 16px;
+ }
+ .jumbotron .container {
+   max-width: 100%;
+ }
+ @media screen and (min-width: 576px) {
+   .jumbotron {
+     padding-top: 48px;
+     padding-bottom: 48px;
+   }
+   .container .jumbotron,
+   .container-fluid .jumbotron {
+     padding-right: 60px;
+     padding-left: 60px;
+   }
+   .jumbotron h1,
+   .jumbotron .h1 {
+     font-size: 90px;
+   }
+ }
+ .thumbnail {
+   display: block;
+   padding: 4px;
+   margin-bottom: 28px;
+   line-height: 1.4;
+   background-color: #fff;
+   border: 1px solid #ddd;
+   border-radius: 8px;
+   -webkit-transition: border 0.2s ease-in-out;
+   transition: border 0.2s ease-in-out;
+ }
+ .thumbnail > img,
+ .thumbnail a > img {
+   margin-right: auto;
+   margin-left: auto;
+ }
+ a.thumbnail:hover,
+ a.thumbnail:focus,
+ a.thumbnail.active {
+   border-color: #6bac43;
+ }
+ .thumbnail .caption {
+   padding: 9px;
+   color: #1c1c1c;
+ }
+ .alert {
+   padding: 15px;
+   margin-bottom: 28px;
+   border: 1px solid transparent;
+   border-radius: 8px;
+ }
+ .alert h4 {
+   margin-top: 0;
+   color: inherit;
+ }
+ .alert .alert-link {
+   font-weight: bold;
+ }
+ .alert > p,
+ .alert > ul {
+   margin-bottom: 0;
+ }
+ .alert > p + p {
+   margin-top: 5px;
+ }
+ .alert-dismissable,
+ .alert-dismissible {
+   padding-right: 35px;
+ }
+ .alert-dismissable .close,
+ .alert-dismissible .close {
+   position: relative;
+   top: -2px;
+   right: -21px;
+   color: inherit;
+ }
+ .alert-success {
+   color: #468847;
+   background-color: #dff0d8;
+   border-color: #d6e9c6;
+ }
+ .alert-success hr {
+   border-top-color: #c9e2b3;
+ }
+ .alert-success .alert-link {
+   color: #356635;
+ }
+ .alert-info {
+   color: #3a87ad;
+   background-color: #d9edf7;
+   border-color: #bce8f1;
+ }
+ .alert-info hr {
+   border-top-color: #a6e1ec;
+ }
+ .alert-info .alert-link {
+   color: #2d6987;
+ }
+ .alert-warning {
+   color: #c09853;
+   background-color: #fcf8e3;
+   border-color: #fbeed5;
+ }
+ .alert-warning hr {
+   border-top-color: #f8e5be;
+ }
+ .alert-warning .alert-link {
+   color: #a47e3c;
+ }
+ .alert-danger {
+   color: #b94a48;
+   background-color: #f2dede;
+   border-color: #eed3d7;
+ }
+ .alert-danger hr {
+   border-top-color: #e6c1c7;
+ }
+ .alert-danger .alert-link {
+   color: #953b39;
+ }
+ @-webkit-keyframes progress-bar-stripes {
+   from {
+     background-position: 40px 0;
+   }
+   to {
+     background-position: 0 0;
+   }
+ }
+ @keyframes progress-bar-stripes {
+   from {
+     background-position: 40px 0;
+   }
+   to {
+     background-position: 0 0;
+   }
+ }
+ .progress {
+   height: 28px;
+   margin-bottom: 28px;
+   overflow: hidden;
+   line-height: 28px;
+   font-size: 17px;
+   background-color: #f5f5f5;
+   border-radius: 8px;
+   box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ }
+ .progress-bar {
+   float: left;
+   width: 0%;
+   height: 100%;
+   color: #fff;
+   text-align: center;
+   background-color: #6bac43;
+   box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+   -webkit-transition: width 0.6s ease;
+   transition: width 0.6s ease;
+ }
+ .progress-striped .progress-bar,
+ .progress-bar-striped {
+   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-size: 40px 40px;
+ }
+ .progress.active .progress-bar,
+ .progress-bar.active {
+   -webkit-animation: progress-bar-stripes 2s linear infinite;
+   -o-animation: progress-bar-stripes 2s linear infinite;
+   animation: progress-bar-stripes 2s linear infinite;
+ }
+ .progress-bar-success {
+   background-color: #6bac43;
+ }
+ .progress-striped .progress-bar-success {
+   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ }
+ .progress-bar-info {
+   background-color: #1698da;
+ }
+ .progress-striped .progress-bar-info {
+   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ }
+ .progress-bar-warning {
+   background-color: #f0ad4e;
+ }
+ .progress-striped .progress-bar-warning {
+   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ }
+ .progress-bar-danger {
+   background-color: #c64f55;
+ }
+ .progress-striped .progress-bar-danger {
+   background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+   background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ }
+ .media {
+   margin-top: 15px;
+ }
+ .media:first-child {
+   margin-top: 0;
+ }
+ .media,
+ .media-body {
+   overflow: hidden;
+   zoom: 1;
+ }
+ .media-body {
+   width: 10000px;
+ }
+ .media-object {
+   display: block;
+ }
+ .media-object.img-thumbnail {
+   max-width: none;
+ }
+ .media-right,
+ .media > .pull-right {
+   padding-left: 10px;
+ }
+ .media-left,
+ .media > .pull-left {
+   padding-right: 10px;
+ }
+ .media-left,
+ .media-right,
+ .media-body {
+   display: table-cell;
+   vertical-align: top;
+ }
+ .media-middle {
+   vertical-align: middle;
+ }
+ .media-bottom {
+   vertical-align: bottom;
+ }
+ .media-heading {
+   margin-top: 0;
+   margin-bottom: 5px;
+ }
+ .media-list {
+   padding-left: 0;
+   list-style: none;
+ }
+ .list-group {
+   padding-left: 0;
+   margin-bottom: 20px;
+ }
+ .list-group-item {
+   position: relative;
+   display: block;
+   padding: 10px 15px;
+   margin-bottom: -1px;
+   background-color: #fff;
+   border: 1px solid #ddd;
+ }
+ .list-group-item:first-child {
+   border-top-left-radius: 8px;
+   border-top-right-radius: 8px;
+ }
+ .list-group-item:last-child {
+   margin-bottom: 0;
+   border-bottom-right-radius: 8px;
+   border-bottom-left-radius: 8px;
+ }
+ .list-group-item.disabled,
+ .list-group-item.disabled:hover,
+ .list-group-item.disabled:focus {
+   color: #ccc;
+   cursor: not-allowed;
+   background-color: #efefef;
+ }
+ .list-group-item.disabled .list-group-item-heading,
+ .list-group-item.disabled:hover .list-group-item-heading,
+ .list-group-item.disabled:focus .list-group-item-heading {
+   color: inherit;
+ }
+ .list-group-item.disabled .list-group-item-text,
+ .list-group-item.disabled:hover .list-group-item-text,
+ .list-group-item.disabled:focus .list-group-item-text {
+   color: #ccc;
+ }
+ .list-group-item.active,
+ .list-group-item.active:hover,
+ .list-group-item.active:focus {
+   z-index: 2;
+   color: #fff;
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .list-group-item.active .list-group-item-heading,
+ .list-group-item.active:hover .list-group-item-heading,
+ .list-group-item.active:focus .list-group-item-heading,
+ .list-group-item.active .list-group-item-heading > small,
+ .list-group-item.active:hover .list-group-item-heading > small,
+ .list-group-item.active:focus .list-group-item-heading > small,
+ .list-group-item.active .list-group-item-heading > .small,
+ .list-group-item.active:hover .list-group-item-heading > .small,
+ .list-group-item.active:focus .list-group-item-heading > .small {
+   color: inherit;
+ }
+ .list-group-item.active .list-group-item-text,
+ .list-group-item.active:hover .list-group-item-text,
+ .list-group-item.active:focus .list-group-item-text {
+   color: #daeccf;
+ }
+ a.list-group-item,
+ button.list-group-item {
+   color: #555;
+ }
+ a.list-group-item .list-group-item-heading,
+ button.list-group-item .list-group-item-heading {
+   color: #333;
+ }
+ a.list-group-item:hover,
+ button.list-group-item:hover,
+ a.list-group-item:focus,
+ button.list-group-item:focus {
+   color: #555;
+   text-decoration: none;
+   background-color: #f5f5f5;
+ }
+ button.list-group-item {
+   width: 100%;
+   text-align: left;
+ }
+ .list-group-flush > .list-group-item {
+   border-width: 0 0 1px;
+ }
+ .list-group-flush > .list-group-item:last-child {
+   border-bottom-width: 0;
+ }
+ .list-group-item-success {
+   color: #468847;
+   background-color: #dff0d8;
+ }
+ a.list-group-item-success,
+ button.list-group-item-success {
+   color: #468847;
+ }
+ a.list-group-item-success .list-group-item-heading,
+ button.list-group-item-success .list-group-item-heading {
+   color: inherit;
+ }
+ a.list-group-item-success:hover,
+ button.list-group-item-success:hover,
+ a.list-group-item-success:focus,
+ button.list-group-item-success:focus {
+   color: #468847;
+   background-color: #d0e9c6;
+ }
+ a.list-group-item-success.active,
+ button.list-group-item-success.active,
+ a.list-group-item-success.active:hover,
+ button.list-group-item-success.active:hover,
+ a.list-group-item-success.active:focus,
+ button.list-group-item-success.active:focus {
+   color: #fff;
+   background-color: #468847;
+   border-color: #468847;
+ }
+ .list-group-item-info {
+   color: #3a87ad;
+   background-color: #d9edf7;
+ }
+ a.list-group-item-info,
+ button.list-group-item-info {
+   color: #3a87ad;
+ }
+ a.list-group-item-info .list-group-item-heading,
+ button.list-group-item-info .list-group-item-heading {
+   color: inherit;
+ }
+ a.list-group-item-info:hover,
+ button.list-group-item-info:hover,
+ a.list-group-item-info:focus,
+ button.list-group-item-info:focus {
+   color: #3a87ad;
+   background-color: #c4e3f3;
+ }
+ a.list-group-item-info.active,
+ button.list-group-item-info.active,
+ a.list-group-item-info.active:hover,
+ button.list-group-item-info.active:hover,
+ a.list-group-item-info.active:focus,
+ button.list-group-item-info.active:focus {
+   color: #fff;
+   background-color: #3a87ad;
+   border-color: #3a87ad;
+ }
+ .list-group-item-warning {
+   color: #c09853;
+   background-color: #fcf8e3;
+ }
+ a.list-group-item-warning,
+ button.list-group-item-warning {
+   color: #c09853;
+ }
+ a.list-group-item-warning .list-group-item-heading,
+ button.list-group-item-warning .list-group-item-heading {
+   color: inherit;
+ }
+ a.list-group-item-warning:hover,
+ button.list-group-item-warning:hover,
+ a.list-group-item-warning:focus,
+ button.list-group-item-warning:focus {
+   color: #c09853;
+   background-color: #faf2cc;
+ }
+ a.list-group-item-warning.active,
+ button.list-group-item-warning.active,
+ a.list-group-item-warning.active:hover,
+ button.list-group-item-warning.active:hover,
+ a.list-group-item-warning.active:focus,
+ button.list-group-item-warning.active:focus {
+   color: #fff;
+   background-color: #c09853;
+   border-color: #c09853;
+ }
+ .list-group-item-danger {
+   color: #b94a48;
+   background-color: #f2dede;
+ }
+ a.list-group-item-danger,
+ button.list-group-item-danger {
+   color: #b94a48;
+ }
+ a.list-group-item-danger .list-group-item-heading,
+ button.list-group-item-danger .list-group-item-heading {
+   color: inherit;
+ }
+ a.list-group-item-danger:hover,
+ button.list-group-item-danger:hover,
+ a.list-group-item-danger:focus,
+ button.list-group-item-danger:focus {
+   color: #b94a48;
+   background-color: #ebcccc;
+ }
+ a.list-group-item-danger.active,
+ button.list-group-item-danger.active,
+ a.list-group-item-danger.active:hover,
+ button.list-group-item-danger.active:hover,
+ a.list-group-item-danger.active:focus,
+ button.list-group-item-danger.active:focus {
+   color: #fff;
+   background-color: #b94a48;
+   border-color: #b94a48;
+ }
+ .list-group-item-heading {
+   margin-top: 0;
+   margin-bottom: 5px;
+ }
+ .list-group-item-text {
+   margin-bottom: 0;
+   line-height: 1.3;
+ }
+ .panel {
+   margin-bottom: 28px;
+   background-color: #fff;
+   border: 1px solid transparent;
+   border-radius: 8px;
+   box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+ }
+ .panel-body {
+   padding: 15px;
+ }
+ .panel-heading {
+   padding: 10px 15px;
+   border-bottom: 1px solid transparent;
+   border-top-left-radius: 7px;
+   border-top-right-radius: 7px;
+ }
+ .panel-heading > .dropdown .dropdown-toggle {
+   color: inherit;
+ }
+ .panel-title {
+   margin-top: 0;
+   margin-bottom: 0;
+   font-size: 23px;
+   color: inherit;
+ }
+ .panel-title > a,
+ .panel-title > small,
+ .panel-title > .small,
+ .panel-title > small > a,
+ .panel-title > .small > a {
+   color: inherit;
+ }
+ .panel-footer {
+   padding: 10px 15px;
+   background-color: #fff;
+   border-top: 1px solid #ddd;
+   border-bottom-right-radius: 7px;
+   border-bottom-left-radius: 7px;
+ }
+ .panel > .list-group,
+ .panel > .panel-collapse > .list-group {
+   margin-bottom: 0;
+ }
+ .panel > .list-group .list-group-item,
+ .panel > .panel-collapse > .list-group .list-group-item {
+   border-width: 1px 0;
+   border-radius: 0;
+ }
+ .panel > .list-group:first-child .list-group-item:first-child,
+ .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+   border-top: 0;
+   border-top-left-radius: 7px;
+   border-top-right-radius: 7px;
+ }
+ .panel > .list-group:last-child .list-group-item:last-child,
+ .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+   border-bottom: 0;
+   border-bottom-right-radius: 7px;
+   border-bottom-left-radius: 7px;
+ }
+ .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
+   border-top-left-radius: 0;
+   border-top-right-radius: 0;
+ }
+ .panel-heading + .list-group .list-group-item:first-child {
+   border-top-width: 0;
+ }
+ .list-group + .panel-footer {
+   border-top-width: 0;
+ }
+ .panel > .table,
+ .panel > .table-responsive > .table,
+ .panel > .panel-collapse > .table {
+   margin-bottom: 0;
+ }
+ .panel > .table caption,
+ .panel > .table-responsive > .table caption,
+ .panel > .panel-collapse > .table caption {
+   padding-right: 15px;
+   padding-left: 15px;
+ }
+ .panel > .table:first-child,
+ .panel > .table-responsive:first-child > .table:first-child {
+   border-top-left-radius: 7px;
+   border-top-right-radius: 7px;
+ }
+ .panel > .table:first-child > thead:first-child > tr:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+   border-top-left-radius: 7px;
+   border-top-right-radius: 7px;
+ }
+ .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+ .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+   border-top-left-radius: 7px;
+ }
+ .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+ .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+ .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+ .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+   border-top-right-radius: 7px;
+ }
+ .panel > .table:last-child,
+ .panel > .table-responsive:last-child > .table:last-child {
+   border-bottom-right-radius: 7px;
+   border-bottom-left-radius: 7px;
+ }
+ .panel > .table:last-child > tbody:last-child > tr:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+   border-bottom-right-radius: 7px;
+   border-bottom-left-radius: 7px;
+ }
+ .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+ .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+   border-bottom-left-radius: 7px;
+ }
+ .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+ .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+ .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+ .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+   border-bottom-right-radius: 7px;
+ }
+ .panel > .panel-body + .table,
+ .panel > .panel-body + .table-responsive,
+ .panel > .table + .panel-body,
+ .panel > .table-responsive + .panel-body {
+   border-top: 1px solid #ddd;
+ }
+ .panel > .table > tbody:first-child > tr:first-child th,
+ .panel > .table > tbody:first-child > tr:first-child td {
+   border-top: 0;
+ }
+ .panel > .table-bordered,
+ .panel > .table-responsive > .table-bordered {
+   border: 0;
+ }
+ .panel > .table-bordered > thead > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .panel > .table-bordered > tbody > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .panel > .table-bordered > tfoot > tr > th:first-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .panel > .table-bordered > thead > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .panel > .table-bordered > tbody > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .panel > .table-bordered > tfoot > tr > td:first-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+   border-left: 0;
+ }
+ .panel > .table-bordered > thead > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .panel > .table-bordered > tbody > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .panel > .table-bordered > tfoot > tr > th:last-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .panel > .table-bordered > thead > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .panel > .table-bordered > tbody > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .panel > .table-bordered > tfoot > tr > td:last-child,
+ .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+   border-right: 0;
+ }
+ .panel > .table-bordered > thead > tr:first-child > td,
+ .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+ .panel > .table-bordered > tbody > tr:first-child > td,
+ .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+ .panel > .table-bordered > thead > tr:first-child > th,
+ .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+ .panel > .table-bordered > tbody > tr:first-child > th,
+ .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+   border-bottom: 0;
+ }
+ .panel > .table-bordered > tbody > tr:last-child > td,
+ .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .panel > .table-bordered > tfoot > tr:last-child > td,
+ .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+ .panel > .table-bordered > tbody > tr:last-child > th,
+ .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .panel > .table-bordered > tfoot > tr:last-child > th,
+ .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+   border-bottom: 0;
+ }
+ .panel > .table-responsive {
+   margin-bottom: 0;
+   border: 0;
+ }
+ .panel-group {
+   margin-bottom: 28px;
+ }
+ .panel-group .panel {
+   margin-bottom: 0;
+   border-radius: 8px;
+ }
+ .panel-group .panel + .panel {
+   margin-top: 5px;
+ }
+ .panel-group .panel-heading {
+   border-bottom: 0;
+ }
+ .panel-group .panel-heading + .panel-collapse > .panel-body,
+ .panel-group .panel-heading + .panel-collapse > .list-group {
+   border-top: 1px solid #ddd;
+ }
+ .panel-group .panel-footer {
+   border-top: 0;
+ }
+ .panel-group .panel-footer + .panel-collapse .panel-body {
+   border-bottom: 1px solid #ddd;
+ }
+ .panel-default {
+   border-color: #ddd;
+ }
+ .panel-default > .panel-heading {
+   color: #303030;
+   background-color: #f5f5f5;
+   border-color: #ddd;
+ }
+ .panel-default > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #ddd;
+ }
+ .panel-default > .panel-heading .badge {
+   color: #f5f5f5;
+   background-color: #303030;
+ }
+ .panel-default > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #ddd;
+ }
+ .panel-primary {
+   border-color: #6bac43;
+ }
+ .panel-primary > .panel-heading {
+   color: #fff;
+   background-color: #6bac43;
+   border-color: #6bac43;
+ }
+ .panel-primary > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #6bac43;
+ }
+ .panel-primary > .panel-heading .badge {
+   color: #6bac43;
+   background-color: #fff;
+ }
+ .panel-primary > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #6bac43;
+ }
+ .panel-success {
+   border-color: #d6e9c6;
+ }
+ .panel-success > .panel-heading {
+   color: #468847;
+   background-color: #dff0d8;
+   border-color: #d6e9c6;
+ }
+ .panel-success > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #d6e9c6;
+ }
+ .panel-success > .panel-heading .badge {
+   color: #dff0d8;
+   background-color: #468847;
+ }
+ .panel-success > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #d6e9c6;
+ }
+ .panel-info {
+   border-color: #bce8f1;
+ }
+ .panel-info > .panel-heading {
+   color: #3a87ad;
+   background-color: #d9edf7;
+   border-color: #bce8f1;
+ }
+ .panel-info > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #bce8f1;
+ }
+ .panel-info > .panel-heading .badge {
+   color: #d9edf7;
+   background-color: #3a87ad;
+ }
+ .panel-info > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #bce8f1;
+ }
+ .panel-warning {
+   border-color: #fbeed5;
+ }
+ .panel-warning > .panel-heading {
+   color: #c09853;
+   background-color: #fcf8e3;
+   border-color: #fbeed5;
+ }
+ .panel-warning > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #fbeed5;
+ }
+ .panel-warning > .panel-heading .badge {
+   color: #fcf8e3;
+   background-color: #c09853;
+ }
+ .panel-warning > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #fbeed5;
+ }
+ .panel-danger {
+   border-color: #eed3d7;
+ }
+ .panel-danger > .panel-heading {
+   color: #b94a48;
+   background-color: #f2dede;
+   border-color: #eed3d7;
+ }
+ .panel-danger > .panel-heading + .panel-collapse > .panel-body {
+   border-top-color: #eed3d7;
+ }
+ .panel-danger > .panel-heading .badge {
+   color: #f2dede;
+   background-color: #b94a48;
+ }
+ .panel-danger > .panel-footer + .panel-collapse > .panel-body {
+   border-bottom-color: #eed3d7;
+ }
+ .embed-responsive {
+   position: relative;
+   display: block;
+   height: 0;
+   padding: 0;
+   overflow: hidden;
+ }
+ .embed-responsive .embed-responsive-item,
+ .embed-responsive iframe,
+ .embed-responsive embed,
+ .embed-responsive object,
+ .embed-responsive video {
+   position: absolute;
+   top: 0;
+   bottom: 0;
+   left: 0;
+   width: 100%;
+   height: 100%;
+   border: 0;
+ }
+ .embed-responsive-16by9 {
+   padding-bottom: 56.25%;
+ }
+ .embed-responsive-4by3 {
+   padding-bottom: 75%;
+ }
+ .well {
+   min-height: 20px;
+   padding: 19px;
+   margin-bottom: 20px;
+   background-color: #f2f2f2;
+   border: 1px solid #e0e0e0;
+   border-radius: 8px;
+   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ }
+ .well blockquote {
+   border-color: #ddd;
+   border-color: rgba(0, 0, 0, 0.15);
+ }
+ .well-lg {
+   padding: 24px;
+   border-radius: 16px;
+ }
+ .well-sm {
+   padding: 9px;
+   border-radius: 4px;
+ }
+ .close {
+   float: right;
+   font-size: 30px;
+   font-weight: bold;
+   line-height: 1;
+   color: #000;
+   text-shadow: 0 1px 0 #fff;
+   filter: alpha(opacity=20);
+   opacity: 0.2;
+ }
+ .close:hover,
+ .close:focus {
+   color: #000;
+   text-decoration: none;
+   cursor: pointer;
+   filter: alpha(opacity=50);
+   opacity: 0.5;
+ }
+ button.close {
+   padding: 0;
+   cursor: pointer;
+   background: transparent;
+   border: 0;
+   -webkit-appearance: none;
+   appearance: none;
+ }
+ .modal-open {
+   overflow: hidden;
+ }
+ .modal {
+   position: fixed;
+   top: 0;
+   right: 0;
+   bottom: 0;
+   left: 0;
+   z-index: 1050;
+   display: none;
+   overflow: hidden;
+   -webkit-overflow-scrolling: touch;
+   outline: 0;
+ }
+ .modal.fade .modal-dialog {
+   -webkit-transform: translate(0, -25%);
+   -ms-transform: translate(0, -25%);
+   -o-transform: translate(0, -25%);
+   transform: translate(0, -25%);
+   -webkit-transition: -webkit-transform 0.3s ease-out;
+   -moz-transition: -moz-transform 0.3s ease-out;
+   transition: transform 0.3s ease-out;
+ }
+ .modal.in .modal-dialog {
+   -webkit-transform: translate(0, 0);
+   -ms-transform: translate(0, 0);
+   -o-transform: translate(0, 0);
+   transform: translate(0, 0);
+ }
+ .modal-open .modal {
+   overflow-x: hidden;
+   overflow-y: auto;
+ }
+ .modal-dialog {
+   position: relative;
+   width: auto;
+   margin: 10px;
+ }
+ .modal-content {
+   position: relative;
+   background-color: #fff;
+   background-clip: padding-box;
+   border: 1px solid #999;
+   border: 1px solid rgba(0, 0, 0, 0.2);
+   border-radius: 16px;
+   box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+   outline: 0;
+ }
+ .modal-backdrop {
+   position: fixed;
+   top: 0;
+   right: 0;
+   bottom: 0;
+   left: 0;
+   z-index: 1040;
+   background-color: #000;
+ }
+ .modal-backdrop.fade {
+   filter: alpha(opacity=0);
+   opacity: 0;
+ }
+ .modal-backdrop.in {
+   filter: alpha(opacity=50);
+   opacity: 0.5;
+ }
+ .modal-header {
+   padding: 15px;
+   border-bottom: 1px solid #e5e5e5;
+ }
+ .modal-header .close {
+   margin-top: -2px;
+ }
+ .modal-title {
+   margin: 0;
+   line-height: 1.4;
+ }
+ .modal-body {
+   position: relative;
+   padding: 15px;
+ }
+ .modal-footer {
+   padding: 15px;
+   text-align: right;
+   border-top: 1px solid #e5e5e5;
+ }
+ .modal-footer .btn + .btn {
+   margin-bottom: 0;
+   margin-left: 5px;
+ }
+ .modal-footer .btn-group .btn + .btn {
+   margin-left: -1px;
+ }
+ .modal-footer .btn-block + .btn-block {
+   margin-left: 0;
+ }
+ .modal-scrollbar-measure {
+   position: absolute;
+   top: -9999px;
+   width: 50px;
+   height: 50px;
+   overflow: scroll;
+ }
+ @media (min-width: 576px) {
+   .modal-dialog {
+     width: 600px;
+     margin: 30px auto;
+   }
+   .modal-content {
+     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+   }
+   .modal-sm {
+     width: 300px;
+   }
+ }
+ @media (min-width: 768px) {
+   .modal-lg {
+     width: 900px;
+   }
+ }
+ .tooltip {
+   position: absolute;
+   z-index: 1070;
+   display: block;
+   font-family: "ff-meta-serif-web-pro", serif;
+   font-style: normal;
+   font-weight: 400;
+   line-height: 1.4;
+   line-break: auto;
+   text-align: left;
+   text-align: start;
+   text-decoration: none;
+   text-shadow: none;
+   text-transform: none;
+   letter-spacing: normal;
+   word-break: normal;
+   word-spacing: normal;
+   word-wrap: normal;
+   white-space: normal;
+   font-size: 17px;
+   filter: alpha(opacity=0);
+   opacity: 0;
+ }
+ .tooltip.in {
+   filter: alpha(opacity=90);
+   opacity: 0.9;
+ }
+ .tooltip.top {
+   padding: 5px 0;
+   margin-top: -3px;
+ }
+ .tooltip.right {
+   padding: 0 5px;
+   margin-left: 3px;
+ }
+ .tooltip.bottom {
+   padding: 5px 0;
+   margin-top: 3px;
+ }
+ .tooltip.left {
+   padding: 0 5px;
+   margin-left: -3px;
+ }
+ .tooltip.top .tooltip-arrow {
+   bottom: 0;
+   left: 50%;
+   margin-left: -5px;
+   border-width: 5px 5px 0;
+   border-top-color: #6bac43;
+ }
+ .tooltip.top-left .tooltip-arrow {
+   right: 5px;
+   bottom: 0;
+   margin-bottom: -5px;
+   border-width: 5px 5px 0;
+   border-top-color: #6bac43;
+ }
+ .tooltip.top-right .tooltip-arrow {
+   bottom: 0;
+   left: 5px;
+   margin-bottom: -5px;
+   border-width: 5px 5px 0;
+   border-top-color: #6bac43;
+ }
+ .tooltip.right .tooltip-arrow {
+   top: 50%;
+   left: 0;
+   margin-top: -5px;
+   border-width: 5px 5px 5px 0;
+   border-right-color: #6bac43;
+ }
+ .tooltip.left .tooltip-arrow {
+   top: 50%;
+   right: 0;
+   margin-top: -5px;
+   border-width: 5px 0 5px 5px;
+   border-left-color: #6bac43;
+ }
+ .tooltip.bottom .tooltip-arrow {
+   top: 0;
+   left: 50%;
+   margin-left: -5px;
+   border-width: 0 5px 5px;
+   border-bottom-color: #6bac43;
+ }
+ .tooltip.bottom-left .tooltip-arrow {
+   top: 0;
+   right: 5px;
+   margin-top: -5px;
+   border-width: 0 5px 5px;
+   border-bottom-color: #6bac43;
+ }
+ .tooltip.bottom-right .tooltip-arrow {
+   top: 0;
+   left: 5px;
+   margin-top: -5px;
+   border-width: 0 5px 5px;
+   border-bottom-color: #6bac43;
+ }
+ .tooltip-inner {
+   max-width: 200px;
+   padding: 3px 8px;
+   color: #fff;
+   text-align: center;
+   background-color: #6bac43;
+   border-radius: 8px;
+ }
+ .tooltip-arrow {
+   position: absolute;
+   width: 0;
+   height: 0;
+   border-color: transparent;
+   border-style: solid;
+ }
+ .popover {
+   position: absolute;
+   top: 0;
+   left: 0;
+   z-index: 1060;
+   display: none;
+   max-width: 276px;
+   padding: 1px;
+   font-family: "ff-meta-serif-web-pro", serif;
+   font-style: normal;
+   font-weight: 400;
+   line-height: 1.4;
+   line-break: auto;
+   text-align: left;
+   text-align: start;
+   text-decoration: none;
+   text-shadow: none;
+   text-transform: none;
+   letter-spacing: normal;
+   word-break: normal;
+   word-spacing: normal;
+   word-wrap: normal;
+   white-space: normal;
+   font-size: 20px;
+   background-color: #fff;
+   background-clip: padding-box;
+   border: 1px solid #ccc;
+   border: 1px solid rgba(0, 0, 0, 0.2);
+   border-radius: 16px;
+   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ }
+ .popover.top {
+   margin-top: -10px;
+ }
+ .popover.right {
+   margin-left: 10px;
+ }
+ .popover.bottom {
+   margin-top: 10px;
+ }
+ .popover.left {
+   margin-left: -10px;
+ }
+ .popover > .arrow {
+   border-width: 11px;
+ }
+ .popover > .arrow,
+ .popover > .arrow:after {
+   position: absolute;
+   display: block;
+   width: 0;
+   height: 0;
+   border-color: transparent;
+   border-style: solid;
+ }
+ .popover > .arrow:after {
+   content: "";
+   border-width: 10px;
+ }
+ .popover.top > .arrow {
+   bottom: -11px;
+   left: 50%;
+   margin-left: -11px;
+   border-top-color: #999999;
+   border-top-color: rgba(0, 0, 0, 0.25);
+   border-bottom-width: 0;
+ }
+ .popover.top > .arrow:after {
+   bottom: 1px;
+   margin-left: -10px;
+   content: " ";
+   border-top-color: #fff;
+   border-bottom-width: 0;
+ }
+ .popover.right > .arrow {
+   top: 50%;
+   left: -11px;
+   margin-top: -11px;
+   border-right-color: #999999;
+   border-right-color: rgba(0, 0, 0, 0.25);
+   border-left-width: 0;
+ }
+ .popover.right > .arrow:after {
+   bottom: -10px;
+   left: 1px;
+   content: " ";
+   border-right-color: #fff;
+   border-left-width: 0;
+ }
+ .popover.bottom > .arrow {
+   top: -11px;
+   left: 50%;
+   margin-left: -11px;
+   border-top-width: 0;
+   border-bottom-color: #999999;
+   border-bottom-color: rgba(0, 0, 0, 0.25);
+ }
+ .popover.bottom > .arrow:after {
+   top: 1px;
+   margin-left: -10px;
+   content: " ";
+   border-top-width: 0;
+   border-bottom-color: #fff;
+ }
+ .popover.left > .arrow {
+   top: 50%;
+   right: -11px;
+   margin-top: -11px;
+   border-right-width: 0;
+   border-left-color: #999999;
+   border-left-color: rgba(0, 0, 0, 0.25);
+ }
+ .popover.left > .arrow:after {
+   right: 1px;
+   bottom: -10px;
+   content: " ";
+   border-right-width: 0;
+   border-left-color: #fff;
+ }
+ .popover-title {
+   padding: 8px 14px;
+   margin: 0;
+   font-size: 20px;
+   background-color: #f7f7f7;
+   border-bottom: 1px solid #ebebeb;
+   border-radius: 15px 15px 0 0;
+ }
+ .popover-content {
+   padding: 9px 14px;
+ }
+ .carousel {
+   position: relative;
+ }
+ .carousel-inner {
+   position: relative;
+   width: 100%;
+   overflow: hidden;
+ }
+ .carousel-inner > .item {
+   position: relative;
+   display: none;
+   -webkit-transition: 0.6s ease-in-out left;
+   transition: 0.6s ease-in-out left;
+ }
+ .carousel-inner > .item > img,
+ .carousel-inner > .item > a > img {
+   line-height: 1;
+ }
+ @media all and (transform-3d), (-webkit-transform-3d) {
+   .carousel-inner > .item {
+     -webkit-transition: -webkit-transform 0.6s ease-in-out;
+     -moz-transition: -moz-transform 0.6s ease-in-out;
+     transition: transform 0.6s ease-in-out;
+     -webkit-backface-visibility: hidden;
+     -moz-backface-visibility: hidden;
+     backface-visibility: hidden;
+     -webkit-perspective: 1000px;
+     -moz-perspective: 1000px;
+     perspective: 1000px;
+   }
+   .carousel-inner > .item.next,
+   .carousel-inner > .item.active.right {
+     -webkit-transform: translate3d(100%, 0, 0);
+     transform: translate3d(100%, 0, 0);
+     left: 0;
+   }
+   .carousel-inner > .item.prev,
+   .carousel-inner > .item.active.left {
+     -webkit-transform: translate3d(-100%, 0, 0);
+     transform: translate3d(-100%, 0, 0);
+     left: 0;
+   }
+   .carousel-inner > .item.next.left,
+   .carousel-inner > .item.prev.right,
+   .carousel-inner > .item.active {
+     -webkit-transform: translate3d(0, 0, 0);
+     transform: translate3d(0, 0, 0);
+     left: 0;
+   }
+ }
+ .carousel-inner > .active,
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+   display: block;
+ }
+ .carousel-inner > .active {
+   left: 0;
+ }
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+   position: absolute;
+   top: 0;
+   width: 100%;
+ }
+ .carousel-inner > .next {
+   left: 100%;
+ }
+ .carousel-inner > .prev {
+   left: -100%;
+ }
+ .carousel-inner > .next.left,
+ .carousel-inner > .prev.right {
+   left: 0;
+ }
+ .carousel-inner > .active.left {
+   left: -100%;
+ }
+ .carousel-inner > .active.right {
+   left: 100%;
+ }
+ .carousel-control {
+   position: absolute;
+   top: 0;
+   bottom: 0;
+   left: 0;
+   width: 15%;
+   font-size: 20px;
+   color: #fff;
+   text-align: center;
+   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+   background-color: rgba(0, 0, 0, 0);
+   filter: alpha(opacity=50);
+   opacity: 0.5;
+ }
+ .carousel-control.left {
+   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+   background-repeat: repeat-x;
+ }
+ .carousel-control.right {
+   right: 0;
+   left: auto;
+   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+   background-repeat: repeat-x;
+ }
+ .carousel-control:hover,
+ .carousel-control:focus {
+   color: #fff;
+   text-decoration: none;
+   outline: 0;
+   filter: alpha(opacity=90);
+   opacity: 0.9;
+ }
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next,
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .glyphicon-chevron-right {
+   position: absolute;
+   top: 50%;
+   z-index: 5;
+   display: inline-block;
+   margin-top: -10px;
+ }
+ .carousel-control .icon-prev,
+ .carousel-control .glyphicon-chevron-left {
+   left: 50%;
+   margin-left: -10px;
+ }
+ .carousel-control .icon-next,
+ .carousel-control .glyphicon-chevron-right {
+   right: 50%;
+   margin-right: -10px;
+ }
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+   width: 20px;
+   height: 20px;
+   font-family: serif;
+   line-height: 1;
+ }
+ .carousel-control .icon-prev:before {
+   content: "\2039";
+ }
+ .carousel-control .icon-next:before {
+   content: "\203a";
+ }
+ .carousel-indicators {
+   position: absolute;
+   bottom: 10px;
+   left: 50%;
+   z-index: 15;
+   width: 60%;
+   padding-left: 0;
+   margin-left: -30%;
+   text-align: center;
+   list-style: none;
+ }
+ .carousel-indicators li {
+   display: inline-block;
+   width: 10px;
+   height: 10px;
+   margin: 1px;
+   text-indent: -999px;
+   cursor: pointer;
+   background-color: #000 \9;
+   background-color: rgba(0, 0, 0, 0);
+   border: 1px solid #fff;
+   border-radius: 10px;
+ }
+ .carousel-indicators .active {
+   width: 12px;
+   height: 12px;
+   margin: 0;
+   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;
+   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+ }
+ .carousel-caption .btn {
+   text-shadow: none;
+ }
+ @media screen and (min-width: 576px) {
+   .carousel-control .glyphicon-chevron-left,
+   .carousel-control .glyphicon-chevron-right,
+   .carousel-control .icon-prev,
+   .carousel-control .icon-next {
+     width: 30px;
+     height: 30px;
+     margin-top: -10px;
+     font-size: 30px;
+   }
+   .carousel-control .glyphicon-chevron-left,
+   .carousel-control .icon-prev {
+     margin-left: -10px;
+   }
+   .carousel-control .glyphicon-chevron-right,
+   .carousel-control .icon-next {
+     margin-right: -10px;
+   }
+   .carousel-caption {
+     right: 20%;
+     left: 20%;
+     padding-bottom: 30px;
+   }
+   .carousel-indicators {
+     bottom: 20px;
+   }
+ }
+ .clearfix:before,
+ .clearfix:after,
+ .dl-horizontal dd:before,
+ .dl-horizontal dd:after,
+ .container:before,
+ .container:after,
+ .container-fluid:before,
+ .container-fluid:after,
+ .row:before,
+ .row:after,
+ .form-horizontal .form-group:before,
+ .form-horizontal .form-group:after,
+ .btn-toolbar:before,
+ .btn-toolbar:after,
+ .btn-group-vertical > .btn-group:before,
+ .btn-group-vertical > .btn-group:after,
+ .nav:before,
+ .nav:after,
+ .navbar:before,
+ .navbar:after,
+ .navbar-header:before,
+ .navbar-header:after,
+ .navbar-collapse:before,
+ .navbar-collapse:after,
+ .pager:before,
+ .pager:after,
+ .panel-body:before,
+ .panel-body:after,
+ .modal-header:before,
+ .modal-header:after,
+ .modal-footer:before,
+ .modal-footer:after {
+   display: table;
+   content: " ";
+ }
+ .clearfix:after,
+ .dl-horizontal dd:after,
+ .container:after,
+ .container-fluid:after,
+ .row:after,
+ .form-horizontal .form-group:after,
+ .btn-toolbar:after,
+ .btn-group-vertical > .btn-group:after,
+ .nav:after,
+ .navbar:after,
+ .navbar-header:after,
+ .navbar-collapse:after,
+ .pager:after,
+ .panel-body:after,
+ .modal-header:after,
+ .modal-footer:after {
+   clear: both;
+ }
+ .center-block {
+   display: block;
+   margin-right: auto;
+   margin-left: auto;
+ }
+ .pull-right {
+   float: right !important;
+ }
+ .pull-left {
+   float: left !important;
+ }
+ .hide {
+   display: none !important;
+ }
+ .show {
+   display: block !important;
+ }
+ .invisible {
+   visibility: hidden;
+ }
+ .text-hide {
+   font: 0/0 a;
+   color: transparent;
+   text-shadow: none;
+   background-color: transparent;
+   border: 0;
+ }
+ .hidden {
+   display: none !important;
+ }
+ .affix {
+   position: fixed;
+ }
+ @-ms-viewport {
+   width: device-width;
+ }
+ .visible-xs,
+ .visible-sm,
+ .visible-md,
+ .visible-lg {
+   display: none !important;
+ }
+ .visible-xs-block,
+ .visible-xs-inline,
+ .visible-xs-inline-block,
+ .visible-sm-block,
+ .visible-sm-inline,
+ .visible-sm-inline-block,
+ .visible-md-block,
+ .visible-md-inline,
+ .visible-md-inline-block,
+ .visible-lg-block,
+ .visible-lg-inline,
+ .visible-lg-inline-block {
+   display: none !important;
+ }
+ @media (max-width: 575px) {
+   .visible-xs {
+     display: block !important;
+   }
+   table.visible-xs {
+     display: table !important;
+   }
+   tr.visible-xs {
+     display: table-row !important;
+   }
+   th.visible-xs,
+   td.visible-xs {
+     display: table-cell !important;
+   }
+ }
+ @media (max-width: 575px) {
+   .visible-xs-block {
+     display: block !important;
+   }
+ }
+ @media (max-width: 575px) {
+   .visible-xs-inline {
+     display: inline !important;
+   }
+ }
+ @media (max-width: 575px) {
+   .visible-xs-inline-block {
+     display: inline-block !important;
+   }
+ }
+ @media (min-width: 576px) and (max-width: 767px) {
+   .visible-sm {
+     display: block !important;
+   }
+   table.visible-sm {
+     display: table !important;
+   }
+   tr.visible-sm {
+     display: table-row !important;
+   }
+   th.visible-sm,
+   td.visible-sm {
+     display: table-cell !important;
+   }
+ }
+ @media (min-width: 576px) and (max-width: 767px) {
+   .visible-sm-block {
+     display: block !important;
+   }
+ }
+ @media (min-width: 576px) and (max-width: 767px) {
+   .visible-sm-inline {
+     display: inline !important;
+   }
+ }
+ @media (min-width: 576px) and (max-width: 767px) {
+   .visible-sm-inline-block {
+     display: inline-block !important;
+   }
+ }
+ @media (min-width: 768px) and (max-width: 991px) {
+   .visible-md {
+     display: block !important;
+   }
+   table.visible-md {
+     display: table !important;
+   }
+   tr.visible-md {
+     display: table-row !important;
+   }
+   th.visible-md,
+   td.visible-md {
+     display: table-cell !important;
+   }
+ }
+ @media (min-width: 768px) and (max-width: 991px) {
+   .visible-md-block {
+     display: block !important;
+   }
+ }
+ @media (min-width: 768px) and (max-width: 991px) {
+   .visible-md-inline {
+     display: inline !important;
+   }
+ }
+ @media (min-width: 768px) and (max-width: 991px) {
+   .visible-md-inline-block {
+     display: inline-block !important;
+   }
+ }
+ @media (min-width: 992px) {
+   .visible-lg {
+     display: block !important;
+   }
+   table.visible-lg {
+     display: table !important;
+   }
+   tr.visible-lg {
+     display: table-row !important;
+   }
+   th.visible-lg,
+   td.visible-lg {
+     display: table-cell !important;
+   }
+ }
+ @media (min-width: 992px) {
+   .visible-lg-block {
+     display: block !important;
+   }
+ }
+ @media (min-width: 992px) {
+   .visible-lg-inline {
+     display: inline !important;
+   }
+ }
+ @media (min-width: 992px) {
+   .visible-lg-inline-block {
+     display: inline-block !important;
+   }
+ }
+ @media (max-width: 575px) {
+   .hidden-xs {
+     display: none !important;
+   }
+ }
+ @media (min-width: 576px) and (max-width: 767px) {
+   .hidden-sm {
+     display: none !important;
+   }
+ }
+ @media (min-width: 768px) and (max-width: 991px) {
+   .hidden-md {
+     display: none !important;
+   }
+ }
+ @media (min-width: 992px) {
+   .hidden-lg {
+     display: none !important;
+   }
+ }
+ .visible-print {
+   display: none !important;
+ }
+ @media print {
+   .visible-print {
+     display: block !important;
+   }
+   table.visible-print {
+     display: table !important;
+   }
+   tr.visible-print {
+     display: table-row !important;
+   }
+   th.visible-print,
+   td.visible-print {
+     display: table-cell !important;
+   }
+ }
+ .visible-print-block {
+   display: none !important;
+ }
+ @media print {
+   .visible-print-block {
+     display: block !important;
+   }
+ }
+ .visible-print-inline {
+   display: none !important;
+ }
+ @media print {
+   .visible-print-inline {
+     display: inline !important;
+   }
+ }
+ .visible-print-inline-block {
+   display: none !important;
+ }
+ @media print {
+   .visible-print-inline-block {
+     display: inline-block !important;
+   }
+ }
+ @media print {
+   .hidden-print {
+     display: none !important;
+   }
+ }
+ /* stylelint-disable */
+ /* stylelint-enable */
+ /*
+     The accent colors are deprecated and should not be used in new theme development. They will be
+     removed in Rock v 6.0.
+ */
+ 
\ No newline at end of file
diff --git a/RockWeb/Themes/NewSpring/StylesNew/easter.css b/RockWeb/Themes/NewSpring/StylesNew/easter.css
new file mode 100644
index 00000000000..a6f46756548
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/StylesNew/easter.css
@@ -0,0 +1,99 @@
+:root {
+  --orange: #ff5f1e;
+  --pink: #ee79c7;
+  --pink-light: #fcd2e2;
+  --blue: #005be1;
+  --blue-dark: #00449b;
+}
+svg,
+.crisp-edges {
+  shape-rendering: crisp-edges !important;
+}
+.bg-orange {
+  background-color: var(--orange);
+}
+.bg-pink {
+  background-color: var(--pink);
+}
+.bg-pink-light {
+  background-color: var(--pink-light);
+}
+.bg-blue {
+  background-color: var(--blue);
+}
+.bg-blue-dark {
+  background-color: var(--blue-dark);
+}
+.fill-orange {
+  fill: var(--orange);
+}
+.fill-pink {
+  fill: var(--pink);
+}
+.fill-pink-light {
+  fill: var(--pink-light);
+}
+.fill-blue {
+  fill: var(--blue);
+}
+.fill-blue-dark {
+  fill: var(--blue-dark);
+}
+.text-orange {
+  color: var(--orange);
+}
+.text-pink {
+  color: var(--pink);
+}
+.text-pink-light {
+  color: var(--pink-light);
+}
+.text-blue {
+  color: var(--blue);
+}
+.text-blue-dark {
+  color: var(--blue-dark);
+}
+.swiper-pagination-bullet-active {
+  background-color: var(--pink) !important;
+}
+.easter h1,
+.easter h2,
+.easter h3,
+.easter h4,
+.easter h5,
+.easter h6 {
+  font-family: "proxima-nova", sans-serif;
+  font-weight: 900;
+  font-style: normal;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+}
+.easter h3,
+.easter h4,
+.easter h5,
+.easter h6 {
+  letter-spacing: 0px;
+}
+.easter .btn-primary {
+  background-color: var(--orange);
+}
+.easter .btn-primary:hover {
+  background-color: #ea4400;
+}
+.easter .btn-blue {
+  background-color: var(--blue);
+  color: #fff;
+}
+.easter .btn-blue:hover,
+.easter .btn-blue:focus {
+  background-color: var(--blue-dark);
+}
+.easter .btn-pink {
+  background-color: var(--pink);
+  color: #fff;
+}
+.easter .btn-pink:hover,
+.easter .btn-pink:focus {
+  background-color: #e84cb4;
+}
diff --git a/RockWeb/Themes/NewSpring/StylesNew/gauntlet.css b/RockWeb/Themes/NewSpring/StylesNew/gauntlet.css
new file mode 100644
index 00000000000..c1f348694d7
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/StylesNew/gauntlet.css
@@ -0,0 +1,262 @@
+:root {
+  --bible-page: #ede4df;
+  --lakeside: #3333cc;
+  --riggs-field: #5f8c46;
+  --prayers-up: #de6588;
+  --tiger-paw: #de7840;
+  --group-hug: #645ca0;
+  --new-wave: #63aece;
+  --dandy-lion: #daba4d;
+  --not-quite-black: #302e35;
+  --gatorade: #c0d164;
+  --heat-stroke: #da5e56;
+  --lakeside-darker: #262698;
+  --riggs-field-darker: #3c592c;
+  --prayers-up-darker: #612c3b;
+  --tiger-paw-darker: #ab5c31;
+  --group-hug-darker: #2d2852;
+  --new-wave-darker: #265467;
+  --dandy-lion-darker: #a58d3a;
+  --gatorade-darker: #5c642e;
+  --heat-stroke-darker: #622723;
+}
+/* 
+
+  COLORS 
+  
+*/
+.text-bible-page {
+  color: var(--bible-page);
+}
+a.text-bible-page:hover {
+  color: var(--bible-page-darker);
+}
+.bg-bible-page {
+  background-color: var(--bible-page);
+}
+.fill-bible-page {
+  fill: var(--bible-page);
+}
+.text-lakeside {
+  color: var(--lakeside);
+}
+a.text-lakeside:hover {
+  color: var(--lakeside-darker);
+}
+.bg-lakeside {
+  background-color: var(--lakeside);
+}
+.bg-lakeside-darker {
+  background-color: var(--lakeside-darker);
+}
+.fill-lakeside {
+  fill: var(--lakeside);
+}
+.text-riggs-field {
+  color: var(--riggs-field);
+}
+a.text-riggs-field:hover {
+  color: var(--riggs-field-darker);
+}
+.bg-riggs-field {
+  background-color: var(--riggs-field);
+}
+.bg-riggs-field-darker {
+  background-color: var(--riggs-field-darker);
+}
+.fill-riggs-field {
+  fill: var(--riggs-field);
+}
+.text-prayers-up {
+  color: var(--prayers-up);
+}
+a.text-prayers-up:hover {
+  color: var(--prayers-up-darker);
+}
+.bg-prayers-up {
+  background-color: var(--prayers-up);
+}
+.fill-prayers-up {
+  fill: var(--prayers-up);
+}
+.text-tiger-paw {
+  color: var(--tiger-paw);
+}
+a.text-tiger-paw:hover {
+  color: var(--tiger-paw-darker);
+}
+.bg-tiger-paw {
+  background-color: var(--tiger-paw);
+}
+.bg-tiger-paw-darker {
+  background-color: var(--tiger-paw-darker);
+}
+.fill-tiger-paw {
+  fill: var(--tiger-paw);
+}
+.text-group-hug {
+  color: var(--group-hug);
+}
+a.text-group-hug:hover {
+  color: var(--group-hug-darker);
+}
+.text-group-hug-darker {
+  color: var(--group-hug-darker);
+}
+a.text-group-hug-darker:hover {
+  color: var(--group-hug-darker-darker);
+}
+.bg-group-hug {
+  background-color: var(--group-hug);
+}
+.bg-group-hug-darker {
+  background-color: var(--group-hug-darker);
+}
+.fill-group-hug {
+  fill: var(--group-hug);
+}
+.text-new-wave {
+  color: var(--new-wave);
+}
+a.text-new-wave:hover {
+  color: var(--new-wave-darker);
+}
+.bg-new-wave {
+  background-color: var(--new-wave);
+}
+.bg-new-wave-darker {
+  background-color: var(--new-wave-darker);
+}
+.fill-new-wave {
+  fill: var(--new-wave);
+}
+.text-dandy-lion {
+  color: var(--dandy-lion);
+}
+a.text-dandy-lion:hover {
+  color: var(--dandy-lion-darker);
+}
+.bg-dandy-lion {
+  background-color: var(--dandy-lion);
+}
+.bg-dandy-lion-darker {
+  background-color: var(--dandy-lion-darker);
+}
+.fill-dandy-lion {
+  fill: var(--dandy-lion);
+}
+.text-black {
+  color: var(--not-quite-black);
+}
+.bg-black {
+  background-color: var(--not-quite-black);
+}
+.fill-black {
+  fill: var(--not-quite-black);
+}
+.text-gatorade {
+  color: var(--gatorade);
+}
+a.text-gatorade:hover {
+  color: var(--gatorade-darker);
+}
+.bg-gatorade {
+  background-color: var(--gatorade);
+}
+.bg-gatorade-darker {
+  background-color: var(--gatorade-darker);
+}
+.fill-gatorade {
+  fill: var(--gatorade);
+}
+.text-heat-stroke {
+  color: var(--heat-stroke);
+}
+a.text-heat-stroke:hover {
+  color: var(--heat-stroke-darker);
+}
+.bg-heat-stroke {
+  background-color: var(--heat-stroke);
+}
+.bg-heat-stroke-darker {
+  background-color: var(--heat-stroke-darker);
+}
+.fill-heat-stroke {
+  fill: var(--heat-stroke);
+}
+/*
+  
+  Buttons
+
+*/
+.btn-heat-stroke,
+.btn-heat-stroke:hover,
+.btn-heat-stroke:focus {
+  background-color: var(--heat-stroke);
+  color: #fff;
+}
+.btn-group-hug,
+.btn-group-hug:hover,
+.btn-group-hug:focus {
+  background-color: var(--group-hug);
+  color: #fff;
+}
+.btn-prayers-up,
+.btn-prayers-up:hover,
+.btn-prayers-up:focus {
+  background-color: var(--prayers-up);
+  color: #fff;
+}
+.btn-new-wave,
+.btn-new-wave:hover,
+.btn-new-wave:focus {
+  background-color: var(--new-wave);
+  color: #fff;
+}
+.btn-gatorade,
+.btn-gatorade:hover,
+.btn-gatorade:focus {
+  background-color: var(--gatorade);
+  color: #fff;
+}
+/*
+
+  Backgrounds
+
+*/
+.bg-pattern {
+  background-color: transparent !important;
+  background-repeat: repeat;
+  background-size: 45%;
+  background-attachment: fixed;
+}
+.bg-pattern-combined {
+  background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Combined.png);
+}
+.bg-pattern-bolts {
+  background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Bolts2.png);
+}
+.bg-pattern-exclamation {
+  background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Exclamation2.png);
+}
+.bg-pattern-flowers {
+  background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Flowers2.png);
+}
+.bg-pattern-stars {
+  background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Stars2.png);
+}
+@media only screen and (min-width: 500px) {
+  .bg-pattern {
+    background-size: 35%;
+  }
+}
+@media only screen and (min-width: 768px) {
+  .bg-pattern {
+    background-size: 25%;
+  }
+}
+@media only screen and (min-width: 1200px) {
+  .bg-pattern {
+    background-size: 15%;
+  }
+}
diff --git a/RockWeb/Themes/NewSpring/StylesNew/theme.css b/RockWeb/Themes/NewSpring/StylesNew/theme.css
new file mode 100644
index 00000000000..ace91f0bb00
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/StylesNew/theme.css
@@ -0,0 +1,22604 @@
+/*
+  Rock's Core CSS
+  1. Imports - Used to import the various core less files
+  2. HTML Overrides - Style overrides for basic HTML tags
+  3. Utility Classes - Classes that we use often to keep from writing from repeating ourselves
+  4. Bootstrap Overrides - When Bootstrap gets it wrong, we make it right
+  5. ASP.Net Overrides - Yep they get it wrong too sometimes
+*/
+:root {
+  --focus-state-border: 1px solid #66afe9;
+  --focus-state-border-color: #66afe9;
+  --focus-state-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+  --input-bg-disabled: #efefef;
+  --input-border: #ccc;
+  --input-border-radius: 8px;
+  --input-height-base: 54px;
+  --input-padding: 12px 24px;
+  --input-placeholder: #828282;
+}
+/* jquery.Jcrop.css v0.9.12 - MIT License */
+/*
+  The outer-most container in a typical Jcrop instance
+  If you are having difficulty with formatting related to styles
+  on a parent element, place any fixes here or in a like selector
+
+  You can also style this element if you want to add a border, etc
+  A better method for styling can be seen below with .jcrop-light
+  (Add a class to the holder and style elements for that extended class)
+*/
+.crop-container {
+  margin: 0 auto;
+  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEVmZmZ/f39ERVlDAAAAEUlEQVQIW2P8z8iIFTH8x4oAgXMQCWJFLxgAAAAASUVORK5CYII=");
+  overflow: hidden;
+}
+.jcrop-holder {
+  direction: ltr;
+  text-align: left;
+  position: relative;
+  top: 50%;
+  transform: translateY(-50%);
+}
+/* Selection Border */
+.jcrop-vline,
+.jcrop-hline {
+  background: #39f;
+  font-size: 0;
+  position: absolute;
+}
+.jcrop-vline {
+  height: 100%;
+  width: 1px !important;
+}
+.jcrop-vline.right {
+  right: 0;
+}
+.jcrop-hline {
+  height: 1px !important;
+  width: 100%;
+}
+.jcrop-hline.bottom {
+  bottom: 0;
+}
+/* Invisible click targets */
+.jcrop-tracker {
+  height: 100%;
+  width: 100%;
+  /* "turn off" link highlight */
+  -webkit-tap-highlight-color: transparent;
+  /* disable callout, image save panel */
+  -webkit-touch-callout: none;
+  /* disable cut copy paste */
+  -webkit-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+/* Selection Handles */
+.jcrop-handle {
+  background-color: #39f;
+  width: 10px;
+  height: 10px;
+  font-size: 1px;
+  opacity: 1 !important;
+}
+.jcrop-handle.ord-n,
+.jcrop-handle.ord-s,
+.jcrop-handle.ord-e,
+.jcrop-handle.ord-w {
+  display: none;
+}
+.jcrop-handle.ord-nw {
+  left: 0;
+  margin-left: -5px;
+  margin-top: -5px;
+  top: 0;
+}
+.jcrop-handle.ord-ne {
+  margin-right: -5px;
+  margin-top: -5px;
+  right: 0;
+  top: 0;
+}
+.jcrop-handle.ord-se {
+  bottom: 0;
+  margin-bottom: -5px;
+  margin-right: -5px;
+  right: 0;
+}
+.jcrop-handle.ord-sw {
+  bottom: 0;
+  left: 0;
+  margin-bottom: -5px;
+  margin-left: -5px;
+}
+/* Dragbars */
+.jcrop-dragbar.ord-n,
+.jcrop-dragbar.ord-s {
+  height: 7px;
+  width: 100%;
+}
+.jcrop-dragbar.ord-e,
+.jcrop-dragbar.ord-w {
+  height: 100%;
+  width: 7px;
+}
+.jcrop-dragbar.ord-n {
+  margin-top: -5px;
+}
+.jcrop-dragbar.ord-s {
+  bottom: 0;
+  margin-bottom: -5px;
+}
+.jcrop-dragbar.ord-e {
+  margin-right: -5px;
+  right: 0;
+}
+.jcrop-dragbar.ord-w {
+  margin-left: -5px;
+}
+/* The "jcrop-light" class/extension */
+.jcrop-light .jcrop-vline,
+.jcrop-light .jcrop-hline {
+  background: #ffffff;
+  filter: alpha(opacity=70) !important;
+  opacity: 0.7 !important;
+}
+.jcrop-light .jcrop-handle {
+  background-color: #000000;
+  border-color: #ffffff;
+  border-radius: 3px;
+}
+/* Fix for twitter bootstrap et al. */
+.jcrop-holder img,
+img.jcrop-preview {
+  max-width: none;
+}
+.chosen-select,
+.chosen-select-deselect {
+  width: 100%;
+}
+.chosen-container {
+  position: relative;
+  display: inline-block;
+  width: 100% !important;
+  font-size: 20px;
+  text-align: left;
+  vertical-align: middle;
+}
+.chosen-container a {
+  cursor: pointer;
+}
+.chosen-container .chosen-drop {
+  position: absolute;
+  top: 100%;
+  left: -9000px;
+  z-index: 1060;
+  margin-top: -1px;
+  background: #fff;
+  border: 1px solid #ccc;
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
+}
+.chosen-container.chosen-with-drop .chosen-drop {
+  right: 0;
+  left: 0;
+}
+.chosen-container .chosen-results {
+  position: relative;
+  max-height: 240px;
+  padding: 0 0 0 4px;
+  margin: 4px 4px 4px 0;
+  overflow-x: hidden;
+  overflow-y: auto;
+  color: #a4a4a4;
+  -webkit-overflow-scrolling: touch;
+}
+.chosen-container .chosen-results li {
+  display: none;
+  padding: 5px 6px;
+  margin: 0;
+  line-height: 1.4;
+  list-style: none;
+}
+.chosen-container .chosen-results li em {
+  font-style: normal;
+  background: #feffde;
+}
+.chosen-container .chosen-results li.group-result {
+  display: list-item;
+  font-weight: bold;
+  color: #999;
+  cursor: default;
+}
+.chosen-container .chosen-results li.group-option {
+  padding-left: 15px;
+}
+.chosen-container .chosen-results li.active-result {
+  display: list-item;
+  cursor: pointer;
+}
+.chosen-container .chosen-results li.result-selected {
+  color: #1c1c1c;
+}
+.chosen-container .chosen-results li.highlighted {
+  color: #fff;
+  background-color: #6bac43;
+}
+.chosen-container .chosen-results li.highlighted em {
+  color: rgba(255, 255, 255, 0.8);
+  background: transparent;
+}
+.chosen-container .chosen-results li.disabled-result {
+  display: list-item;
+  color: #ccc;
+}
+.chosen-container .chosen-results .no-results {
+  display: list-item;
+  padding: 8px;
+  color: #efefef;
+}
+.chosen-container .chosen-results-scroll {
+  position: absolute;
+  z-index: 1;
+  width: 321px;
+  margin: 0 4px;
+  text-align: center;
+  background: #fff;
+}
+.chosen-container .chosen-results-scroll span {
+  display: inline-block;
+  width: 9px;
+  height: 28px;
+  text-indent: -5000px;
+}
+.chosen-container-single .chosen-single {
+  position: relative;
+  display: block;
+  height: 54px;
+  padding: 0 0 0 12px;
+  overflow: hidden;
+  line-height: 54px;
+  color: #303030;
+  text-decoration: none;
+  white-space: nowrap;
+  background-color: #fff;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+  border: 1px solid #ccc;
+  border-top-left-radius: 8px;
+  border-top-right-radius: 8px;
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+  box-shadow: none;
+}
+.chosen-container-single .chosen-single span {
+  display: block;
+  margin-right: 26px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.chosen-container-single .chosen-single abbr {
+  position: absolute;
+  top: 0;
+  right: 30px;
+  display: inline-block;
+  width: 24px;
+  height: 54px;
+  text-align: center;
+  cursor: pointer;
+}
+.chosen-container-single .chosen-single abbr::before {
+  font-family: "FontAwesome";
+  font-size: 20px;
+  font-weight: 900;
+  color: #a4a4a4;
+  content: "\f00d";
+}
+.chosen-container-single .chosen-single abbr:hover::before {
+  color: #717171;
+}
+.chosen-container-single .chosen-single.chosen-disabled .chosen-single abbr:hover {
+  background-position: right 2px;
+}
+.chosen-container-single .chosen-single div {
+  position: absolute;
+  top: 0;
+  right: 0;
+  display: block;
+  width: 72px;
+  height: 54px;
+  padding-left: 8px;
+  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
+  background-repeat: no-repeat;
+  background-position: right 24px center;
+  background-size: 16px 12px;
+}
+.chosen-container-single .chosen-default {
+  color: #a4a4a4;
+}
+.chosen-container-single a:not([href]):not([tabindex]) {
+  color: #828282 !important;
+}
+.chosen-container-single a:not([href]):not([tabindex]).chosen-single:not(.chosen-default) {
+  color: #303030 !important;
+}
+.chosen-container-single .chosen-search-input {
+  display: none;
+  border: none;
+}
+.chosen-container-single .chosen-search {
+  position: relative;
+  z-index: 1050;
+  padding: 3px 4px;
+  margin: 0;
+  white-space: nowrap;
+}
+.chosen-container-single .chosen-search::after {
+  position: relative;
+  left: -28px;
+  display: inline-block;
+  font-family: "FontAwesome";
+  font-size: 20px;
+  font-weight: 900;
+  color: #a4a4a4;
+  content: "\f002";
+}
+.chosen-container-single .chosen-search input[type="text"] {
+  width: 100%;
+  padding: 4px 28px 4px 8px;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+  outline: none;
+  box-shadow: none;
+}
+.chosen-container-single .chosen-drop {
+  margin-top: -1px;
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+  background-clip: padding-box;
+}
+.chosen-container-single-nosearch .chosen-search {
+  display: none;
+}
+.chosen-container-multi .chosen-choices {
+  position: relative;
+  height: auto !important;
+  padding: 0;
+  margin: 0;
+  overflow: hidden;
+  cursor: text;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-top-left-radius: 8px;
+  border-top-right-radius: 8px;
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+  box-shadow: none;
+}
+.chosen-container-multi .chosen-choices li {
+  float: left;
+  list-style: none;
+}
+.chosen-container-multi .chosen-choices .search-field {
+  padding: 0;
+  margin: 0;
+  white-space: nowrap;
+}
+.chosen-container-multi .chosen-choices .search-field input[type="text"] {
+  width: 100% !important;
+  height: 52px;
+  padding: 0 0 0 0.75rem;
+  margin: 0;
+  color: #828282;
+  background: transparent !important;
+  border: 0 !important;
+  outline: 0;
+  box-shadow: none;
+}
+.chosen-container-multi .chosen-choices .search-field .default {
+  color: #ccc;
+}
+.chosen-container-multi .chosen-choices .search-choice {
+  position: relative;
+  padding: 4px 24px 4px 4px;
+  margin: 12.5px 0 0 8px;
+  font-size: 17px;
+  line-height: 1;
+  color: #303030;
+  cursor: default;
+  background-color: #f3f3f3;
+  background-clip: padding-box;
+  border: 1px solid #ccc;
+  border-top-left-radius: 8px;
+  border-top-right-radius: 8px;
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+}
+.chosen-container-multi .chosen-choices .search-choice .search-choice-close:after {
+  position: absolute;
+  top: 3px;
+  right: 1px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  font-family: "FontAwesome";
+  font-size: 20px;
+  font-weight: 900;
+  color: #a4a4a4;
+  cursor: pointer;
+  content: "\f00d";
+}
+.chosen-container-multi .chosen-choices .search-choice .search-choice-close:hover::after {
+  color: #717171;
+}
+.chosen-container-multi .chosen-choices .search-choice-focus {
+  background: #efefef;
+}
+.chosen-container-multi .chosen-choices .search-choice-focus .search-choice-close {
+  background-position: right -11px;
+}
+.chosen-container-multi .chosen-drop .result-selected {
+  display: none;
+}
+.chosen-container-active .chosen-single {
+  border: 1px solid #66afe9;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+  -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+.chosen-container-active.chosen-with-drop .chosen-single {
+  background-color: #fff;
+  border: 1px solid #66afe9;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+  -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+.chosen-container-active .chosen-choices {
+  border: 1px solid #66afe9;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+  -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+.chosen-container-active .chosen-choices .search-field input[type="text"] {
+  color: #111 !important;
+}
+.chosen-container-active.chosen-with-drop .chosen-choices {
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.chosen-container-active.chosen-with-drop .chosen-search-input {
+  display: inline-block;
+}
+.chosen-disabled {
+  cursor: default;
+  opacity: 0.5 !important;
+}
+.chosen-disabled .chosen-single {
+  cursor: default;
+}
+.chosen-disabled .chosen-choices .search-choice .search-choice-close {
+  cursor: default;
+}
+.chosen-container-optgroup-clickable li.group-result {
+  text-transform: none !important;
+}
+.chosen-container-optgroup-clickable li.group-result:hover {
+  color: #fff;
+  cursor: pointer;
+  background-color: #6bac43;
+}
+.chosen-container.is-valid .chosen-single,
+.chosen-container:valid .chosen-single,
+.chosen-container.is-valid .chosen-choices,
+.chosen-container:valid .chosen-choices,
+.chosen-container.is-valid .chosen-drop,
+.chosen-container:valid .chosen-drop {
+  border-color: #6bac43;
+}
+.chosen-container.is-invalid .chosen-single,
+.chosen-container:invalid .chosen-single,
+.chosen-container.is-invalid .chosen-choices,
+.chosen-container:invalid .chosen-choices,
+.chosen-container.is-invalid .chosen-drop,
+.chosen-container:invalid .chosen-drop {
+  border-color: #c64f55;
+}
+input[type="text"].chosen-focus-input {
+  position: absolute;
+  top: -9000px;
+  width: 0;
+  height: 0;
+  padding: 0;
+  margin: 0;
+  background: transparent !important;
+  border: 0 !important;
+  outline: 0;
+  box-shadow: none;
+}
+.input-group:nth-of-type(1) .chosen-container .chosen-choices {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.input-group:not(:nth-of-type(1)) .chosen-container .chosen-choices {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.input-group:not(:nth-of-type(1)) .input-group-prepend .input-group-text {
+  border-top-right-radius: 8px;
+  border-bottom-right-radius: 8px;
+}
+.input-group .chosen-container {
+  position: relative;
+  flex: 1 1 auto;
+}
+@font-face {
+  font-family: "FontAwesome";
+  font-style: normal;
+  font-weight: 900;
+  src: url("../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3");
+  src: url("../../../Assets/Fonts/FontAwesome/fa-solid-900.eot?v=free5.15.3#iefix") format("embedded-opentype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-solid-900.woff2?v=free5.15.3") format("woff2"),
+    url("../../../Assets/Fonts/FontAwesome/fa-solid-900.woff?v=free5.15.3") format("woff"),
+    url("../../../Assets/Fonts/FontAwesome/fa-solid-900.ttf?v=free5.15.3") format("truetype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-solid-900.svg?v=free5.15.3#fontawesome") format("svg");
+  font-display: block;
+}
+@font-face {
+  font-family: "FontAwesome";
+  font-style: normal;
+  font-weight: 400;
+  src: url("../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3");
+  src: url("../../../Assets/Fonts/FontAwesome/fa-regular-400.eot?v=free5.15.3#iefix") format("embedded-opentype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-regular-400.woff2?v=free5.15.3") format("woff2"),
+    url("../../../Assets/Fonts/FontAwesome/fa-regular-400.woff?v=free5.15.3") format("woff"),
+    url("../../../Assets/Fonts/FontAwesome/fa-regular-400.ttf?v=free5.15.3") format("truetype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-regular-400.svg?v=free5.15.3#fontawesome") format("svg");
+  font-display: block;
+}
+@font-face {
+  font-family: "FontAwesome Brands";
+  font-style: normal;
+  font-weight: 400;
+  src: url("../../../Assets/Fonts/FontAwesome/fa-brands-400.eot?v=free5.15.3");
+  src: url("../../../Assets/Fonts/FontAwesome/fa-brands-400.eot?v=free5.15.3#iefix") format("embedded-opentype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-brands-400.woff2?v=free5.15.3") format("woff2"),
+    url("../../../Assets/Fonts/FontAwesome/fa-brands-400.woff?v=free5.15.3") format("woff"),
+    url("../../../Assets/Fonts/FontAwesome/fa-brands-400.ttf?v=free5.15.3") format("truetype"),
+    url("../../../Assets/Fonts/FontAwesome/fa-brands-400.svg?v=free5.15.3#fontawesome") format("svg");
+  font-display: block;
+}
+@font-face {
+  font-display: auto;
+  font-family: summernote;
+  font-style: normal;
+  font-weight: 400;
+  src: url(font/summernote.eot?#iefix) format("embedded-opentype"), url(font/summernote.woff2) format("woff2"), url(font/summernote.woff) format("woff"),
+    url(font/summernote.ttf) format("truetype");
+}
+[class*=" note-icon"]:before,
+[class^="note-icon"]:before {
+  text-rendering: auto;
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  speak: none;
+  display: inline-block;
+  font-family: summernote;
+  font-size: inherit;
+  font-style: normal;
+  text-decoration: inherit;
+  text-transform: none;
+  vertical-align: middle;
+}
+.note-icon-fw {
+  text-align: center;
+  width: 1.25em;
+}
+.note-icon-border {
+  border: 0.08em solid #eee;
+  border-radius: 0.1em;
+  padding: 0.2em 0.25em 0.15em;
+}
+.note-icon-pull-left {
+  float: left;
+}
+.note-icon-pull-right {
+  float: right;
+}
+.note-icon.note-icon-pull-left {
+  margin-right: 0.3em;
+}
+.note-icon.note-icon-pull-right {
+  margin-left: 0.3em;
+}
+.note-icon-align:before {
+  content: "\ea01";
+}
+.note-icon-align-center:before {
+  content: "\ea02";
+}
+.note-icon-align-indent:before {
+  content: "\ea03";
+}
+.note-icon-align-justify:before {
+  content: "\ea04";
+}
+.note-icon-align-left:before {
+  content: "\ea05";
+}
+.note-icon-align-outdent:before {
+  content: "\ea06";
+}
+.note-icon-align-right:before {
+  content: "\ea07";
+}
+.note-icon-arrow-circle-down:before {
+  content: "\ea08";
+}
+.note-icon-arrow-circle-left:before {
+  content: "\ea09";
+}
+.note-icon-arrow-circle-right:before {
+  content: "\ea0a";
+}
+.note-icon-arrow-circle-up:before {
+  content: "\ea0b";
+}
+.note-icon-arrows-alt:before {
+  content: "\ea0c";
+}
+.note-icon-arrows-h:before {
+  content: "\ea0d";
+}
+.note-icon-arrows-v:before {
+  content: "\ea0e";
+}
+.note-icon-bold:before {
+  content: "\ea0f";
+}
+.note-icon-caret:before {
+  content: "\ea10";
+}
+.note-icon-chain-broken:before {
+  content: "\ea11";
+}
+.note-icon-circle:before {
+  content: "\ea12";
+}
+.note-icon-close:before {
+  content: "\ea13";
+}
+.note-icon-code:before {
+  content: "\ea14";
+}
+.note-icon-col-after:before {
+  content: "\ea15";
+}
+.note-icon-col-before:before {
+  content: "\ea16";
+}
+.note-icon-col-remove:before {
+  content: "\ea17";
+}
+.note-icon-eraser:before {
+  content: "\ea18";
+}
+.note-icon-float-left:before {
+  content: "\ea19";
+}
+.note-icon-float-none:before {
+  content: "\ea1a";
+}
+.note-icon-float-right:before {
+  content: "\ea1b";
+}
+.note-icon-font:before {
+  content: "\ea1c";
+}
+.note-icon-frame:before {
+  content: "\ea1d";
+}
+.note-icon-italic:before {
+  content: "\ea1e";
+}
+.note-icon-link:before {
+  content: "\ea1f";
+}
+.note-icon-magic:before {
+  content: "\ea20";
+}
+.note-icon-menu-check:before {
+  content: "\ea21";
+}
+.note-icon-minus:before {
+  content: "\ea22";
+}
+.note-icon-orderedlist:before {
+  content: "\ea23";
+}
+.note-icon-pencil:before {
+  content: "\ea24";
+}
+.note-icon-picture:before {
+  content: "\ea25";
+}
+.note-icon-question:before {
+  content: "\ea26";
+}
+.note-icon-redo:before {
+  content: "\ea27";
+}
+.note-icon-rollback:before {
+  content: "\ea28";
+}
+.note-icon-row-above:before {
+  content: "\ea29";
+}
+.note-icon-row-below:before {
+  content: "\ea2a";
+}
+.note-icon-row-remove:before {
+  content: "\ea2b";
+}
+.note-icon-special-character:before {
+  content: "\ea2c";
+}
+.note-icon-square:before {
+  content: "\ea2d";
+}
+.note-icon-strikethrough:before {
+  content: "\ea2e";
+}
+.note-icon-subscript:before {
+  content: "\ea2f";
+}
+.note-icon-summernote:before {
+  content: "\ea30";
+}
+.note-icon-superscript:before {
+  content: "\ea31";
+}
+.note-icon-table:before {
+  content: "\ea32";
+}
+.note-icon-text-height:before {
+  content: "\ea33";
+}
+.note-icon-trash:before {
+  content: "\ea34";
+}
+.note-icon-underline:before {
+  content: "\ea35";
+}
+.note-icon-undo:before {
+  content: "\ea36";
+}
+.note-icon-unorderedlist:before {
+  content: "\ea37";
+}
+.note-icon-video:before {
+  content: "\ea38";
+}
+.note-editor {
+  position: relative;
+}
+.note-editor .note-dropzone {
+  background-color: #fff;
+  color: #87cefa;
+  display: none;
+  opacity: 0.95;
+  position: absolute;
+  z-index: 100;
+}
+.note-editor .note-dropzone .note-dropzone-message {
+  display: table-cell;
+  font-size: 28px;
+  font-weight: 700;
+  text-align: center;
+  vertical-align: middle;
+}
+.note-editor .note-dropzone.hover {
+  color: #098ddf;
+}
+.note-editor.dragover .note-dropzone {
+  display: table;
+}
+.note-editor .note-editing-area {
+  position: relative;
+}
+.note-editor .note-editing-area .note-editable {
+  outline: none;
+}
+.note-editor .note-editing-area .note-editable sup {
+  vertical-align: super;
+}
+.note-editor .note-editing-area .note-editable sub {
+  vertical-align: sub;
+}
+.note-editor .note-editing-area .note-editable img.note-float-left {
+  margin-right: 10px;
+}
+.note-editor .note-editing-area .note-editable img.note-float-right {
+  margin-left: 10px;
+}
+.note-editor.note-airframe,
+.note-editor.note-frame {
+  border: 1px solid #00000032;
+}
+.note-editor.note-airframe.codeview .note-editing-area .note-editable,
+.note-editor.note-frame.codeview .note-editing-area .note-editable {
+  display: none;
+}
+.note-editor.note-airframe.codeview .note-editing-area .note-codable,
+.note-editor.note-frame.codeview .note-editing-area .note-codable {
+  display: block;
+}
+.note-editor.note-airframe .note-editing-area,
+.note-editor.note-frame .note-editing-area {
+  overflow: hidden;
+}
+.note-editor.note-airframe .note-editing-area .note-editable,
+.note-editor.note-frame .note-editing-area .note-editable {
+  word-wrap: break-word;
+  overflow: auto;
+  padding: 10px;
+}
+.note-editor.note-airframe .note-editing-area .note-editable[contenteditable="false"],
+.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"] {
+  background-color: #8080801d;
+}
+.note-editor.note-airframe .note-editing-area .note-codable,
+.note-editor.note-frame .note-editing-area .note-codable {
+  background-color: #222;
+  border: none;
+  border-radius: 0;
+  box-shadow: none;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  color: #ccc;
+  display: none;
+  font-family: Menlo, Monaco, monospace, sans-serif;
+  font-size: 14px;
+  margin-bottom: 0;
+  outline: none;
+  padding: 10px;
+  resize: none;
+  width: 100%;
+}
+.note-editor.note-airframe.fullscreen,
+.note-editor.note-frame.fullscreen {
+  left: 0;
+  position: fixed;
+  top: 0;
+  width: 100% !important;
+  z-index: 1050;
+}
+.note-editor.note-airframe.fullscreen .note-resizebar,
+.note-editor.note-frame.fullscreen .note-resizebar {
+  display: none;
+}
+.note-editor.note-airframe .note-status-output,
+.note-editor.note-frame .note-status-output {
+  border: 0;
+  border-top: 1px solid #e2e2e2;
+  color: #000;
+  display: block;
+  font-size: 14px;
+  height: 20px;
+  line-height: 1.42857143;
+  margin-bottom: 0;
+  width: 100%;
+}
+.note-editor.note-airframe .note-status-output:empty,
+.note-editor.note-frame .note-status-output:empty {
+  border-top: 0 solid transparent;
+  height: 0;
+}
+.note-editor.note-airframe .note-status-output .pull-right,
+.note-editor.note-frame .note-status-output .pull-right {
+  float: right !important;
+}
+.note-editor.note-airframe .note-status-output .text-muted,
+.note-editor.note-frame .note-status-output .text-muted {
+  color: #777;
+}
+.note-editor.note-airframe .note-status-output .text-primary,
+.note-editor.note-frame .note-status-output .text-primary {
+  color: #286090;
+}
+.note-editor.note-airframe .note-status-output .text-success,
+.note-editor.note-frame .note-status-output .text-success {
+  color: #3c763d;
+}
+.note-editor.note-airframe .note-status-output .text-info,
+.note-editor.note-frame .note-status-output .text-info {
+  color: #31708f;
+}
+.note-editor.note-airframe .note-status-output .text-warning,
+.note-editor.note-frame .note-status-output .text-warning {
+  color: #8a6d3b;
+}
+.note-editor.note-airframe .note-status-output .text-danger,
+.note-editor.note-frame .note-status-output .text-danger {
+  color: #a94442;
+}
+.note-editor.note-airframe .note-status-output .alert,
+.note-editor.note-frame .note-status-output .alert {
+  background-color: #f5f5f5;
+  border-radius: 0;
+  color: #000;
+  margin: -7px 0 0;
+  padding: 7px 10px 2px;
+}
+.note-editor.note-airframe .note-status-output .alert .note-icon,
+.note-editor.note-frame .note-status-output .alert .note-icon {
+  margin-right: 5px;
+}
+.note-editor.note-airframe .note-status-output .alert-success,
+.note-editor.note-frame .note-status-output .alert-success {
+  background-color: #dff0d8 !important;
+  color: #3c763d !important;
+}
+.note-editor.note-airframe .note-status-output .alert-info,
+.note-editor.note-frame .note-status-output .alert-info {
+  background-color: #d9edf7 !important;
+  color: #31708f !important;
+}
+.note-editor.note-airframe .note-status-output .alert-warning,
+.note-editor.note-frame .note-status-output .alert-warning {
+  background-color: #fcf8e3 !important;
+  color: #8a6d3b !important;
+}
+.note-editor.note-airframe .note-status-output .alert-danger,
+.note-editor.note-frame .note-status-output .alert-danger {
+  background-color: #f2dede !important;
+  color: #a94442 !important;
+}
+.note-editor.note-airframe .note-statusbar,
+.note-editor.note-frame .note-statusbar {
+  background-color: #8080801d;
+  border-bottom-left-radius: 4px;
+  border-bottom-right-radius: 4px;
+  border-top: 1px solid #00000032;
+}
+.note-editor.note-airframe .note-statusbar .note-resizebar,
+.note-editor.note-frame .note-statusbar .note-resizebar {
+  cursor: ns-resize;
+  height: 9px;
+  padding-top: 1px;
+  width: 100%;
+}
+.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,
+.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar {
+  border-top: 1px solid #00000032;
+  margin: 1px auto;
+  width: 20px;
+}
+.note-editor.note-airframe .note-statusbar.locked .note-resizebar,
+.note-editor.note-frame .note-statusbar.locked .note-resizebar {
+  cursor: default;
+}
+.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,
+.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar {
+  display: none;
+}
+.note-editor.note-airframe .note-placeholder,
+.note-editor.note-frame .note-placeholder {
+  padding: 10px;
+}
+.note-editor.note-airframe {
+  border: 0;
+}
+.note-editor.note-airframe .note-editing-area .note-editable {
+  padding: 0;
+}
+.note-popover.popover {
+  display: none;
+  max-width: none;
+}
+.note-popover.popover .popover-content a {
+  display: inline-block;
+  max-width: 200px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  vertical-align: middle;
+  white-space: nowrap;
+}
+.note-popover.popover .arrow {
+  left: 20px !important;
+}
+.note-toolbar {
+  position: relative;
+}
+.note-editor .note-toolbar,
+.note-popover .popover-content {
+  margin: 0;
+  padding: 0 0 5px 5px;
+}
+.note-editor .note-toolbar > .note-btn-group,
+.note-popover .popover-content > .note-btn-group {
+  margin-left: 0;
+  margin-right: 5px;
+  margin-top: 5px;
+}
+.note-editor .note-toolbar .note-btn-group .note-table,
+.note-popover .popover-content .note-btn-group .note-table {
+  min-width: 0;
+  padding: 5px;
+}
+.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker,
+.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker {
+  font-size: 18px;
+}
+.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,
+.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher {
+  cursor: pointer;
+  height: 10em;
+  position: absolute !important;
+  width: 10em;
+  z-index: 3;
+}
+.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,
+.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted {
+  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC")
+    repeat;
+  height: 5em;
+  position: relative !important;
+  width: 5em;
+  z-index: 1;
+}
+.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,
+.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted {
+  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC")
+    repeat;
+  height: 1em;
+  position: absolute !important;
+  width: 1em;
+  z-index: 2;
+}
+.note-editor .note-toolbar .note-style .dropdown-style blockquote,
+.note-editor .note-toolbar .note-style .dropdown-style pre,
+.note-popover .popover-content .note-style .dropdown-style blockquote,
+.note-popover .popover-content .note-style .dropdown-style pre {
+  margin: 0;
+  padding: 5px 10px;
+}
+.note-editor .note-toolbar .note-style .dropdown-style h1,
+.note-editor .note-toolbar .note-style .dropdown-style h2,
+.note-editor .note-toolbar .note-style .dropdown-style h3,
+.note-editor .note-toolbar .note-style .dropdown-style h4,
+.note-editor .note-toolbar .note-style .dropdown-style h5,
+.note-editor .note-toolbar .note-style .dropdown-style h6,
+.note-editor .note-toolbar .note-style .dropdown-style p,
+.note-popover .popover-content .note-style .dropdown-style h1,
+.note-popover .popover-content .note-style .dropdown-style h2,
+.note-popover .popover-content .note-style .dropdown-style h3,
+.note-popover .popover-content .note-style .dropdown-style h4,
+.note-popover .popover-content .note-style .dropdown-style h5,
+.note-popover .popover-content .note-style .dropdown-style h6,
+.note-popover .popover-content .note-style .dropdown-style p {
+  margin: 0;
+  padding: 0;
+}
+.note-editor .note-toolbar .note-color-all .note-dropdown-menu,
+.note-popover .popover-content .note-color-all .note-dropdown-menu {
+  min-width: 337px;
+}
+.note-editor .note-toolbar .note-color .dropdown-toggle,
+.note-popover .popover-content .note-color .dropdown-toggle {
+  padding-left: 5px;
+  width: 20px;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette {
+  display: inline-block;
+  margin: 0;
+  width: 160px;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child {
+  margin: 0 5px;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title {
+  border-bottom: 1px solid #eee;
+  font-size: 12px;
+  margin: 2px 7px;
+  text-align: center;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select {
+  border-radius: 5px;
+  cursor: pointer;
+  font-size: 11px;
+  margin: 3px;
+  padding: 0 3px;
+  width: 100%;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover {
+  background: #eee;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row {
+  height: 20px;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn {
+  display: none;
+}
+.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,
+.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn {
+  border: 1px solid #eee;
+}
+.note-editor .note-toolbar .note-para .note-dropdown-menu,
+.note-popover .popover-content .note-para .note-dropdown-menu {
+  min-width: 228px;
+  padding: 5px;
+}
+.note-editor .note-toolbar .note-para .note-dropdown-menu > div + div,
+.note-popover .popover-content .note-para .note-dropdown-menu > div + div {
+  margin-left: 5px;
+}
+.note-editor .note-toolbar .note-dropdown-menu,
+.note-popover .popover-content .note-dropdown-menu {
+  min-width: 160px;
+}
+.note-editor .note-toolbar .note-dropdown-menu.right,
+.note-popover .popover-content .note-dropdown-menu.right {
+  left: auto;
+  right: 0;
+}
+.note-editor .note-toolbar .note-dropdown-menu.right:before,
+.note-popover .popover-content .note-dropdown-menu.right:before {
+  left: auto !important;
+  right: 9px;
+}
+.note-editor .note-toolbar .note-dropdown-menu.right:after,
+.note-popover .popover-content .note-dropdown-menu.right:after {
+  left: auto !important;
+  right: 10px;
+}
+.note-editor .note-toolbar .note-dropdown-menu.note-check a i,
+.note-popover .popover-content .note-dropdown-menu.note-check a i {
+  color: #00bfff;
+  visibility: hidden;
+}
+.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i,
+.note-popover .popover-content .note-dropdown-menu.note-check a.checked i {
+  visibility: visible;
+}
+.note-editor .note-toolbar .note-fontsize-10,
+.note-popover .popover-content .note-fontsize-10 {
+  font-size: 10px;
+}
+.note-editor .note-toolbar .note-color-palette,
+.note-popover .popover-content .note-color-palette {
+  line-height: 1;
+}
+.note-editor .note-toolbar .note-color-palette div .note-color-btn,
+.note-popover .popover-content .note-color-palette div .note-color-btn {
+  border: 0;
+  border-radius: 0;
+  height: 20px;
+  margin: 0;
+  padding: 0;
+  width: 20px;
+}
+.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,
+.note-popover .popover-content .note-color-palette div .note-color-btn:hover {
+  transform: scale(1.2);
+  transition: all 0.2s;
+}
+.note-modal .modal-dialog {
+  border-radius: 5px;
+  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+  outline: 0;
+}
+.note-modal .form-group {
+  margin-left: 0;
+  margin-right: 0;
+}
+.note-modal .note-modal-form {
+  margin: 0;
+}
+.note-modal .note-image-dialog .note-dropzone {
+  border: 4px dashed #d3d3d3;
+  color: #d3d3d3;
+  font-size: 30px;
+  line-height: 4;
+  margin-bottom: 10px;
+  min-height: 100px;
+  text-align: center;
+}
+@-moz-document url-prefix() {
+  .note-modal .note-image-input {
+    height: auto;
+  }
+}
+.note-placeholder {
+  color: gray;
+  display: none;
+  position: absolute;
+}
+.note-handle .note-control-selection {
+  border: 1px solid #000;
+  display: none;
+  position: absolute;
+}
+.note-handle .note-control-selection > div {
+  position: absolute;
+}
+.note-handle .note-control-selection .note-control-selection-bg {
+  background-color: #000;
+  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+  filter: alpha(opacity=30);
+  height: 100%;
+  -webkit-opacity: 0.3;
+  -khtml-opacity: 0.3;
+  -moz-opacity: 0.3;
+  opacity: 0.3;
+  width: 100%;
+}
+.note-handle .note-control-selection .note-control-handle,
+.note-handle .note-control-selection .note-control-holder,
+.note-handle .note-control-selection .note-control-sizing {
+  border: 1px solid #000;
+  height: 7px;
+  width: 7px;
+}
+.note-handle .note-control-selection .note-control-sizing {
+  background-color: #000;
+}
+.note-handle .note-control-selection .note-control-nw {
+  border-bottom: none;
+  border-right: none;
+  left: -5px;
+  top: -5px;
+}
+.note-handle .note-control-selection .note-control-ne {
+  border-bottom: none;
+  border-left: none;
+  right: -5px;
+  top: -5px;
+}
+.note-handle .note-control-selection .note-control-sw {
+  border-right: none;
+  border-top: none;
+  bottom: -5px;
+  left: -5px;
+}
+.note-handle .note-control-selection .note-control-se {
+  bottom: -5px;
+  cursor: se-resize;
+  right: -5px;
+}
+.note-handle .note-control-selection .note-control-se.note-control-holder {
+  border-left: none;
+  border-top: none;
+  cursor: default;
+}
+.note-handle .note-control-selection .note-control-selection-info {
+  background-color: #000;
+  border-radius: 5px;
+  bottom: 0;
+  color: #fff;
+  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
+  filter: alpha(opacity=70);
+  font-size: 12px;
+  margin: 5px;
+  -webkit-opacity: 0.7;
+  -khtml-opacity: 0.7;
+  -moz-opacity: 0.7;
+  opacity: 0.7;
+  padding: 5px;
+  right: 0;
+}
+.note-hint-popover {
+  min-width: 100px;
+  padding: 2px;
+}
+.note-hint-popover .popover-content {
+  max-height: 150px;
+  overflow: auto;
+  padding: 3px;
+}
+.note-hint-popover .popover-content .note-hint-group .note-hint-item {
+  display: block !important;
+  padding: 3px;
+}
+.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,
+.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover {
+  background-color: #428bca;
+  clear: both;
+  color: #fff;
+  cursor: pointer;
+  display: block;
+  font-weight: 400;
+  line-height: 1.4;
+  outline: 0;
+  text-decoration: none;
+  white-space: nowrap;
+}
+body .note-fullscreen-body,
+html .note-fullscreen-body {
+  overflow: hidden !important;
+}
+/*
+    Used to manage styles related to the CMS admin UI for on page editing
+
+    1. Zone Configuration
+    2. Module Configuration
+    3. Admin Footer
+    4. Responsive Rules
+*/
+.zone-instance.outline {
+  position: relative;
+  min-width: 50px;
+  min-height: 30px;
+}
+.zone-instance.outline::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  content: "";
+  border: 1px dotted #3e3e3c;
+  outline: 1px dotted #fff;
+}
+.block-configuration,
+.zone-configuration {
+  position: absolute;
+  top: 0;
+  z-index: 1049;
+  display: none;
+  width: 26px;
+  height: 26px;
+  overflow: hidden;
+  color: #fff;
+  cursor: pointer;
+  background: #0176d3;
+  border-radius: 0;
+}
+.block-instance.outline {
+  position: relative;
+  display: block;
+  min-height: 36px;
+  clear: both;
+}
+.block-instance.outline::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  pointer-events: none;
+  content: "";
+}
+.block-instance.outline:hover::after {
+  border: 1px solid #1b96ff;
+}
+.config-bar {
+  font-size: 16px;
+  line-height: 1.5;
+}
+.config-bar,
+.config-bar a {
+  color: #fff !important;
+}
+.config-bar a,
+.config-bar .delete {
+  display: block;
+  float: left;
+  width: 26px;
+  padding: 1px 0 !important;
+  margin: 0 !important;
+  text-align: center;
+  text-decoration: none;
+}
+.zone-configuration-bar,
+.block-configuration-bar {
+  position: absolute;
+  left: 24px;
+  margin-right: -999em;
+  margin-left: 6px;
+  overflow: hidden;
+}
+.zone-configuration-bar div,
+.block-configuration-bar div {
+  display: inline;
+}
+.zone-configuration-bar span,
+.block-configuration-bar span {
+  display: block;
+  float: left;
+  padding-right: 12px;
+  font-size: 10px;
+  line-height: 26px;
+}
+.zone-configuration-bar .disabled,
+.block-configuration-bar .disabled {
+  cursor: default;
+  opacity: 0.5;
+}
+.block-configuration-bar .btn {
+  margin-right: 12px;
+  color: #cfcfcf;
+  text-shadow: none;
+}
+#cms-admin-footer {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  z-index: 1049;
+  width: 100%;
+  height: 36px;
+  padding: 8px 12px 0;
+  margin-right: 0;
+  color: #cfcfcf;
+  background: #1c1c1c;
+  border-color: #020202;
+  border-style: solid;
+  border-width: 1px 1px 0;
+  transition: 0.5s;
+}
+#cms-admin-footer a.btn {
+  font-size: 16px;
+}
+#cms-admin-footer > span {
+  display: none;
+  margin-top: 3px;
+  margin-bottom: 4px;
+  font-size: 12px;
+  text-align: center;
+}
+#cms-admin-footer > span.label {
+  margin-top: 1px;
+}
+#cms-admin-footer > span.cms-admin-footer-property {
+  padding: 0 6px;
+  background-color: #363636;
+  border-radius: 2px;
+}
+#cms-admin-footer a {
+  color: #cfcfcf;
+}
+#cms-admin-footer a:hover {
+  text-decoration: none;
+}
+#cms-admin-footer .button-bar {
+  margin-top: -8px;
+  margin-left: 12px;
+  text-align: center;
+}
+#cms-admin-footer .button-bar a {
+  background-color: transparent;
+  background-image: none;
+  border: 0;
+}
+#cms-admin-footer .btn {
+  color: #cfcfcf;
+  text-shadow: none;
+  box-shadow: none;
+}
+@media (min-width: 576px) {
+  #cms-admin-footer {
+    opacity: 0;
+  }
+  #cms-admin-footer:hover {
+    opacity: 1;
+  }
+  #cms-admin-footer > span {
+    display: block;
+    float: left;
+    text-align: left;
+  }
+  #cms-admin-footer .button-bar {
+    float: right;
+  }
+}
+/*!
+ * Bootstrap Modal
+ *
+ * Copyright Jordan Schroter
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Bootstrap 3 patch for bootstrap-modal. Include BEFORE bootstrap-modal.css!
+ */
+body.modal-open,
+.modal-open .navbar-fixed-top,
+.modal-open .navbar-fixed-bottom {
+  margin-right: 0;
+}
+.modal {
+  left: 50%;
+  bottom: auto;
+  right: auto;
+  padding: 0;
+  width: 500px;
+  margin-left: -250px;
+  background: #fff;
+  border-radius: 8px;
+  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
+  background-clip: padding-box;
+}
+.modal.container {
+  max-width: none;
+}
+/*!
+ * Bootstrap Modal
+ *
+ * Copyright Jordan Schroter
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+.modal-open {
+  overflow: hidden;
+  -webkit-overflow-scrolling: auto;
+}
+/* add a scroll bar to stop page from jerking around */
+.modal-open.page-overflow .page-container,
+.modal-open.page-overflow .page-container .navbar-fixed-top,
+.modal-open.page-overflow .page-container .navbar-fixed-bottom,
+.modal-open.page-overflow .modal-scrollable {
+  overflow-y: scroll;
+  -webkit-overflow-scrolling: touch;
+}
+@media (max-width: 979px) {
+  .modal-open.page-overflow .page-container .navbar-fixed-top,
+  .modal-open.page-overflow .page-container .navbar-fixed-bottom {
+    overflow-y: visible;
+  }
+}
+.modal-scrollable {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  overflow: auto;
+}
+.modal {
+  outline: none;
+  position: absolute;
+  margin-top: 0;
+  top: 50%;
+  overflow: visible;
+  /* allow content to popup out (i.e tooltips) */
+}
+.modal.fade {
+  top: -100%;
+  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
+  -moz-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
+  -o-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
+  transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
+}
+.modal.fade.in {
+  top: 50%;
+}
+.modal-body {
+  max-height: none;
+  overflow: visible;
+}
+.modal.modal-absolute {
+  position: absolute;
+  z-index: 950;
+}
+.modal .loading-mask {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background: #fff;
+  border-radius: 6px;
+}
+.modal-backdrop.modal-absolute {
+  position: absolute;
+  z-index: 940;
+}
+.modal-backdrop,
+.modal-backdrop.fade.in {
+  opacity: 0.7;
+  filter: alpha(opacity=70);
+  background: #fff;
+}
+.modal.container {
+  width: 940px;
+  margin-left: -470px;
+}
+/* Modal Overflow */
+.modal-overflow.modal {
+  top: 1%;
+}
+.modal-overflow.modal.fade {
+  top: -100%;
+}
+.modal-overflow.modal.fade.in {
+  top: 1%;
+}
+.modal-overflow .modal-body {
+  /*overflow: auto;*/
+  -webkit-overflow-scrolling: touch;
+}
+/* Responsive */
+@media (min-width: 1200px) {
+  .modal.container {
+    width: 1170px;
+    margin-left: -585px;
+  }
+}
+@media (max-width: 979px) {
+  .modal,
+  .modal.container,
+  .modal.modal-overflow {
+    top: 1%;
+    right: 1%;
+    left: 1%;
+    bottom: auto;
+    width: auto !important;
+    height: auto !important;
+    margin: 0 !important;
+    padding: 0 !important;
+  }
+  .modal.fade.in,
+  .modal.container.fade.in,
+  .modal.modal-overflow.fade.in {
+    top: 1%;
+    bottom: auto;
+  }
+  .modal-body,
+  .modal-overflow .modal-body {
+    position: static;
+    margin: 0;
+    height: auto !important;
+    max-height: none !important;
+    overflow: visible !important;
+  }
+  .modal-footer,
+  .modal-overflow .modal-footer {
+    position: static;
+  }
+}
+.loading-spinner {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin: -12px 0 0 -12px;
+}
+/*
+Animate.css - http://daneden.me/animate
+Licensed under the ☺ license (http://licence.visualidiot.com/)
+
+Copyright (c) 2012 Dan Eden*/
+.animated {
+  -webkit-animation-duration: 1s;
+  -moz-animation-duration: 1s;
+  -o-animation-duration: 1s;
+  animation-duration: 1s;
+  -webkit-animation-fill-mode: both;
+  -moz-animation-fill-mode: both;
+  -o-animation-fill-mode: both;
+  animation-fill-mode: both;
+}
+@-webkit-keyframes shake {
+  0%,
+  100% {
+    -webkit-transform: translateX(0);
+  }
+  10%,
+  30%,
+  50%,
+  70%,
+  90% {
+    -webkit-transform: translateX(-10px);
+  }
+  20%,
+  40%,
+  60%,
+  80% {
+    -webkit-transform: translateX(10px);
+  }
+}
+@-moz-keyframes shake {
+  0%,
+  100% {
+    -moz-transform: translateX(0);
+  }
+  10%,
+  30%,
+  50%,
+  70%,
+  90% {
+    -moz-transform: translateX(-10px);
+  }
+  20%,
+  40%,
+  60%,
+  80% {
+    -moz-transform: translateX(10px);
+  }
+}
+@-o-keyframes shake {
+  0%,
+  100% {
+    -o-transform: translateX(0);
+  }
+  10%,
+  30%,
+  50%,
+  70%,
+  90% {
+    -o-transform: translateX(-10px);
+  }
+  20%,
+  40%,
+  60%,
+  80% {
+    -o-transform: translateX(10px);
+  }
+}
+@keyframes shake {
+  0%,
+  100% {
+    transform: translateX(0);
+  }
+  10%,
+  30%,
+  50%,
+  70%,
+  90% {
+    transform: translateX(-10px);
+  }
+  20%,
+  40%,
+  60%,
+  80% {
+    transform: translateX(10px);
+  }
+}
+.shake {
+  -webkit-animation-name: shake;
+  -moz-animation-name: shake;
+  -o-animation-name: shake;
+  animation-name: shake;
+}
+body.rock-modal {
+  background: transparent;
+}
+body.rock-modal .modal-content {
+  border: 0 !important;
+  box-shadow: none;
+}
+.modal-content.rock-modal,
+.rock-modal .modal-content {
+  background: transparent;
+  border: 0;
+  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1);
+}
+.modal-content.rock-modal .modal-header,
+.rock-modal .modal-content .modal-header {
+  min-height: 34px;
+  padding: 5px 15px;
+  color: #fff;
+  background-color: #6bac43;
+}
+.modal-content.rock-modal .modal-header:before,
+.rock-modal .modal-content .modal-header:before,
+.modal-content.rock-modal .modal-header:after,
+.rock-modal .modal-content .modal-header:after {
+  display: table;
+  content: " ";
+}
+.modal-content.rock-modal .modal-header:after,
+.rock-modal .modal-content .modal-header:after {
+  clear: both;
+}
+.modal-content.rock-modal .modal-header h3,
+.rock-modal .modal-content .modal-header h3 {
+  float: left;
+  margin-right: 12px;
+}
+.modal-content.rock-modal .modal-header a,
+.rock-modal .modal-content .modal-header a {
+  color: #fff;
+  text-decoration: underline;
+}
+.modal-content.rock-modal .modal-header .close,
+.rock-modal .modal-content .modal-header .close {
+  padding: 6px;
+  text-decoration: none;
+  color: #000;
+  text-shadow: none;
+}
+.modal-content.rock-modal .modal-header .label,
+.rock-modal .modal-content .modal-header .label {
+  margin-top: 8px;
+}
+.modal-content.rock-modal .modal-header small,
+.rock-modal .modal-content .modal-header small {
+  display: block;
+  margin-top: 12px;
+  color: #e6e6e6;
+}
+.modal-content.rock-modal .modal-body,
+.rock-modal .modal-content .modal-body {
+  padding: 8px 12px 12px;
+  color: #1c1c1c;
+  text-align: left;
+  background-color: #fff;
+}
+.modal-content.rock-modal .modal-body > .scroll-container,
+.rock-modal .modal-content .modal-body > .scroll-container {
+  width: 720px;
+}
+.modal-content.rock-modal .modal-body > .scroll-container > .viewport,
+.rock-modal .modal-content .modal-body > .scroll-container > .viewport {
+  width: 670px;
+}
+.modal-content.rock-modal .modal-body.iframe,
+.rock-modal .modal-content .modal-body.iframe {
+  overflow: hidden;
+}
+.modal-content.rock-modal .modal-footer,
+.rock-modal .modal-content .modal-footer {
+  padding: 8px 8px;
+  margin-top: 0;
+  color: #609a3c;
+  background-color: #daeccf;
+  border-radius: 0 0 8px 8px;
+}
+.rock-modal .modal-footer .btn {
+  float: right;
+  margin-left: 5px;
+}
+.rock-modal-frame {
+  border-radius: 16px !important;
+}
+.modal.modal-overflow {
+  top: 30px;
+  margin-bottom: 30px;
+}
+@supports (-webkit-overflow-scrolling: touch) {
+  .modal.modal-overflow {
+    top: 1%;
+    height: calc(100% - 1px) !important;
+  }
+}
+#modal-popup_iframe {
+  display: block;
+  width: 100%;
+  height: 100%;
+  border: 0;
+}
+.modal-backdrop,
+.modal-backdrop.fade.in {
+  background: #000;
+  filter: alpha(opacity=70);
+  opacity: 0.5;
+}
+.modal-dialog {
+  width: auto;
+  margin: 0;
+}
+.modal-content {
+  border: none;
+}
+/*
+    Used to manage styles related to Rock's forms
+
+    1. Bootstrap Overrides / Additions
+    2. Data Lists
+    3. Input Sizing
+    4. Control Specific Styles
+    5. Validation
+    6. Custom Controls
+    7. Static Control
+*/
+.input-xs {
+  height: 43px;
+  padding: 8px 16px;
+  font-size: 17px;
+  line-height: 1.5;
+  border-radius: 4px;
+}
+select.input-xs {
+  height: 43px;
+  padding: 8px 72px 8px 16px;
+}
+textarea.input-xs,
+select[multiple].input-xs {
+  height: auto;
+}
+input[type="number"] {
+  -moz-appearance: textfield;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  margin: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+textarea {
+  resize: vertical;
+}
+legend {
+  font-weight: 300;
+  color: #1c1c1c;
+  border-width: 0;
+}
+a.aspNetDisabled {
+  opacity: 0.5;
+}
+.picker.aspNetDisabled {
+  opacity: 1;
+}
+a.aspNetDisabled.picker-label,
+.picker.aspNetDisabled .picker-label {
+  background: #efefef;
+  opacity: 1;
+}
+.form-group.rock-literal p.form-control-static,
+.rock-control-wrapper p.form-control-static {
+  padding-top: 0;
+}
+.form-group {
+  font-size: 20px;
+  line-height: 1.4;
+}
+.-mt-form-group {
+  -webkit-transform: translateY(-15px);
+  -ms-transform: translateY(-15px);
+  transform: translateY(-15px);
+}
+.form-group > .form-group {
+  margin-top: 12px;
+}
+.form-section {
+  margin-bottom: 64px;
+}
+.form-inline .control-wrapper {
+  display: inline-table;
+  width: auto;
+  vertical-align: middle;
+}
+.form-inline .date-range-picker .input-group {
+  margin-bottom: 0;
+}
+.form-inline-all .form-control {
+  display: inline-block;
+  width: auto;
+  vertical-align: middle;
+}
+.form-inline-all .form-control-static {
+  display: inline-block;
+}
+.form-group.captcha iframe {
+  border: 0;
+}
+.form-group.captcha.has-error iframe {
+  border: 1px solid #b94a48;
+  border-radius: 4px;
+}
+.form-horizontal .form-group .form-control-group,
+.form-horizontal .form-group .form-control {
+  float: left;
+}
+.form-horizontal[class*="label-"] .form-group label {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal[class*="label-"] .form-group label {
+    float: left;
+    width: 16.66666667%;
+  }
+}
+@media (min-width: 576px) {
+  .form-horizontal[class*="label-"] .form-group label {
+    padding-top: 13px;
+    padding-bottom: 13px;
+    margin-bottom: 0;
+    line-height: 1.4;
+    text-align: right;
+  }
+}
+.form-horizontal[class*="label-"] .form-group .control-wrapper {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal[class*="label-"] .form-group .control-wrapper {
+    float: left;
+    width: 83.33333333%;
+  }
+}
+.form-horizontal.label-md .form-group label {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-md .form-group label {
+    float: left;
+    width: 33.33333333%;
+  }
+}
+.form-horizontal.label-md .form-group .control-wrapper {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-md .form-group .control-wrapper {
+    float: left;
+    width: 66.66666667%;
+  }
+}
+.form-horizontal.label-lg .form-group label {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-lg .form-group label {
+    float: left;
+    width: 50%;
+  }
+}
+.form-horizontal.label-lg .form-group .control-wrapper {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-lg .form-group .control-wrapper {
+    float: left;
+    width: 50%;
+  }
+}
+.form-horizontal.label-xl .form-group label {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-xl .form-group label {
+    float: left;
+    width: 66.66666667%;
+  }
+}
+.form-horizontal.label-xl .form-group .control-wrapper {
+  position: relative;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 576px) {
+  .form-horizontal.label-xl .form-group .control-wrapper {
+    float: left;
+    width: 33.33333333%;
+  }
+}
+.form-horizontal.label-auto .form-group {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -ms-flex-pack: end;
+  justify-content: flex-end;
+  margin-right: -15px;
+  margin-left: -15px;
+}
+.form-horizontal.label-auto .form-group .control-label {
+  width: auto;
+  min-width: 180px;
+  padding-top: 13px;
+  padding-bottom: 13px;
+  margin-bottom: 0;
+  line-height: 1.4;
+  text-align: right;
+}
+.form-horizontal.label-auto .form-group .control-wrapper {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+.form-horizontal.label-min-w-0 .control-label {
+  min-width: 0 !important;
+}
+.controls .checkbox:first-child,
+.controls .radio:first-child {
+  margin-top: 0;
+}
+.form-group.required > .control-label::after,
+.required-indicator::after {
+  margin-left: 4px;
+  font-family: "FontAwesome";
+  font-size: 6px;
+  font-weight: 900;
+  color: #eca9a7;
+  vertical-align: super;
+  content: "\f111";
+}
+dl:not(.dl-horizontal) dt {
+  margin-top: 16px;
+  margin-bottom: 2px;
+  font-weight: 700;
+}
+dl:not(.dl-horizontal) dt:first-child {
+  margin-top: 0;
+}
+dl:not(.dl-horizontal) dd {
+  margin-left: 0;
+}
+.form-control.input-width-xs,
+.input-group.input-width-xs,
+.form-control-group.input-width-xs input {
+  width: 60px;
+}
+.form-control.input-width-sm,
+.input-group.input-width-sm,
+.form-control-group.input-width-sm input {
+  width: 90px;
+}
+.form-control.input-width-md,
+.input-group.input-width-md,
+.form-control-group.input-width-md input {
+  width: 150px;
+}
+.form-control.input-width-lg,
+.input-group.input-width-lg,
+.form-control-group.input-width-lg input {
+  width: 210px;
+}
+.form-control.input-width-xl,
+.input-group.input-width-xl,
+.form-control-group.input-width-xl input {
+  width: 270px;
+}
+.form-control.input-width-xxl,
+.input-group.input-width-xxl,
+.form-control-group.input-width-xxl input {
+  width: 530px;
+}
+.input-max-w-xl {
+  max-width: 270px;
+}
+.form-control-group:before,
+.form-control-group:after {
+  display: table;
+  content: " ";
+}
+.form-control-group:after {
+  clear: both;
+}
+.form-control-group .form-control,
+.form-control-group .input-group,
+.form-control-group .chosen-container,
+.form-control-group .timepicker-input {
+  float: left;
+  margin-right: 6px;
+}
+.form-control-group .form-control-static + .timepicker-input {
+  margin-left: 35px;
+}
+.form-control-group .input-group > .form-control {
+  margin-right: 0;
+}
+.form-control-group > span {
+  float: left;
+  margin: 11px 6px 13px 0;
+  font-size: 20px;
+  line-height: 1.4;
+  color: #ccc;
+}
+.form-control-group > label {
+  float: left;
+  margin-top: 8px;
+}
+.form-group-auto .form-control-group {
+  display: -ms-flexbox;
+  display: flex;
+}
+.form-group-auto .form-control-group .form-control {
+  -ms-flex: 1 1 0;
+  flex: 1 1 0;
+}
+.panel-heading .input-group {
+  margin-top: -6px;
+  margin-bottom: -6px;
+}
+.panel-heading .picker-daterange .input-group {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+.form-control > option[disabled] {
+  color: rgba(164, 164, 164, 0.5);
+}
+.input-group-edit .input-group-addon {
+  background-color: #6bac43;
+}
+.input-group-edit .input-group-addon a {
+  color: #fff;
+}
+.input-group-addon > .btn {
+  position: relative;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 54px;
+  margin: -13px -25px;
+  border-radius: 8px;
+}
+.input-group-addon > .btn:focus {
+  z-index: 3;
+}
+.input-group-addon:first-child > .btn {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.input-group-addon:last-child > .btn {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.date-parts-picker {
+  display: flex;
+  flex-wrap: wrap;
+}
+.date-parts-picker .control-label {
+  width: 100%;
+}
+.date-parts-picker .form-control {
+  flex: 1 1 auto;
+  min-width: 90px;
+  max-width: 112px;
+}
+.date-parts-picker .form-control:last-of-type {
+  margin-right: 0;
+}
+.month-year-picker .separator,
+.month-day-picker .separator {
+  margin: 18px 6px 18px 0;
+  font-size: 18px;
+  line-height: 1;
+  color: #ccc;
+}
+.rock-check-box .checkbox {
+  margin-top: 0;
+}
+.form-control.ssn-part.ssn-area {
+  width: 50px;
+}
+.form-control.ssn-part.ssn-group {
+  width: 45px;
+}
+.form-control.ssn-part.ssn-serial {
+  width: 60px;
+}
+.validation-error {
+  float: left;
+  font-weight: 300;
+  color: #c64f55;
+}
+.btn-controlaligned {
+  margin-top: 24px;
+}
+/* SK Add margin in ListItems */
+.list-items-rows .controls-row {
+  display: flex;
+  align-items: center;
+  margin-bottom: 6px;
+}
+.form-group.static-control label {
+  margin-bottom: 0;
+}
+.form-group.static-control .form-control-static {
+  padding-top: 0;
+}
+/*
+    Used to manage styles related to Rock's dashboard
+
+    1. Basic Widgets
+
+*/
+.panel-dashboard {
+  height: 220px;
+  margin: 24px 0 0;
+  border-color: #85c161;
+}
+.panel-dashboard > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-dashboard > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-dashboard > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-dashboard > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.metriccard {
+  position: relative;
+  padding: 2px;
+  padding-bottom: 24px;
+  margin-bottom: 24px;
+  overflow: hidden;
+  border: 1px solid #85c161;
+  border-top: 4px solid #6bac43;
+}
+.metriccard.metriccard-info {
+  border-top-color: #1698da;
+}
+.metriccard.metriccard-warning {
+  border-top-color: #f0ad4e;
+}
+.metriccard.metriccard-danger {
+  border-top-color: #c64f55;
+}
+.metriccard.metriccard-success {
+  border-top-color: #6bac43;
+}
+.metriccard h1 {
+  margin-top: 4px;
+  margin-bottom: 0;
+  font-size: 20px;
+}
+.metriccard .value {
+  display: block;
+  font-size: 45px;
+  line-height: 72px;
+  text-align: center;
+}
+.metriccard .value.large {
+  font-size: 65px;
+}
+.metriccard i {
+  position: absolute;
+  right: 4px;
+  bottom: 0;
+  font-size: 80px;
+  opacity: 0.1;
+}
+/*
+    Used to manage styles related to Rock's internal grid component
+
+    1. Bootstrap Overrides
+    2. Core Table
+    3. Filter
+    4. Column Header
+    5. Footer
+    6. Light Style - Used for small grids
+    7. Reusable classes
+    8. Column Types
+    9. Row Types
+    10. Responsive Columns
+    11. Components
+*/
+/* If th has a required class, render the required field indicator after the column heading */
+.table thead th.required::after {
+  margin-left: 4px;
+  font-family: "FontAwesome";
+  font-size: 6px;
+  font-weight: 900;
+  color: #eca9a7;
+  vertical-align: super;
+  content: "\f111";
+}
+.table > tbody > tr > td {
+  color: #1c1c1c;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+  color: #1c1c1c;
+  background-color: #f7f7f7;
+}
+.table-striped > tbody > tr:nth-of-type(even) {
+  color: #1c1c1c;
+  background-color: #fff;
+}
+.table.table-hover > tbody > tr:hover > td {
+  color: #1c1c1c;
+  background-color: #d5e6ed;
+}
+td.grid-select-cell {
+  cursor: pointer;
+}
+td.wrap-contents {
+  -webkit-hyphens: auto;
+  -moz-hyphens: auto;
+  -ms-hyphens: auto;
+  hyphens: auto;
+  -ms-word-break: break-all;
+  word-break: break-all;
+}
+.table {
+  margin-bottom: 0;
+}
+.table-inline:not(.table-hide-last-border) > tbody > tr:last-child > td {
+  border-bottom: 1px solid #ddd;
+}
+.table-inline > tbody > tr:first-child > td {
+  border-top: 0;
+}
+.grid {
+  margin-bottom: 15px;
+}
+.grid .grid-table {
+  border: 1px solid #ddd;
+}
+.grid .grid-table.table-light {
+  border: 0;
+}
+.grid.grid-panel th:first-child,
+.grid.grid-panel td:first-child {
+  border-left: 0;
+}
+.grid.grid-panel th:last-child,
+.grid.grid-panel td:last-child {
+  border-right: 0;
+}
+.grid.grid-panel .grid-table {
+  border: 0 !important;
+}
+.grid.grid-panel tfoot > tr:last-child td:first-child {
+  border-bottom-left-radius: 8px;
+}
+.grid.grid-panel tfoot > tr:last-child td:last-child {
+  border-bottom-right-radius: 8px;
+}
+.grid-panel .table-responsive[data-pattern="priority-columns"],
+.table-responsive.table-no-border {
+  border: 0;
+}
+.table-responsive[data-pattern="priority-columns"] {
+  position: static;
+}
+.table-wrapper .btn-toolbar {
+  display: none;
+}
+.grid-filter {
+  padding: 0;
+  color: #609a3c;
+  background-color: #daeccf;
+}
+.grid-filter header {
+  position: absolute;
+  display: inline;
+  cursor: pointer;
+  border-radius: 8px 8px 0 0;
+}
+.grid-filter header h3 {
+  display: inline;
+  margin: 0 2px 0 6px;
+  font-size: 17px;
+  font-weight: 300;
+  line-height: 16px;
+}
+.grid-filter header fieldset {
+  margin-bottom: 0;
+}
+.grid-filter .btn-filter-toggle {
+  position: absolute;
+  z-index: 9;
+  margin: 8px;
+  color: #1c1c1c;
+  text-decoration: none;
+  background: #daeccf;
+}
+.grid-filter .btn-filter-toggle.is-open {
+  background: #daeccf;
+}
+.grid-filter h4 {
+  margin: 0;
+  font-size: 18px;
+  font-weight: 400;
+}
+.grid-filter .grid-filter-entry,
+.grid-filter .grid-filter-overview fieldset {
+  padding: 15px;
+  padding-top: 37px;
+  border-bottom: 1px solid #bedeaa;
+}
+.grid-filter .picker .picker-label {
+  color: #609a3c;
+}
+.grid-filter-entry legend + .control-group {
+  margin-top: 0;
+}
+.table > thead > tr > th {
+  font-size: 14px;
+  font-weight: 600;
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #ddd;
+}
+.table > thead > tr > th > a:not(.btn) {
+  display: inline;
+  color: #fff;
+}
+.table > thead > tr > th > a:not(.btn)::after {
+  display: inline-block;
+  padding-left: 5px;
+  margin-right: -14px;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  color: rgba(255, 255, 255, 0.35);
+  text-decoration: none;
+  content: "\f0dc";
+  opacity: 0;
+}
+.table > thead > tr > th:hover a:not(.btn)::after {
+  opacity: 1;
+}
+.table > thead > tr > th.descending a:not(.btn)::after {
+  color: #fff;
+  content: "\f0dd";
+  opacity: 1;
+}
+.table > thead > tr > th.ascending a:not(.btn)::after {
+  color: #fff;
+  content: "\f0de";
+  opacity: 1;
+}
+.table.table-light > thead > tr > th {
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: #828282;
+}
+.grid-paging {
+  padding: 5px 0;
+}
+.grid-paging .grid-pager {
+  float: right;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+.grid-paging .grid-pager li > a {
+  min-width: 23px;
+  padding: 5px 12px;
+  margin: 0 8px 0 0;
+  color: #1c1c1c;
+  text-align: center;
+  background-color: #cce5bc;
+  border-color: #94c873;
+}
+.grid-paging .grid-pager li.disabled > a {
+  cursor: default;
+}
+.grid-paging .grid-pager li.active > a {
+  color: #1c1c1c;
+  background-color: #e8f3e1;
+  border-color: #94c873;
+}
+.grid-paging .grid-pagesize {
+  float: left;
+  margin: 0 12px 0 0;
+}
+.grid-paging .pagination-text {
+  float: left;
+  font-size: 17px;
+}
+.grid-paging .grid-itemcount {
+  float: left;
+  margin-top: 7px;
+  margin-left: 10px;
+  font-size: 17px;
+}
+td.grid-col-actions {
+  text-align: right;
+}
+.grid-actions {
+  text-align: right;
+  background-color: #daeccf;
+}
+.grid-actions .btn {
+  margin-left: 8px;
+}
+.grid-actions .btn-grid-action {
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.grid-actions .btn-grid-custom-action {
+  margin-bottom: 8px;
+}
+.table-light thead th {
+  font-weight: 700;
+  color: #1c1c1c;
+  background-color: inherit;
+}
+.table-light tfoot td {
+  background-color: inherit;
+}
+.table-light tfoot td .grid-actions a {
+  border-color: transparent;
+  border-style: none;
+  border-width: 0;
+  border-radius: 0;
+  box-shadow: none;
+}
+.table-light .grid-columncommand {
+  width: 42px;
+  min-width: 42px;
+}
+.panel-section .table-light > tfoot > tr > td,
+.well .table-light > tfoot > tr > td {
+  background-color: #f2f2f2;
+}
+.table-padded td,
+.table-padded th {
+  padding: 12px !important;
+}
+.hide-row-border tbody > tr:first-child > td,
+.hide-row-border tbody > tr:first-child > th {
+  border-width: 0;
+}
+.table-empty {
+  opacity: 0.7;
+}
+.grid-select-field .checkbox,
+.grid-select-field .radio {
+  padding-left: 0 !important;
+  margin: 0 !important;
+}
+.grid-select-field .checkbox label,
+.grid-select-field .radio label {
+  position: relative;
+  display: block;
+  width: 20px;
+  padding: 0;
+  margin: 0 auto;
+}
+.grid-select-field .checkbox input,
+.grid-select-field .radio input {
+  float: none;
+  height: 100%;
+  margin: 0;
+  vertical-align: middle;
+}
+.table > tbody > tr > td.grid-field,
+.table > thead > tr > th.grid-select-field,
+.table > tbody > tr > td.grid-select-field {
+  padding: 0 12px;
+  vertical-align: middle;
+}
+.grid-table > thead > tr > th,
+.grid-table > tbody > tr > td {
+  padding: 12px;
+}
+.grid-table > thead > tr > th.grid-columncommand,
+.grid-table > tbody > tr > td.grid-columncommand {
+  min-width: 43px;
+}
+.grid-table > thead > tr > th.grid-columnreorder,
+.grid-table > tbody > tr > td.grid-columnreorder {
+  width: 48px;
+  min-width: 48px;
+  padding-top: 12px;
+}
+.grid-table > thead > tr > th.grid-columnreorder a,
+.grid-table > tbody > tr > td.grid-columnreorder a {
+  color: #4f4f4f;
+}
+.grid-table > tbody > tr > td.grid-columncommand {
+  padding: 6px;
+}
+.table .color-field {
+  width: 4px;
+  padding: 0;
+}
+.table .color-field + th {
+  border-left-width: 0;
+}
+.table .grid-icon img {
+  width: 100%;
+  max-width: 120px;
+}
+.grid-select-cell .photo-icon {
+  display: inline-block;
+  width: 28px;
+  height: 28px;
+  vertical-align: top;
+}
+.grid-select-cell .grid-img {
+  width: 200px;
+}
+.table > tbody > tr.grid-section-header > td,
+.table > tbody > tr.grid-section-header:hover > td {
+  font-size: 18px;
+  font-weight: 700;
+  color: #1b2c11;
+  background-color: #a2d085;
+}
+tr.row-highlight td {
+  color: #1c1c1c !important;
+  background-color: #d5e6ed !important;
+}
+.table > thead > tr.grid-header-bold th {
+  color: #e6e6e6;
+  vertical-align: top !important;
+  background-color: #6bac43;
+  border-color: #77ba4e;
+}
+.table > tbody > tr.grid-row-bold td {
+  color: #e6e6e6;
+  vertical-align: top !important;
+  background-color: #6bac43;
+}
+.table > tbody > tr.grid-row-bold:hover td {
+  color: #e6e6e6 !important;
+  background-color: #85c161;
+}
+.table > tbody > tr.is-inactive > td {
+  color: #696969;
+}
+.table > tbody > tr.is-inactive-person > td {
+  color: #696969;
+}
+.table > tbody > tr.is-deceased > td {
+  color: #c64f55;
+}
+.table-responsive {
+  width: 100%;
+  overflow-x: auto;
+  overflow-y: hidden;
+  -webkit-overflow-scrolling: touch;
+  -ms-overflow-style: -ms-autohiding-scrollbar;
+}
+.grid .table-responsive {
+  margin-bottom: 0;
+  border: 0;
+}
+.table-responsive th[data-priority],
+.table-responsive td[data-priority] {
+  display: none;
+}
+.table-responsive th[data-priority="1"],
+.table-responsive td[data-priority="1"] {
+  display: table-cell;
+}
+@media screen and (min-width: 480px) {
+  .table-responsive th[data-priority="2"],
+  .table-responsive td[data-priority="2"] {
+    display: table-cell;
+  }
+}
+@media screen and (min-width: 640px) {
+  .table-responsive th[data-priority="3"],
+  .table-responsive td[data-priority="3"] {
+    display: table-cell;
+  }
+}
+@media screen and (min-width: 800px) {
+  .table-responsive th[data-priority="4"],
+  .table-responsive td[data-priority="4"] {
+    display: table-cell;
+  }
+}
+@media screen and (min-width: 960px) {
+  .table-responsive th[data-priority="5"],
+  .table-responsive td[data-priority="5"] {
+    display: table-cell;
+  }
+}
+@media screen and (min-width: 1120px) {
+  .table-responsive th[data-priority="6"],
+  .table-responsive td[data-priority="6"] {
+    display: table-cell;
+  }
+}
+.alert.alert-grid {
+  margin-top: -15px;
+  margin-right: -15px;
+  margin-bottom: 15px;
+  margin-left: -15px;
+  border-radius: 0;
+}
+.panel.panel-flex {
+  display: flex;
+  flex-direction: column;
+}
+.panel.panel-flex > .panel-heading {
+  display: flex;
+  align-items: center;
+  min-height: 48px;
+  padding: 0;
+  line-height: 1em;
+}
+.panel.panel-flex > .panel-heading > .panel-title {
+  flex-grow: 1;
+  padding: 0 24px;
+}
+.panel.panel-flex > .panel-heading > .panel-aside {
+  padding: 0 24px 0 0;
+}
+.panel.panel-flex > .panel-heading > .panel-action {
+  position: relative;
+  display: flex;
+  align-items: center;
+  align-self: stretch;
+  justify-content: center;
+  width: 48px;
+  cursor: pointer;
+  border-left: 1px solid #ccc;
+}
+.panel.panel-flex > .panel-heading > .panel-action .rock-fullscreen-toggle {
+  position: relative;
+  border-left: 0;
+}
+.panel.panel-flex .panel-header-actions {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  padding: 0;
+  margin: 0;
+}
+.panel.panel-flex .panel-header-actions > .action {
+  padding: 12px;
+  color: #616161;
+}
+.panel.panel-flex .panel-header-actions > .action:hover {
+  color: #212121;
+}
+.panel.panel-flex .footer-secondary-actions {
+  margin: 0 0 0 auto !important;
+}
+.panel.panel-fullscreen {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100vw;
+  height: 100vh;
+  margin: 0;
+}
+.panel.panel-fullscreen,
+.panel.panel-fullscreen > .panel-heading {
+  border-radius: 0;
+}
+.panel.panel-flex .panel-flex-fill-body {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  display: flex;
+  flex-direction: column;
+}
+.panel.panel-flex.panel-fullscreen > .panel-body {
+  position: relative;
+  flex-grow: 1;
+  overflow-y: auto;
+}
+.page-fullscreen-capable .panel.panel-block.panel-flex {
+  overflow-y: hidden;
+}
+.page-fullscreen-capable .panel.panel-block.panel-flex > .panel-body {
+  position: relative;
+}
+.page-fullscreen-capable .panel.panel-block.panel-flex > .panel-body::before,
+.page-fullscreen-capable .panel.panel-block.panel-flex > .panel-body::after {
+  display: none;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. HTML Content - block to edit HTML on a page
+    2. My Account - Used on external sites for setting person details
+    3. Lava Debug - Used to style the lava debug panel
+    4. Social Tools - Used for showing social media links
+    5. Media Element
+*/
+.htmlcontent-edit-header {
+  padding: 7.5px 15px 0 15px;
+}
+.htmlcontent-edit-header .html-content-approve {
+  float: right;
+  margin-top: 4px;
+}
+.codeeditor-header .picker-mergefield {
+  float: right;
+}
+.codeeditor-header .picker .picker-label {
+  padding: 2px 6px;
+}
+.ace_editor.is-fullscreen {
+  position: fixed !important;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 2500;
+  width: auto;
+  height: auto;
+  margin: 0;
+  border: 0;
+}
+.slug-row {
+  display: block;
+  margin-bottom: 6px;
+  border-bottom: 1px solid #ccc;
+}
+.slug-row > .rollover-item {
+  margin-top: 7px;
+}
+.slug-full-url {
+  display: block;
+  float: left;
+  padding: 6px 0;
+}
+.slug-base-url {
+  opacity: 0.6;
+}
+.slug-literal {
+  font-weight: 700;
+}
+.my-account {
+  margin-bottom: 15px;
+}
+.my-account .photo img {
+  width: 100%;
+}
+.lava-debug {
+  margin-top: 24px;
+  clear: both;
+}
+.lava-debug code {
+  color: #3a87ad;
+  background-color: #c4e3f3;
+}
+.lava-debug p {
+  margin-bottom: 10px;
+  font-weight: 400 !important;
+}
+.lava-debug p.attributes {
+  margin-bottom: 0;
+}
+.lava-debug .lava-debug-key {
+  font-weight: 600;
+}
+.lava-debug .panel.panel-lavadebug {
+  background-color: #e6f3fa;
+  border: 0;
+}
+.lava-debug .panel.panel-lavadebug .panel-heading {
+  color: #3a87ad;
+  cursor: pointer;
+  background-color: #cce7f4;
+  border: 0;
+}
+.lava-debug .panel.panel-lavadebug .panel-heading.collapsed i::before {
+  content: "\f078";
+}
+.socialsharing {
+  padding: 0;
+  margin-top: 12px;
+}
+.socialsharing li {
+  display: inline-block;
+}
+.socialsharing li .socialicon {
+  padding: 8px 6px;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  color: #fff;
+  border-radius: 20px;
+}
+.socialsharing li .socialicon:hover {
+  text-decoration: none;
+}
+.socialsharing li .socialicon-facebook {
+  background-color: #1877f2;
+}
+.socialsharing li .socialicon-twitter {
+  background-color: #1da1f2;
+}
+.socialsharing li .socialicon-email {
+  background-color: #209904;
+}
+.socialsharing li .socialicon-calendar {
+  background-color: #f00;
+}
+.nav-segment {
+  padding: 4px;
+  background: #f5f5f5;
+  border-radius: 16px;
+  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.05);
+}
+.nav-segment > li {
+  float: left;
+}
+.nav-segment > li + li {
+  margin-left: 2px;
+}
+.nav-segment > li > a {
+  min-width: 140px;
+  padding: 10px 24px;
+  color: #ccc;
+  text-align: center;
+  border-radius: 8px;
+}
+.nav-segment > li.active > a,
+.nav-segment > li.active > a:hover,
+.nav-segment > li.active > a:focus {
+  font-weight: 600;
+  color: #1c1c1c;
+  background: #ffffff;
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
+}
+.provider-analytics {
+  --kpi-col-lg: 50%;
+  --kpi-col-md: 50%;
+}
+.media-element-detail .video-container {
+  position: relative;
+}
+.media-element-detail .video-container > .chart-container {
+  position: absolute;
+  z-index: 1;
+  width: 100%;
+  height: 100%;
+  cursor: col-resize;
+  background: rgba(0, 0, 0, 0.3);
+}
+.media-element-detail video {
+  max-width: 100% !important;
+}
+.media-element-detail .analytic-value {
+  font-size: 28px;
+  font-weight: 600;
+}
+.individual-play-row {
+  display: flex;
+  flex-direction: column;
+  margin-bottom: 12px;
+}
+@media (min-width: 576px) {
+  .individual-play-row {
+    flex-direction: row;
+    align-items: center;
+  }
+}
+.individual-play-row .individual-play-date {
+  flex: 0 0 auto;
+  padding: 4px 8px 4px 0;
+  font-size: 12px;
+  line-height: initial;
+  color: #ccc;
+}
+@media (min-width: 576px) {
+  .individual-play-row .individual-play-date {
+    width: 100px;
+    text-align: right;
+  }
+  .individual-play-row .individual-play-date span {
+    display: block;
+  }
+}
+.individual-play-row .individual-play-person-info {
+  width: 100%;
+  overflow: hidden;
+}
+.individual-play-row .individual-play-person-location {
+  display: block;
+  font-size: 12px;
+  font-weight: 400;
+  color: #ccc;
+}
+.individual-play-row .individual-play-bar {
+  display: flex;
+  flex: 1 1 auto;
+  flex-direction: column;
+  overflow: hidden;
+  background-color: #eeeeee;
+  border-radius: 16px;
+}
+@media (min-width: 576px) {
+  .individual-play-row .individual-play-bar {
+    flex-direction: row;
+  }
+}
+.individual-play-row .individual-play-percent,
+.individual-play-row .individual-play-person {
+  display: flex;
+  flex: 0 0 auto;
+  align-items: center;
+  padding: 8px;
+  font-weight: 600;
+}
+@media (min-width: 576px) {
+  .individual-play-row .individual-play-person {
+    width: 280px;
+  }
+  .individual-play-row .individual-play-percent {
+    justify-content: center;
+    width: 60px;
+  }
+}
+.individual-play-row .individual-play-chart {
+  flex: 1 1 auto;
+  height: 60px;
+  background: #f5f5f5;
+}
+.individual-play-row .individual-play-chart > svg {
+  width: 100%;
+  height: 60px;
+  pointer-events: none;
+}
+.individual-play-row .badge-circle {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 26px;
+  height: 26px;
+  overflow: hidden;
+  font-size: 12px;
+  font-weight: 400;
+  text-align: center;
+}
+.individual-play-person-detail {
+  display: flex;
+  align-items: center;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.individual-play-interaction {
+  position: absolute;
+  left: 0;
+  width: 0;
+  height: 100%;
+  padding-right: 20px;
+  background-color: #eeeeee;
+  transition: width 0.2s ease-in-out;
+}
+.individual-play-interaction.expanded {
+  width: 150px;
+}
+.individual-play-interaction .individual-play-interaction-session {
+  display: none;
+  flex-direction: column;
+  justify-content: center;
+  height: 100%;
+  padding: 4px;
+  font-size: 12px;
+  color: #1c1c1c;
+  cursor: default;
+  opacity: 0.5;
+}
+.individual-play-interaction .individual-play-interaction-session span {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.individual-play-interaction .expander {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 4px;
+}
+.expanded .individual-play-interaction-session {
+  display: flex;
+}
+.mediaplayer-hidecontrolswhenstopped .plyr--video.plyr--stopped .plyr__controls {
+  display: none;
+}
+.content-collection-view {
+  /* Pill Checkbox CSS */
+}
+.content-collection-view .collectionsearch {
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+}
+.content-collection-view .no-results {
+  display: none;
+}
+.content-collection-view .check-box-list > .control-wrapper > .rockcheckboxlist,
+.content-collection-view .rock-radio-button-list > .control-wrapper {
+  margin: 0 -5px;
+}
+.content-collection-view .results i {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 40px;
+  height: 40px;
+  font-size: 18px;
+}
+.content-collection-view .results span > i {
+  color: #bcbcbd;
+  background: #f5f5f5;
+  border-radius: 500px;
+}
+.content-collection-view .results .panel-title > i {
+  color: #ffffff;
+  background: #6bac43;
+  border-radius: 8px;
+}
+.content-collection-view .results > .panel {
+  background: none;
+  border: 0;
+  border-color: #ddd;
+  box-shadow: none;
+}
+.content-collection-view .results > .panel > .panel-heading {
+  padding: 0 0 15px;
+  margin-bottom: 15px;
+  background: none;
+}
+.content-collection-view .results-order {
+  margin-left: auto;
+}
+.content-collection-view .result-item {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  min-width: 0;
+  padding: 18px;
+  margin-bottom: 20px;
+  overflow: hidden;
+  word-wrap: break-word;
+  background-color: #ffffff;
+  border: 2px solid #ddd;
+  border-radius: 6px;
+  transition: 150ms linear all;
+}
+.content-collection-view .result-item:hover {
+  background: #f3f3f3;
+  border: 2px solid #6bac43;
+  box-shadow: 0 0 0 rgba(0, 0, 0, 0.25);
+}
+.collectionsearch-fulltext {
+  flex-basis: 100%;
+}
+@media screen and (min-width: 992px) {
+  .collectionsearch-fulltext {
+    margin-bottom: 48px;
+  }
+}
+.collectionsearch-fulltext .search-fulltext .input-group-addon {
+  padding: 0 20px;
+  font-size: 24px;
+  color: #bcbcbc;
+  background: #f6f5f5;
+  border-color: #f6f5f5;
+  border-top-left-radius: 8px;
+  border-bottom-left-radius: 8px;
+}
+.collectionsearch-fulltext .search-fulltext .form-control {
+  height: 60px;
+  font-size: 18px;
+  background: #f6f5f5;
+  border-color: #f6f5f5;
+  border-top-right-radius: 8px;
+  border-bottom-right-radius: 8px;
+  box-shadow: none;
+}
+.collectionsearch-filters .title,
+.collectionsearch-fulltext .title {
+  margin-top: 0;
+}
+.collectionsearch-filters {
+  flex-basis: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+}
+.collectionsearch-filters .checkbox-inline,
+.collectionsearch-filters .radio-inline {
+  display: inline-block;
+  padding: 0;
+  margin: 0 4px 8px;
+  font-size: 14px;
+  font-weight: 400;
+  line-height: 20px;
+  cursor: pointer;
+}
+.collectionsearch-filters .checkbox-inline:first-child,
+.collectionsearch-filters .radio-inline:first-child {
+  padding-left: 0;
+}
+.collectionsearch-filters .checkbox-inline input,
+.collectionsearch-filters .radio-inline input {
+  display: none !important;
+}
+.collectionsearch-filters .checkbox-inline input:checked + .label-text,
+.collectionsearch-filters .radio-inline input:checked + .label-text {
+  padding-right: 16px;
+  padding-left: 16px;
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.collectionsearch-filters .checkbox-inline .label-text,
+.collectionsearch-filters .radio-inline .label-text {
+  display: block;
+  min-width: 65px;
+  padding: 5px 15px;
+  color: #1c1c1c;
+  text-align: center;
+  text-decoration: none;
+  background: #ffffff;
+  border: 1px solid #ccc;
+  border-radius: 20px;
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.collectionsearch-filters .checkbox-inline .label-text:hover,
+.collectionsearch-filters .radio-inline .label-text:hover,
+.collectionsearch-filters .checkbox-inline .label-text:focus,
+.collectionsearch-filters .radio-inline .label-text:focus {
+  background: #f5f5f5;
+}
+.collectionsearch-filters .checkbox-inline .label-text::before,
+.collectionsearch-filters .radio-inline .label-text::before,
+.collectionsearch-filters .checkbox-inline .label-text::after,
+.collectionsearch-filters .radio-inline .label-text::after {
+  display: none;
+}
+.collectionsearch-results {
+  display: flex;
+  flex-basis: 100%;
+  flex-flow: column wrap;
+}
+.collectionsearch-results .results-header {
+  display: flex;
+  align-items: center;
+  padding-bottom: 12px;
+  margin-bottom: 24px;
+  border-bottom: 1px solid #ddd;
+}
+.collectionsearch-results .results-count {
+  font-weight: 700;
+}
+.collectionsearch-results .results-count-number {
+  color: #ccc;
+}
+@media screen and (min-width: 768px) {
+  .collectionsearch-filters {
+    position: sticky;
+    top: 15px;
+    flex-basis: 320px;
+    align-self: flex-start;
+    border-right: 1px solid #e0e0e0;
+  }
+  .collectionsearch-results {
+    flex-basis: calc(100% - 350px);
+    margin-left: 30px;
+  }
+}
+.requirement-item {
+  margin-bottom: 30px;
+}
+.alert-requirement {
+  display: flex;
+  height: 100%;
+  margin: 0;
+}
+.alert-requirement .icon {
+  margin: 8px 12px 0 0;
+  font-size: 24px;
+}
+.alert-requirement .requirement-title {
+  margin: 0 4px 0 0;
+}
+.alert-requirement .requirement-summary,
+.alert-requirement .list-requirements {
+  font-size: 14px;
+}
+.alert-requirement .requirement-message {
+  margin-bottom: 12px;
+}
+.alert-requirement .list-requirements {
+  margin: 12px 0 0;
+  font-weight: 500;
+}
+.alert-requirement .list-requirements a {
+  border-bottom: none;
+}
+/*
+  Used to manage styles for specific blocks.
+
+  1. Connection Request Board
+
+*/
+.connection-request-board .modal-content.rock-modal .modal-header {
+  color: #1c1c1c;
+  background: #daeccf;
+}
+.connection-request-board .modal-content.rock-modal .modal-body {
+  padding: 12px 24px;
+}
+.connection-request-board .modal-content.rock-modal .modal-header .close {
+  color: #ccc;
+}
+.connection-request-board .modal-content.rock-modal .modal-header small {
+  margin-top: 5px;
+  font-size: 100%;
+}
+.connection-request-board .modal-content.rock-modal .modal-header .label {
+  margin-top: 0;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. User Registration - Styling for the user registration blocks
+    2. Security Popup - Styling for the security pop-up window)
+
+*/
+.not-me {
+  margin-left: 21px;
+}
+.security-inherited {
+  margin-top: 12px;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Data Views - block for creating data views
+    2. Dynamic Report - block for making reports dynamically updated
+    3. Interactions
+*/
+/* data views */
+.filter-toggle {
+  align-self: flex-start;
+  padding-right: 8px;
+}
+.filter-toggle > span {
+  float: left;
+}
+.filter-toggle .btn-toggle {
+  margin: 0 6px;
+}
+.filter-item-select > span {
+  float: left;
+  padding: 8px 6px 0 0;
+}
+.filter-item-select .chosen-container {
+  float: left;
+  width: 250px !important;
+}
+.field-criteria .in-columns,
+.field-criteria .checkbox-inline {
+  margin-top: 8px;
+}
+@media (min-width: 768px) {
+  .field-criteria > div {
+    display: table-cell;
+    float: none;
+    vertical-align: top;
+  }
+  .field-criteria .vertical-align-bottom {
+    vertical-align: bottom;
+  }
+}
+.filter-item div[class*="col"] {
+  margin-bottom: 6px;
+}
+@media (min-width: 768px) {
+  .filter-item div[class*="col"] {
+    margin-bottom: 0;
+  }
+}
+/* text between input elements in dataview filters - DT */
+span.data-view-filter-label {
+  display: inline-block;
+  min-height: 46px;
+  padding-top: 13px;
+  padding-bottom: 13px;
+  margin: 0 12px 0 0;
+}
+.filterfield {
+  margin-bottom: 12px;
+}
+.filterfield .field-criteria > div {
+  display: block;
+  float: left;
+}
+.filterfield-label {
+  display: block;
+  margin-top: 8px;
+  font-weight: 600;
+}
+.list-panel > .grid-filter {
+  padding: 6px 0;
+  margin: -15px -15px 15px;
+  border-bottom: 1px solid #85c161;
+}
+.list-panel > .grid-filter > header {
+  position: relative;
+}
+.list-panel > .grid-filter .grid-filter-entry {
+  padding-top: inherit;
+  border: 0;
+}
+.list-panel > .grid-filter .btn-link {
+  position: relative;
+  margin: 0;
+}
+.filter-rule-remove,
+.filtervisibilityrules-type {
+  margin-bottom: 15px;
+}
+.filter-rule {
+  display: flex;
+  align-items: flex-start;
+}
+@media (min-width: 768px) {
+  .filter-rule {
+    align-items: flex-end;
+  }
+}
+.filter-rule .filter-rule-fields {
+  flex: 1 1 auto;
+  margin-right: 5px;
+}
+.filter-rule .flex-rule-remove {
+  flex: 0 0 auto;
+}
+.filter-rule-fieldfilter,
+.filter-rule-fieldfilter .field-criteria,
+.filter-rule-fields {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: end;
+}
+.filter-rule-fieldfilter .field-criteria::before,
+.filter-rule-fields::before,
+.filter-rule-fieldfilter .field-criteria::after,
+.filter-rule-fields::after {
+  display: none !important;
+}
+.filter-rule-fieldfilter .field-criteria {
+  width: calc(100% + 10px);
+}
+.filter-rule-comparefield > .form-control,
+.filter-rule-comparefield > .control-wrapper,
+.filter-rule-fieldfilter > .field-criteria .form-control {
+  min-width: 100%;
+  margin-bottom: 15px;
+}
+.filter-rule-fieldfilter .field-criteria > div {
+  display: block;
+  float: left;
+}
+/*
+  Used to manage styles for specific blocks.
+
+  1. Notes - block to display, add, edit, delete notes
+  2. Schedule Builder - block for building schedules
+  3. Workflow - styles for workflow blocks
+  4. Electronic Signatures
+
+*/
+.rock-fullscreen-toggle {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  display: inline-flex;
+  /* make element size relative to content */
+  align-items: center;
+  /* vertical alignment of items */
+  justify-content: center;
+  width: 50px;
+  padding: 0 10px;
+  /* horizontal with padding-l/r */
+  line-height: 40px;
+  /* vertically size by height, line-height or padding */
+  color: #1c1c1c;
+  text-align: center;
+  cursor: pointer;
+  border-left: 1px solid #85c161;
+  opacity: 0.5;
+  transition: 0.2s;
+}
+.rock-fullscreen-toggle:hover {
+  font-size: 110%;
+  color: #1c1c1c;
+  opacity: 0.75;
+}
+.rock-fullscreen-toggle::before {
+  font-family: "FontAwesome";
+  font-weight: 900;
+  text-align: center;
+  content: "\f065";
+}
+.is-fullscreen .rock-fullscreen-toggle {
+  color: #1c1c1c;
+}
+.is-fullscreen .rock-fullscreen-toggle::before {
+  content: "\f066";
+}
+.panel-follow-full-container {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+}
+.panel-follow-full-container > div {
+  position: relative;
+  float: left;
+  height: 100%;
+}
+.section-header-hr,
+.rock-header hr {
+  margin-top: 16px;
+}
+.rock-header .title {
+  margin: 0;
+}
+.rock-header .description {
+  margin: 0;
+  font-size: 17px;
+  color: #ccc;
+}
+.panel-section {
+  border-color: #e0e0e0;
+  box-shadow: none !important;
+}
+.panel-section > .panel-heading {
+  position: relative;
+  padding: 18px;
+  background: #f2f2f2;
+  border-radius: 8px 8px 0 0;
+}
+.panel-section > .panel-heading::after {
+  position: absolute;
+  right: 11px;
+  bottom: 0;
+  left: 11px;
+  content: "";
+  border-bottom: 1px solid #ccc;
+}
+.panel-section > .panel-heading .panel-title {
+  margin-bottom: 12px;
+}
+.panel-section > .panel-heading .description {
+  margin: 0;
+  color: #ccc;
+}
+.panel-section > .panel-body {
+  background: #f2f2f2;
+  border-radius: 0 0 8px 8px;
+}
+.styled-scroll ::-webkit-scrollbar {
+  width: 8px;
+  height: 8px;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-radius: 4px;
+}
+.styled-scroll ::-webkit-scrollbar-thumb {
+  width: 8px;
+  background-color: rgba(0, 0, 0, 0.2);
+  border-radius: 4px;
+}
+.styled-scroll ::-webkit-scrollbar-thumb:hover {
+  background-color: rgba(0, 0, 0, 0.3);
+}
+.panel-note {
+  border-top-color: #77ba4e;
+  border-color: #85c161;
+}
+.panel-note > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-note > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-note > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-note > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.panel-note .panel-body {
+  padding: 0;
+}
+.panel-note .panel-heading h3 {
+  float: left;
+}
+.panel-note .panel-heading .btn {
+  float: right;
+  margin: -4px 0 -4px auto;
+}
+.tag-flair {
+  position: relative;
+  display: inline-flex;
+  align-items: center;
+  line-height: 1;
+  text-transform: capitalize;
+  vertical-align: top;
+}
+.tag-flair .tag-color {
+  display: inline-block;
+  width: 1em;
+  height: 1em;
+  margin: 0 6px 0 1px;
+  background-color: #999;
+  border-radius: 50%;
+}
+.tag-flair .tag-label {
+  line-height: 1;
+  color: #ccc;
+  white-space: nowrap;
+}
+.load-more-container {
+  margin: 16px;
+  text-align: center;
+}
+.avatar {
+  position: relative;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 32px;
+  height: 32px;
+  overflow: hidden;
+  font-size: 24px;
+  line-height: 1;
+  color: #ccc;
+  text-align: center;
+  background: #f5f5f5;
+  border-radius: 50%;
+}
+.avatar img {
+  max-width: 100%;
+  height: auto;
+}
+.avatar-xl {
+  width: 64px;
+  height: 64px;
+}
+.avatar-lg {
+  width: 48px;
+  height: 48px;
+  font-size: 20px;
+}
+.avatar-sm {
+  width: 24px;
+  height: 24px;
+  font-size: 20px;
+}
+.avatar-xs {
+  width: 20px;
+  height: 20px;
+  font-size: 16px;
+}
+.avatar::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  pointer-events: none;
+  content: "";
+  border: 1px solid rgba(0, 0, 0, 0.0975);
+  border-radius: 50%;
+}
+.meta {
+  display: flex;
+  align-items: center;
+}
+.meta .dropdown {
+  align-self: flex-start;
+  margin-left: auto;
+}
+.meta .btn-overflow {
+  height: 20px;
+  padding: 0;
+  line-height: 20px;
+  color: #ccc;
+}
+.meta .btn-overflow:hover,
+.meta .btn-overflow:focus {
+  color: #a4a4a4;
+}
+.meta p {
+  margin-bottom: 0;
+  line-height: 1.3;
+}
+.meta .note-caption {
+  font-weight: 600;
+}
+.meta .note-details {
+  display: flex;
+  align-items: center;
+  font-size: 17px;
+  line-height: 1.5;
+}
+.meta .timestamp {
+  display: inline-block;
+  color: #ccc;
+}
+.meta .meta-figure {
+  display: flex;
+  flex-shrink: 0;
+  margin-right: 12px;
+}
+.meta .meta-body {
+  display: flex;
+  flex: 1;
+  flex-direction: column;
+  min-width: 0;
+}
+.meta .meta-body .flex {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex: 1 1 0%;
+  flex: 1 1 0%;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  min-width: 0;
+  -webkit-box-pack: justify;
+  -webkit-box-flex: 1;
+}
+.meta .meta-body .dropdown .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+.note-view-list {
+  margin: 0;
+}
+.note-view-list > .note:last-child {
+  padding-bottom: 0;
+}
+.note-view-list > .note:last-child .note-comments {
+  border-bottom: 0;
+}
+.note + .note {
+  border-top: 1px solid #dee2e6;
+}
+.note .flag {
+  padding: 4px 8px 6px;
+  margin: -16px -24px 12px;
+  font-size: 12px;
+  color: #c64f55;
+  background: #f2dede;
+  border-top: 2px solid #c64f55;
+}
+@media (min-width: 576px) {
+  .note .flag {
+    padding: 4px 23px 6px;
+    font-size: 14px;
+  }
+}
+.note .flag.warning {
+  color: #c09853;
+  background: #fcf8e3;
+  border-left-color: #f0ad4e;
+}
+.note article {
+  padding: 16px 24px;
+}
+.note .note-comments {
+  background: #f0f3f6;
+  border-top: 1px solid #85c161;
+}
+.note .meta {
+  margin-bottom: 6px;
+}
+@media (min-width: 576px) {
+  .note .meta {
+    margin-bottom: 12px;
+  }
+}
+.note .note-content p {
+  margin: 0;
+}
+.note .note-content .note-attributes {
+  padding: 8px 0 0;
+  margin: 24px 0 0;
+  border-top: 1px solid rgba(133, 193, 97, 0.6);
+}
+.note .note-content .note-attribute {
+  margin: 15px 0 0;
+  font-size: 17px;
+}
+.note .note-footer {
+  display: flex;
+  flex-direction: row;
+  font-size: 17px;
+}
+.note .note-footer-actions-list {
+  -ms-flex-order: 0;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  order: 0;
+  text-align: center;
+  -webkit-box-pack: justify;
+  -webkit-box-ordinal-group: 1;
+}
+.note .note-footer-meta-list {
+  margin-bottom: 0;
+  margin-left: auto;
+}
+.note .note-footer-meta-list > li > .btn {
+  padding: 0;
+  margin-left: 32px;
+  font-size: 17px;
+  color: #ccc;
+}
+.note .note-footer-meta-list > li > .btn i {
+  margin-right: 4px;
+}
+.note .note-footer-meta-list > li > .btn:hover {
+  color: #6bac43;
+}
+.note-nested > .note-list-nested {
+  margin-left: 16px;
+}
+@media (min-width: 576px) {
+  .note-nested > .note-list-nested {
+    margin-left: 44px;
+  }
+}
+.note-list-nested {
+  margin-left: 0;
+}
+@media (min-width: 576px) {
+  .note-list-nested {
+    margin-left: 60px;
+  }
+}
+.note-list-nested > .note:first-child {
+  border-top: 0;
+}
+.note-list-nested .note-content,
+.note-list-nested .note-footer {
+  margin-left: 44px;
+}
+.note-editor .meta-body {
+  background: #fff;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+}
+.note-editor .settings {
+  padding: 3px 12px 6px;
+}
+.note-editor .settings .createDate {
+  float: left;
+}
+.note-editor .settings .createDate .date-time-picker .input-group,
+.note-editor .settings .createDate .date-time-picker {
+  margin-bottom: 0;
+}
+.note-editor .settings .createDate .date-time-picker .control-label {
+  display: none;
+}
+.note-editor .settings .createDate .date-time-picker .form-control {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 17px;
+}
+.note-editor .settings .createDate .date-time-picker .date {
+  width: 130px;
+}
+.note-editor .settings .createDate .date-time-picker .bootstrap-timepicker {
+  width: 120px;
+}
+.note-editor .settings .createDate .date-time-picker .input-group-addon {
+  padding: 0 12px;
+}
+.note-editor .settings .noteentry-notetype {
+  float: left;
+  width: auto;
+  max-width: 200px;
+  height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+  font-size: 17px;
+  line-height: 30px;
+}
+.note-editor .settings .checkbox {
+  float: left;
+  margin: 3px 5px 0 10px !important;
+  font-size: 17px;
+  line-height: 24px;
+}
+.note-editor .settings .hidden + .checkbox {
+  margin-left: 0 !important;
+}
+.note-editor .settings .commands {
+  float: right;
+}
+.note-editor .settings .commands > .btn {
+  margin-left: 8px;
+}
+.note-editor-standard .meta-body:focus,
+.note-editor-standard .meta-body:focus-within,
+.note-editor-standard .meta-body.focus-within {
+  border: var(--focus-state-border);
+  box-shadow: var(--focus-state-shadow);
+}
+.note-editor-standard .noteentry-control .form-control {
+  background: transparent;
+  border: 0;
+  box-shadow: none;
+}
+.note-editor-attributes .noteentry-control {
+  padding: 18px 24px 0;
+}
+.note-editor-attributes .settings {
+  padding: 6px 24px;
+}
+.note-editor.note-frame {
+  margin: 0;
+}
+.notes .note-editor {
+  margin: 16px 24px;
+}
+.noteentry-control textarea {
+  overflow: auto;
+  resize: vertical;
+}
+.recurrence-pattern-type {
+  padding-left: 30px;
+  margin-top: 12px;
+}
+.recurrence-pattern-specific-date:before,
+.recurrence-pattern-specific-date:after {
+  display: table;
+  content: " ";
+}
+.recurrence-pattern-specific-date:after {
+  clear: both;
+}
+.recurrence-pattern-specific-date .input-group {
+  float: left;
+}
+.recurrence-pattern-specific-date .actions {
+  float: left;
+  margin-top: 4px;
+  margin-left: 12px;
+}
+.recurrence-pattern-daily .form-control-group,
+.recurrence-pattern-monthly .form-control-group,
+.continue-until .form-control-group {
+  display: block;
+  min-height: 54px;
+  margin-bottom: 3px;
+}
+.recurrence-pattern-weekly .week-days {
+  margin-top: 15px;
+}
+.recurrence-pattern-weekly .week-days:before,
+.recurrence-pattern-weekly .week-days:after {
+  display: table;
+  content: " ";
+}
+.recurrence-pattern-weekly .week-days:after {
+  clear: both;
+}
+.recurrence-pattern-weekly .week-days .checkbox {
+  float: left;
+  margin: 0 15px;
+}
+.exclusions .add-exclusion .form-control-group {
+  float: left;
+}
+.exclusions .add-exclusion .actions {
+  float: left;
+  margin-top: 5px;
+}
+.workflow-section-activities {
+  margin-top: 64px;
+}
+.workflow-activities-readonly-header {
+  color: #1c1c1c;
+}
+.workflow-activities-readonly-header:hover,
+.workflow-activities-readonly-header:active,
+.workflow-activities-readonly-header:focus {
+  color: inherit;
+  text-decoration: none;
+}
+.panel.workflow-activity::before {
+  position: absolute;
+  top: -1px;
+  bottom: -1px;
+  left: 0;
+  width: 6px;
+  content: "";
+  background: #1698da;
+  border-radius: 8px 0 0 8px;
+}
+.panel.workflow-activity h3.panel-title {
+  display: flex;
+  align-items: center;
+  margin-bottom: 2px;
+  font-size: 28px;
+  font-weight: 600;
+  line-height: 1.5;
+}
+.panel.workflow-activity .panel-title::before {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 24px;
+  height: 24px;
+  margin-right: 12px;
+  font-family: "FontAwesome";
+  font-size: 17px;
+  font-weight: 900;
+  color: #1698da;
+  content: "\f1b3";
+  background: rgba(22, 152, 218, 0.2);
+  border-radius: 20px;
+}
+.panel.workflow-activity a.btn-link {
+  color: #1c1c1c;
+}
+.panel.workflow-activity.activated-with-workflow:not(.workflow-activity-inactive)::before {
+  background-color: #6bac43;
+}
+.panel.workflow-activity.activated-with-workflow:not(.workflow-activity-inactive) .panel-title::before {
+  color: #6bac43;
+  background: rgba(107, 172, 67, 0.2);
+}
+.panel.workflow-activity.workflow-activity-inactive::before {
+  background-color: #c64f55;
+}
+.panel.workflow-activity.workflow-activity-inactive .panel-title::before {
+  color: #c64f55;
+  background: rgba(198, 79, 85, 0.2);
+}
+.panel.workflow-activity > .panel-heading > .filter-toggle > span {
+  margin-left: 36px;
+  font-size: 17px;
+  line-height: 1.5;
+  color: #ccc;
+}
+@media (min-width: 768px) {
+  .panel.workflow-activity > .panel-body {
+    padding-left: 51px;
+  }
+}
+.workflow-action {
+  margin-bottom: 12px;
+}
+.workflow-action:last-of-type {
+  margin-bottom: 0;
+}
+.workflow-action.editable:hover {
+  border-color: #6bac43;
+}
+.workflow-action > .panel-heading {
+  background: #f5f5f5 !important;
+}
+.workflow-action .workflow-action-name::before {
+  margin-right: 8px;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  content: "\f1b2";
+}
+.workflow-action .criteria-exists {
+  color: #fff;
+  background-color: #f0ad4e;
+  border: 1px solid #f0ad4e;
+}
+.workflow-action .conditional-run-criteria {
+  padding: 15px 0 10px;
+  margin: -15px -16px 15px;
+  border-style: solid;
+  border-width: 1px;
+}
+.workflow-action .form-action-rows .form-row {
+  margin-bottom: 15px;
+}
+.workflow-action.not-editable {
+  opacity: 0.5;
+}
+.panel-group .panel-workflowitem {
+  margin-bottom: 30px;
+  border-color: #85c161;
+}
+.panel-group .panel-workflowitem > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-group .panel-workflowitem > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-group .panel-workflowitem > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-group .panel-workflowitem > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.panel-group .panel-workflowitem:hover {
+  background-color: #fff;
+}
+.panel-group .panel-workflowitem .panel-heading {
+  padding: 30px;
+}
+.panel-group .panel-workflowitem .panel-heading a {
+  display: block;
+}
+.panel-group .panel-workflowitem .panel-heading a .panel-title {
+  width: 100%;
+}
+.panel-group .panel-workflowitem .panel-heading a .panel-title h3 {
+  margin: 0;
+}
+.panel-group .panel-workflowitem .panel-heading a .panel-title h3 i {
+  margin-right: 12px;
+  font-size: 35px;
+}
+.panel-group .panel-workflowitem .panel-heading a i.panel-navigation {
+  margin-top: 8px;
+}
+.panel-group .panel-workflowitem .panel-heading a i.panel-navigation::before {
+  margin-top: 6px;
+  font-family: "FontAwesome";
+  font-size: 20px;
+  font-weight: 900;
+  content: "\f077";
+}
+.panel-group .panel-workflowitem .panel-heading a.collapsed i.panel-navigation::before {
+  content: "\f078";
+}
+.checkin-buttons {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin: 0 -8px;
+}
+.checkin-buttons .btn-checkbox {
+  width: calc(50% - 16px);
+  margin: 0 8px 16px;
+}
+@media (min-width: 576px) {
+  .checkin-buttons .btn-checkbox {
+    width: calc(33.333% - 16px);
+  }
+}
+@media (min-width: 768px) {
+  .checkin-buttons .btn-checkbox {
+    width: calc(25% - 16px);
+  }
+}
+.btn-checkbox {
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  height: 10em;
+  padding-top: 24px;
+  padding-bottom: 24px;
+  white-space: normal;
+}
+.btn-checkbox i {
+  margin-bottom: 0.25em;
+  font-size: 2em;
+}
+.btn-checkbox .name {
+  display: -webkit-box;
+  max-height: 2.6666666em;
+  overflow: hidden;
+  line-height: 1.3333333;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+}
+.btn-checkbox .small {
+  font-size: 80%;
+  line-height: 1;
+}
+.btn-checkbox.active {
+  color: #fff !important;
+  background: #6bac43 !important;
+  border-color: #6bac43 !important;
+}
+.mobile-auth-row {
+  max-width: 400px;
+  margin-right: -4px;
+  margin-left: -4px;
+  font-size: 36px;
+  text-align: center;
+}
+.mobile-auth-row .input-lg {
+  min-height: 54px;
+  font-size: 36px;
+  border-radius: 0;
+}
+.mobile-auth-row > .col {
+  flex-basis: 0;
+  flex-grow: 1;
+  min-width: 0;
+  max-width: 100%;
+  padding-right: 4px;
+  padding-left: 4px;
+  -ms-flex-preferred-size: 0;
+  -ms-flex-positive: 1;
+}
+.mobile-auth-row > .col-auto {
+  -ms-flex: 0 0 auto;
+  flex: 0 0 auto;
+  width: auto;
+  max-width: 100%;
+}
+.rock-fullname {
+  display: none !important;
+  visibility: hidden !important;
+}
+.rockslide-enter-active,
+.rockslide-leave-active {
+  transition: all 0.6s ease;
+}
+.rockslide-enter,
+.rockslide-leave-to {
+  opacity: 0;
+  transform: translateY(-100%);
+}
+.icon-property {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+.icon-property .icon {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 40px;
+  height: 40px;
+  font-size: 16px;
+  color: #ccc;
+  border: 1px solid currentColor;
+  border-radius: 50%;
+}
+.icon-property .property {
+  display: flex;
+  flex-direction: column;
+  margin-left: 8px;
+}
+.registrant-signature-document {
+  margin-top: 32px;
+}
+.signaturedocument-container {
+  width: 100%;
+  height: 450px;
+  margin-bottom: 20px;
+  overflow: auto;
+  background: #fff;
+  border: 1px solid #85c161;
+  border-radius: 8px;
+}
+.signaturedocument-iframe {
+  width: 100%;
+  min-height: 450px;
+}
+.signature-entry-agreement {
+  margin-top: 6px;
+}
+.signature-entry-clear-col {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  display: flex;
+  align-items: center;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Group Viewer - styles for the group viewer block.
+
+*/
+.group-location-map {
+  margin-bottom: 24px;
+}
+.group-location-map .address {
+  margin-top: 8px;
+}
+.group-location-map img {
+  width: 100%;
+}
+.description {
+  margin-bottom: 24px;
+}
+.description:empty {
+  display: none;
+}
+@media (min-width: 768px) {
+  .resource-list {
+    top: 16px;
+    max-height: calc(100vh - 112px);
+  }
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Contributions - block add a contribution transaction
+    2. Scheduled Transactions - Styles for the scheduled transaction blocks
+    3. Transaction Matching
+
+*/
+.currency-span {
+  display: inline-block;
+}
+.currency-span > span {
+  font-size: 0.6em;
+  vertical-align: top;
+}
+.contribution-payment .tab-content {
+  margin-top: 15px;
+}
+.card-visa,
+.card-mastercard,
+.card-amex,
+.card-discover,
+.card-diners,
+.card-jcb {
+  display: inline-block;
+  width: 50px;
+  height: 30px;
+  overflow: hidden;
+  text-align: left;
+  text-indent: -999px;
+  background: url("../../../Assets/Images/sprite-cards.png") 0 0 no-repeat;
+}
+.card-mastercard {
+  background-position: -55px 0;
+}
+.card-amex {
+  background-position: -110px 0;
+}
+.card-discover {
+  background-position: -165px 0;
+}
+.card-diners {
+  background-position: -220px 0;
+}
+.card-jcb {
+  background-position: -660px 0;
+}
+.is-visa li,
+.is-mastercard li,
+.is-amex li,
+.is-discover li,
+.is-diners li,
+.is-jcb li,
+.is-nothing li {
+  opacity: 0.2;
+}
+.is-visa li.card-visa,
+.is-mastercard li.card-mastercard,
+.is-amex li.card-amex,
+.is-discover li.card-discover,
+.is-diners li.card-diners,
+.is-jcb li.card-jcb {
+  opacity: 1;
+}
+.inactive-giving {
+  position: relative;
+  opacity: 0.85;
+}
+.inactive-giving::before {
+  position: absolute;
+  top: -8px;
+  right: -8px;
+  bottom: -8px;
+  left: -8px;
+  z-index: -10;
+  content: " ";
+  background: #f5f7fa;
+  border-radius: 8px;
+}
+.scheduledtransaction-item {
+  padding-bottom: 6px;
+  margin-bottom: 12px;
+  border-bottom: 1px solid #efefef;
+}
+.scheduledtransaction-item:last-child {
+  border-bottom: 0;
+}
+.scheduledtransaction-item .actions {
+  margin: 6px 0;
+}
+.transaction-image {
+  width: 100%;
+  margin-bottom: 12px;
+  border: 2px solid #a2d085;
+}
+.transaction-image .fluidbox-ghost {
+  cursor: -webkit-zoom-in;
+  cursor: -moz-zoom-in;
+  cursor: zoom-in;
+}
+.transaction-image-thumbnail {
+  max-width: 200px;
+  max-height: 100px;
+  margin: 5px;
+  cursor: pointer;
+  border: 2px solid #a2d085;
+}
+.transaction-matching .progress {
+  flex: 0 0 30%;
+  float: left;
+  width: 30%;
+  margin-bottom: 0;
+}
+.transaction-matching .transaction-matching-details {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+.transaction-matching .transaction-matching-details .header {
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+}
+.transaction-matching .transaction-matching-details .body {
+  -ms-flex: 1 1 auto;
+  flex: 1 1 auto;
+}
+.transaction-matching .transaction-matching-details .picker .picker-menu {
+  margin-top: -149px;
+}
+.transaction-matching.is-fullscreen .transaction-matching-details {
+  max-height: calc(100vh - 145px);
+  overflow-y: auto;
+}
+.transaction-matching.is-fullscreen .actions {
+  margin-top: 15px;
+}
+.give-box {
+  position: relative;
+  height: 100px;
+  font-size: 100px;
+}
+.give-box input {
+  position: relative;
+  z-index: 1;
+  display: block;
+  width: 100%;
+  height: 100px;
+  padding: 0;
+  font-size: 100px;
+  line-height: 1;
+  text-align: center;
+  background: 0;
+  border: 0;
+}
+.give-box input:focus {
+  outline: none;
+}
+.give-box .decorator {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  -webkit-box-pack: center;
+}
+.give-box .wrapper {
+  position: relative;
+  z-index: 0;
+  line-height: 1;
+  border-bottom: 1px solid #fff;
+}
+.give-box .currency-symbol {
+  position: absolute;
+  left: -24px;
+  display: inline-block;
+  width: 24px;
+  font-size: 32px;
+  text-align: center;
+  vertical-align: super;
+}
+.give-box .shadow-amount {
+  color: rgba(0, 0, 0, 0);
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.transaction-entry-v2 {
+  max-width: 600px;
+  margin: 0 auto;
+}
+.transaction-entry-v2 h2 {
+  margin-bottom: 24px;
+  text-align: center;
+}
+.transaction-entry-v2 .toggle-container {
+  margin-bottom: 8px;
+}
+.transaction-entry-v2 .navigate-actions {
+  margin-top: 15px;
+  text-align: center;
+}
+.giving-personal-information {
+  padding: 15px 0;
+}
+.amount-summary {
+  text-align: center;
+}
+.gateway-hosted-payment {
+  padding: 15px 15px 0;
+  margin-bottom: 15px;
+  border: 1px solid #ddd;
+}
+.gateway-type-selector {
+  margin-bottom: 15px;
+}
+.gateway-iframe-container {
+  min-height: 44px;
+  margin: -5px -15px 10px;
+}
+.amount-display {
+  font-size: 45px;
+  line-height: 1.15;
+  -webkit-transition: 0.25s;
+  transition: 0.25s;
+}
+@media (min-width: 576px) {
+  .amount-display {
+    font-size: 100px;
+  }
+  .amount-display-md {
+    font-size: 45px;
+  }
+  .amount-display-lg {
+    font-size: 60px;
+  }
+}
+.trend-bar {
+  height: 11px;
+  margin-top: 4px;
+}
+.trend-bar li {
+  float: left;
+  height: 100%;
+}
+.trend-bar li span {
+  display: flex;
+  height: 100%;
+  margin-right: 2px;
+  background: #1b2c11;
+}
+@media (min-width: 576px) {
+  .percentile-giving {
+    border-left: 1px solid #85c161;
+  }
+}
+/*
+    Used to manage styles related to the person details page
+
+    1. Page Styles
+    2. Header
+    3. Badge Bar
+    4. Family Bar
+    5. Page Tabs
+    6. Edit Group Page
+    7. Styles for Page Tabs
+    8. Add Family Page
+    9. Fluidbox
+    10. Responsive Overrides
+    11. Person Merge
+    12. Person Page Views
+    13. Deceased / Inactive Styles
+    14. Bulk Update
+    15. Photo Upload
+    16. Duplicate Pages
+    17. DISC & Assessments
+    19. Edit Person
+*/
+.personprofilebar-bio,
+.personprofilebar-badge,
+.personprofilebar-family,
+.pagetabs,
+.person-content {
+  padding: 15px;
+}
+.personprofilebar-bio {
+  position: relative;
+  padding-top: 50px;
+  color: #1b2c11;
+  background-color: #a2d085;
+  border-bottom: 1px solid #85c161;
+}
+.personprofilebar-bio .action-wrapper {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 401;
+  display: flex;
+  height: 40px;
+}
+.personprofilebar-bio .action-wrapper .action {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 40px;
+  color: #1b2c11;
+  border: 0 solid #85c161;
+  border-width: 0 0 1px 1px;
+}
+.personprofilebar-bio .action-wrapper .action-extended {
+  width: auto;
+}
+.personprofilebar-bio .action-wrapper .action-extended .dropdown {
+  display: flex;
+  align-items: center;
+  height: 100%;
+}
+.personprofilebar-bio .action-wrapper .action-extended .dropdown-menu {
+  right: -1px;
+}
+.personprofilebar-bio .name {
+  margin-top: 0;
+  margin-bottom: 4px;
+  text-align: center;
+}
+.personprofilebar-bio .name .full-name,
+.personprofilebar-bio .name .previous-names {
+  display: none;
+  font-size: 18px;
+}
+.personprofilebar-bio .name .firstname {
+  font-size: 0.6em;
+  font-weight: inherit;
+}
+.personprofilebar-bio .labels {
+  margin-bottom: 7.5px;
+  text-align: center;
+}
+.personprofilebar-bio .nav li .persondetails-actions {
+  padding: 2px 15px 0;
+  color: inherit;
+}
+.personprofilebar-bio .nav li .persondetails-actions:hover,
+.personprofilebar-bio .nav li .persondetails-actions:focus {
+  background-color: transparent;
+}
+.personprofilebar-bio .photo {
+  position: relative;
+  max-width: 200px;
+  padding: 5px;
+  margin: 0 auto;
+  background-color: #1c1c1c;
+}
+.personprofilebar-bio .photo .following-status {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 500;
+  width: 40px;
+  height: 40px;
+  cursor: pointer;
+  border-top: 70px solid #817b72;
+  border-right: 70px solid transparent;
+  opacity: 0.4;
+  transition: 1s;
+}
+.personprofilebar-bio .photo .following-status i {
+  position: absolute;
+  top: -61px;
+  left: 8px;
+  font-size: 24px;
+  color: #ffffff;
+  opacity: 0;
+  transition: 1s;
+}
+.personprofilebar-bio .photo .following-status:hover i {
+  opacity: 0.5;
+}
+.personprofilebar-bio .photo .following-status.following {
+  opacity: 1;
+}
+.personprofilebar-bio .photo .following-status.following i {
+  opacity: 1;
+}
+.personprofilebar-bio .photo a.fluidbox-opened + .following-status {
+  opacity: 0 !important;
+}
+.personprofilebar-bio .photo img {
+  width: 100%;
+  max-width: 200px;
+  height: auto;
+  max-height: 200px;
+}
+.personprofilebar-bio .photo .fluidbox-ghost {
+  cursor: -webkit-zoom-in;
+  cursor: -moz-zoom-in;
+}
+.personprofilebar-bio .photo .fluidbox-opened .fluidbox-ghost {
+  cursor: -webkit-zoom-out;
+  cursor: -moz-zoom-out;
+}
+.personprofilebar-bio .social-icons {
+  text-align: center;
+}
+.personprofilebar-bio .social-icons .btn {
+  font-size: 20px;
+  color: #fff;
+  background-color: #a4a4a4;
+  border: 0;
+  border-radius: 8px;
+}
+.personprofilebar-bio .social-icons .btn:hover {
+  opacity: 0.8;
+}
+.personprofilebar-bio .social-icons .btn:first-child {
+  margin-left: 0;
+}
+.personprofilebar-bio .taglist {
+  margin-top: 15px;
+}
+.personprofilebar-bio .demographics {
+  margin-top: 15px;
+  text-align: center;
+}
+@media (min-width: 768px) {
+  .personprofilebar-bio .demographics {
+    float: left;
+    width: 50%;
+  }
+}
+.personprofilebar-bio .personcontact {
+  padding-bottom: 30px;
+  margin-top: 15px;
+  text-align: center;
+}
+@media (min-width: 768px) {
+  .personprofilebar-bio .personcontact {
+    float: left;
+    width: 50%;
+  }
+}
+.personprofilebar-bio .personcontact .email .email-status i {
+  color: #1b2c11;
+}
+.personprofilebar-bio .personcontact .email .email-status.do-not-email i {
+  color: #c64f55;
+}
+.personprofilebar-bio .personcontact .email .email-status.not-active i {
+  color: #f0ad4e;
+}
+.originate-call::before {
+  margin-right: 6px;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  content: "\f098";
+}
+.rockbadge {
+  position: relative;
+  display: inline-flex;
+  flex-shrink: 0;
+  align-items: center;
+  justify-content: center;
+  margin: 0 0.133333em;
+  font-size: 45px;
+  font-size: var(--badge-size, 45px);
+  line-height: 1;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: middle;
+  cursor: default;
+  background-color: inherit;
+}
+.rockbadge:empty {
+  display: none;
+}
+.rockbadge .badge-content {
+  display: block;
+}
+.rockbadge .alert-text {
+  position: absolute;
+  top: 0;
+  right: 0;
+  min-width: 1.5em;
+  padding: 0.25em 0.125em;
+  font-size: 0.26666em;
+  color: #ffffff;
+  background: #c64f55;
+  border-radius: 999px;
+}
+.rockbadge .tooltip-inner {
+  max-width: 300px;
+  padding: 12px;
+}
+.rockbadge .fa-stack {
+  width: 1em;
+  height: 1em;
+  line-height: 1em;
+}
+.rockbadge .fa-stack-1x {
+  font-size: 0.5em;
+}
+.rockbadge .fa-stack-2x {
+  font-size: 1em;
+}
+.personprofilebar-badge {
+  padding-top: 0;
+  padding-bottom: 0;
+  font-size: 0;
+  color: #1b2c11;
+  background-color: #a2d085;
+  border-bottom: 1px solid #85c161;
+}
+.personprofilebar-badge .rockbadge-container {
+  margin: 7.5px 0;
+  text-align: center;
+}
+.personprofilebar-badge .rockbadge-container .badge-debug {
+  position: absolute;
+  right: 12px;
+  z-index: 9999;
+  width: 900px;
+  text-align: left;
+}
+.personprofilebar-badge .rockbadge-container .rockbadge-grid {
+  margin: -5px 0;
+}
+.rockbadge-grid {
+  flex-direction: column;
+  font-size: 0;
+}
+.rockbadge-grid .rockbadge {
+  width: 1em;
+  height: 1em;
+  margin: 0 0.09523em 0.09523em;
+  font-size: calc(var(--badge-size, 45px) * 0.46667);
+}
+.rockbadge-grid .badge-row:last-child .rockbadge {
+  margin-bottom: 0;
+}
+.rockbadge-background,
+.rockbadge-fraction::before {
+  display: block;
+  width: 1em;
+  height: 1em;
+  content: " ";
+  background: currentColor;
+  border-radius: 0.1em;
+}
+.rockbadge-standard {
+  display: inline-flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  width: 1em;
+  height: 1em;
+  color: #fff;
+  background: rgba(147, 147, 147, 0.2);
+  border-radius: 999px;
+}
+.rockbadge-standard .metric-value {
+  font-size: 0.4em;
+  font-weight: 700;
+  line-height: 0.9em;
+}
+.rockbadge-standard .metric-unit {
+  font-size: 0.2442em;
+  font-weight: 400;
+  line-height: 1;
+}
+.rockbadge-standard.duration-new {
+  background: #d25555;
+}
+.rockbadge-standard.duration-months {
+  background: #69ad5e;
+}
+.rockbadge-standard.duration-years {
+  background: #56789e;
+}
+.rockbadge-standard.rockbadge-era {
+  background: #6bac43;
+}
+.rockbadge-standard.era-loss {
+  background: #ee7624;
+}
+.rockbadge-icon {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 1em;
+  height: 1em;
+  background: currentColor;
+  border-radius: 0.1em;
+}
+.rockbadge-icon .badge-icon {
+  font-size: 0.65em;
+  color: #fff;
+}
+.rockbadge-icon.rockbadge-circle {
+  border-radius: 999px;
+}
+.rockbadge-icon.rockbadge-icon-nobg {
+  background: transparent;
+}
+.rockbadge-icon.rockbadge-icon-nobg .badge-icon {
+  font-size: 1em;
+  color: currentColor;
+}
+.rockbadge-icon.rockbadge-disabled {
+  color: #939393;
+  opacity: 0.2;
+}
+.rockbadge-fraction {
+  color: #686576;
+}
+.rockbadge-fraction::before {
+  background-color: #f0ad4e;
+}
+.rockbadge-fraction .metric-value {
+  position: absolute;
+  top: 0.388em;
+  left: 0.2em;
+  display: block;
+  width: 1em;
+  font-size: 0.45em;
+  font-weight: 700;
+  text-align: center;
+  letter-spacing: -0.1em;
+}
+.rockbadge-fraction .metric-unit {
+  position: absolute;
+  right: 0.363em;
+  bottom: 0.9em;
+  font-size: 0.275em;
+  font-weight: 600;
+}
+.rockbadge-label {
+  font-size: 20px;
+}
+.rockbadge-step .metric-value {
+  position: absolute;
+  top: -6px;
+  right: -6px;
+  width: 18px;
+  height: 18px;
+  font-size: 0.266em;
+  font-weight: 400;
+  line-height: 18px;
+  color: #fff;
+  background-color: #c64f55;
+  border-radius: 50%;
+}
+.rockbadge-slash::before {
+  position: absolute;
+  display: block;
+  font-family: "FontAwesome";
+  font-size: 0.6em;
+  font-weight: 600;
+  color: #c64f55;
+  content: "\f715";
+}
+.rockbadge-slash.rockbadge-disabled::before {
+  color: #fff;
+  text-shadow: -0.074em 0.074em #939393;
+}
+.rockbadge-baptism {
+  color: #23a5c5;
+}
+.rockbadge-disc .rockbadge-disc-chart {
+  display: table;
+  width: 1em;
+  height: 0.888em;
+  margin: 0 auto;
+  table-layout: fixed;
+}
+.rockbadge-disc .rockbadge-disc-chart li {
+  position: relative;
+  display: table-cell;
+  width: 3px;
+  height: 100%;
+  vertical-align: bottom;
+}
+.rockbadge-disc .rockbadge-disc-chart li span {
+  display: block;
+  width: 0.2222em;
+  min-height: 2px;
+  background: #99bbd9;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+  .rockbadge-disc .rockbadge-disc-chart li span {
+    position: absolute;
+    bottom: 0;
+  }
+}
+.rockbadge-disc .rockbadge-disc-chart li.rockbadge-disc-primary span {
+  background: #4f89bd;
+}
+.rockbadge-disc .rockbadge-disc-chart li.rockbadge-disc-disabled span {
+  background-color: #939393;
+  opacity: 0.2;
+}
+.rockbadge-disc .requested {
+  position: absolute;
+  padding: 0.041em 0.25em;
+  font-size: 0.5em;
+  background-color: #e3ded7;
+  border-radius: 99px;
+  opacity: 0.8;
+}
+.rockbadge-disc.animate ul.rockbadge-disc-chart li span {
+  -webkit-animation: bar-grow 1s ease-in-out;
+  -moz-animation: bar-grow 1s ease-in-out;
+  animation: bar-grow 1s ease-in-out;
+}
+.badge-content.fa-layers {
+  width: 50px;
+  height: 43px;
+  font-size: 4em;
+}
+.rockbadge-overlay {
+  width: 1em;
+  height: 1em;
+}
+.rockbadge-overlay .badge-icon {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  font-size: inherit;
+  line-height: 1.15em;
+  text-align: center;
+}
+.rockbadge-overlay-invert .metric-value {
+  color: #fff;
+}
+.rockbadge-overlay .metric-value {
+  position: absolute;
+  top: 0.5em;
+  right: 0.3em;
+  bottom: 0.95em;
+  left: 0.3em;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  font-size: 0.4em;
+  font-weight: 700;
+  text-align: center;
+}
+.rockbadge-overlay .badge-content {
+  font-size: 0.888em;
+  color: #4f89bd;
+}
+.rockbadge-overlay .badge-content.today .metric-value {
+  font-size: 0.275em;
+}
+.rockbadge-overlay .badge-content.recent {
+  opacity: 0.8;
+}
+.rockbadge-overlay .badge-content.moderate {
+  opacity: 0.6;
+}
+.rockbadge-overlay .badge-content.not-recent {
+  opacity: 0.4;
+}
+.rockbadge-overlay .badge-content.old {
+  opacity: 0.2;
+}
+.rockbadge-signal .metric-value {
+  top: 0.6em;
+  bottom: 0.6em;
+}
+.rockbadge-personaldevice {
+  width: 0.6em;
+}
+.rockbadge-personaldevice .badge-content .metric-value {
+  top: 0.7142em;
+}
+.rockbadge-assessment a {
+  display: inline-flex;
+  color: inherit;
+}
+.rockbadge-assessment .fa-stack-1x {
+  color: #fff;
+}
+.rockbadge-assessment .fa-stack-2x {
+  color: currentColor;
+}
+.rockbadge-assessment.not-requested {
+  color: rgba(147, 147, 147, 0.2) !important;
+}
+.rockbadge-assessment.requested {
+  color: #1b2c11 !important;
+}
+.assessment-tooltip-item {
+  display: flex;
+  margin-bottom: 12px;
+}
+.assessment-tooltip-item:last-child {
+  margin-bottom: 0;
+}
+.assessment-tooltip-value {
+  margin: 2px 0 0 6px;
+}
+.assessment-tooltip-value .assessment-name {
+  display: block;
+  font-weight: 700;
+}
+.assessment-tooltip-value .assessment-summary {
+  display: block;
+  font-size: 17px;
+  color: rgba(255, 255, 255, 0.6);
+}
+.rockbadge-container {
+  --badge-size: 45px;
+}
+.rockbadge-container-xs {
+  --badge-size: 24px;
+}
+.rockbadge-container-xs .rockbadge-grid {
+  flex-direction: row;
+}
+.rockbadge-container-xs .rockbadge-grid .rockbadge {
+  font-size: var(--badge-size);
+}
+.rockbadge-container-xs .rockbadge-fraction .metric-value {
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  font-size: 0.7em;
+}
+.rockbadge-container-xs .rockbadge-fraction .metric-unit,
+.rockbadge-container-xs .rockbadge-standard .metric-unit {
+  display: none;
+}
+.rockbadge-container-sm {
+  --badge-size: 32px;
+}
+@-webkit-keyframes bar-grow {
+  0% {
+    height: 0;
+    opacity: 0;
+  }
+}
+@-moz-keyframes bar-grow {
+  0% {
+    height: 0;
+    opacity: 0;
+  }
+}
+@keyframes bar-grow {
+  0% {
+    height: 0;
+    opacity: 0;
+  }
+}
+.trend-chart {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: nowrap;
+  width: 100%;
+  height: 40px;
+  padding: 0;
+  margin: 0;
+  color: #1b2c11;
+  list-style: none;
+}
+.trend-chart-sm {
+  height: 20px;
+}
+.trend-chart-block {
+  height: 18px;
+}
+.trend-chart-block li span {
+  width: calc(100% - 3px);
+  color: #1698da;
+}
+.rockbadge-attendance .trend-chart {
+  width: 220px;
+  height: 40px;
+  height: var(--badge-size, 40px);
+}
+.trend-chart li {
+  position: relative;
+  flex-basis: 0;
+  flex-grow: 1;
+  max-width: 100%;
+  margin-right: 2px;
+  overflow: hidden;
+  -ms-flex-preferred-size: 0;
+  -ms-flex-positive: 1;
+}
+.trend-chart li:hover {
+  opacity: 0.85;
+}
+.trend-chart li.has-exclusion {
+  opacity: 0.3;
+}
+.trend-chart li span {
+  position: absolute;
+  bottom: 0;
+  display: block;
+  width: 100%;
+  min-width: 2px;
+  min-height: 1px;
+  max-height: 100%;
+  background: currentColor;
+}
+.animate .trend-chart li span {
+  animation: bar-grow 1s ease-in-out;
+}
+@media (min-width: 992px) {
+  .trend-chart-gap li {
+    margin-right: 5px;
+  }
+}
+.streak-chart {
+  width: 100%;
+  height: 18px;
+  padding: 0;
+  margin: 0;
+  overflow: hidden;
+  list-style: none;
+}
+.streak-chart li {
+  position: relative;
+  display: table-cell;
+  float: right;
+  width: 9px;
+  height: 100%;
+  margin-right: 2px;
+  vertical-align: bottom;
+}
+.streak-chart li span {
+  display: block;
+  width: 100%;
+  min-height: 1px;
+  background: #1698da;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+  .streak-chart li span {
+    position: absolute;
+    bottom: 0;
+  }
+}
+.personprofilebar-family {
+  min-height: 60px;
+  color: #1b2c11;
+  background: #a2d085;
+  border-bottom: 1px solid #85c161;
+}
+.personprofilebar-family a {
+  color: #1b2c11;
+}
+.persondetails-group header {
+  position: relative;
+  display: flex;
+  margin: 0 -15px;
+  background-color: #a2d085;
+  border-top: 1px solid #85c161;
+  border-bottom: 1px solid #85c161;
+}
+.persondetails-group header h1 {
+  float: left;
+  margin: 10px 15px;
+  font-size: 28px;
+  font-weight: 600;
+  line-height: 25px;
+}
+.persondetails-group header .action-wrapper {
+  float: right;
+  margin-left: auto;
+}
+.persondetails-group header .action-wrapper .action {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  float: right;
+  width: 45px;
+  height: 100%;
+  text-align: center;
+  cursor: pointer;
+  border-left: 1px solid #85c161;
+}
+.group-members:first-child .persondetails-group:first-child header {
+  margin: -15px -15px 0;
+  border-top-width: 0;
+}
+.persondetails-group .group-details {
+  margin-bottom: 12px;
+}
+.persondetails-group .groupmembers .member a {
+  display: block;
+  padding: 8px;
+  border-radius: 8px;
+}
+.persondetails-group .groupmembers .member a:before,
+.persondetails-group .groupmembers .member a:after {
+  display: table;
+  content: " ";
+}
+.persondetails-group .groupmembers .member a:after {
+  clear: both;
+}
+.persondetails-group .groupmembers .member .person-image {
+  position: relative;
+  overflow: hidden;
+  background-color: #fafafa;
+  background-position: center;
+  background-size: cover;
+  border: none;
+  border-color: #6bac43;
+  border-radius: 50%;
+}
+.persondetails-group .groupmembers .member .person-image::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  pointer-events: none;
+  content: "";
+  border: 1px solid rgba(0, 0, 0, 0.0975);
+  border-radius: 50%;
+}
+.persondetails-group .groupmembers .member:hover {
+  background-color: #8bc468;
+  border-radius: 8px;
+}
+.persondetails-group .addresses ul {
+  margin: 0;
+  list-style: none;
+}
+.persondetails-group .addresses ul li {
+  display: block;
+  margin-bottom: 15px;
+  clear: both;
+}
+.persondetails-group .addresses ul li:last-child {
+  margin-bottom: 0;
+}
+.persondetails-group .addresses ul h4 {
+  margin: 0;
+  font-size: 20px;
+  font-weight: 600;
+}
+.persondetails-group .addresses ul .address .actions a {
+  padding: 1px;
+}
+.persondetails-group .addresses ul a.map,
+.persondetails-group .addresses ul div.actions,
+.persondetails-group .addresses ul div.address {
+  float: left;
+  margin-right: 12px;
+}
+.editgroup-list li.member {
+  min-width: 200px;
+}
+.editgroup-list li.member .radio {
+  margin: 0;
+}
+.editgroup-list .groupmembers h4 {
+  margin-bottom: 4px;
+}
+.person-content {
+  padding-top: 0;
+}
+span.field-name,
+span.field-value {
+  padding: 2px 4px;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 90%;
+  color: #1b2c11;
+  white-space: nowrap;
+  background-color: #f5f5f5;
+  border-radius: 4px;
+}
+/* white-space was nowrap but changed to inherit; see discussion at https://github.com/SparkDevNetwork/Rock/commit/e4230496c8a1dc199f1bbb26f95dfa025d64dd02#r28278277 */
+span.field-value {
+  white-space: inherit;
+}
+.table-groupmembers .radio:first-child {
+  margin-top: 0 !important;
+}
+@media (max-width: 768px) {
+  /* Force table to not be like tables anymore */
+  table.table-groupmembers,
+  .table-groupmembers thead,
+  .table-groupmembers tbody,
+  .table-groupmembers th,
+  .table-groupmembers td,
+  .table-groupmembers tr,
+  table.table-groupcontactinfo,
+  .table-groupcontactinfo thead,
+  .table-groupcontactinfo tbody,
+  .table-groupcontactinfo th,
+  .table-groupcontactinfo td,
+  .table-groupcontactinfo tr {
+    display: block;
+  }
+  .table-groupmembers thead tr {
+    position: absolute;
+    top: -9999px;
+    left: -9999px;
+  }
+  .table-groupmembers > thead > tr > th,
+  .table-groupmembers > tbody > tr > th,
+  .table-groupmembers > tfoot > tr > th,
+  .table-groupmembers > thead > tr > td,
+  .table-groupmembers > tbody > tr > td,
+  .table-groupmembers > tfoot > tr > td {
+    border: 0;
+  }
+  .table-groupmembers > tbody > tr > td {
+    position: relative;
+    padding-left: 35%;
+    /* Behave  like a "row" */
+    border-bottom: 1px solid #efefef;
+  }
+  .table-groupmembers td::before {
+    /* Now like a table header */
+    position: absolute;
+    /* Top/left values mimic padding */
+    top: 8px;
+    left: 6px;
+    width: 35%;
+    padding-right: 10px;
+    overflow: hidden;
+    font-weight: 600;
+    text-overflow: ellipsis;
+  }
+  .table-groupmembers > tbody > tr {
+    counter-increment: rowNumber;
+  }
+  .table-groupmembers > tbody > tr::before {
+    /* Now like a table header */
+    position: relative;
+    display: block;
+    width: 100%;
+    padding: 10px;
+    /* Top/left values mimic padding */
+    font-size: 14px;
+    font-weight: 600;
+    color: #fff;
+    content: "Person #" counter(rowNumber);
+    background-color: #6bac43;
+    border-bottom: 2px solid #ddd;
+  }
+  .table-groupmembers tbody td::before {
+    content: attr(data-label);
+  }
+  .table-groupmembers tbody td:empty {
+    display: none;
+  }
+  .table-groupmembers > tfoot,
+  .table-groupmembers > tfoot > tr > td {
+    display: block;
+    width: 100%;
+    padding: 0;
+  }
+  .table-groupmembers > tfoot > tr > td > .btn-action {
+    display: block;
+    width: 100%;
+    margin: 8px 0 16px;
+    padding: 12px 24px;
+    padding: 13px 24px 11px;
+    font-size: 20px;
+    line-height: 1.4;
+    border-radius: 1000px;
+  }
+  .table-groupmembers > tbody > tr > td > .form-group:last-of-type,
+  .table-groupmembers > tbody > tr > td > .form-group .radio:last-of-type {
+    margin-bottom: 0;
+  }
+  .table-groupmembers .pull-right {
+    float: none !important;
+  }
+  .table-groupcontactinfo,
+  .table-groupmemberattributes {
+    margin-bottom: 12px;
+  }
+  .table-groupcontactinfo thead tr {
+    position: absolute;
+    top: -9999px;
+    left: -9999px;
+  }
+  .table-groupcontactinfo > thead > tr > th,
+  .table-groupcontactinfo > tbody > tr > th,
+  .table-groupcontactinfo > tfoot > tr > th,
+  .table-groupcontactinfo > thead > tr > td,
+  .table-groupcontactinfo > tbody > tr > td,
+  .table-groupcontactinfo > tfoot > tr > td {
+    border: 0;
+  }
+  .table-groupcontactinfo > tbody > tr > td {
+    position: relative;
+    /* Behave  like a "row" */
+    border: 0;
+    border-bottom: 1px solid #efefef;
+  }
+  .table-groupcontactinfo tbody .person-name {
+    /* Now like a table header */
+    position: relative;
+    display: block;
+    width: 100%;
+    padding: 10px;
+    /* Top/left values mimic padding */
+    font-size: 14px;
+    font-weight: 600;
+    color: #fff;
+    background-color: #6bac43;
+    border-bottom: 2px solid #ddd;
+  }
+  .table-groupcontactinfo tbody .person-name::before {
+    content: "Contact Info: ";
+  }
+  .table-groupcontactinfo tbody .person-sms {
+    position: relative;
+    padding-left: 35%;
+    /* Behave  like a "row" */
+    border: 0;
+    border-bottom: 1px solid #efefef;
+  }
+  .table-groupcontactinfo tbody .person-sms::before {
+    /* Now like a table header */
+    position: absolute;
+    /* Top/left values mimic padding */
+    top: 14px;
+    left: 6px;
+    width: 35%;
+    padding-right: 10px;
+    font-weight: 600;
+    content: "Enable SMS";
+  }
+  .table-groupcontactinfo tbody > tr > td > .form-group {
+    margin-bottom: 0;
+  }
+}
+.row-duplicate {
+  padding-top: 12px;
+  border-top: 1px solid #85c161;
+}
+.row-duplicate:first-child {
+  padding-top: 0;
+  border-top: 0;
+}
+#fluidbox-overlay {
+  background: #000;
+}
+/* Small devices (tablets, 768px and up) */
+@media (min-width: 576px), print {
+  .personprofilebar-bio {
+    padding: 15px;
+  }
+  .personprofilebar-bio .name {
+    text-align: left;
+  }
+  .personprofilebar-bio .name .full-name,
+  .personprofilebar-bio .name .previous-names {
+    display: inline;
+  }
+  .personprofilebar-bio .labels {
+    text-align: right;
+  }
+  .personprofilebar-bio .photo {
+    margin: 0;
+  }
+  .personprofilebar-bio .demographics {
+    text-align: left;
+  }
+  .personprofilebar-bio .personcontact {
+    padding-bottom: 0;
+    text-align: left;
+  }
+  .personprofilebar-bio .social-icons {
+    text-align: left;
+  }
+  .personprofilebar-bio .social-icons .icon {
+    float: left;
+  }
+  .personprofilebar-badge .rockbadge-container {
+    text-align: left;
+  }
+  .personprofilebar-badge .rockbadge-container:last-child {
+    text-align: right;
+  }
+}
+/* DT Make the header of the merge field columns have a pointer since it can be used to select checkbox */
+.person-merge .merge-header-summary {
+  cursor: pointer;
+}
+.panel-widget.pageviewsession .pageviewsession-client {
+  line-height: 1;
+  text-align: right;
+}
+.person-bio div.deceased h1.title.name::after {
+  margin-left: 12px;
+  font-size: 17px;
+  color: #c64f55;
+  content: "Deceased";
+}
+.groupmembers .member.deceased:hover {
+  background-color: #b3b3b3;
+}
+.groupmembers .member.deceased .person-info::after {
+  font-size: 17px;
+  color: #c64f55;
+  content: "Deceased";
+}
+tr.inactive td {
+  color: #696969;
+}
+.bulk-update .no-select .form-group {
+  opacity: 1;
+}
+.bulk-update .fade-inactive .form-group {
+  opacity: 0.5;
+}
+.bulk-update .fade-inactive .form-group .control-label {
+  cursor: pointer;
+}
+.bulk-update .form-group.bulk-item-selected,
+.bulk-update .bulk-item-selected .form-group,
+.bulk-update .form-group.bulk-item-visible {
+  opacity: 1;
+}
+.bulk-update .form-group.bulk-item-selected {
+  padding: 12px;
+  background-color: #efefef;
+  border-radius: 8px;
+}
+.photoupload-photo .image-editor {
+  float: left;
+  margin-right: 48px;
+}
+.photoupload-photo .image-editor label {
+  width: 150px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.grid-table tbody tr.duplicate-source td,
+.grid-table tbody tr.duplicate-source:hover > td {
+  color: #303030;
+  background-color: #ccc;
+}
+.disc-assessment th {
+  padding: 6px;
+}
+.disc-assessment th:last-child {
+  border-radius: 0 8px 0 0;
+}
+.disc-assessment th.disc-question {
+  padding: 6px;
+  font-weight: 700;
+  border-radius: 8px 0 0 0;
+}
+.disc-assessment td {
+  vertical-align: middle;
+}
+.disc-assessment .disc-answer {
+  width: 20%;
+  min-width: 50px;
+  text-align: center;
+}
+.disc-heading {
+  text-align: center;
+}
+.disc-row {
+  margin-bottom: 48px;
+}
+.disc-row::after {
+  display: block;
+  width: 100%;
+  margin: 48px 0;
+  content: " ";
+  border-bottom: 1px solid #dbdbdb;
+}
+.discchart {
+  position: relative;
+  width: 80%;
+  max-width: 650px;
+  height: 425px;
+  padding: 0;
+  margin: 36px auto;
+  clear: both;
+  font-size: 0;
+  background-image: linear-gradient(to bottom, #dbdbdb 0%, transparent 2%, transparent 100%);
+  background-size: 100% 42.5px;
+}
+.discchart li {
+  position: relative;
+  display: inline-block;
+  width: 22.5%;
+  height: 425px;
+  padding: 0;
+  margin: 0 2% 0 0;
+  color: #fff;
+  text-align: center;
+  vertical-align: bottom;
+  background-color: #85c161;
+}
+.discchart li.discchart-midpoint {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  height: 70%;
+  margin: 0;
+  background-color: transparent;
+  border-top: 2px solid #c64f55;
+  border-radius: 0;
+}
+.discchart .discbar-label {
+  position: absolute;
+  bottom: 10px;
+  width: 100%;
+  overflow: hidden;
+  font-size: 28px;
+  font-weight: 700;
+  text-shadow: 0 0 3px #6bac43;
+}
+.discchart .discbar::before {
+  position: absolute;
+  top: -25px;
+  right: 0;
+  left: 0;
+  z-index: 1;
+  display: block;
+  font-size: 20px;
+  line-height: 1em;
+  color: #1c1c1c;
+  text-align: center;
+  word-wrap: break-word;
+  content: attr(title);
+}
+.discchart .discbar.discbar-primary {
+  background: #6bac43;
+}
+.question-row {
+  margin-bottom: 96px;
+}
+.question-row .answered {
+  color: #ccc;
+}
+.question-row .likert > .control-label {
+  margin-bottom: 18px;
+}
+.question-row .likert .radio-inline {
+  padding: 5px 24px 7px 48px;
+  cursor: pointer;
+  background-clip: padding-box;
+  border-radius: 4px;
+}
+@media (min-width: 990px) {
+  .question-row .likert .radio-inline {
+    margin-right: 24px;
+    margin-left: -24px;
+  }
+}
+.question-row .likert .radio-inline:hover {
+  background-color: #efefef;
+}
+.question-row .likert .radio-inline .label-text::before,
+.question-row .likert .radio-inline .label-text::after {
+  top: 50%;
+  left: 8px;
+  transform: translateY(-50%);
+}
+.question-row .likert-7 > span {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  align-items: center;
+}
+@media (max-width: 991px) {
+  .question-row .likert-7 > span {
+    -ms-flex-align: start;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    align-items: flex-start;
+  }
+}
+.question-row .likert-7 > span .radio-inline {
+  flex: 0 0 14.28571429%;
+}
+.phonegroup-label {
+  margin-bottom: 5px;
+}
+@media (min-width: 576px) {
+  .phonegroup-label {
+    padding-top: 4px;
+  }
+}
+.eventitem {
+  cursor: pointer;
+}
+.eventitem-select {
+  font-family: "FontAwesome";
+  font-size: 38px;
+  font-weight: 900;
+}
+.eventitem-select::after {
+  content: "\f0c8";
+}
+.eventitem.selected .eventitem-select::after {
+  content: "\f14a";
+}
+.add-step-buttons {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  padding: 8px 15px;
+  margin: -15px -15px 0;
+  background: #f2f2f2;
+  border-bottom: 1px solid #85c161;
+}
+.add-step-buttons .add-step-label {
+  margin: 0 4px 0 0;
+  font-size: 17px;
+}
+.add-step-buttons .btn {
+  margin: 2px;
+}
+.col-steps {
+  position: relative;
+  float: left;
+  width: 25%;
+  width: calc(100% / var(--stepsPerRowMobile));
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-bottom: 15px;
+}
+@media (min-width: 992px) {
+  .col-steps {
+    width: 100%;
+    width: calc(100% / var(--stepsPerRow));
+  }
+}
+.step-card {
+  position: relative;
+  height: 100%;
+  min-height: 260px;
+  overflow: hidden;
+  text-align: center;
+  border: 1px solid #85c161;
+  -webkit-transform-style: preserve-3d;
+  -moz-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+.step-card .card-info {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -ms-flex-pack: center;
+  justify-content: center;
+  height: 100%;
+  padding: 12px;
+  text-align: center;
+  transition-duration: 0.25s;
+  will-change: transform;
+}
+.step-card .step-status {
+  margin: 0;
+}
+.step-card .step-name {
+  display: -webkit-box;
+  overflow: hidden;
+  line-height: 1.3;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+}
+@media (min-width: 992px) {
+  .step-card .card-info {
+    padding: 0;
+  }
+  .step-card .card-top {
+    display: -ms-flexbox;
+    display: -webkit-box;
+    display: flex;
+    -ms-flex-align: center;
+    -ms-flex-pack: center;
+    align-items: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -webkit-box-pack: center;
+  }
+  .step-card .card-top,
+  .step-card .card-bottom {
+    -ms-flex: 1 1 50%;
+    flex: 1 1 50%;
+    margin: 16px 0;
+  }
+}
+.step-card.no-steps .card-info {
+  opacity: 0.75;
+}
+.step-card.has-prerequisite .step-card-hover {
+  background: #f5f7fa;
+}
+.step-card p:empty {
+  display: none;
+}
+.step-card .badge {
+  background-color: #1698da;
+}
+.step-card > .step-card-hover {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  max-height: 100%;
+  overflow-y: auto;
+  opacity: 0;
+  transition-duration: 0.25s;
+  -webkit-transform: translateY(100%);
+  transform: translateY(100%);
+  will-change: opacity, transform;
+  -webkit-transform-style: preserve-3d;
+  -moz-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+.step-card:hover > .step-card-hover {
+  opacity: 1;
+  -webkit-transform: translateY(0%);
+  transform: translateY(0%);
+}
+.step-card .btn-actions {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  height: 49px;
+  color: inherit;
+}
+.step-card .btn-actions:hover {
+  background-color: rgba(0, 0, 0, 0);
+}
+.step-card .btn-delete:hover {
+  color: #fff;
+  background-color: #c64f55;
+}
+.has-overflow .step-records-table-container,
+.has-overflow .card-add-step-button {
+  position: relative;
+  display: block;
+}
+.has-overflow .card-add-step-button {
+  height: 50%;
+}
+.step-records-table-container {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  background: #fff;
+}
+.step-records-table {
+  width: 100%;
+}
+.step-records-table td {
+  width: 50px;
+  vertical-align: middle;
+  border: 1px solid #85c161;
+}
+.step-records-table td.steps-status {
+  width: auto;
+  height: 49px;
+  border-left: none;
+}
+.step-records-table tr:last-child td {
+  border-bottom: 0;
+}
+.step-records-table td:last-of-type {
+  border-right: none;
+}
+.prereq-list-info {
+  padding: 20px 20px 0;
+}
+.card-add-step-button {
+  position: absolute;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  font-size: 28px;
+  background: #f5f7fa;
+  -webkit-transform-style: preserve-3d;
+  -moz-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+.card-add-step-button > span {
+  position: relative;
+  top: 50%;
+  display: block;
+  transform: perspective(1px) translateY(-50%);
+}
+.rapid-attendance-entry .mh-300 {
+  min-height: 300px;
+}
+.family-select-item {
+  margin-bottom: 12px;
+  color: #1c1c1c;
+  border: 1px solid #85c161;
+}
+.family-select-item.active {
+  border-color: #6bac43;
+  border-color: var(--brand-primary, #6bac43);
+}
+.family-select-item a {
+  display: block;
+  padding: 15px 18px;
+  color: #1c1c1c !important;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Communication Blocks - styles for the communication blocks
+    2. Communication Entry - stles for the communication entry
+    3. Communication Wizard - styles for the communication wizard
+    4. Communication Analytics - styles for the communication analytics block
+    5. SMS Conversations - styles for the SMS Conversation block
+
+*/
+.recipients .recipient {
+  float: left;
+  width: 100%;
+}
+@media (min-width: 576px) {
+  .recipients .recipient {
+    width: 50%;
+  }
+}
+@media (min-width: 768px) {
+  .recipients .recipient {
+    width: 25%;
+  }
+}
+.recipients .recipient.failed {
+  color: #c64f55;
+}
+.recipients .recipient.opened {
+  color: #6bac43;
+}
+iframe.email-body {
+  width: 100%;
+  height: 300px;
+  background-color: #fff;
+  border: 1px solid #85c161;
+}
+#emaileditor,
+.panel-fill-body {
+  height: calc(100vh - var(--email-editor-offset, 360px));
+  min-height: 300px;
+  margin: -15px -15px 0 -15px;
+}
+.panel-actions-bordered {
+  padding: 15px 15px 0;
+  margin: 15px -15px 0;
+  border-top: 1px solid #85c161;
+}
+#emaileditor-properties {
+  width: 40%;
+  padding: 15px;
+  background-color: #daeccf;
+}
+#emaileditor-properties .actions {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+#section-email {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 60%;
+}
+#email-editor {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 60%;
+  height: 100%;
+  border-top: 1px solid #85c161;
+}
+#emaileditor-designer {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 60%;
+  border-right: 1px solid #85c161;
+}
+.emaileditor-iframe {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  border: 0;
+}
+.emaileditor-propertypanels .propertypanel-title {
+  margin-top: 0;
+  font-weight: 600;
+}
+.communication-template {
+  position: relative;
+  display: block;
+  height: 192px;
+  padding: 15px;
+  margin-bottom: 24px;
+  overflow: hidden;
+  color: #1c1c1c;
+  border: 1px solid #85c161;
+  outline-offset: -1px;
+}
+.communication-template:focus {
+  color: #1c1c1c;
+}
+.communication-template:hover {
+  color: #1c1c1c;
+  outline: 2px solid #bce8f1;
+}
+.communication-template label {
+  font-size: 16px;
+}
+.template-selected {
+  outline: 2px solid #3a87ad;
+}
+.template-selected:hover {
+  outline: 2px solid #3a87ad;
+}
+.template-selected::before {
+  position: absolute;
+  top: -4px;
+  left: 8px;
+  z-index: 1;
+  font-family: "FontAwesome";
+  font-size: 36px;
+  font-weight: 900;
+  color: #3a87ad;
+  content: "\f058";
+}
+.step-title {
+  margin-top: 0;
+}
+.label-clicked {
+  background-color: #60bd68;
+}
+.label-opened {
+  background-color: #5da5da;
+}
+.label-unopened {
+  background-color: #ffb70f;
+}
+.sms-conversations-parent {
+  position: relative;
+  height: 100%;
+  min-height: 500px;
+  min-height: var(--block-min-height, calc(100vh - 200px));
+  overflow: auto;
+}
+.sms-conversations-container {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+}
+.sms-conversations-container > div {
+  position: relative;
+  flex-basis: 0;
+  flex-grow: 1;
+  width: 100%;
+  max-width: 100%;
+  -ms-flex-preferred-size: 0;
+  -ms-flex-positive: 1;
+}
+.sms-conversations-container .header {
+  min-height: 49px;
+  padding: 12px 16px;
+  font-weight: 700;
+  border-bottom: 1px solid #85c161;
+}
+.sms-conversations-container .message-truncate {
+  overflow: hidden;
+  color: rgba(0, 0, 0, 0.5);
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.sms-conversations-container .conversation-list {
+  position: relative;
+  flex-grow: 0;
+  min-width: 100%;
+  height: 100%;
+  min-height: 300px;
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+}
+@media (min-width: 599px) {
+  .sms-conversations-container .conversation-list {
+    min-width: 320px;
+  }
+}
+@media (min-width: 768px) {
+  .sms-conversations-container .conversation-list {
+    min-width: 360px;
+  }
+}
+.sms-conversations-container .conversation-list .header {
+  padding: 7px 16px;
+  font-weight: 400;
+  background-color: #daeccf;
+}
+.sms-conversations-container .conversation-list .overflow-scroll {
+  flex: 1 1 0;
+  width: 100%;
+  overflow: hidden;
+  overflow-y: scroll;
+}
+.sms-conversations-container .conversation-list .sms-name {
+  font-weight: 600;
+  color: #000;
+}
+.sms-conversations-container .conversation-list .layout-row {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  flex-direction: row;
+  -webkit-box-orient: horizontal;
+  -webkit-box-direction: normal;
+}
+.sms-conversations-container .conversation-list .table {
+  table-layout: fixed;
+}
+.sms-conversations-container .conversation-list .table td {
+  padding: 14px 16px 16px;
+}
+.sms-conversations-container .conversation-list .table tr:first-child td {
+  border-top: 0;
+}
+.sms-conversations-container .conversation-list .date {
+  box-sizing: border-box;
+  -webkit-flex: 1 0 auto;
+  flex: 1 0 auto;
+  font-size: 13px;
+  line-height: 24px;
+  color: rgba(0, 0, 0, 0.5);
+  text-align: right;
+  text-transform: capitalize;
+  -webkit-box-flex: 1;
+}
+.sms-conversations-container .conversation-list .selected {
+  background: rgba(0, 0, 0, 0.02);
+}
+.sms-conversations-container .conversation-list .unread {
+  box-shadow: inset 4px 0 0 0 #6bac43;
+}
+.sms-conversations-container .messages-outer-container {
+  position: relative;
+  flex-grow: 1;
+  height: 100%;
+  overflow: hidden;
+  -webkit-box-flex: 1;
+  -ms-flex-positive: 1;
+}
+.sms-conversations-container .messages-scroll-container {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 15px;
+  overflow-y: scroll;
+}
+.sms-conversations-container .note-editor {
+  padding: 8px 12px;
+  border-top: 1px solid #85c161;
+}
+.sms-conversations-container .footer {
+  position: relative;
+  flex-shrink: 0;
+  border-top: 1px solid #85c161;
+  -ms-flex-negative: 0;
+}
+.sms-conversations-container .footer .form-control {
+  padding: 18px 162px 18px 12px;
+  resize: none;
+  border: 0;
+}
+.sms-conversations-container .footer .actions {
+  position: absolute;
+  right: 12px;
+  bottom: 10px;
+}
+.sms-conversations-container .conversation-panel {
+  position: relative;
+  display: -webkit-box;
+  display: -moz-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex: 1;
+  flex: 1;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  flex-grow: 1;
+  min-width: 0;
+  height: 100%;
+  min-height: 300px;
+  -webkit-box-orient: vertical;
+  -webkit-box-direction: normal;
+}
+@media (max-width: 599px) {
+  .sms-conversations-container .conversation-panel {
+    position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 21;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    -webkit-transition: transform 0.3s cubic-bezier(0.4, 0, 1, 1);
+    transition: transform 0.3s cubic-bezier(0.4, 0, 1, 1);
+    -webkit-transform: translateX(103%);
+    transform: translateX(103%);
+    will-change: transform;
+  }
+}
+.sms-conversations-container .conversation-panel .sms-image-uploader {
+  position: relative;
+  width: 106px;
+  margin: 0 auto;
+}
+.sms-conversations-container .conversation-panel .sms-image-uploader-container {
+  position: absolute;
+  right: -1px;
+  bottom: -1px;
+  width: 220px;
+  max-width: 100%;
+  padding: 8px;
+  margin: 0;
+  background: #f2f2f2;
+  border: 1px solid #85c161;
+}
+.sms-conversations-container .conversation-panel .sms-image-uploader-container .close {
+  font-size: 18px;
+}
+.sms-conversations-container .conversation-back {
+  display: none;
+}
+@media (max-width: 599px) {
+  .sms-conversations-container .conversation-back {
+    display: block;
+  }
+}
+@media (max-width: 599px) {
+  .sms-conversations-container .has-focus {
+    -webkit-transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1);
+    transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1);
+    -webkit-transform: translateX(0);
+    transform: translateX(0);
+  }
+}
+.conversation {
+  width: 100%;
+  max-width: 848px;
+  margin: 0 auto;
+}
+.conversation .message {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-content: flex-start;
+  align-content: flex-start;
+  -webkit-align-items: flex-start;
+  align-items: flex-start;
+  -webkit-box-orient: vertical;
+  -webkit-box-align: start;
+}
+.conversation .message.outbound {
+  -webkit-align-content: flex-end;
+  align-content: flex-end;
+  -webkit-align-items: flex-end;
+  align-items: flex-end;
+  -webkit-box-align: end;
+}
+.conversation .message .bubble {
+  display: inline-block;
+  max-width: 75%;
+  padding: 10px 14px;
+  color: #000;
+  word-break: break-word;
+  word-wrap: break-word;
+  overflow-wrap: break-word;
+  white-space: pre-line;
+  background-color: #f3f3f3;
+  border-radius: 20px;
+}
+.conversation .message.outbound .bubble {
+  color: #fff;
+  background-color: #0084ff;
+}
+.conversation .message .message-meta {
+  padding: 4px 14px 8px;
+  font-size: 12px;
+  color: rgba(0, 0, 0, 0.5);
+}
+.conversation .message .message-meta .date {
+  text-transform: capitalize;
+}
+.conversation .message .sender-name::after {
+  content: " - ";
+}
+.conversation .message.inbound .sender-name {
+  display: none;
+}
+.conversation .message .sms-image {
+  min-height: 100px;
+  margin-top: 5px;
+  border-radius: 10px;
+}
+.sms-action-components {
+  background: #daeccf;
+}
+.components-list {
+  margin: 6px;
+}
+.components-list > li ol {
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+.components-list .component {
+  display: block;
+  float: left;
+  width: 45%;
+  padding: 12px 0 4px;
+  margin: 6px 2.5%;
+  font-size: 12px;
+  color: #1c1c1c;
+  text-align: center;
+  cursor: -webkit-grab;
+  cursor: -moz-grab;
+  cursor: grab;
+  zoom: 1;
+  background-color: #ffffff;
+  border: 1px solid transparent;
+  border-radius: 2px;
+  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.05);
+}
+.components-list .component > i {
+  display: block;
+  width: 30px;
+  height: 30px;
+  margin: 0 auto 6px;
+  font-size: 28px;
+  color: #ccc;
+  text-align: center;
+}
+.components-list .component span {
+  display: flex;
+  flex-direction: column;
+  align-content: center;
+  justify-content: center;
+  height: 26px;
+  overflow: hidden;
+  line-height: 1.1;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 2;
+  -webkit-box-orient: vertical;
+}
+.components-list .component:hover {
+  border: 1px solid #6bac43;
+  box-shadow: 0 0 0 1px #6bac43 inset;
+}
+.mobile-pages-container .component {
+  display: none;
+}
+.mobile-pages-container .component.gu-transit {
+  display: block;
+  padding: 10px 15px;
+  margin-bottom: 28px;
+  background-color: #daeccf;
+  border: 1px solid #85c161;
+}
+.mobile-block-types .form-control {
+  border-color: transparent;
+  border-radius: 0;
+}
+.sms-actions-container {
+  padding: 20px 50px !important;
+  counter-reset: section;
+}
+.sms-actions-container .component {
+  display: none;
+}
+.sms-actions-container .component.gu-transit {
+  display: block;
+}
+.sms-action {
+  position: relative;
+  max-width: 500px;
+  padding: 20px 16px;
+  margin: 0 auto 20px;
+  font-size: 21px;
+  cursor: pointer;
+  background-color: rgba(255, 255, 255, 0.9);
+  border-radius: 2px;
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
+}
+.sms-action::after {
+  position: absolute;
+  top: 20px;
+  left: -40px;
+  display: block;
+  width: 28px;
+  height: 28px;
+  font-size: 14px;
+  color: #fff;
+  text-align: center;
+  content: counter(section);
+  counter-increment: section;
+  /* Increment the value of section counter by 1 */
+  background-color: #1c683e;
+  border: 2px solid #fff;
+  border-radius: 50%;
+}
+.sms-action::before {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: -28px;
+  width: 2px;
+  height: 100%;
+  height: calc(100% + 20px);
+  margin-left: 1px;
+  content: "";
+  background: #dddbda;
+}
+.sms-action.inactive {
+  color: rgba(28, 28, 28, 0.5);
+  background-color: rgba(255, 255, 255, 0.5);
+}
+.sms-action.inactive::after {
+  display: none;
+}
+.sms-action:first-child::before {
+  top: 20px;
+}
+.sms-action:last-child::before {
+  height: calc(100% - 28px);
+}
+.sms-action.editing {
+  box-shadow: 0 0 0 4px #6bac43;
+}
+.sms-action .reorder {
+  cursor: move;
+  cursor: -webkit-grab;
+  cursor: grab;
+}
+.sms-action > .fa {
+  width: 30px;
+  padding-right: 2px;
+  color: #ccc;
+  text-align: center;
+}
+.panel-palette {
+  margin: 0;
+  border: 0;
+  border-left: 1px solid #85c161;
+  border-radius: 0;
+}
+.panel-palette .panel-heading {
+  font-weight: 500;
+  text-align: center;
+  background: #daeccf;
+  border-bottom: 3px solid #6bac43;
+  border-radius: 0;
+}
+.sms-pipeline-detail .sms-heading {
+  max-width: 500px;
+  padding: 20px 16px;
+  margin: 0 auto 20px;
+  font-size: 21px;
+  text-align: center;
+  cursor: pointer;
+  background-color: #daeccf;
+  border-radius: 2px;
+  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
+}
+.sms-pipeline-detail .drag-container {
+  height: 100%;
+}
+.sms-pipeline-detail .drag-container-empty::after {
+  display: block;
+  max-width: 500px;
+  height: 200px;
+  padding: 80px 0;
+  margin: 0 auto 20px;
+  font-size: 20px;
+  text-align: center;
+  content: "Drag and Drop Here";
+  border: 3px dashed rgba(0, 0, 0, 0.2);
+}
+.sms-pipeline-detail h4 {
+  padding: 12px 15px;
+  margin: 1px -15px 16px;
+  font-size: 18px;
+  font-weight: 500;
+  background: #daeccf;
+  border-top: 1px solid #85c161;
+}
+.sms-pipeline-detail .component.gu-transit {
+  max-width: 500px;
+  padding: 20px 0;
+  margin: 0 auto 20px;
+  font-size: 20px;
+  text-align: center;
+  list-style: none;
+  border: 3px solid rgba(0, 0, 0, 0.2);
+}
+.component.gu-mirror,
+.sms-action.gu-mirror {
+  list-style: none;
+  cursor: -moz-grabbing !important;
+  cursor: -webkit-grabbing !important;
+  cursor: grabbing !important;
+}
+.component.gu-mirror::before,
+.sms-action.gu-mirror::before,
+.component.gu-mirror::after,
+.sms-action.gu-mirror::after {
+  display: none;
+}
+.metric-tile {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center !important;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  align-items: center !important;
+  margin-bottom: 12px;
+  color: #fff;
+}
+.metric-tile .value {
+  flex-basis: 0;
+  flex-grow: 1;
+  min-width: 60%;
+  max-width: 100%;
+  padding: 4px 12px 14px;
+  font-size: 36px;
+  font-weight: 500;
+  line-height: 1.2;
+  text-align: right;
+  -ms-flex-preferred-size: 0;
+  -ms-flex-positive: 1;
+}
+.metric-tile .value small {
+  display: block;
+  font-size: 18px;
+  font-weight: 400;
+  line-height: 1em;
+}
+.metric-tile .metric-icon {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  flex-basis: 100px;
+  flex-grow: 1;
+  -ms-flex-pack: center;
+  align-items: center;
+  justify-content: center;
+  width: auto;
+  max-width: 100%;
+  height: 65px;
+  min-height: 100px;
+  font-size: 60px;
+  color: #fff;
+  text-align: center;
+  background: rgba(0, 0, 0, 0.15);
+  border-radius: 0;
+  -ms-flex-preferred-size: 0;
+  -ms-flex-positive: 1;
+}
+.metric-tile.metric-sm .value {
+  font-size: 26px;
+  line-height: 1.4;
+}
+.metric-tile.metric-sm .value small {
+  font-size: 16px;
+}
+.metric-pending {
+  background-color: #aeaeae;
+}
+.metric-delivered {
+  background-color: #1698da;
+}
+.metric-failed {
+  background-color: #c64f55;
+}
+.metric-cancelled {
+  background-color: #f0ad4e;
+}
+.metric-clicked {
+  background-color: #6bac43;
+}
+.metric-opened {
+  background-color: #0079cc;
+}
+/*
+    Used to manage styles for check-in administration.
+
+    1. Group / Location
+    2. Attendance Analysis
+*/
+.checkin-item {
+  padding: 12px;
+  margin-bottom: 6px;
+  cursor: pointer;
+  border: 1px solid #ccc;
+  border-top-width: 3px;
+}
+.checkin-item .fa-bars {
+  margin-right: 6px;
+  opacity: 0.5;
+}
+.checkin-item-selected {
+  background-color: #f3f3f3;
+}
+.checkin-list {
+  padding-left: 40px;
+  list-style-type: none;
+}
+.checkin-list-first {
+  padding-left: 0;
+}
+.checkin-group {
+  border-top-color: #afd074;
+}
+.checkin-area {
+  border-top-color: #5593a4;
+}
+.panel.panel-widget.checkin-group {
+  border-top-color: #afd074;
+}
+.panel.panel-widget.checkin-grouptype {
+  border-top-color: #5593a4;
+}
+.attendance-reporting .panel-body {
+  padding-top: 0;
+  padding-bottom: 0;
+}
+.attendance-reporting .panel-body > .row > [class*="col-"]:first-child {
+  padding-top: 15px;
+  padding-bottom: 15px;
+}
+@media (min-width: 768px) {
+  .attendance-reporting .panel-body .row {
+    margin-left: -16px;
+  }
+}
+.attendance-reporting .analysis-types {
+  padding: 15px 0;
+  margin-bottom: 24px;
+  background-color: #efefef;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. User Entry
+    2.
+
+*/
+.workflow-entry-panel > h1:first-of-type {
+  margin-top: 0;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Prayer Session
+    2.
+
+*/
+.prayer-session .panel-note {
+  border: 0;
+  box-shadow: none;
+}
+.prayer-session .panel-note > .panel-body {
+  padding: 0;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Calendar - Styles for the calendar blocks
+    2. Event Entry - The event registration entry screen
+
+*/
+.calendar {
+  display: inline-block;
+  width: 100%;
+  padding: 0 10px 10px;
+  border: 1px solid #ddd;
+  border-radius: 8px;
+}
+.calendar-month {
+  border-spacing: 0;
+  border-collapse: separate;
+  border: 0;
+}
+.calendar-month a {
+  color: #1c1c1c !important;
+  text-decoration: none;
+}
+.calendar-month th {
+  text-align: center;
+}
+.calendar-month td {
+  color: #1c1c1c !important;
+}
+.calendar-month table.calendar-title td {
+  padding: 10px 5px;
+}
+.calendar-month td.calendar-day {
+  padding: 5px;
+}
+.calendar-month table.calendar-title,
+.calendar-month table.calendar-title a {
+  font-weight: 600;
+}
+.calendar-month .calendar-today,
+.calendar-month .calendar-selecteditem {
+  color: #3a87ad !important;
+  background-color: #d9edf7 !important;
+  border-radius: 0;
+}
+.calendar-month .calendar-today {
+  border-radius: 8px;
+}
+.calendar-month .calendar-selected {
+  color: #fff !important;
+  background-color: #1698da !important;
+}
+.calendar-month .calendar-selected a {
+  color: #fff !important;
+}
+.calendar-month .calendar-last-month a {
+  opacity: 0.2;
+}
+.calendar-month .calendar-hasevent {
+  font-weight: 700;
+}
+.registrationentry-intro {
+  text-align: center;
+}
+.registrationentry-intro h1 {
+  margin-top: 24px;
+  margin-bottom: 48px;
+}
+.registrationentry-intro .input-group {
+  margin: 0 auto 48px;
+}
+.registration-entry .feetype-allowmultiples > .control-label {
+  display: block;
+  margin-bottom: 8px;
+}
+.registration-entry .feetype-allowmultiples .form-group {
+  margin-left: 19px;
+}
+.registrationentry-summary .fee-table {
+  margin: 0 24px;
+}
+.registrationentry-summary .fee-table > .row {
+  padding: 6px 0;
+}
+.registrationentry-summary .fee-table > .row div[class^="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+.registrationentry-summary .row.fee-header {
+  padding-bottom: 2px;
+  margin-bottom: 6px;
+  font-size: 17px;
+  border-bottom: 2px solid #828282;
+}
+.registrationentry-summary .fee-row-cost,
+.registrationentry-summary .fee-row-total {
+  font-weight: 600;
+}
+.registrationentry-summary .fee-row-total {
+  margin-top: 6px;
+  border-top: 1px solid #828282;
+}
+.registrationentry-summary .row.fee-row-fee {
+  font-weight: 300;
+}
+@media (min-width: 576px) {
+  .registrationentry-summary .row.fee-row-fee > div.fee-caption {
+    padding-left: 20px;
+  }
+}
+@media (min-width: 576px) {
+  .registrationentry-summary div.fee-value {
+    float: right;
+    text-align: right;
+  }
+}
+.registrationentry-payment .payment-method-options .payment-method {
+  margin-bottom: 20px;
+}
+.registrationentry-payment .payment-method .payment-method-image {
+  height: 1.4em;
+  margin-right: 8px;
+}
+.registrationentry-payment .payment-method-account {
+  display: inline-flex;
+  align-items: center;
+}
+.registrationentry-payment .payment-method .payment-method-name {
+  margin-right: 8px;
+  font-weight: 600;
+}
+.registrationentry-payment .hosted-payment-control {
+  margin-bottom: 60px;
+}
+@media (min-width: 500px) {
+  .registrationentry-payment .payment-method-options .payment-method-entry {
+    padding-left: 28px;
+  }
+}
+.fee-totals {
+  margin-top: 24px;
+}
+.fee-totals .fee-totals-options {
+  text-align: right;
+}
+.amount-to-pay input {
+  text-align: right;
+}
+.picker:before,
+.picker:after {
+  display: table;
+  content: " ";
+}
+.picker:after {
+  clear: both;
+}
+@media (min-width: 576px) {
+  .picker {
+    position: relative;
+    width: 250px;
+    max-width: 100%;
+  }
+}
+.picker .picker-search-header {
+  display: flex;
+  align-items: center;
+  margin-bottom: 6px;
+}
+.picker .picker-search-action {
+  display: block;
+  float: right;
+  padding: 0 3px;
+  margin-left: 3px;
+  font-size: 17px;
+}
+.picker .picker-search-action.active {
+  background-color: rgba(0, 0, 0, 0);
+}
+.picker .picker-mode-options {
+  margin-bottom: 12px;
+}
+.picker .picker-label {
+  float: left;
+  width: 225px;
+  max-width: calc(100% - 25px);
+  padding: 12px 24px;
+  font-size: 20px;
+  line-height: 28px;
+  color: #a4a4a4;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+}
+.picker .picker-label:hover {
+  text-decoration: none;
+}
+.picker .picker-label i {
+  float: left;
+  margin-right: 6px;
+  line-height: inherit;
+  vertical-align: bottom;
+}
+.picker .picker-label span {
+  float: left;
+  width: calc(100% - 42px);
+  overflow: hidden;
+  line-height: inherit;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.picker .picker-label .fa.fa-caret-down {
+  margin-top: 3px;
+}
+.has-error .picker .picker-label {
+  border-color: #b94a48;
+}
+.has-error .picker .picker-label.active {
+  border-color: #c64f55;
+  box-shadow: 0 0 0 3px rgba(198, 79, 85, 0.2);
+}
+.picker.picker-fullwidth,
+.picker.picker-fullwidth .picker-label {
+  width: 100%;
+}
+.picker .input-group-sm {
+  width: 100%;
+}
+.picker .input-group-sm > .form-control,
+.picker .input-group-sm > .input-group-addon {
+  height: 47px;
+  padding: 10px 16px;
+}
+.picker .input-group-sm > .input-group-btn > .btn {
+  height: 47px;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+.picker .picker-select-none {
+  display: block;
+  float: left;
+  margin: 6px 0 0 6px;
+  cursor: pointer;
+}
+.picker .scroll-container-picker {
+  width: 100%;
+}
+.picker .scroll-container-picker .viewport {
+  width: calc(100% - 15px);
+}
+.picker .scroll-container-picker .scrollbar {
+  width: 5px;
+}
+.picker .scroll-container-native {
+  width: calc(100% + 16px);
+  padding: 8px;
+  margin: -8px;
+  overflow-y: auto;
+}
+.picker .scroll-container-native,
+.picker .scroll-container-picker .viewport,
+.picker .scroll-container-picker .scrollbar {
+  height: 380px;
+}
+@media (max-device-height: 480px) {
+  .picker .scroll-container-native,
+  .picker .scroll-container-picker .viewport,
+  .picker .scroll-container-picker .scrollbar {
+    max-height: 200px;
+  }
+}
+.picker dl {
+  margin-bottom: 4px;
+}
+.picker hr {
+  margin: 8px -8px 4px;
+}
+.picker h4 {
+  margin: 0;
+  font-size: 17px;
+  font-weight: 600;
+}
+.picker .picker-menu {
+  width: 400px;
+  padding: 8px;
+}
+@media (max-width: 575px) {
+  .picker .picker-menu {
+    position: static;
+    max-width: 100%;
+  }
+}
+.picker.picker-menu-right .picker-menu {
+  right: 0;
+  left: auto;
+}
+.picker .treeview .search-item {
+  margin-bottom: 16px;
+  margin-left: 4px;
+}
+.picker .picker-actions {
+  display: flex;
+  align-items: center;
+  padding: 8px;
+  margin: 8px -8px -8px -8px;
+  font-size: 17px;
+  background-color: #e3ded7;
+  border-top: 1px solid #cec5b9;
+  border-radius: 0 0 8px 8px;
+  gap: 0 4px;
+}
+.picker .picker-actions .pull-right {
+  margin-left: auto;
+}
+.picker .picker-actions .btn {
+  width: auto;
+}
+.picker .picker-actions .rock-checkbox-icon i {
+  width: 1rem;
+  margin-right: 0;
+  font-size: inherit;
+}
+.picker .picker-actions .btn-select-all {
+  order: 10;
+}
+.picker .picker-select-item {
+  margin-left: 3px;
+}
+.picker .picker-select-item .radio {
+  margin-right: 0;
+}
+.picker .picker-select-item label,
+.picker .picker-select-item .label-text {
+  display: block;
+}
+.picker .personpicker-search-panel .input-group {
+  margin: 0 0 4px;
+}
+.picker .personpicker-search-panel .input-group-addon {
+  width: 85px;
+  text-align: left;
+}
+@media (min-width: 576px) {
+  .picker .picker-select-item-details {
+    margin-left: 29px;
+  }
+}
+.picker .picker-select-item-details .person-image {
+  float: left;
+  width: 70px;
+  height: 70px;
+  margin-right: 8px;
+  background-position: 50%;
+  background-size: cover;
+  border: 1px solid #a2d085;
+}
+.picker .picker-select-item-details .label.pull-right {
+  position: absolute;
+  right: 0;
+  display: inline-block;
+  max-width: 40%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.picker .picker-select-item-details .contents {
+  float: left;
+  width: calc(100% - 78px);
+}
+.picker .picker-select-item-details .contents h5 {
+  margin-bottom: 2px;
+}
+.picker.picker-geography .picker-menu {
+  width: 520px;
+}
+.picker.picker-person .picker-select {
+  padding: 0;
+  list-style: none;
+}
+.picker.picker-person .picker-select-item-details {
+  position: relative;
+}
+.picker.picker-person .picker-select-item-details label {
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+.picker.picker-person .picker-select-item-details img {
+  width: 65px;
+}
+.picker.picker-novalue .picker-label {
+  width: 100%;
+  max-width: 100%;
+}
+.picker.picker-mergefield {
+  width: 370px;
+  max-width: 100%;
+}
+@media (min-width: 576px) {
+  .picker.picker-lg {
+    position: relative;
+    width: 350px;
+  }
+}
+.picker.picker-lg .picker-label {
+  width: 325px;
+}
+.date-time-picker {
+  margin-bottom: 11px;
+}
+.date-time-picker .input-group {
+  margin-bottom: 4px;
+}
+.campus-account-amount-picker,
+.campus-account-amount-picker .amount-input,
+.campus-account-amount-picker .campus-dropdown,
+.campus-account-amount-picker .account-dropdown {
+  margin-bottom: 15px;
+}
+.numberincrement {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.numberincrement .numberincrement-up,
+.numberincrement .numberincrement-down {
+  padding: 6px 12px;
+  color: #a4a4a4;
+  cursor: pointer;
+  background-color: #f0f0f0;
+  border: 1px solid #ccc;
+}
+.numberincrement .numberincrement-up.disabled,
+.numberincrement .numberincrement-down.disabled {
+  color: #d7d7d7;
+  cursor: default;
+}
+.numberincrement .numberincrement-down {
+  border-radius: 8px 0 0 8px;
+}
+.numberincrement .numberincrement-up {
+  border-radius: 0 8px 8px 0;
+}
+.numberincrement .numberincrement-value {
+  padding: 6px 18px;
+  background-color: #fff;
+  border-color: #ccc;
+  border-style: solid;
+  border-width: 1px 0;
+}
+.numberincrement.input-sm .numberincrement-up,
+.numberincrement.input-sm .numberincrement-down {
+  padding: 5px 8px;
+}
+.numberincrement.input-sm .numberincrement-value {
+  padding: 5px 12px;
+}
+.numberincrement.input-lg .numberincrement-up,
+.numberincrement.input-lg .numberincrement-down {
+  padding: 12px 20px;
+}
+.numberincrement.input-lg .numberincrement-value {
+  padding: 12px 28px;
+}
+.group-tree-view,
+.group-tree-view > .block-content,
+.h-100 > .zone-content {
+  height: 100%;
+}
+.h-100 > .panel-block {
+  height: calc(100% - 24px);
+  margin-bottom: 24px;
+}
+.rocktree-drawer {
+  padding: 12px 18px;
+  margin: 0;
+  background: #fcfcfc;
+  border-bottom: 1px solid #eeeeee;
+}
+.treeview-search-parent {
+  position: relative;
+  min-height: 300px;
+}
+.treeview-search-parent .search-results {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  height: 100%;
+  padding: 4px 12px;
+  overflow: auto;
+}
+.rocktree-loading {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 100px;
+  font-size: 30px;
+  opacity: 0.25;
+}
+.rocktree-item .rocktree-loading {
+  justify-content: flex-start;
+  width: 100%;
+  height: 30px;
+  margin-left: 30px;
+}
+ul.rocktree,
+ul.rocktree-children {
+  padding: 0;
+  margin-bottom: 30px;
+  font-size: 17px;
+  line-height: 30px;
+  list-style-type: none;
+}
+ul.rocktree-children {
+  width: 100%;
+  margin: 0 0 0 26px;
+}
+.rocktree .rocktree-item {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  color: #1c1c1c;
+  white-space: nowrap;
+}
+.rocktree .rocktree-item.is-inactive {
+  color: #4f4f4f;
+}
+.rocktree .rocktree-item .select-children {
+  display: none;
+  opacity: 0.8;
+}
+.rocktree .rocktree-item:hover .select-children {
+  display: inline;
+}
+.rocktree .rocktree-icon {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 30px;
+  height: 30px;
+  padding: 4px;
+  font-size: 17px;
+  cursor: pointer;
+}
+.rocktree .rocktree-icon:hover,
+.rocktree .rocktree-icon:active,
+.rocktree .rocktree-icon:focus {
+  color: #6bac43;
+}
+.rocktree li {
+  margin: 0;
+}
+.rocktree .rocktree-name {
+  position: relative;
+  display: inline-block;
+  flex-grow: 1;
+  width: calc(100% - 48px);
+  padding: 0 16px 0 0;
+  line-height: 30px;
+  cursor: pointer;
+  border-radius: 3px;
+  border-radius: var(--border-radius-base, 3px);
+}
+.rocktree .rocktree-name i {
+  margin-right: 2px;
+}
+.rocktree .rocktree-name:hover {
+  color: #cfcfcf;
+}
+.rocktree .rocktree-name::before {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: -5px;
+  z-index: -1;
+  width: 100vw;
+  content: "";
+  border-radius: 4px 0 0 4px;
+}
+.rocktree .rocktree-name:hover::before {
+  background: #4f4f4f;
+}
+.rocktree .selected {
+  color: #fff;
+}
+.rocktree .selected::before {
+  background: rgba(106, 106, 106, 0.1) !important;
+}
+.rocktree .disabled {
+  cursor: default;
+}
+.rocktree .disabled:hover {
+  color: #1c1c1c;
+  background: inherit;
+}
+.rocktree .rocktree-loading {
+  font-size: 17px;
+}
+.rocktree .rocktree-leaf {
+  padding-left: 30px;
+}
+.rocktree .label-tree {
+  display: inline-block;
+  margin-left: 8px;
+  font-size: 17px;
+  background-color: #ffffff;
+  border-radius: 2px;
+}
+.treeview {
+  margin-bottom: 15px;
+}
+.treeview .panel-body {
+  padding: 0;
+  margin: 0;
+}
+.treeview .panel-body .treeview-scroll {
+  padding: 8px 0;
+}
+.treeview .panel-body .treeview-scroll .overview {
+  min-width: 100%;
+}
+.treeview .treeview-frame {
+  padding-left: 0;
+}
+.treeview .treeview-actions {
+  margin-bottom: 7.5px;
+}
+.treeview .treeview-actions .btn {
+  margin-bottom: 4px;
+}
+.preview-item {
+  padding: 8px 6px;
+  line-height: 1.2;
+  cursor: default;
+  border-radius: 4px;
+}
+.preview-item:hover {
+  background: #4f4f4f;
+}
+.preview-item .title,
+.preview-item .subtitle {
+  display: block;
+  color: #1c1c1c;
+}
+.preview-item .subtitle {
+  font-size: 12px;
+  color: #ccc;
+}
+.personlist {
+  padding-left: 0;
+  list-style: none;
+}
+.personlist li {
+  padding-left: 15px;
+}
+.personlist li i.fa-circle {
+  margin-right: 7.5px;
+  margin-left: -15px;
+  font-size: 9px;
+  color: #dfe0e1;
+}
+.personlist li .control-actions {
+  opacity: 0;
+  -webkit-transition: opacity 0.5s ease-out;
+  -moz-transition: opacity 0.5s ease-out;
+  transition: opacity 0.5s ease-out;
+}
+.personlist li:hover .control-actions {
+  opacity: 1;
+}
+.personlist .popover {
+  width: 320px;
+}
+.rollover-container,
+.rollover-container-nested {
+  position: relative;
+}
+.rollover-container > .rollover-item,
+.rollover-container-nested .rollover-item {
+  opacity: 0;
+  -webkit-transition: opacity 0.5s ease-out;
+  -moz-transition: opacity 0.5s ease-out;
+  transition: opacity 0.5s ease-out;
+}
+.rollover-container:hover > .rollover-item,
+.rollover-container-nested:hover .rollover-item {
+  opacity: 1;
+}
+.group-hover .group-hover-item {
+  transition: 200ms opacity ease-in-out;
+}
+.group-hover .group-hover-show {
+  visibility: hidden;
+  opacity: 0;
+}
+.group-hover .group-hover-0-show {
+  width: 0;
+  height: 0;
+}
+.group-hover .group-hover-hide {
+  visibility: visible;
+  opacity: 1;
+}
+.group-hover:hover .group-hover-show {
+  visibility: visible;
+  opacity: 1;
+}
+.group-hover:hover .group-hover-0-show {
+  width: auto;
+  height: auto;
+}
+.group-hover:hover .group-hover-hide {
+  visibility: hidden;
+  opacity: 0;
+}
+.touch .rollover-item {
+  opacity: 1;
+}
+.block-title {
+  margin: 0 0 9.33333333px;
+}
+.list-as-blocks h3 {
+  display: inline-block;
+  width: 100%;
+  margin: 0 0 6px;
+  font-size: 17px;
+  font-weight: 400;
+  word-wrap: break-word;
+}
+.list-as-blocks ul {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  padding: 0;
+  margin: 15px -7.5px -15px;
+  list-style: none;
+}
+.list-as-blocks ul li {
+  position: relative;
+  -ms-flex: 0 0 50%;
+  flex: 0 0 50%;
+  max-width: 50%;
+  padding-right: 7.5px;
+  padding-left: 7.5px;
+  margin-bottom: 15px;
+}
+@media (min-width: 576px) {
+  .list-as-blocks ul li {
+    -ms-flex: 0 0 33.3333%;
+    flex: 0 0 33.3333%;
+    max-width: 33.3333%;
+  }
+}
+@media (min-width: 768px) {
+  .list-as-blocks ul li {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+}
+@media (min-width: 992px) {
+  .list-as-blocks ul li {
+    -ms-flex: 0 0 20%;
+    flex: 0 0 20%;
+    max-width: 20%;
+  }
+}
+.list-as-blocks ul li a {
+  position: relative;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  align-content: center;
+  align-items: center;
+  justify-content: center;
+  min-width: 0;
+  height: 100%;
+  min-height: 90px;
+  padding: 8px;
+  color: #1b2c11;
+  text-align: center;
+  word-wrap: break-word;
+  background-color: #a2d085;
+  background-clip: border-box;
+  border: 1px solid #85c161;
+  border-radius: 8px;
+  -webkit-transition: background-color 200ms linear, border-color 200ms linear;
+  -moz-transition: background-color 200ms linear, border-color 200ms linear;
+  -ms-transition: background-color 200ms linear, border-color 200ms linear;
+  transition: background-color 200ms linear, border-color 200ms linear;
+}
+.list-as-blocks ul li a i {
+  margin: 6px 0;
+  font-size: 26px;
+  color: #32501f;
+}
+.list-as-blocks ul li a:hover {
+  color: #cfcfcf;
+  text-decoration: none;
+  background-color: #1c1c1c;
+  border-color: #0f0f0f;
+}
+.list-as-blocks ul li a:hover i {
+  color: #e8e8e8;
+}
+.list-as-blocks ul li a .notification {
+  position: absolute;
+  top: -10px;
+  right: -6px;
+}
+.list-as-blocks ul li a .notification .label {
+  padding: 2px 8px;
+  color: #ffffff;
+  background: #c64f55;
+  border-radius: 36px;
+}
+.list-as-blocks ul li.active a,
+.list-as-blocks ul li.selected a {
+  color: #cfcfcf;
+  background-color: #1c1c1c;
+  border-color: #020202;
+}
+.list-as-blocks ul li.active a i,
+.list-as-blocks ul li.selected a i {
+  color: #e8e8e8;
+}
+.list-as-blocks ul li.inactive-item {
+  opacity: 0.5;
+}
+.list-as-blocks.has-count a {
+  position: relative;
+}
+.list-as-blocks.has-count a::before {
+  position: absolute;
+  top: 0;
+  right: 0;
+  content: "";
+  border-right: 45px solid #85c161;
+  border-bottom: 45px solid transparent;
+}
+.list-as-blocks.has-count .item-count {
+  position: absolute;
+  top: 5px;
+  right: 1px;
+  display: block;
+  width: 25px;
+  font-size: 17px;
+  color: #fff;
+  text-align: center;
+}
+.list-as-blocks .block-status a {
+  min-height: 105px;
+  padding: 8px 15px;
+}
+.list-as-blocks .block-status a .status-list {
+  margin-top: auto;
+}
+.nav > li.pill-help a {
+  color: #6bac43;
+}
+.nav > li.pill-help a:hover,
+.nav > li.pill-help a:focus {
+  color: #6bac43;
+  background-color: transparent;
+}
+.tag-wrap {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  gap: 4px 8px;
+}
+.tagsInput,
+.tagsinput {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: flex-start;
+}
+.tagsInput input,
+.tagsinput input {
+  display: block;
+  width: 80px;
+  padding: 2px;
+  margin: 0 auto;
+  clear: both;
+  font-size: 17px;
+  color: #8f8f8f !important;
+  /* needed as script adds element value */
+  background: transparent;
+  border: 1px solid transparent;
+  border-radius: 8px;
+  outline: 0;
+  box-shadow: none;
+}
+@media (min-width: 576px) {
+  .tagsInput input,
+  .tagsinput input {
+    margin: 0;
+  }
+}
+.tagsInput input:hover,
+.tagsinput input:hover,
+.tagsInput input:focus,
+.tagsinput input:focus {
+  background-color: rgba(0, 0, 0, 0.05);
+}
+.tagsInput input div,
+.tagsinput input div {
+  display: block;
+  float: left;
+}
+.tagsInput .tags_clear,
+.tagsinput .tags_clear {
+  width: 100%;
+  height: 0;
+  clear: both;
+}
+.taglist {
+  display: flex;
+}
+.taglist .tag {
+  position: relative;
+  display: inline-flex;
+  height: 22px;
+  padding: 1px 12px 0;
+  margin-right: 8px;
+  margin-bottom: 7.5px;
+  font-size: 17px;
+  line-height: 18px;
+  color: #231f20;
+  text-decoration: none;
+  background: #c2b8a7;
+  border-radius: 8px;
+  -webkit-transition: margin-right 0.25s ease-out 1s, padding 0.25s ease-out 1s;
+  -moz-transition: margin-right 0.25s ease-out 1s, padding 0.25s ease-out 1s;
+  transition: margin-right 0.25s ease-out 1s, padding 0.25s ease-out 1s;
+}
+.taglist .tag .tag-icon {
+  display: block;
+  margin-right: 4px;
+}
+.taglist .tag span {
+  display: block;
+  max-width: 120px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  cursor: default;
+}
+.taglist .tag a {
+  position: absolute;
+  right: 0;
+  padding: 0 5px;
+  color: currentColor;
+  text-decoration: none;
+  opacity: 0;
+  -webkit-transition: opacity 0.25s ease-out 1s;
+  -moz-transition: opacity 0.25s ease-out 1s;
+  transition: opacity 0.25s ease-out 1s;
+}
+.taglist .tag small {
+  font-size: 17px;
+}
+.taglist .tag:hover span {
+  max-width: 1000px;
+}
+.taglist .tag:hover a {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.taglist .tag-wrap .tag:hover {
+  padding-right: 20px;
+  transition-delay: 0s;
+}
+.taglist .add-new-tags {
+  float: none !important;
+  color: #9e9ea0 !important;
+}
+.taglist .add-new-tags:hover {
+  color: #1c1c1c !important;
+}
+.not_valid {
+  color: #b94a48 !important;
+  background: #f2dede !important;
+}
+.tag-wrap .ui-autocomplete {
+  position: absolute;
+  top: 4px;
+  left: 0;
+  z-index: 90;
+  z-index: 9999 !important;
+  min-width: 200px;
+  padding: 12px;
+  list-style: none;
+  background-color: #a2d085;
+  border: 1px solid #85c161;
+  border-radius: 0 0 8px 8px;
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+}
+.tag-wrap .ui-autocomplete li {
+  margin-bottom: 4px;
+}
+.tag-wrap .ui-autocomplete li:last-child {
+  margin-bottom: 0;
+}
+.tag-wrap .ui-autocomplete li a {
+  display: block;
+  padding: 4px;
+  color: #1b2c11;
+  text-decoration: none;
+  cursor: pointer;
+}
+.tag-wrap .ui-autocomplete li a:hover {
+  background: #85c161;
+  border-radius: 4px;
+}
+.tag-letterlist {
+  color: #4f4f4f;
+}
+.tag-letterlist li {
+  margin-right: 12px;
+  cursor: default;
+}
+.tag-letterlist a {
+  font-weight: 600;
+}
+.photoframe {
+  display: inline-block;
+  border: 4px solid #a2d085;
+}
+.photoframe.photoframe-sm {
+  border-width: 2px;
+}
+.smartsearch {
+  position: relative;
+  width: 298px;
+  padding: 2px 6px;
+  margin-top: 6px;
+  font-size: 12px;
+  color: #cfcfcf;
+  background-color: rgba(255, 255, 255, 0.1);
+  border: 1px solid #2c2c2c;
+  border-radius: 8px;
+}
+.smartsearch:focus-within {
+  background: rgba(255, 255, 255, 0.12);
+}
+.smartsearch input::-moz-placeholder,
+.smartsearch input::-webkit-input-placeholder {
+  color: #8f8f8f;
+}
+.smartsearch .nav > li > a {
+  padding: 4px 15px;
+}
+.smartsearch input::selection,
+.smartsearch input::-moz-selection {
+  color: #fff;
+  background: #2e2e2e;
+}
+.smartsearch:focus {
+  border-color: #595959;
+}
+.smartsearch .twitter-typeahead {
+  display: block !important;
+  margin-right: 128px;
+}
+.smartsearch .smartsearch-type {
+  width: 128px;
+}
+.smartsearch > i {
+  position: absolute;
+  float: left;
+  margin-top: 6px;
+  font-size: 16px;
+  opacity: 0.6;
+}
+.smartsearch input {
+  width: 150px;
+  margin: 0;
+  font-size: 14px;
+  color: #cfcfcf;
+  background: transparent;
+  border: 0;
+  border-radius: 0;
+}
+.smartsearch input:focus {
+  outline: 0;
+  box-shadow: none;
+}
+.smartsearch .tt-hint {
+  padding: 4px 4px 4px 25px;
+}
+.smartsearch .tt-dropdown-menu {
+  min-width: 290px;
+  max-width: 100vw;
+  margin-top: 2px;
+  margin-left: 0;
+  border: 0;
+}
+.smartsearch input.searchinput {
+  width: 100%;
+  padding: 4px 4px 4px 25px;
+  color: #cfcfcf;
+  border: 0 !important;
+  box-shadow: none !important;
+}
+.smartsearch .dropdown .navbar-link {
+  width: 100%;
+  color: #cfcfcf;
+  text-align: right;
+  white-space: nowrap;
+  cursor: pointer;
+}
+.smartsearch .dropdown .navbar-link span {
+  padding-right: 4px;
+}
+.smartsearch .dropdown .navbar-link:hover,
+.smartsearch .dropdown .navbar-link:focus {
+  background-color: transparent;
+}
+.smartsearch .dropdown .navbar-link b {
+  display: inline-block;
+  width: 0.625em;
+}
+.smartsearch .dropdown.open .navbar-link {
+  background-color: transparent;
+}
+.smartsearch .dropdown .dropdown-menu {
+  top: 35px;
+  right: 0;
+  left: auto;
+  font-size: 12px;
+  cursor: pointer;
+}
+fieldset .actions {
+  margin-top: 12px;
+}
+.code-editor {
+  position: relative;
+}
+.note-editor.code-editor-visible {
+  padding-bottom: 10px;
+  background: #f5f5f5;
+}
+.note-editor .ace_editor {
+  margin: 0;
+  border-radius: 0;
+}
+.html-editor-code-editor {
+  display: none;
+}
+.control-wrapper .html-editor-code-editor {
+  display: block;
+}
+.label a {
+  color: #ffffff;
+}
+.label-campus {
+  color: #fff;
+  background-color: #83758f;
+}
+.label-type {
+  color: #fff;
+  background-color: #a2d085;
+}
+.label-communicationstatus-approved {
+  background-color: #6bac43;
+}
+.label-communicationstatus-denied {
+  background-color: #c64f55;
+}
+.label-communicationstatus-draft {
+  background-color: #ccc;
+}
+.label-communicationstatus-submitted {
+  background-color: #f0ad4e;
+}
+.label-communicationstatus-transient {
+  background-color: #a2d085;
+}
+.datepicker {
+  direction: ltr;
+  border-radius: 8px;
+}
+.datepicker-inline {
+  width: 220px;
+}
+.datepicker-dropdown {
+  top: 0;
+  left: 0;
+  padding: 4px;
+}
+.datepicker-dropdown::before {
+  position: absolute;
+  display: inline-block;
+  content: "";
+  border-top: 0;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid rgba(0, 0, 0, 0.15);
+  border-left: 7px solid transparent;
+}
+.datepicker-dropdown::after {
+  position: absolute;
+  display: inline-block;
+  content: "";
+  border-top: 0;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #fff;
+  border-left: 6px solid transparent;
+}
+.datepicker-dropdown.datepicker-orient-left::before {
+  left: 6px;
+}
+.datepicker-dropdown.datepicker-orient-left::after {
+  left: 7px;
+}
+.datepicker-dropdown.datepicker-orient-right::before {
+  right: 6px;
+}
+.datepicker-dropdown.datepicker-orient-right::after {
+  right: 7px;
+}
+.datepicker-dropdown.datepicker-orient-bottom::before {
+  top: -7px;
+}
+.datepicker-dropdown.datepicker-orient-bottom::after {
+  top: -6px;
+}
+.datepicker-dropdown.datepicker-orient-top::before {
+  bottom: -7px;
+  border-top: 7px solid rgba(0, 0, 0, 0.15);
+  border-bottom: 0;
+}
+.datepicker-dropdown.datepicker-orient-top::after {
+  bottom: -6px;
+  border-top: 6px solid #fff;
+  border-bottom: 0;
+}
+.datepicker table {
+  margin: 0;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  -webkit-touch-callout: none;
+}
+.datepicker table tr td,
+.datepicker table tr th {
+  width: 34px;
+  height: 34px;
+  padding: 0;
+  text-align: center;
+  border: 0;
+  border-radius: 4px;
+}
+.table-striped .datepicker table tr td,
+.table-striped .datepicker table tr th {
+  background-color: transparent;
+}
+.datepicker table tr td.old,
+.datepicker table tr td.new {
+  color: #ccc;
+}
+.datepicker table tr td.day:hover,
+.datepicker table tr td.focused {
+  cursor: pointer;
+  background: #efefef;
+}
+.datepicker table tr td.disabled,
+.datepicker table tr td.disabled:hover {
+  color: #ccc;
+  cursor: default;
+  background: none;
+}
+.datepicker table tr td.highlighted {
+  color: #000000;
+  background: #d9edf7;
+  border-radius: 0;
+}
+.datepicker table tr td.highlighted.focused {
+  background: #afd9ee;
+}
+.datepicker table tr td.highlighted.disabled,
+.datepicker table tr td.highlighted.disabled:active {
+  color: #ccc;
+  background: #d9edf7;
+}
+.datepicker table tr td.today {
+  color: #000000;
+  background-color: #ffdb99;
+}
+.datepicker table tr td.today:hover,
+.datepicker table tr td.today:focus {
+  background: #ffbc42;
+}
+.datepicker table tr td.today.focused {
+  background: #ffc966;
+}
+.datepicker table tr td.today.disabled,
+.datepicker table tr td.today.disabled:active {
+  color: #ccc;
+  background: #ffdb99;
+}
+.datepicker table tr td.range {
+  color: #000000;
+  background: #efefef;
+  border-radius: 0;
+}
+.datepicker table tr td.range.focused,
+.datepicker table tr td.range:hover {
+  background: #d6d6d6;
+}
+.datepicker table tr td.range.disabled,
+.datepicker table tr td.range.disabled:active {
+  color: #ccc;
+  background: #efefef;
+}
+.datepicker table tr td.range-start {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.datepicker table tr td.range-end {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.datepicker table tr td.range.highlighted {
+  color: #0000;
+  background: #e4eef3;
+}
+.datepicker table tr td.range.highlighted.focused {
+  background: #c1d8e3;
+}
+.datepicker table tr td.range.highlighted.disabled,
+.datepicker table tr td.range.highlighted.disabled:active {
+  color: #ccc;
+  background: #e4eef3;
+}
+.datepicker table tr td.range.today {
+  color: #000;
+  background: #f7ca78;
+}
+.datepicker table tr td.range.today:hover {
+  background: #f4b747;
+}
+.datepicker table tr td.range.today.disabled,
+.datepicker table tr td.range.today.disabled:active {
+  color: #ccc;
+  background: #f7ca78;
+}
+.datepicker table tr td.selected,
+.datepicker table tr td.selected.highlighted {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background: #ccc;
+}
+.datepicker table tr td.selected:hover,
+.datepicker table tr td.selected.highlighted:hover {
+  background: #b3b3b3;
+}
+.datepicker table tr td.active,
+.datepicker table tr td.active.highlighted {
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background: #548735;
+}
+.datepicker table tr td.active:hover,
+.datepicker table tr td.active.highlighted:hover,
+.datepicker table tr td.active:focus,
+.datepicker table tr td.active.highlighted:focus {
+  background: #446e2b;
+}
+.datepicker table tr td span {
+  display: block;
+  float: left;
+  width: 23%;
+  height: 54px;
+  margin: 1%;
+  line-height: 54px;
+  cursor: pointer;
+  border-radius: 4px;
+}
+.datepicker table tr td span:hover,
+.datepicker table tr td span.focused {
+  background: #efefef;
+}
+.datepicker table tr td span.disabled,
+.datepicker table tr td span.disabled:hover {
+  color: #ccc;
+  cursor: default;
+  background: none;
+}
+.datepicker table tr td span.active,
+.datepicker table tr td span.active:hover,
+.datepicker table tr td span.active.disabled,
+.datepicker table tr td span.active.disabled:hover {
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background: #6bac43;
+}
+.datepicker table tr td span.old,
+.datepicker table tr td span.new {
+  color: #ccc;
+}
+.datepicker .datepicker-switch {
+  width: 145px;
+}
+.datepicker .datepicker-switch,
+.datepicker .prev,
+.datepicker .next,
+.datepicker tfoot tr th {
+  cursor: pointer;
+}
+.datepicker .datepicker-switch:hover,
+.datepicker .prev:hover,
+.datepicker .next:hover,
+.datepicker tfoot tr th:hover {
+  background: #efefef;
+}
+.datepicker .prev.disabled,
+.datepicker .next.disabled {
+  visibility: hidden;
+}
+.datepicker .cw {
+  width: 12px;
+  padding: 0 2px 0 5px;
+  font-size: 10px;
+  vertical-align: middle;
+}
+.input-group.date .input-group-addon {
+  cursor: pointer;
+}
+.timepicker-input:before,
+.clearable-input:before,
+.timepicker-input:after,
+.clearable-input:after {
+  display: table;
+  content: " ";
+}
+.timepicker-input:after,
+.clearable-input:after {
+  clear: both;
+}
+.timepicker-input .input-group,
+.clearable-input .input-group {
+  float: left;
+}
+.timepicker-input i.fa-times,
+.clearable-input i.fa-times {
+  float: left;
+  padding: 6px;
+  margin-top: 4px;
+  cursor: pointer;
+  opacity: 0;
+  -webkit-transition: opacity 0.2s ease-out;
+  -moz-transition: opacity 0.2s ease-out;
+  transition: opacity 0.2s ease-out;
+}
+.timepicker-input:hover i.fa-times,
+.clearable-input:hover i.fa-times {
+  opacity: 1;
+}
+.touch .timepicker-input i.fa-times {
+  opacity: 1;
+}
+.bootstrap-timepicker {
+  position: relative;
+}
+.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu {
+  right: 0;
+  left: auto;
+}
+.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu::before {
+  right: 12px;
+  left: auto;
+}
+.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu::after {
+  right: 13px;
+  left: auto;
+}
+.bootstrap-timepicker .input-group-addon {
+  cursor: pointer;
+}
+.bootstrap-timepicker-widget.dropdown-menu {
+  padding: 2px 3px 2px 2px;
+}
+.bootstrap-timepicker-widget.dropdown-menu.open {
+  display: inline-block;
+}
+.bootstrap-timepicker-widget a.btn {
+  border-radius: 4px;
+}
+.bootstrap-timepicker-widget table {
+  width: 100%;
+  margin: 0;
+  background-color: transparent;
+}
+.bootstrap-timepicker-widget table td {
+  height: 30px;
+  padding: 2px;
+  margin: 0;
+  text-align: center;
+}
+.bootstrap-timepicker-widget table td:not(.separator) {
+  min-width: 30px;
+}
+.bootstrap-timepicker-widget table td span {
+  width: 100%;
+}
+.bootstrap-timepicker-widget table td a {
+  display: inline-block;
+  width: 100%;
+  padding: 8px 0;
+  margin: 0;
+  color: #333;
+  border: 1px transparent solid;
+  outline: 0;
+}
+.bootstrap-timepicker-widget table td a:hover {
+  text-decoration: none;
+  background-color: #eee;
+  border-color: #ddd;
+  border-radius: 4px;
+}
+.bootstrap-timepicker-widget table td a i {
+  margin-top: 2px;
+}
+.bootstrap-timepicker-widget table td input {
+  width: 45px;
+  padding: 12px 4px;
+  margin: 0;
+  font-size: 12px;
+  text-align: center;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+  outline: none;
+  box-shadow: none;
+}
+.bootstrap-timepicker-widget table td input:focus {
+  border: 1px solid #66afe9;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+}
+.bootstrap-timepicker-widget .modal-content {
+  padding: 4px;
+}
+@media (min-width: 767px) {
+  .bootstrap-timepicker-widget.modal {
+    width: 200px;
+    margin-left: -100px;
+  }
+}
+@media (max-width: 767px) {
+  .bootstrap-timepicker {
+    width: 100%;
+  }
+  .bootstrap-timepicker .dropdown-menu {
+    width: 100%;
+  }
+}
+.imageupload-group,
+.fileupload-group {
+  position: relative;
+  display: table-cell;
+  padding: 2px;
+  margin-bottom: 15px;
+  cursor: pointer;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+}
+.has-error .imageupload-group,
+.has-error .fileupload-group {
+  border-color: #b94a48;
+}
+.has-error .imageupload-group:focus-within,
+.has-error .fileupload-group:focus-within {
+  border-color: #c64f55;
+  box-shadow: 0 0 0 3px rgba(198, 79, 85, 0.2);
+}
+.imageupload-group:focus-within {
+  border-color: #66afe9;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+}
+.imageupload-group .imageupload-thumbnail {
+  position: relative;
+}
+.imageupload-group .imageupload-thumbnail .imageupload-thumbnail-image {
+  width: 100%;
+  height: 100%;
+  background-position: 50%;
+  background-size: cover;
+}
+.imageupload-group .imageupload-thumbnail .imageupload-remove {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+}
+.imageupload-group .imageupload-thumbnail .imageupload-remove a {
+  display: block;
+  padding: 2px 6px;
+  color: #fff;
+  cursor: pointer;
+  background-color: #c64f55;
+  border-top-left-radius: 8px;
+}
+.imageupload-group .imageupload-dropzone {
+  position: relative;
+  width: 100%;
+  height: 30px;
+  padding-top: 8px;
+  margin-top: 2px;
+  line-height: 12px;
+  text-align: center;
+  cursor: pointer;
+  background-color: #f0f0f0;
+  border: 1px solid #ccc;
+  border-radius: 0 0 8px 8px;
+}
+.imageupload-group .imageupload-dropzone ::-webkit-file-upload-button {
+  cursor: pointer;
+}
+.imageupload-group .imageupload-dropzone input {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  cursor: pointer;
+  opacity: 0;
+}
+.imageupload-group .imageupload-dropzone span {
+  width: 100%;
+  font-size: 13px;
+  color: #a4a4a4;
+}
+.imageupload-group .imageupload-dropzone span::before {
+  padding-right: 0.25em;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  content: "\f093";
+}
+.imageupload-group .upload-progress {
+  position: absolute;
+  top: 26px;
+  left: 28px;
+  z-index: 2;
+  text-align: center;
+  opacity: 0.3;
+}
+.fileupload-group:focus-within {
+  border-color: #66afe9;
+  box-shadow: 0 0 0 3px rgba(102, 175, 233, 0.6);
+}
+.fileupload-group .fileupload-remove {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  z-index: 50;
+}
+.fileupload-group .fileupload-remove a {
+  display: block;
+  padding: 2px 6px;
+  color: #fff;
+  cursor: pointer;
+  background-color: #c64f55;
+  border-top-left-radius: 8px;
+}
+.fileupload-group .fileuploaddefault-button,
+.fileupload-group .fileupload-dropzone,
+.fileupload-group .fileupload-button {
+  position: relative;
+  height: 30px;
+  padding-top: 8px;
+  line-height: 12px;
+  text-align: center;
+  background-color: #f0f0f0;
+}
+.fileupload-group .fileuploaddefault-button ::-webkit-file-upload-button,
+.fileupload-group .fileupload-dropzone ::-webkit-file-upload-button,
+.fileupload-group .fileupload-button ::-webkit-file-upload-button {
+  cursor: pointer;
+}
+.fileupload-group .fileuploaddefault-button input,
+.fileupload-group .fileupload-dropzone input,
+.fileupload-group .fileupload-button input {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  cursor: pointer;
+  opacity: 0;
+}
+.fileupload-group .fileuploaddefault-button span,
+.fileupload-group .fileupload-dropzone span,
+.fileupload-group .fileupload-button span {
+  padding: 0 7px;
+  font-size: 14px;
+  color: #a4a4a4;
+}
+.fileupload-group .fileuploaddefault-button span::before,
+.fileupload-group .fileupload-dropzone span::before,
+.fileupload-group .fileupload-button span::before {
+  padding-right: 4px;
+  font-family: "FontAwesome";
+  font-weight: 900;
+  content: "\f093";
+}
+.fileupload-group .fileupload-dropzone {
+  margin-top: 2px;
+  border-radius: 0 0 8px 8px;
+}
+.fileupload-group .fileupload-button {
+  padding: 8px 20px;
+  background-color: #6bac43;
+  border: 1px solid #6bac43;
+  border-radius: 8px;
+}
+.fileupload-group .fileupload-button span {
+  color: #fff;
+}
+.fileupload-group .fileuploaddefault-button {
+  width: 100px;
+  height: 25px;
+  padding: 5px;
+  margin-top: 2px;
+  background: #ffffff;
+  border: 1px solid #dbdbdb;
+  border-radius: 8px;
+}
+.fileupload-group .fileuploaddefault-button:hover {
+  color: #303030;
+  background-color: #efefef;
+  border-color: #bcbcbc;
+}
+.fileupload-group .fileuploaddefault-button span {
+  color: #303030;
+}
+.fileupload-group .upload-progress {
+  position: absolute;
+  top: 8px;
+  left: 35px;
+  z-index: 15;
+  font-size: 12px;
+  opacity: 0.3;
+}
+.fileupload-group .upload-progress-sm {
+  position: absolute;
+  top: 5px;
+  left: 5px;
+  z-index: 2;
+  opacity: 0.3;
+}
+.fileupload-thumbnail {
+  position: relative;
+}
+.fileupload-thumbnail .file-link {
+  position: relative;
+  z-index: 10;
+  display: block;
+  width: 100px;
+  height: 50px;
+  padding-top: 2px;
+  overflow: hidden;
+  font-size: 10px;
+  line-height: 1;
+  color: #a4a4a4;
+  text-align: center;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  background-color: #f0f0f0;
+  border-radius: 7px;
+}
+.fileupload-thumbnail .file-link::after {
+  position: absolute;
+  top: 50%;
+  left: 0;
+  z-index: -1;
+  width: 100%;
+  font-family: "FontAwesome";
+  font-size: 28px;
+  font-weight: 900;
+  line-height: 0;
+  color: #cacaca;
+  content: "\f15b";
+}
+.fileupload-thumbnail .file-link.file-exists::after {
+  content: "\f15c";
+}
+.picker-asset {
+  position: relative;
+  display: inline-block;
+}
+.picker-asset .fileupload-thumbnail {
+  width: 100px;
+  height: 100px;
+  background-color: #f5f5f5;
+  background-repeat: no-repeat;
+  background-position: 50%;
+  background-size: contain;
+}
+.picker-asset .fileupload-thumbnail-icon {
+  background-size: 40%;
+}
+.picker-asset .file-link {
+  height: 100px;
+}
+.picker-asset .file-link::after {
+  display: none;
+}
+.picker-asset .file-link-default::after {
+  display: block;
+  content: "\f07c";
+}
+.picker-asset .picker-select-none {
+  position: absolute;
+  right: 4px;
+  bottom: 35px;
+  z-index: 50;
+  display: block;
+  padding: 2px 6px;
+  color: #fff;
+  cursor: pointer;
+  background-color: #c64f55;
+  border-top-left-radius: 8px;
+}
+.fileupload-group-lg .fileupload-group {
+  display: block;
+  border-style: dashed;
+  border-width: 2px;
+}
+.fileupload-group-lg .fileupload-group:focus-within {
+  border: 2px solid #66afe9;
+}
+.fileupload-group-lg .fileupload-group .fileupload-thumbnail {
+  background-color: #f0f0f0;
+}
+.fileupload-group-lg .fileupload-group .fileupload-dropzone {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 25;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: end;
+  -ms-flex-pack: center;
+  align-items: flex-end;
+  justify-content: center;
+  height: 100%;
+  padding: 0;
+  padding: 2px;
+  margin: 0;
+  background-color: transparent;
+}
+.fileupload-group-lg .fileupload-group .fileupload-dropzone span {
+  margin: 0 16px 11px;
+  font-size: 14px;
+  line-height: 1;
+}
+@media (min-width: 576px) {
+  .fileupload-group-lg .fileupload-group .fileupload-dropzone span {
+    margin-bottom: 52px;
+    font-size: 22px;
+  }
+}
+.fileupload-group-lg .fileupload-group .fileupload-dropzone span::before {
+  display: none;
+}
+.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link {
+  width: 100%;
+  height: 152px;
+  padding: 12px;
+  font-size: 20px;
+}
+@media (min-width: 576px) {
+  .fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link {
+    height: 288px;
+    padding: 20px;
+  }
+}
+.fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link::after {
+  font-size: 72px;
+  content: "\f15c";
+}
+@media (min-width: 576px) {
+  .fileupload-group-lg .fileupload-group .fileupload-thumbnail .file-link::after {
+    font-size: 112px;
+  }
+}
+.updateprogress-status {
+  position: fixed;
+  top: 40%;
+  left: 50%;
+  z-index: 1140;
+  padding: 15px 10px;
+  margin-left: -30px;
+  background-color: #6bac43;
+  border-radius: 120px;
+  box-shadow: 5px 5px 12px 3px rgba(0, 0, 0, 0.1);
+  opacity: 1;
+}
+.updateprogress-status .spinner {
+  width: 40px;
+  height: 30px;
+  font-size: 17px;
+  text-align: center;
+}
+.updateprogress-status .spinner > div {
+  display: inline-block;
+  width: 5px;
+  height: 100%;
+  margin-right: 2px;
+  background-color: #fff;
+  -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
+  animation: stretchdelay 1.2s infinite ease-in-out;
+}
+.updateprogress-status .spinner .rect2 {
+  -webkit-animation-delay: -1.1s;
+  animation-delay: -1.1s;
+}
+.updateprogress-status .spinner .rect3 {
+  -webkit-animation-delay: -1s;
+  animation-delay: -1s;
+}
+.updateprogress-status .spinner .rect4 {
+  -webkit-animation-delay: -0.9s;
+  animation-delay: -0.9s;
+}
+.updateprogress-status .spinner .rect5 {
+  -webkit-animation-delay: -0.8s;
+  animation-delay: -0.8s;
+}
+@-webkit-keyframes stretchdelay {
+  0%,
+  40%,
+  100% {
+    -webkit-transform: scaleY(0.4);
+  }
+  20% {
+    -webkit-transform: scaleY(1);
+  }
+}
+@keyframes stretchdelay {
+  0%,
+  40%,
+  100% {
+    -webkit-transform: scaleY(0.4);
+    transform: scaleY(0.4);
+  }
+  20% {
+    -webkit-transform: scaleY(1);
+    transform: scaleY(1);
+  }
+}
+@media (min-width: 768px) {
+  .updateprogress-status {
+    padding: 30px 20px;
+    margin-left: -60px;
+  }
+  .updateprogress-status .spinner {
+    width: 80px;
+    height: 60px;
+  }
+  .updateprogress-status .spinner > div {
+    width: 10px;
+    margin-right: 3px;
+  }
+}
+.groupmembers {
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0;
+  margin: 6px 0;
+  list-style: none;
+}
+.groupmembers .member {
+  float: left;
+  min-width: 160px;
+  min-height: 90px;
+  margin-right: 15px;
+  margin-bottom: 15px;
+  border-radius: 8px;
+}
+.groupmembers .member .person-image {
+  display: block;
+  float: left;
+  width: 60px;
+  height: 60px;
+  margin-right: 7.5px;
+  border: 1px solid #a2d085;
+}
+.groupmembers .member .member-information {
+  float: left;
+}
+.groupmembers .member h4 {
+  margin: 0;
+  overflow: hidden;
+  font-size: 16px;
+  font-weight: 600;
+  text-overflow: ellipsis;
+}
+.groupmembers .member small {
+  display: block;
+  margin: 0;
+  line-height: 16px;
+}
+.groupmembers .member .btn {
+  margin-top: 6px;
+}
+.well-message {
+  text-align: center;
+}
+.well-message h1 {
+  font-size: 38px;
+}
+.well-message i {
+  margin: 12px 0;
+  font-size: 84px;
+}
+.well-message.well-message-info {
+  color: #3a87ad;
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+}
+.well-message.well-message-success {
+  color: #468847;
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+}
+.well-message.well-message-danger {
+  color: #b94a48;
+  background-color: #f2dede;
+  border-color: #eed3d7;
+}
+.well-message.well-message-warning {
+  color: #c09853;
+  background-color: #fcf8e3;
+  border-color: #fbeed5;
+}
+.well-message.well-message-critical {
+  color: #ee7624;
+  background-color: #fdece1;
+  border-color: #ee7624;
+}
+.loginstatus > li {
+  min-width: 160px;
+  text-align: right;
+}
+.loginstatus > li li {
+  text-align: left;
+}
+ul.rocklist {
+  padding: 0;
+  list-style-type: none;
+}
+ul.rocklist .rocklist-item {
+  position: relative;
+  float: left;
+  width: 140px;
+  padding: 6px;
+  margin: 0 12px 12px 0;
+  text-align: center;
+  white-space: nowrap;
+  border-radius: 8px;
+}
+ul.rocklist .rocklist-item .actions {
+  position: absolute;
+  top: 0;
+  right: 4px;
+}
+ul.rocklist .rocklist-item .action {
+  display: block;
+  margin-bottom: 2px;
+}
+ul.rocklist .rocklist-item .file-name {
+  display: block;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  cursor: pointer;
+}
+ul.rocklist .rocklist-item:hover {
+  color: #cfcfcf;
+  background: #4f4f4f;
+}
+ul.rocklist .rocklist-item.selected {
+  color: #fff;
+  background: #6a6a6a;
+}
+.twitter-typeahead .tt-query,
+.twitter-typeahead .tt-hint {
+  margin-bottom: 0;
+}
+.tt-dropdown-menu {
+  min-width: 200px;
+  padding: 12px;
+  color: #1b2c11;
+  background-color: #a2d085;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+  border: 1px solid #85c161;
+  border-radius: 0 0 8px 8px;
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+}
+.tt-suggestion {
+  display: block;
+}
+.tt-suggestion p {
+  padding: 4px;
+  margin: 0;
+  border-radius: 8px;
+}
+.tt-suggestion p:hover {
+  color: #1c1c1c;
+  background-color: #85c161;
+}
+.tt-suggestion.tt-is-under-cursor {
+  color: #609a3c;
+}
+.tt-suggestion.tt-is-under-cursor a {
+  color: #1b2c11;
+}
+.image-editor-photo {
+  position: relative;
+  width: 150px;
+}
+.image-editor-photo .image-container {
+  width: 150px;
+  height: 150px;
+  border: 3px solid #a2d085;
+}
+.image-editor-photo .options {
+  position: absolute;
+  top: 110px;
+  right: 0;
+  padding: 0 6px;
+  color: #000000;
+  background-color: #a2d085;
+  border-radius: 8px 0 0 8px;
+  opacity: 0;
+  -webkit-transition: opacity 0.25s ease-in-out;
+  -moz-transition: opacity 0.25s ease-in-out;
+  transition: opacity 0.25s ease-in-out;
+}
+.image-editor-photo .options:focus-within {
+  opacity: 1;
+}
+.image-editor-photo .options a {
+  display: inline-block;
+  padding: 6px;
+  color: #000000;
+  text-decoration: none;
+  cursor: pointer;
+}
+.image-editor-photo .options a:hover {
+  opacity: 0.5;
+}
+.image-editor-photo .js-upload-progress {
+  position: absolute;
+  top: 55px;
+  left: 55px;
+  color: #a4a4a4;
+  opacity: 0.5;
+}
+.image-editor-fileinput {
+  height: 0;
+  visibility: hidden;
+}
+.image-editor-group.imageupload-group {
+  border: 0;
+}
+.image-editor-crop-container {
+  width: 480px;
+  height: 480px;
+}
+.image-editor-photo:hover .options {
+  opacity: 1;
+}
+.activeusers .recent i {
+  color: #6bac43;
+}
+.activeusers .not-recent i {
+  color: #f0ad4e;
+}
+.nav-paging .btn-prev {
+  float: left;
+}
+.nav-paging .btn-next {
+  float: right;
+  margin-left: auto !important;
+}
+.list-horizontal {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+.list-horizontal:before,
+.list-horizontal:after {
+  display: table;
+  content: " ";
+}
+.list-horizontal:after {
+  clear: both;
+}
+.list-horizontal li {
+  float: left;
+  margin-right: 2px;
+  margin-bottom: 4px;
+}
+.key-value-rows .controls-row {
+  margin-bottom: 6px;
+}
+.contextsetter {
+  margin-right: 2px;
+}
+ul.list-group-panel,
+.panel-collapse {
+  margin: 0;
+}
+ul.list-group-panel .list-group,
+.panel-collapse .list-group {
+  margin-bottom: 0;
+}
+ul.list-group-panel .list-group-item,
+.panel-collapse .list-group-item {
+  border: 0;
+  border-top: 1px solid #ddd;
+  border-radius: 0;
+}
+ul.list-group-panel .list-group-item:first-child,
+.panel-collapse .list-group-item:first-child {
+  border: 0;
+}
+.input-group-sm .slidingdaterange-daterange .form-control,
+.input-group-sm .slidingdaterange-daterange .input-group-addon {
+  height: 43px;
+  padding: 8px 20px;
+  font-size: 17px;
+  line-height: 1.5;
+  border-radius: 4px;
+}
+select.input-group-sm .slidingdaterange-daterange .form-control,
+select.input-group-sm .slidingdaterange-daterange .input-group-addon {
+  height: 43px;
+  padding: 8px 72px 8px 20px;
+}
+textarea.input-group-sm .slidingdaterange-daterange .form-control,
+textarea.input-group-sm .slidingdaterange-daterange .input-group-addon,
+select[multiple].input-group-sm .slidingdaterange-daterange .form-control,
+select[multiple].input-group-sm .slidingdaterange-daterange .input-group-addon {
+  height: auto;
+}
+.slidingdaterange-select,
+.slidingdaterange-number,
+.slidingdaterange-daterange .input-group {
+  margin-bottom: 6px;
+}
+.photo-round {
+  background-repeat: no-repeat;
+  background-position-x: center;
+  background-size: cover;
+  border-radius: 9999px;
+}
+.photo-round.photo-round-sm {
+  width: 35px;
+  height: 35px;
+}
+.photo-round.photo-round-xs {
+  width: 20px;
+  height: 20px;
+}
+.wizard {
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: start;
+  -webkit-align-items: flex-start;
+  align-items: flex-start;
+  padding: 8px 0;
+  background-color: #efefef;
+}
+.wizard:before,
+.wizard:after {
+  display: table;
+  content: " ";
+}
+.wizard:after {
+  clear: both;
+}
+@media only screen and (max-width: 480px) {
+  .wizard {
+    display: none;
+  }
+}
+.wizard .wizard-item {
+  position: relative;
+  /* Because we are absolutely positioning the connector */
+  width: 100%;
+  min-width: 75px;
+  color: #5c5c5c;
+  text-align: center;
+  word-break: break-word;
+  cursor: default;
+}
+.wizard .wizard-item a {
+  color: #5c5c5c;
+}
+.wizard .wizard-item .wizard-item-icon {
+  min-width: 75px;
+}
+.wizard .wizard-item .wizard-item-icon i {
+  display: inline-block;
+  width: 36px;
+  height: 36px;
+  padding: 9px 7px;
+  color: #bbb;
+  background: #b0d798;
+  border: 1px solid #bbb;
+  border-radius: 60px;
+}
+.wizard .wizard-item .wizard-item-label {
+  padding-top: 5px;
+}
+.wizard .wizard-item::before {
+  position: absolute;
+  top: 18px;
+  /* Same as above */
+  left: -50%;
+  width: calc(100% - 36px);
+  /* 22px = icon width */
+  height: 1px;
+  margin-left: 18px;
+  /* 11px = 1/2 icon width */
+  content: "";
+  background-color: #bbb;
+}
+.wizard .wizard-item.active {
+  font-weight: 700;
+  color: #6bac43;
+}
+.wizard .wizard-item.active::before {
+  background-color: #a2a2a2;
+}
+.wizard .wizard-item.active .wizard-item-icon i {
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.wizard .wizard-item.complete {
+  color: #6bac43;
+}
+.wizard .wizard-item.complete a {
+  color: #6bac43;
+}
+.wizard .wizard-item.complete::before {
+  background-color: #a2a2a2;
+}
+.wizard .wizard-item.complete .wizard-item-icon i {
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #fff;
+}
+.wizard .wizard-item:first-of-type::before {
+  display: none;
+}
+.rock-checkbox-icon {
+  cursor: pointer;
+}
+.in-columns {
+  -webkit-column-gap: 8px;
+  -moz-column-gap: 8px;
+  column-gap: 8px;
+  -webkit-column-width: 130px;
+  -moz-column-width: 130px;
+  column-width: 130px;
+}
+.in-columns-1 {
+  -moz-column-count: 1;
+  -webkit-column-count: 1;
+  column-count: 1;
+}
+.in-columns-2 {
+  -moz-column-count: 2;
+  -webkit-column-count: 2;
+  column-count: 2;
+}
+.in-columns-3 {
+  -moz-column-count: 3;
+  -webkit-column-count: 3;
+  column-count: 3;
+}
+.in-columns-4 {
+  -moz-column-count: 4;
+  -webkit-column-count: 4;
+  column-count: 4;
+}
+.in-columns-5 {
+  -moz-column-count: 5;
+  -webkit-column-count: 5;
+  column-count: 5;
+}
+.in-columns-6 {
+  -moz-column-count: 6;
+  -webkit-column-count: 6;
+  column-count: 6;
+}
+.in-columns .radio,
+.in-columns .checkbox,
+.in-columns .radio-inline,
+.in-columns .checkbox-inline {
+  display: block;
+  padding-right: 0;
+}
+.in-columns .radio:first-child,
+.in-columns .checkbox:first-child,
+.in-columns .radio-inline:first-child,
+.in-columns .checkbox-inline:first-child {
+  margin-top: 0;
+}
+.in-columns .checkbox-inline:first-child,
+.in-columns .radio-inline:first-child {
+  padding-left: 20px;
+}
+.in-columns .label-text {
+  display: inline-block;
+  -ms-hyphens: auto;
+  -moz-hyphens: auto;
+  -webkit-hyphens: auto;
+  hyphens: auto;
+  -ms-word-break: break-all;
+  word-break: break-all;
+  word-break: break-word;
+  word-wrap: break-word;
+  overflow-wrap: break-word;
+  -webkit-column-break-inside: avoid-column;
+  break-inside: avoid-column;
+}
+.in-columns .radio-inline + .radio-inline,
+.in-columns .checkbox-inline + .checkbox-inline {
+  margin-left: 0;
+}
+.radio-inline label,
+.checkbox-inline label {
+  font-weight: 400;
+}
+.checkbox-inline:first-child,
+.radio-inline:first-child {
+  padding-left: 30px;
+}
+.checkbox-inline:first-child.rock-checkbox-icon,
+.radio-inline:first-child.rock-checkbox-icon {
+  padding-left: 0 !important;
+}
+.checkbox-inline:first-child.rock-checkbox-icon i,
+.radio-inline:first-child.rock-checkbox-icon i {
+  width: 30px;
+}
+.assessment .radio,
+.assessment .checkbox {
+  min-height: 20px;
+  margin-top: 8px;
+  margin-bottom: 8px;
+}
+.assessment .radio label,
+.assessment .checkbox label {
+  padding-left: 0;
+}
+.assessment .modal-body > .checkbox label input {
+  z-index: 0;
+  opacity: 1;
+}
+.assessment .radio-inline,
+.assessment .checkbox-inline {
+  padding-right: 16px;
+  padding-left: 30px;
+  margin-left: 0;
+}
+.assessment .radio-inline label,
+.assessment .checkbox-inline label {
+  margin-bottom: 0;
+}
+.assessment .form-align .radio,
+.assessment .form-horizontal .radio,
+.assessment .form-align .checkbox,
+.assessment .form-horizontal .checkbox,
+.assessment .form-align .radio-inline,
+.assessment .form-horizontal .radio-inline,
+.assessment .form-align .checkbox-inline,
+.assessment .form-horizontal .checkbox-inline {
+  padding-top: 0;
+  margin-top: 13px !important;
+  margin-bottom: 13px !important;
+}
+.assessment .form-align .radio-inline + .radio-inline,
+.assessment .form-horizontal .radio-inline + .radio-inline,
+.assessment .form-align .checkbox-inline + .checkbox-inline,
+.assessment .form-horizontal .checkbox-inline + .checkbox-inline {
+  margin-top: 13px;
+}
+.assessment .radio,
+.assessment .checkbox,
+.assessment .radio-inline,
+.assessment .checkbox-inline {
+  padding-left: 28px;
+}
+.assessment .radio.deselected,
+.assessment .checkbox.deselected,
+.assessment .radio-inline.deselected,
+.assessment .checkbox-inline.deselected {
+  opacity: 0.5;
+}
+.assessment .radio .label-text::before,
+.assessment .checkbox .label-text::before,
+.assessment .radio-inline .label-text::before,
+.assessment .checkbox-inline .label-text::before {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 20px;
+  height: 20px;
+  pointer-events: none;
+  content: "";
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  background-color: #ffffff;
+  border: 2px solid #ccc;
+  border-radius: 0.25rem;
+}
+.assessment .radio .label-text::after,
+.assessment .checkbox .label-text::after,
+.assessment .radio-inline .label-text::after,
+.assessment .checkbox-inline .label-text::after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 20px;
+  height: 20px;
+  content: "";
+  background: no-repeat center/50%;
+}
+.assessment .radio input,
+.assessment .checkbox input,
+.assessment .radio-inline input,
+.assessment .checkbox-inline input {
+  position: absolute;
+  z-index: -1;
+  opacity: 0;
+}
+.assessment .radio input:checked ~ .label-text::before,
+.assessment .checkbox input:checked ~ .label-text::before,
+.assessment .radio-inline input:checked ~ .label-text::before,
+.assessment .checkbox-inline input:checked ~ .label-text::before {
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.assessment .radio input:focus ~ .label-text::before,
+.assessment .checkbox input:focus ~ .label-text::before,
+.assessment .radio-inline input:focus ~ .label-text::before,
+.assessment .checkbox-inline input:focus ~ .label-text::before {
+  box-shadow: 0 0 0 1px #ffffff, 0 0 0 3px rgba(107, 172, 67, 0.2);
+}
+.assessment .radio input:active ~ .label-text::before,
+.assessment .checkbox input:active ~ .label-text::before,
+.assessment .radio-inline input:active ~ .label-text::before,
+.assessment .checkbox-inline input:active ~ .label-text::before {
+  color: #ffffff;
+  background-color: #bedeaa;
+}
+.assessment .radio input:disabled ~ .label-text,
+.assessment .checkbox input:disabled ~ .label-text,
+.assessment .radio-inline input:disabled ~ .label-text,
+.assessment .checkbox-inline input:disabled ~ .label-text {
+  color: #ccc;
+}
+.assessment .radio input:disabled ~ .label-text::before,
+.assessment .checkbox input:disabled ~ .label-text::before,
+.assessment .radio-inline input:disabled ~ .label-text::before,
+.assessment .checkbox-inline input:disabled ~ .label-text::before {
+  background-color: #efefef;
+}
+.assessment .radio input:checked:disabled ~ .label-text::before,
+.assessment .checkbox input:checked:disabled ~ .label-text::before,
+.assessment .radio-inline input:checked:disabled ~ .label-text::before,
+.assessment .checkbox-inline input:checked:disabled ~ .label-text::before {
+  background-color: #6bac43;
+  opacity: 0.5;
+}
+.assessment .radio-inline + .radio-inline,
+.assessment .checkbox-inline + .checkbox-inline {
+  margin-left: 0;
+}
+.assessment .checkbox input:checked ~ .label-text::after,
+.assessment .checkbox-inline input:checked ~ .label-text::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='%23ffffff' 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");
+}
+.assessment .radio .label-text::before,
+.assessment .radio-inline .label-text::before {
+  border-radius: 50%;
+}
+.assessment .radio input:checked ~ .label-text::after,
+.assessment .radio-inline input:checked ~ .label-text::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='%23ffffff'/%3E%3C/svg%3E");
+}
+.assessment .rock-checkbox-icon {
+  padding-left: 0;
+}
+.assessment .rock-checkbox-icon i {
+  width: 20px;
+  margin-right: 3px;
+  font-size: 22px;
+  text-align: center;
+}
+.panel .panel-heading.panel-follow {
+  position: relative;
+  padding-right: 40px;
+}
+.panel .panel-heading.panel-follow-fullscreen {
+  position: relative;
+  padding-right: 110px;
+}
+.panel-follow-status {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  width: 35px;
+  padding-top: 10px 0 0;
+  color: #1c1c1c;
+  text-align: center;
+  cursor: pointer;
+  border-left: 1px solid #85c161;
+  opacity: 0.4;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+.panel-follow-status::before {
+  font-family: "FontAwesome";
+  content: "\f005";
+}
+.panel-follow-status.following {
+  color: #fff;
+  background-color: #77ba4e;
+  opacity: 1;
+}
+.number-range-editor .form-control-group .form-control {
+  margin-bottom: 4px;
+}
+.date-range-picker .input-group {
+  margin-bottom: 6px;
+}
+.btn-copy-to-clipboard:focus {
+  outline: 0;
+}
+.rating-input i {
+  margin-right: 8px;
+  font-size: 18px;
+  cursor: pointer;
+}
+.value-list-rows .controls-row {
+  margin-bottom: 6px;
+}
+/*!
+ * Bootstrap Colorpicker
+ * http://mjolnic.github.io/bootstrap-colorpicker/
+ *
+ * Originally written by (c) 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0.txt
+ *
+ */
+.colorpicker-saturation {
+  float: left;
+  width: 100px;
+  height: 100px;
+  cursor: crosshair;
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/saturation.png");
+}
+.colorpicker-saturation i {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 5px;
+  height: 5px;
+  margin: -4px 0 0 -4px;
+  border: 1px solid #000;
+  border-radius: 8px;
+}
+.colorpicker-saturation i b {
+  display: block;
+  width: 5px;
+  height: 5px;
+  border: 1px solid #fff;
+  border-radius: 8px;
+}
+.colorpicker-hue,
+.colorpicker-alpha {
+  float: left;
+  width: 15px;
+  height: 100px;
+  margin-bottom: 4px;
+  margin-left: 4px;
+  cursor: row-resize;
+}
+.colorpicker-hue i,
+.colorpicker-alpha i {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 100%;
+  height: 1px;
+  margin-top: -1px;
+  background: #000;
+  border-top: 1px solid #fff;
+}
+.colorpicker-hue {
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/hue.png");
+}
+.colorpicker-alpha {
+  display: none;
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/alpha.png");
+}
+.colorpicker-saturation,
+.colorpicker-hue,
+.colorpicker-alpha {
+  background-size: contain;
+}
+.colorpicker {
+  top: 0;
+  left: 0;
+  z-index: 2500;
+  min-width: 130px;
+  padding: 4px;
+  margin-top: 1px;
+  *zoom: 1;
+  border-radius: 8px;
+}
+.colorpicker::before,
+.colorpicker::after {
+  display: table;
+  line-height: 0;
+  content: "";
+}
+.colorpicker::before {
+  position: absolute;
+  top: -7px;
+  left: 6px;
+  display: inline-block;
+  content: "";
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-bottom-color: rgba(0, 0, 0, 0.2);
+  border-left: 7px solid transparent;
+}
+.colorpicker::after {
+  position: absolute;
+  top: -6px;
+  left: 7px;
+  display: inline-block;
+  clear: both;
+  content: "";
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #fff;
+  border-left: 6px solid transparent;
+}
+.colorpicker div {
+  position: relative;
+}
+.colorpicker.colorpicker-with-alpha {
+  min-width: 140px;
+}
+.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
+  display: block;
+}
+.colorpicker-color {
+  height: 10px;
+  margin-top: 5px;
+  clear: both;
+  background-position: 0 100%;
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/alpha.png");
+}
+.colorpicker-color div {
+  height: 10px;
+}
+.colorpicker-selectors {
+  display: none;
+  height: 16px;
+  margin-top: 5px;
+  clear: both;
+  background: none !important;
+}
+.colorpicker-selectors i {
+  float: left;
+  width: 16px;
+  height: 16px;
+  cursor: pointer;
+}
+.colorpicker-selectors i + i {
+  margin-left: 3px;
+}
+.colorpicker-element .input-group-addon,
+.colorpicker-element .add-on {
+  position: relative;
+  z-index: 1;
+}
+.colorpicker-element .input-group-addon i,
+.colorpicker-element .add-on i {
+  position: relative;
+  z-index: initial;
+  display: inline-block;
+  width: 28px;
+  height: 28px;
+  overflow: hidden;
+  vertical-align: text-top;
+  cursor: pointer;
+  border-radius: 8px;
+  box-shadow: rgba(0, 0, 0, 0.15) 0 0 0 1px inset;
+}
+.colorpicker-element .input-group-addon i::before,
+.colorpicker-element .add-on i::before {
+  position: absolute;
+  left: 0;
+  z-index: -1;
+  width: 28px;
+  height: 28px;
+  content: "";
+  background-image: linear-gradient(45deg, #f8f9fa 25%, transparent 25%, transparent 75%, #f8f9fa 75%, #f8f9fa),
+    linear-gradient(45deg, #f8f9fa 25%, transparent 25%, transparent 75%, #f8f9fa 75%, #f8f9fa);
+  background-position: 0 0, 30px 30px;
+  background-size: 12px 12px;
+  box-shadow: rgba(0, 0, 0, 0.15) 0 0 0 1px inset;
+}
+.colorpicker.colorpicker-inline {
+  position: relative;
+  z-index: auto;
+  display: inline-block;
+  float: none;
+}
+.colorpicker.colorpicker-horizontal {
+  width: 110px;
+  min-width: 110px;
+  height: auto;
+}
+.colorpicker.colorpicker-horizontal .colorpicker-saturation {
+  margin-bottom: 4px;
+}
+.colorpicker.colorpicker-horizontal .colorpicker-color {
+  width: 100px;
+}
+.colorpicker.colorpicker-horizontal .colorpicker-hue,
+.colorpicker.colorpicker-horizontal .colorpicker-alpha {
+  float: left;
+  width: 100px;
+  height: 15px;
+  margin-bottom: 4px;
+  margin-left: 0;
+  cursor: col-resize;
+}
+.colorpicker.colorpicker-horizontal .colorpicker-hue i,
+.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 1px;
+  height: 15px;
+  margin-top: 0;
+  background: #fff;
+  border: 0;
+}
+.colorpicker.colorpicker-horizontal .colorpicker-hue {
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/hue-horizontal.png");
+}
+.colorpicker.colorpicker-horizontal .colorpicker-alpha {
+  background-image: url("../../../Assets/Images/bootstrap-colorpicker/alpha-horizontal.png");
+}
+.colorpicker.colorpicker-hidden {
+  display: none;
+}
+.colorpicker.colorpicker-visible,
+.colorpicker-inline.colorpicker-visible,
+.colorpicker-alpha.colorpicker-visible,
+.colorpicker-saturation.colorpicker-visible,
+.colorpicker-hue.colorpicker-visible,
+.colorpicker-selectors.colorpicker-visible {
+  display: block;
+}
+.colorpicker-right::before {
+  right: 6px;
+  left: auto;
+}
+.colorpicker-right::after {
+  right: 7px;
+  left: auto;
+}
+.html-editor-container.loading {
+  box-sizing: content-box;
+  padding: 0 0 53px;
+}
+.note-editor.panel-default {
+  border-color: #85c161;
+}
+.note-editor.panel-default > .panel-heading {
+  background-color: #fff;
+}
+.htmleditor-filebrowser .is-postback > .modal-header {
+  padding: 5px 15px;
+  margin: 0 -15px 15px;
+  margin-top: 0;
+  color: #fff;
+  background-color: #6bac43;
+}
+.htmleditor-filebrowser .is-postback > .modal-footer {
+  padding: 8px 24px;
+  margin-right: -15px;
+  margin-left: -15px;
+  color: #609a3c;
+  background-color: #daeccf;
+}
+.htmleditor-assetmanager .is-postback > .modal-header {
+  padding: 5px 15px;
+  margin: 0 -15px 15px;
+  margin-top: 0;
+  color: #fff;
+  background-color: #6bac43;
+}
+.htmleditor-assetmanager .is-postback > .modal-footer {
+  padding: 8px 24px;
+  margin-right: -15px;
+  margin-left: -15px;
+  color: #609a3c;
+  background-color: #daeccf;
+}
+.picker-folders,
+.picker-files {
+  -ms-flex-preferred-size: 0;
+  flex-basis: 0;
+  -ms-flex-positive: 1;
+  flex-grow: 1;
+  max-width: 100%;
+}
+@media (min-width: 480px) {
+  .picker-folders,
+  .picker-files {
+    float: left;
+  }
+}
+.picker-folders .scroll-container-vertical,
+.picker-files .scroll-container-vertical {
+  width: auto;
+}
+.picker-folders .scroll-container-vertical .viewport,
+.picker-files .scroll-container-vertical .viewport {
+  width: auto;
+}
+.picker-wrapper {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+}
+.picker-folders {
+  max-width: 320px;
+  padding-right: 24px;
+}
+@media (max-width: 575px) {
+  .picker-folders {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+    padding-right: 0;
+    padding-bottom: 24px;
+  }
+}
+.picker-folders .actions {
+  margin-bottom: 15px;
+}
+@media (max-width: 575px) {
+  .picker-folders .scroll-container-vertical .viewport {
+    height: 100px;
+  }
+}
+.picker-files .empty-folder-notification {
+  display: block;
+  text-align: center;
+}
+.picker-files .assetmanager-actions .fileupload-group {
+  padding: 0;
+  border: 0;
+}
+.picker-files .assetmanager-actions .fileupload-group .fileupload-button {
+  height: 33px;
+  padding: 7px 10px;
+  line-height: 1;
+}
+.picker-files img.file-browser-image {
+  width: 80px;
+  height: 80px;
+}
+iframe.file-browser {
+  border: 0;
+}
+.structured-content-container {
+  min-height: 378px;
+  overflow: hidden;
+  background: #fff;
+  border: 1px solid #ccc;
+  border-radius: 8px;
+}
+@media (min-width: 768px) {
+  .structured-content-container {
+    background: #ffffff;
+  }
+}
+@media (min-width: 992px) {
+  .structured-content-container {
+    min-height: 520px;
+    padding: 40px;
+  }
+}
+.structured-content-container:focus-within {
+  border: var(--focus-state-border);
+  box-shadow: var(--focus-state-shadow);
+}
+.structured-content-container .codex-editor {
+  max-width: 800px;
+  margin: 0 auto;
+  background: #fff;
+}
+@media (min-width: 576px) {
+  .structured-content-container .codex-editor {
+    padding: 20px;
+  }
+}
+@media (min-width: 992px) {
+  .structured-content-container .codex-editor {
+    padding: 50px;
+    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
+  }
+}
+.codex-editor .ce-settings {
+  -webkit-box-sizing: content-box;
+  box-sizing: content-box;
+}
+.directory-letters li {
+  width: 3.8455%;
+  min-width: 20px;
+}
+.directory-grid > div.row:nth-child(odd) {
+  background-color: #f7f7f7;
+}
+.panel-parent > .panel-body {
+  padding: 0;
+}
+.panel-parent .panel {
+  margin-bottom: 0;
+  border: 0;
+}
+.panel-parent .panel .panel-heading {
+  display: none;
+}
+.assetmanager-files .checkbox {
+  width: 20px;
+  padding-left: 0;
+}
+.assetmanager-actions .fileupload-group {
+  margin-bottom: 0;
+}
+/* Dragula */
+.gu-mirror {
+  position: fixed !important;
+  z-index: 9999 !important;
+  margin: 0 !important;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
+  filter: alpha(opacity=80);
+  opacity: 0.8;
+}
+.gu-hide {
+  display: none !important;
+}
+.gu-unselectable {
+  -webkit-user-select: none !important;
+  -moz-user-select: none !important;
+  -ms-user-select: none !important;
+  user-select: none !important;
+}
+.gu-transit {
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
+  filter: alpha(opacity=50);
+  opacity: 0.5;
+}
+.custom-control-input {
+  position: absolute;
+  z-index: -1;
+  opacity: 0;
+}
+@media (max-width: 767px) {
+  .hide-label-sm .control-label {
+    display: none;
+  }
+}
+.custom-switch {
+  padding-left: 36px;
+}
+.custom-switch-centered .custom-switch {
+  padding-top: 20px !important;
+}
+.custom-switch .custom-control-label {
+  position: relative;
+  font-weight: 400;
+  cursor: pointer;
+}
+.custom-switch .custom-control-label.custom-control-label-bold {
+  font-weight: 600;
+}
+.custom-switch .custom-control-label::before {
+  position: absolute;
+  top: 2px;
+  left: -36px;
+  display: block;
+  width: 28px;
+  height: 16px;
+  pointer-events: all;
+  content: "";
+  background-color: #fff;
+  border: 1px solid #ccc;
+  border-radius: 10px;
+}
+.custom-switch .custom-control-label::after {
+  position: absolute;
+  top: 4px;
+  left: -34px;
+  display: block;
+  width: 12px;
+  height: 12px;
+  content: "";
+  background: no-repeat 50%/50% 50%;
+  background-color: #ccc;
+  border-radius: 10px;
+  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
+    -webkit-transform 0.15s ease-in-out;
+}
+.custom-switch .custom-control-input:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 1px #ffffff, 0 0 0 3px rgba(107, 172, 67, 0.2);
+}
+.custom-switch .custom-control-input:disabled ~ .custom-control-label::before {
+  background-color: #efefef;
+}
+.custom-switch .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
+  border-color: #66afe9;
+}
+.custom-switch .custom-control-input:active ~ .custom-control-label::before {
+  color: #ffffff;
+  background-color: #bedeaa;
+}
+.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
+  background-color: #ffffff;
+  transform: translateX(12px);
+}
+.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(107, 172, 67, 0.5);
+}
+.kpi-container {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin: 0 -8px;
+}
+.kpi-container > .kpi {
+  min-width: var(--kpi-min-width, 220px);
+  margin: 8px;
+}
+@media (min-width: 576px) {
+  .kpi-container > .kpi {
+    max-width: calc(50% - 16px);
+    max-width: calc(var(--kpi-col-sm, 50%) - 16px);
+  }
+}
+@media (min-width: 768px) {
+  .kpi-container {
+    -ms-flex-pack: distribute;
+    justify-content: space-around;
+  }
+  .kpi-container > .kpi {
+    max-width: calc(33.3333% - 16px);
+    max-width: calc(var(--kpi-col-md, 33.33333%) - 16px);
+  }
+}
+@media (min-width: 992px) {
+  .kpi-container {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+  }
+  .kpi-container > .kpi {
+    max-width: calc(25% - 16px);
+    max-width: calc(var(--kpi-col-lg, 25%) - 16px);
+  }
+}
+.kpi-title {
+  margin-top: 0;
+  font-weight: 600;
+}
+.kpi {
+  position: relative;
+  display: flex;
+  flex-basis: 100%;
+  flex-grow: 1;
+  align-items: center;
+  margin: 0 8px 16px;
+  overflow-y: hidden;
+  font-size: 26px;
+  color: #1b2c11;
+  align-self: flex-start;
+}
+.kpi-card {
+  background: #ffffff;
+  border: 1px solid #000;
+  border-color: currentColor;
+  border-radius: 4px;
+  align-self: auto;
+}
+.kpi-stat {
+  flex: 1 1 0;
+  align-self: flex-start;
+  min-width: 0;
+  padding: 8px 0;
+  overflow: hidden;
+}
+.kpi-icon + .kpi-stat {
+  align-self: center;
+  padding: 8px 16px;
+}
+.kpi-card .kpi-stat {
+  padding: 8px 16px;
+}
+.kpi-value {
+  display: block;
+  font-weight: 700;
+  line-height: 1;
+}
+.kpi-subvalue {
+  padding-left: 0.4em;
+  font-size: 0.6em;
+  font-weight: 400;
+  color: #9f9f9f;
+}
+.kpi-label,
+.kpi-secondary-label,
+.kpi-lg-label {
+  display: block;
+  font-size: 0.53846em;
+  line-height: 1.1;
+  color: #ccc;
+}
+.kpi-secondary-label {
+  font-size: 12px;
+  line-height: 12px;
+  opacity: 0.7;
+}
+.kpi-icon {
+  position: relative;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  max-width: 35%;
+  height: 100%;
+  font-size: 32px;
+  vertical-align: top;
+}
+.kpi-card .kpi-icon {
+  margin-left: 12px;
+}
+.has-icon-bg .kpi-icon {
+  display: block;
+  width: max-content;
+  margin-left: 0;
+}
+.has-icon-bg .kpi-icon .kpi-content {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.has-icon-bg.kpi-sm > .kpi-icon {
+  display: flex;
+  flex-grow: 1;
+  width: 48px;
+  min-width: 48px;
+  max-width: 48px;
+}
+.kpi-icon .svg-placeholder {
+  display: none;
+  width: 2em;
+  height: auto;
+  background: currentColor;
+  border-radius: 4px;
+  opacity: 0;
+}
+.kpi-card > .kpi-icon .svg-placeholder {
+  height: 100%;
+  border-radius: 0;
+}
+.has-icon-bg .kpi-icon .svg-placeholder {
+  display: block;
+  opacity: 0.2;
+}
+@supports not (width: fit-content) {
+  .kpi-lg.has-icon-bg .kpi-icon {
+    min-width: 86px;
+  }
+  .has-icon-bg .kpi-icon {
+    min-width: 57px;
+    height: 100%;
+  }
+  .has-icon-bg .kpi-icon::before {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    display: block;
+    width: 100%;
+    content: " ";
+    background: currentColor;
+    opacity: 0.2;
+  }
+  .has-icon-bg .kpi-icon .svg-placeholder {
+    opacity: 0 !important;
+  }
+}
+.kpi-sm .kpi-icon {
+  font-size: 24px;
+}
+.kpi-sm .kpi-stat {
+  padding: 4px 8px;
+}
+.kpi-lg,
+.kpi-xl {
+  font-size: 30px;
+}
+.kpi-lg .kpi-stat,
+.kpi-xl .kpi-stat {
+  padding: 16px 10px;
+}
+.kpi-lg .kpi-label,
+.kpi-xl .kpi-label,
+.kpi-lg-label {
+  padding: 3px 0;
+  font-size: 17px;
+  font-weight: 400;
+}
+.kpi-lg .kpi-icon,
+.kpi-xl .kpi-icon {
+  overflow: visible;
+  font-size: 48px;
+  text-align: center;
+}
+.kpi-lg-label {
+  font-size: 17px;
+}
+.kpi-xl {
+  font-size: 48px;
+}
+.kpi-xl .kpi-icon {
+  font-size: 54px;
+}
+.stat-value {
+  display: inline-block;
+  font-size: 26px;
+  font-weight: 700;
+  line-height: 1;
+}
+.progress-tracker {
+  display: flex;
+  background: #ffffff;
+  border: 1px solid #85c161;
+  border-radius: 8px;
+}
+.progress-tracker-container {
+  flex-grow: 1;
+  overflow: auto;
+}
+.progress-tracker-container::-webkit-scrollbar {
+  display: none;
+}
+.progress-steps {
+  display: flex;
+  flex-grow: 1;
+  height: 100%;
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+.progress-step {
+  position: relative;
+  display: flex;
+  flex: 1 1 0;
+  min-width: 140px;
+  overflow: hidden;
+}
+.progress-tracker-arrow {
+  position: absolute;
+  top: 0;
+  right: 0;
+  display: block;
+  width: 14px;
+  height: 100%;
+  color: #85c161;
+}
+.progress-tracker-arrow svg {
+  width: 100%;
+  height: 100%;
+}
+.progress-step-link {
+  position: relative;
+  display: flex;
+  align-items: center;
+  width: 100%;
+  padding: 6px 12px 6px 8px;
+  font-size: 0.875rem;
+  font-weight: 500;
+  line-height: 1.25;
+  color: #ccc;
+}
+.progress-tracker-icon {
+  display: flex;
+  flex-shrink: 0;
+  align-items: center;
+  justify-content: center;
+  width: 24px;
+  height: 24px;
+  padding: 1px 0 0;
+  margin-right: 6px;
+  font-size: 12px;
+  color: #ffffff;
+  background: #6bac43;
+  border-radius: 999px;
+  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+  transition-duration: 150ms;
+  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
+}
+.progress-tracker-icon.current {
+  background: #ffffff;
+  border: 2px solid #6bac43;
+}
+.progress-tracker-icon.upcoming {
+  background: #ffffff;
+  border: 2px solid #ccc;
+}
+.progress-tracker-more {
+  flex: 0 1 auto;
+  min-width: 56px;
+}
+.progress-tracker-more .progress-step-link {
+  padding: 4px 14px;
+  font-size: 24px;
+}
+.progress-tracker-more + .progress-tracker-more {
+  display: none;
+}
+.progress-tracker-details {
+  min-width: 0;
+  margin-top: 2px;
+}
+.current + .progress-tracker-details .progress-tracker-title,
+.current + .progress-tracker-details .progress-tracker-subtitle {
+  color: #6bac43;
+}
+.progress-tracker-title {
+  color: #1c1c1c;
+}
+.progress-tracker-subtitle {
+  margin: 0;
+  font-size: 0.75rem;
+  font-weight: 400;
+  line-height: 1rem;
+  color: #ccc;
+}
+.remaining-time {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  padding: 6px 20px;
+  margin-left: auto;
+  text-align: center;
+  border-left: 1px solid #85c161;
+}
+.remaining-time-title {
+  font-size: 12px;
+  line-height: 14px;
+  color: #ccc;
+  white-space: nowrap;
+}
+.remaining-time-countdown {
+  margin: 0;
+  font-weight: 500;
+  line-height: 1;
+  color: #6bac43;
+}
+.inline-svg {
+  display: inline-flex;
+  width: 1.25em;
+  height: 1em;
+  line-height: 1;
+  fill: currentColor;
+}
+.form-builder-detail {
+  --zone-border: #ebebeb;
+  --zone-configurable-border: #f5faff;
+  --zone-configurable-hover-border: #dfe0e1;
+  --zone-action-bg: #f5faff;
+  --zone-action-border: #dde7f2;
+  --zone-action-color: #89a1b9;
+  --zone-action-hover-color: #cccccc;
+  --zone-active-color: #c9eaf9;
+  --zone-active-action-color: #83bad3;
+  --zone-highlight-color: #ee7725;
+  --zone-highlight-action-text-color: #e4bda2;
+  --flex-col-gutter: 30px;
+  --zone-border-radius: 6px;
+  /*** Configurable Zones ***/
+  /*** Form Sections ***/
+  /*** Flex Column Sizes ***/
+}
+.form-builder-detail .zone-body .configurable-zone > .zone-content-container > .zone-content {
+  pointer-events: none;
+}
+.form-builder-detail .zone-body > div > .form-group {
+  margin-bottom: 0;
+}
+.form-builder-detail .configurable-zone {
+  position: relative;
+  display: flex;
+  margin-bottom: 12px;
+  transition: border-color 108ms cubic-bezier(0.2, 0.2, 0.38, 0.9);
+}
+.form-builder-detail .configurable-zone.zone-section {
+  flex-grow: 1;
+}
+.form-builder-detail .configurable-zone.zone-section > .zone-actions {
+  position: relative;
+}
+.form-builder-detail .configurable-zone > .zone-content-container {
+  display: flex;
+  flex-grow: 1;
+  background: #fff;
+  border: 2px dotted var(--zone-border);
+  border-right: 2px solid var(--zone-action-border);
+  border-radius: var(--zone-border-radius) 0 0 var(--zone-border-radius);
+}
+.form-builder-detail .configurable-zone > .zone-content-container > .zone-content {
+  flex-grow: 1;
+}
+.form-builder-detail .configurable-zone > .zone-content-container > .zone-content > .zone-body {
+  display: flex;
+  flex-direction: column;
+  min-height: 100%;
+  padding: 20px;
+}
+.form-builder-detail .configurable-zone > .zone-actions {
+  display: flex;
+  flex-direction: column;
+  flex-shrink: 0;
+  align-items: center;
+  justify-content: center;
+  width: 40px;
+  background-color: var(--zone-action-bg);
+  border: 2px solid var(--zone-action-border);
+  border-left: 0;
+}
+.form-builder-detail .configurable-zone.active > .zone-content-container {
+  border-color: var(--zone-active-color);
+}
+.form-builder-detail .configurable-zone.active > .zone-actions {
+  background-color: var(--zone-active-color);
+  border-color: var(--zone-active-color);
+}
+.form-builder-detail .configurable-zone.highlight > .zone-content-container {
+  border-color: var(--zone-highlight-color);
+  border-right-style: dotted;
+}
+.form-builder-detail .form-section {
+  display: flex;
+  flex: 1 1 auto;
+  flex-wrap: wrap;
+  align-content: flex-start;
+  min-height: 50px;
+  margin: 0 calc(-0.5 * var(--flex-col-gutter)) -10px;
+}
+.form-builder-detail .form-layout .form-template-item {
+  padding: 16px;
+  margin: 0 0 12px;
+  font-size: 18px;
+}
+.form-builder-detail .form-layout .form-template-item.form-template-item-field {
+  flex-basis: calc(100% - var(--flex-col-gutter) - 40px);
+  margin: 0 calc(0.5 * var(--flex-col-gutter) + 40px) 12px calc(0.5 * var(--flex-col-gutter));
+}
+.form-builder-detail .form-section .configurable-zone {
+  --zone-border: var(--zone-configurable-border);
+}
+.form-builder-detail .form-section .configurable-zone > .zone-actions {
+  border-style: dotted;
+  border-radius: 0 var(--zone-border-radius) var(--zone-border-radius) 0;
+  opacity: 0;
+  transition: opacity 116ms cubic-bezier(0.2, 0.2, 0.38, 0.9), transform 116ms cubic-bezier(0.2, 0.2, 0.38, 0.9);
+  transform: scaleX(0);
+  transform-origin: 0% 0%;
+}
+.form-builder-detail .form-section .configurable-zone > .zone-content-container {
+  border-right: 2px dotted var(--zone-border);
+}
+.form-builder-detail .form-section .configurable-zone.active,
+.form-builder-detail .form-section .configurable-zone:hover {
+  --zone-border: var(--zone-configurable-hover-border);
+}
+.form-builder-detail .form-section .configurable-zone.active > .zone-content-container,
+.form-builder-detail .form-section .configurable-zone:hover > .zone-content-container {
+  border-right-color: transparent;
+}
+.form-builder-detail .form-section .configurable-zone.active > .zone-actions,
+.form-builder-detail .form-section .configurable-zone:hover > .zone-actions {
+  opacity: 1;
+  transform: scaleX(1);
+  transform-origin: 0% 0%;
+}
+.form-builder-detail .flex-col {
+  margin-right: calc(0.5 * var(--flex-col-gutter));
+  margin-left: calc(0.5 * var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-1 {
+  flex-basis: calc(8.3333% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-2 {
+  flex-basis: calc(16.6666% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-3 {
+  flex-basis: calc(25% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-4 {
+  flex-basis: calc(33.3333% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-5 {
+  flex-basis: calc(41.6666% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-6 {
+  flex-basis: calc(50% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-7 {
+  flex-basis: calc(58.3333% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-8 {
+  flex-basis: calc(66.6666% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-9 {
+  flex-basis: calc(75% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-10 {
+  flex-basis: calc(83.3333% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-11 {
+  flex-basis: calc(91.6666% - var(--flex-col-gutter));
+}
+.form-builder-detail .flex-col-12 {
+  flex-basis: calc(100% - var(--flex-col-gutter));
+}
+.form-builder-grow {
+  position: relative;
+  display: flex;
+  flex-grow: 1;
+  overflow: hidden;
+}
+.form-builder-container {
+  display: flex;
+  flex: 1 1 auto;
+  overflow: hidden;
+}
+.form-builder-scroll {
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+  overflow-y: auto;
+}
+.form-layout {
+  position: relative;
+  display: flex;
+  flex: 1 1 0;
+  flex-direction: column;
+  padding: 1rem;
+  overflow-y: auto;
+}
+.form-layout-body {
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+}
+.form-sidebar {
+  position: relative;
+  z-index: 20;
+  display: flex;
+  flex: 1 0 auto;
+  flex-direction: column;
+  min-width: 320px;
+  max-width: 320px;
+  overflow: hidden;
+  background-color: #fcfcfc;
+  border-right: 1px solid #dfe0e1;
+}
+.form-sidebar .panel-body {
+  padding: 12px 16px;
+}
+.form-sidebar .panel-title {
+  padding: 0 16px !important;
+  font-size: 16px;
+}
+.sidebar-back {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 40px;
+  color: #fff;
+  cursor: pointer;
+  background-color: #484848;
+}
+.sidebar-back:hover {
+  background-color: #3d3d3d;
+}
+.sidebar-header {
+  position: relative;
+  display: flex;
+  flex-direction: row;
+  align-items: stretch;
+  font-size: 14px;
+  font-weight: 600;
+  border-bottom: 1px solid #dfe0e1;
+}
+.sidebar-header .title {
+  display: flex;
+  align-items: center;
+  padding: 8px;
+}
+.sidebar-header .icon {
+  width: 1em;
+  height: 1em;
+  margin-right: 8px;
+  font-size: 1.125rem;
+}
+.sidebar-body {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  overflow-y: auto;
+}
+.sidebar-panels {
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+}
+.sidebar-panels .panel-default {
+  margin-bottom: 0;
+  border: 0;
+  border-top: 1px solid #85c161;
+  border-radius: 0;
+  box-shadow: none;
+}
+.sidebar-panels > div:nth-child(2) > .panel {
+  border-top: 0;
+}
+.sidebar-panels > div:last-child {
+  border-bottom: 1px solid #85c161;
+}
+.sidebar-panels .panel-heading {
+  background: #f5f5f5;
+  border-bottom: 0;
+  transition: 0.1s background ease-in-out;
+}
+.sidebar-panels .panel-heading > .panel-aside {
+  color: #ccc;
+}
+.sidebar-panels .panel-heading:hover {
+  background: #fcfcfc;
+}
+.sidebar-panels .panel-heading:hover > .panel-aside {
+  color: #1c1c1c;
+}
+.sidebar-panels .panel-heading:active {
+  background: #dfe0e1;
+}
+.form-template-item-list {
+  --gutter: 8px;
+  display: flex;
+  flex-wrap: wrap;
+  margin-top: calc(-1 * var(--gutter));
+  margin-right: calc(-0.5 * var(--gutter));
+  margin-left: calc(-0.5 * var(--gutter));
+}
+.form-template-item-list .form-template-item {
+  flex-shrink: 0;
+  width: calc(50% - var(--gutter));
+  max-width: 100%;
+  margin-top: var(--gutter);
+  margin-right: calc(var(--gutter) * 0.5);
+  margin-left: calc(var(--gutter) * 0.5);
+}
+.zone-action {
+  z-index: 10;
+  width: 100% !important;
+  padding: 6px 4px;
+  color: var(--zone-action-color);
+  text-align: center;
+  cursor: pointer;
+}
+.zone-action:hover {
+  color: var(--zone-action-hover-color);
+}
+.configurable-zone.active .zone-action {
+  color: var(--zone-active-action-color);
+}
+.zone-action.zone-action-delete:hover {
+  color: #c64f55;
+}
+.zone-action-move {
+  margin-bottom: auto;
+  cursor: grab;
+}
+.section-header {
+  display: flex;
+}
+.section-header-content {
+  flex-grow: 1;
+  align-items: center;
+}
+/*** Form Template Items ***/
+.form-template-item {
+  display: flex;
+  align-items: center;
+  padding: 7px 6px;
+  font-size: 14px;
+  font-weight: 600;
+  cursor: grab;
+  background-color: #fff;
+  border: 1px solid #e1e1e1;
+  border-left-width: 3px;
+  border-radius: 3px;
+  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
+  transition: all 108ms cubic-bezier(0.2, 0.2, 0.38, 0.9);
+  transform: scale(1);
+}
+.form-template-item > .fa {
+  margin-right: 6px;
+}
+.form-template-item > .icon {
+  width: 18px;
+  height: 18px;
+  margin-right: 3px;
+}
+.form-template-item > .text {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.form-template-item:hover {
+  border-color: #6bac43;
+  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
+  transform: scale(1.02);
+}
+.form-template-item.form-template-item-section {
+  border-left-color: #009ce3;
+}
+.block-instance.form-list .panel-body {
+  flex: 1 0 0;
+  overflow: hidden;
+}
+.block-instance.form-list .filter-options,
+.block-instance.form-list .form-category-display {
+  overflow-y: auto;
+}
+.block-instance.form-list .filter-options {
+  min-width: 320px;
+  padding: 0 !important;
+}
+.block-instance.form-list .filter-options .category-header {
+  padding: 18px 18px 12px;
+}
+@media (max-width: 991px) {
+  .block-instance.form-list .filter-options {
+    border-right: 0;
+    border-bottom: 1px solid #85c161;
+  }
+}
+.block-instance.form-list .form-actions {
+  margin-top: 12px;
+}
+.block-instance.form-list .btn-link-spaced {
+  padding: 0;
+  margin-right: 8px;
+}
+.block-instance.form-list .btn-link-spaced + .btn-link-spaced {
+  margin-left: 8px;
+}
+.ant-select.form-control {
+  padding: 0;
+}
+.ant-select.form-control .ant-select-selector {
+  height: 54px !important;
+  padding: 12px 24px !important;
+  border-radius: 8px !important;
+  margin: 0 !important;
+  background-color: initial !important;
+  border: none !important;
+  box-shadow: none !important;
+}
+.ant-select.form-control .ant-select-selector .ant-select-selection-item {
+  display: inline-flex;
+  align-items: center;
+}
+.input-group .ant-select.ant-select-focused {
+  z-index: 3;
+}
+.ant-select.ant-select-focused:not(.ant-select-disabled).form-control {
+  border: 1px solid #66afe9;
+  outline: none;
+  box-shadow: var(--focus-state-shadow);
+}
+.ant-select.ant-select-focused:not(.ant-select-disabled).form-control .ant-select-selector {
+  border: none;
+  outline: none;
+  box-shadow: none;
+}
+.ant-select.form-control .ant-select-arrow,
+.ant-select.form-control .ant-select-clear {
+  width: 16px;
+  height: 16px;
+  font-size: 16px;
+}
+.ant-select.ant-select-multiple.form-control,
+.ant-select.ant-select-multiple.form-control .ant-select-selector {
+  height: initial;
+  min-height: 54px;
+}
+.ant-select-clear {
+  right: 30px;
+}
+/*
+    Used to manage styles for specific blocks.
+
+    1. Error Page
+    2. Blank Page
+    3. Exception Page
+*/
+.error-wrap {
+  max-width: 450px;
+  margin: 0 auto;
+  text-align: center;
+}
+.error-wrap h1 {
+  font-size: 45px;
+}
+.error-wrap .error-icon {
+  margin: 15px;
+  font-size: 256px;
+  line-height: 256px;
+  opacity: 0.7;
+}
+.error-wrap .error-icon.info {
+  color: #1698da;
+}
+.error-wrap .error-icon.warning {
+  color: #f0ad4e;
+}
+.error-wrap .error-icon.danger {
+  color: #c64f55;
+}
+.error-details pre {
+  color: #b94a48;
+  background-color: transparent;
+  border: 0;
+}
+.rock-blank {
+  background-color: #fff;
+}
+.rock-blank main.container {
+  padding: 12px;
+  margin: 0;
+}
+.exception-table {
+  word-break: break-all;
+  word-wrap: break-word;
+}
+.exception-table td {
+  min-width: 200px;
+  vertical-align: text-top;
+}
+.exceptionDetail-stackTrace-hide {
+  display: none;
+}
+.exceptionDetail-stackTrace-show {
+  display: table-row;
+}
+.exceptionDetail-stackTrace-show pre {
+  padding: 0;
+  color: inherit;
+  background-color: transparent;
+  border-color: transparent;
+}
+/*
+    Used to manage styles related to Rock's internal scrollbar
+
+*/
+.scroll-container {
+  clear: both;
+}
+.scroll-container .viewport {
+  position: relative;
+  overflow: hidden;
+}
+.scroll-container .overview {
+  position: absolute;
+  top: 0;
+  left: 0;
+  list-style: none;
+}
+.scroll-container .track {
+  position: relative;
+  padding: 0;
+  background-color: #aaa;
+  border-radius: 4px;
+}
+.scroll-container .thumb {
+  position: absolute;
+  overflow: hidden;
+  cursor: pointer;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  -khtml-user-select: none;
+  user-select: none;
+  background-color: #ccc;
+  border-radius: 120px;
+  -webkit-touch-callout: none;
+}
+.scroll-container .disable {
+  display: none;
+}
+.scroll-container-vertical {
+  width: 520px;
+}
+.scroll-container-vertical .viewport {
+  width: 500px;
+  height: 375px;
+}
+.scroll-container-vertical .overview {
+  width: 100%;
+}
+.scroll-container-vertical .scrollbar {
+  position: relative;
+  float: right;
+  width: 15px;
+  height: 120px;
+}
+.scroll-container-vertical .track {
+  width: 1px;
+  height: 100%;
+  border-radius: 4px;
+}
+.scroll-container-vertical .thumb {
+  top: 0;
+  width: 13px;
+  height: 20px;
+  margin-left: -6px;
+}
+.scroll-container-horizontal {
+  width: 100%;
+  margin: 0;
+}
+.scroll-container-horizontal .viewport {
+  width: 100%;
+  min-height: 200px;
+}
+.scroll-container-horizontal .scrollbar {
+  position: relative;
+  width: 100%;
+  height: 15px;
+  padding: 0 15px;
+}
+.scroll-container-horizontal .track {
+  width: 100%;
+  height: 1px;
+  padding: 0 1px;
+}
+.scroll-container-horizontal .thumb {
+  width: 20px;
+  height: 13px;
+  margin-top: -6px;
+  border-radius: 10px;
+}
+.noSelect {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+/*
+
+  Used to provide extensible classes for plugin developers to use to help them match the themes they are running in
+
+*/
+.primary-color {
+  color: #fff;
+  background-color: #6bac43;
+}
+.theme-color-1 {
+  color: #fff;
+  background-color: #6bac43;
+}
+.theme-color-1-bordered {
+  color: #fff;
+  background-color: #6bac43;
+  border: 1px solid #548735;
+}
+.theme-color-2 {
+  color: #cfcfcf;
+  background-color: #1c1c1c;
+}
+.theme-color-2-bordered {
+  color: #cfcfcf;
+  background-color: #1c1c1c;
+  border: 1px solid #020202;
+}
+.theme-color-3 {
+  color: #1b2c11;
+  background-color: #a2d085;
+}
+.theme-color-3-bordered {
+  color: #1b2c11;
+  background-color: #a2d085;
+  border: 1px solid #85c161;
+}
+.theme-color-4 {
+  color: #fff;
+  background-color: #1c683e;
+}
+.theme-color-4-bordered {
+  color: #fff;
+  background-color: #1c683e;
+  border: 1px solid #114026;
+}
+.theme-color-5 {
+  color: #609a3c;
+  background-color: #daeccf;
+}
+.theme-color-5-bordered {
+  color: #609a3c;
+  background-color: #daeccf;
+  border: 1px solid #bedeaa;
+}
+.theme-color-6 {
+  color: #77ba4e;
+  background-color: #e8f3e1;
+}
+.theme-color-6-bordered {
+  color: #77ba4e;
+  background-color: #e8f3e1;
+  border: 1px solid #cce5bc;
+}
+.theme-color-7 {
+  color: #fff;
+  background-color: #ac4385;
+}
+.theme-color-7-bordered {
+  color: #fff;
+  background-color: #ac4385;
+  border: 1px solid #873569;
+}
+.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-top {
+  vertical-align: text-top !important;
+}
+.align-text-bottom {
+  vertical-align: text-bottom !important;
+}
+.bg-primary {
+  background-color: #6bac43 !important;
+}
+.bg-success {
+  background-color: #6bac43 !important;
+}
+.bg-info {
+  background-color: #1698da !important;
+}
+.bg-warning {
+  background-color: #f0ad4e !important;
+}
+.bg-danger {
+  background-color: #c64f55 !important;
+}
+.bg-critical {
+  background-color: #ee7624 !important;
+}
+.bg-body,
+.bg-color {
+  background-color: #fff !important;
+}
+.border {
+  border: 1px solid #000 !important;
+}
+.border-top {
+  border-top: 1px solid #000 !important;
+}
+.border-right {
+  border-right: 1px solid #000 !important;
+}
+.border-bottom {
+  border-bottom: 1px solid #000 !important;
+}
+.border-left {
+  border-left: 1px solid #000 !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: #6bac43 !important;
+}
+.border-success {
+  border-color: #6bac43 !important;
+}
+.border-danger {
+  border-color: #c64f55 !important;
+}
+.border-warning {
+  border-color: #f0ad4e !important;
+}
+.border-info {
+  border-color: #1698da !important;
+}
+.border-critical {
+  border-color: #ee7624 !important;
+}
+.border-panel {
+  border-color: #85c161 !important;
+}
+.rounded {
+  border-radius: 8px !important;
+}
+.rounded-sm {
+  border-radius: 4px !important;
+}
+.rounded-lg {
+  border-radius: 16px !important;
+}
+.rounded-circle {
+  border-radius: 50% !important;
+}
+.rounded-pill {
+  border-radius: 999px !important;
+}
+.rounded-0 {
+  border-radius: 0 !important;
+}
+.rounded-top {
+  border-top-left-radius: 8px !important;
+  border-top-right-radius: 8px !important;
+}
+.rounded-right {
+  border-top-right-radius: 8px !important;
+  border-bottom-right-radius: 8px !important;
+}
+.rounded-bottom {
+  border-bottom-right-radius: 8px !important;
+  border-bottom-left-radius: 8px !important;
+}
+.rounded-left {
+  border-top-left-radius: 8px !important;
+  border-bottom-left-radius: 8px !important;
+}
+.card {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  min-width: 0;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: border-box;
+  border: 1px solid #ddd;
+  border-radius: 8px;
+}
+.card > hr {
+  margin-right: 0;
+  margin-left: 0;
+}
+.card > .list-group:first-child .list-group-item:first-child {
+  border-top-left-radius: 8px;
+  border-top-right-radius: 8px;
+}
+.card > .list-group:last-child .list-group-item:last-child {
+  border-bottom-right-radius: 8px;
+  border-bottom-left-radius: 8px;
+}
+.card-body {
+  flex: 1 1 auto;
+  min-height: 1px;
+  padding: 1.25rem 1.25rem;
+}
+.card-title {
+  margin-top: 0;
+  margin-bottom: 0.75rem;
+}
+.card-subtitle {
+  margin-top: -0.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: 0.75rem 1.25rem;
+  margin-top: 0;
+  margin-bottom: 0;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-bottom: 1px solid #ddd;
+}
+.card-header:first-child {
+  border-radius: calc(8px - 1px) calc(8px - 1px) 0 0;
+}
+.card-header + .list-group .list-group-item:first-child {
+  border-top: 0;
+}
+.card-footer {
+  padding: 0.75rem 1.25rem;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-top: 1px solid #ddd;
+}
+.card-footer:last-child {
+  border-radius: 0 0 calc(8px - 1px) calc(8px - 1px);
+}
+.card-header-tabs {
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  margin-right: -0.625rem;
+  margin-bottom: -0.75rem;
+  margin-left: -0.625rem;
+  border-bottom: 0;
+}
+.card-header-pills {
+  margin-right: -0.625rem;
+  margin-left: -0.625rem;
+}
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1.25rem;
+}
+.card-img,
+.card-img-top,
+.card-img-bottom {
+  flex-shrink: 0;
+  width: 100%;
+}
+.card-img,
+.card-img-top {
+  border-top-left-radius: calc(8px - 1px);
+  border-top-right-radius: calc(8px - 1px);
+}
+.card-img,
+.card-img-bottom {
+  border-bottom-right-radius: calc(8px - 1px);
+  border-bottom-left-radius: calc(8px - 1px);
+}
+.card-deck .card {
+  margin-bottom: 15px;
+}
+@media (min-width: 576px) {
+  .card-deck {
+    display: flex;
+    flex-flow: row wrap;
+    margin-right: -15px;
+    margin-left: -15px;
+  }
+  .card-deck .card {
+    flex: 1 0 0%;
+    margin-right: 15px;
+    margin-bottom: 0;
+    margin-left: 15px;
+  }
+}
+.card-group > .card {
+  margin-bottom: 15px;
+}
+@media (min-width: 576px) {
+  .card-group {
+    display: flex;
+    flex-flow: row wrap;
+  }
+  .card-group > .card {
+    flex: 1 0 0%;
+    margin-bottom: 0;
+  }
+  .card-group > .card + .card {
+    margin-left: 0;
+    border-left: 0;
+  }
+}
+.accordion > .card {
+  overflow: hidden;
+}
+.accordion > .card:not(:last-of-type) {
+  border-bottom: 0;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.accordion > .card:not(:first-of-type) {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.accordion > .card > .card-header {
+  margin-bottom: -1px;
+  border-radius: 0;
+}
+.card-sm .card-body {
+  padding: 0.75rem 0.75rem;
+}
+.card-schedule {
+  min-height: 108px;
+  margin-bottom: 16px;
+  border-radius: 16px;
+}
+.card-schedule .card-body {
+  padding-right: 0;
+}
+.card-schedule .card-title {
+  font-size: 23px;
+}
+.card-schedule .schedule-date {
+  font-weight: 600;
+}
+.card-schedule .schedule-occurrence,
+.card-schedule .schedule-occurrence-schedule {
+  display: block;
+}
+.card-schedule .schedule-confirm {
+  display: flex;
+  flex-basis: 180px;
+  flex-wrap: wrap;
+  align-items: center;
+  align-self: center;
+  justify-content: flex-end;
+  margin-right: 0.75rem;
+}
+.card-schedule .schedule-confirm .btn-primary {
+  margin: 4px 0 4px 8px;
+}
+.card-schedule.schedule-unavailable {
+  background: #f2f2f2;
+}
+.bg-transparent {
+  background-color: transparent !important;
+}
+.bg-current {
+  background-color: currentColor !important;
+}
+.bg-black {
+  background-color: #000 !important;
+}
+.bg-white {
+  background-color: #fff !important;
+}
+.bg-gray-100 {
+  background-color: #f8f9fa !important;
+}
+.bg-gray-200 {
+  background-color: #e9ecef !important;
+}
+.bg-gray-300 {
+  background-color: #dee2e6 !important;
+}
+.bg-gray-400 {
+  background-color: #ced4da !important;
+}
+.bg-gray-500 {
+  background-color: #adb5bd !important;
+}
+.bg-gray-600 {
+  background-color: #6c757d !important;
+}
+.bg-gray-700 {
+  background-color: #495057 !important;
+}
+.bg-gray-800 {
+  background-color: #343a40 !important;
+}
+.bg-gray-900 {
+  background-color: #212529 !important;
+}
+.bg-red-100 {
+  background-color: #fff5f5 !important;
+}
+.bg-red-200 {
+  background-color: #fed7d7 !important;
+}
+.bg-red-300 {
+  background-color: #feb2b2 !important;
+}
+.bg-red-400 {
+  background-color: #fc8181 !important;
+}
+.bg-red-500 {
+  background-color: #f56565 !important;
+}
+.bg-red-600 {
+  background-color: #e53e3e !important;
+}
+.bg-red-700 {
+  background-color: #c53030 !important;
+}
+.bg-red-800 {
+  background-color: #9b2c2c !important;
+}
+.bg-red-900 {
+  background-color: #742a2a !important;
+}
+.bg-orange-100 {
+  background-color: #fffaf0 !important;
+}
+.bg-orange-200 {
+  background-color: #feebc8 !important;
+}
+.bg-orange-300 {
+  background-color: #fbd38d !important;
+}
+.bg-orange-400 {
+  background-color: #f6ad55 !important;
+}
+.bg-orange-500 {
+  background-color: #ed8936 !important;
+}
+.bg-orange-600 {
+  background-color: #dd6b20 !important;
+}
+.bg-orange-700 {
+  background-color: #c05621 !important;
+}
+.bg-orange-800 {
+  background-color: #9c4221 !important;
+}
+.bg-orange-900 {
+  background-color: #7b341e !important;
+}
+.bg-yellow-100 {
+  background-color: #fffff0 !important;
+}
+.bg-yellow-200 {
+  background-color: #fefcbf !important;
+}
+.bg-yellow-300 {
+  background-color: #faf089 !important;
+}
+.bg-yellow-400 {
+  background-color: #f6e05e !important;
+}
+.bg-yellow-500 {
+  background-color: #ecc94b !important;
+}
+.bg-yellow-600 {
+  background-color: #d69e2e !important;
+}
+.bg-yellow-700 {
+  background-color: #b7791f !important;
+}
+.bg-yellow-800 {
+  background-color: #975a16 !important;
+}
+.bg-yellow-900 {
+  background-color: #744210 !important;
+}
+.bg-green-100 {
+  background-color: #f0fff4 !important;
+}
+.bg-green-200 {
+  background-color: #c6f6d5 !important;
+}
+.bg-green-300 {
+  background-color: #9ae6b4 !important;
+}
+.bg-green-400 {
+  background-color: #68d391 !important;
+}
+.bg-green-500 {
+  background-color: #48bb78 !important;
+}
+.bg-green-600 {
+  background-color: #38a169 !important;
+}
+.bg-green-700 {
+  background-color: #2f855a !important;
+}
+.bg-green-800 {
+  background-color: #276749 !important;
+}
+.bg-green-900 {
+  background-color: #22543d !important;
+}
+.bg-teal-100 {
+  background-color: #e6fffa !important;
+}
+.bg-teal-200 {
+  background-color: #b2f5ea !important;
+}
+.bg-teal-300 {
+  background-color: #81e6d9 !important;
+}
+.bg-teal-400 {
+  background-color: #4fd1c5 !important;
+}
+.bg-teal-500 {
+  background-color: #38b2ac !important;
+}
+.bg-teal-600 {
+  background-color: #319795 !important;
+}
+.bg-teal-700 {
+  background-color: #2c7a7b !important;
+}
+.bg-teal-800 {
+  background-color: #285e61 !important;
+}
+.bg-teal-900 {
+  background-color: #234e52 !important;
+}
+.bg-blue-100 {
+  background-color: #ebf8ff !important;
+}
+.bg-blue-200 {
+  background-color: #bee3f8 !important;
+}
+.bg-blue-300 {
+  background-color: #90cdf4 !important;
+}
+.bg-blue-400 {
+  background-color: #63b3ed !important;
+}
+.bg-blue-500 {
+  background-color: #4299e1 !important;
+}
+.bg-blue-600 {
+  background-color: #3182ce !important;
+}
+.bg-blue-700 {
+  background-color: #2b6cb0 !important;
+}
+.bg-blue-800 {
+  background-color: #2c5282 !important;
+}
+.bg-blue-900 {
+  background-color: #2a4365 !important;
+}
+.bg-indigo-100 {
+  background-color: #ebf4ff !important;
+}
+.bg-indigo-200 {
+  background-color: #c3dafe !important;
+}
+.bg-indigo-300 {
+  background-color: #a3bffa !important;
+}
+.bg-indigo-400 {
+  background-color: #7f9cf5 !important;
+}
+.bg-indigo-500 {
+  background-color: #667eea !important;
+}
+.bg-indigo-600 {
+  background-color: #5a67d8 !important;
+}
+.bg-indigo-700 {
+  background-color: #4c51bf !important;
+}
+.bg-indigo-800 {
+  background-color: #434190 !important;
+}
+.bg-indigo-900 {
+  background-color: #3c366b !important;
+}
+.bg-purple-100 {
+  background-color: #faf5ff !important;
+}
+.bg-purple-200 {
+  background-color: #e9d8fd !important;
+}
+.bg-purple-300 {
+  background-color: #d6bcfa !important;
+}
+.bg-purple-400 {
+  background-color: #b794f4 !important;
+}
+.bg-purple-500 {
+  background-color: #9f7aea !important;
+}
+.bg-purple-600 {
+  background-color: #805ad5 !important;
+}
+.bg-purple-700 {
+  background-color: #6b46c1 !important;
+}
+.bg-purple-800 {
+  background-color: #553c9a !important;
+}
+.bg-purple-900 {
+  background-color: #44337a !important;
+}
+.bg-pink-100 {
+  background-color: #fff5f7 !important;
+}
+.bg-pink-200 {
+  background-color: #fed7e2 !important;
+}
+.bg-pink-300 {
+  background-color: #fbb6ce !important;
+}
+.bg-pink-400 {
+  background-color: #f687b3 !important;
+}
+.bg-pink-500 {
+  background-color: #ed64a6 !important;
+}
+.bg-pink-600 {
+  background-color: #d53f8c !important;
+}
+.bg-pink-700 {
+  background-color: #b83280 !important;
+}
+.bg-pink-800 {
+  background-color: #97266d !important;
+}
+.bg-pink-900 {
+  background-color: #702459 !important;
+}
+.text-transparent {
+  color: transparent !important;
+}
+.text-current {
+  color: currentColor !important;
+}
+.text-black {
+  color: #000 !important;
+}
+.text-white {
+  color: #fff !important;
+}
+.text-gray-100 {
+  color: #f8f9fa !important;
+}
+.text-gray-200 {
+  color: #e9ecef !important;
+}
+.text-gray-300 {
+  color: #dee2e6 !important;
+}
+.text-gray-400 {
+  color: #ced4da !important;
+}
+.text-gray-500 {
+  color: #adb5bd !important;
+}
+.text-gray-600 {
+  color: #6c757d !important;
+}
+.text-gray-700 {
+  color: #495057 !important;
+}
+.text-gray-800 {
+  color: #343a40 !important;
+}
+.text-gray-900 {
+  color: #212529 !important;
+}
+.text-red-100 {
+  color: #fff5f5 !important;
+}
+.text-red-200 {
+  color: #fed7d7 !important;
+}
+.text-red-300 {
+  color: #feb2b2 !important;
+}
+.text-red-400 {
+  color: #fc8181 !important;
+}
+.text-red-500 {
+  color: #f56565 !important;
+}
+.text-red-600 {
+  color: #e53e3e !important;
+}
+.text-red-700 {
+  color: #c53030 !important;
+}
+.text-red-800 {
+  color: #9b2c2c !important;
+}
+.text-red-900 {
+  color: #742a2a !important;
+}
+.text-orange-100 {
+  color: #fffaf0 !important;
+}
+.text-orange-200 {
+  color: #feebc8 !important;
+}
+.text-orange-300 {
+  color: #fbd38d !important;
+}
+.text-orange-400 {
+  color: #f6ad55 !important;
+}
+.text-orange-500 {
+  color: #ed8936 !important;
+}
+.text-orange-600 {
+  color: #dd6b20 !important;
+}
+.text-orange-700 {
+  color: #c05621 !important;
+}
+.text-orange-800 {
+  color: #9c4221 !important;
+}
+.text-orange-900 {
+  color: #7b341e !important;
+}
+.text-yellow-100 {
+  color: #fffff0 !important;
+}
+.text-yellow-200 {
+  color: #fefcbf !important;
+}
+.text-yellow-300 {
+  color: #faf089 !important;
+}
+.text-yellow-400 {
+  color: #f6e05e !important;
+}
+.text-yellow-500 {
+  color: #ecc94b !important;
+}
+.text-yellow-600 {
+  color: #d69e2e !important;
+}
+.text-yellow-700 {
+  color: #b7791f !important;
+}
+.text-yellow-800 {
+  color: #975a16 !important;
+}
+.text-yellow-900 {
+  color: #744210 !important;
+}
+.text-green-100 {
+  color: #f0fff4 !important;
+}
+.text-green-200 {
+  color: #c6f6d5 !important;
+}
+.text-green-300 {
+  color: #9ae6b4 !important;
+}
+.text-green-400 {
+  color: #68d391 !important;
+}
+.text-green-500 {
+  color: #48bb78 !important;
+}
+.text-green-600 {
+  color: #38a169 !important;
+}
+.text-green-700 {
+  color: #2f855a !important;
+}
+.text-green-800 {
+  color: #276749 !important;
+}
+.text-green-900 {
+  color: #22543d !important;
+}
+.text-teal-100 {
+  color: #e6fffa !important;
+}
+.text-teal-200 {
+  color: #b2f5ea !important;
+}
+.text-teal-300 {
+  color: #81e6d9 !important;
+}
+.text-teal-400 {
+  color: #4fd1c5 !important;
+}
+.text-teal-500 {
+  color: #38b2ac !important;
+}
+.text-teal-600 {
+  color: #319795 !important;
+}
+.text-teal-700 {
+  color: #2c7a7b !important;
+}
+.text-teal-800 {
+  color: #285e61 !important;
+}
+.text-teal-900 {
+  color: #234e52 !important;
+}
+.text-blue-100 {
+  color: #ebf8ff !important;
+}
+.text-blue-200 {
+  color: #bee3f8 !important;
+}
+.text-blue-300 {
+  color: #90cdf4 !important;
+}
+.text-blue-400 {
+  color: #63b3ed !important;
+}
+.text-blue-500 {
+  color: #4299e1 !important;
+}
+.text-blue-600 {
+  color: #3182ce !important;
+}
+.text-blue-700 {
+  color: #2b6cb0 !important;
+}
+.text-blue-800 {
+  color: #2c5282 !important;
+}
+.text-blue-900 {
+  color: #2a4365 !important;
+}
+.text-indigo-100 {
+  color: #ebf4ff !important;
+}
+.text-indigo-200 {
+  color: #c3dafe !important;
+}
+.text-indigo-300 {
+  color: #a3bffa !important;
+}
+.text-indigo-400 {
+  color: #7f9cf5 !important;
+}
+.text-indigo-500 {
+  color: #667eea !important;
+}
+.text-indigo-600 {
+  color: #5a67d8 !important;
+}
+.text-indigo-700 {
+  color: #4c51bf !important;
+}
+.text-indigo-800 {
+  color: #434190 !important;
+}
+.text-indigo-900 {
+  color: #3c366b !important;
+}
+.text-purple-100 {
+  color: #faf5ff !important;
+}
+.text-purple-200 {
+  color: #e9d8fd !important;
+}
+.text-purple-300 {
+  color: #d6bcfa !important;
+}
+.text-purple-400 {
+  color: #b794f4 !important;
+}
+.text-purple-500 {
+  color: #9f7aea !important;
+}
+.text-purple-600 {
+  color: #805ad5 !important;
+}
+.text-purple-700 {
+  color: #6b46c1 !important;
+}
+.text-purple-800 {
+  color: #553c9a !important;
+}
+.text-purple-900 {
+  color: #44337a !important;
+}
+.text-pink-100 {
+  color: #fff5f7 !important;
+}
+.text-pink-200 {
+  color: #fed7e2 !important;
+}
+.text-pink-300 {
+  color: #fbb6ce !important;
+}
+.text-pink-400 {
+  color: #f687b3 !important;
+}
+.text-pink-500 {
+  color: #ed64a6 !important;
+}
+.text-pink-600 {
+  color: #d53f8c !important;
+}
+.text-pink-700 {
+  color: #b83280 !important;
+}
+.text-pink-800 {
+  color: #97266d !important;
+}
+.text-pink-900 {
+  color: #702459 !important;
+}
+.border-transparent {
+  border-color: transparent !important;
+}
+.border-black {
+  border-color: #000 !important;
+}
+.border-white {
+  border-color: #fff !important;
+}
+.border-gray-100 {
+  border-color: #f7fafc !important;
+}
+.border-gray-200 {
+  border-color: #edf2f7 !important;
+}
+.border-gray-300 {
+  border-color: #e2e8f0 !important;
+}
+.border-gray-400 {
+  border-color: #cbd5e0 !important;
+}
+.border-gray-500 {
+  border-color: #a0aec0 !important;
+}
+.border-gray-600 {
+  border-color: #718096 !important;
+}
+.border-gray-700 {
+  border-color: #4a5568 !important;
+}
+.border-gray-800 {
+  border-color: #2d3748 !important;
+}
+.border-gray-900 {
+  border-color: #1a202c !important;
+}
+.border-red-100 {
+  border-color: #fff5f5 !important;
+}
+.border-red-200 {
+  border-color: #fed7d7 !important;
+}
+.border-red-300 {
+  border-color: #feb2b2 !important;
+}
+.border-red-400 {
+  border-color: #fc8181 !important;
+}
+.border-red-500 {
+  border-color: #f56565 !important;
+}
+.border-red-600 {
+  border-color: #e53e3e !important;
+}
+.border-red-700 {
+  border-color: #c53030 !important;
+}
+.border-red-800 {
+  border-color: #9b2c2c !important;
+}
+.border-red-900 {
+  border-color: #742a2a !important;
+}
+.border-orange-100 {
+  border-color: #fffaf0 !important;
+}
+.border-orange-200 {
+  border-color: #feebc8 !important;
+}
+.border-orange-300 {
+  border-color: #fbd38d !important;
+}
+.border-orange-400 {
+  border-color: #f6ad55 !important;
+}
+.border-orange-500 {
+  border-color: #ed8936 !important;
+}
+.border-orange-600 {
+  border-color: #dd6b20 !important;
+}
+.border-orange-700 {
+  border-color: #c05621 !important;
+}
+.border-orange-800 {
+  border-color: #9c4221 !important;
+}
+.border-orange-900 {
+  border-color: #7b341e !important;
+}
+.border-yellow-100 {
+  border-color: #fffff0 !important;
+}
+.border-yellow-200 {
+  border-color: #fefcbf !important;
+}
+.border-yellow-300 {
+  border-color: #faf089 !important;
+}
+.border-yellow-400 {
+  border-color: #f6e05e !important;
+}
+.border-yellow-500 {
+  border-color: #ecc94b !important;
+}
+.border-yellow-600 {
+  border-color: #d69e2e !important;
+}
+.border-yellow-700 {
+  border-color: #b7791f !important;
+}
+.border-yellow-800 {
+  border-color: #975a16 !important;
+}
+.border-yellow-900 {
+  border-color: #744210 !important;
+}
+.border-green-100 {
+  border-color: #f0fff4 !important;
+}
+.border-green-200 {
+  border-color: #c6f6d5 !important;
+}
+.border-green-300 {
+  border-color: #9ae6b4 !important;
+}
+.border-green-400 {
+  border-color: #68d391 !important;
+}
+.border-green-500 {
+  border-color: #48bb78 !important;
+}
+.border-green-600 {
+  border-color: #38a169 !important;
+}
+.border-green-700 {
+  border-color: #2f855a !important;
+}
+.border-green-800 {
+  border-color: #276749 !important;
+}
+.border-green-900 {
+  border-color: #22543d !important;
+}
+.border-teal-100 {
+  border-color: #e6fffa !important;
+}
+.border-teal-200 {
+  border-color: #b2f5ea !important;
+}
+.border-teal-300 {
+  border-color: #81e6d9 !important;
+}
+.border-teal-400 {
+  border-color: #4fd1c5 !important;
+}
+.border-teal-500 {
+  border-color: #38b2ac !important;
+}
+.border-teal-600 {
+  border-color: #319795 !important;
+}
+.border-teal-700 {
+  border-color: #2c7a7b !important;
+}
+.border-teal-800 {
+  border-color: #285e61 !important;
+}
+.border-teal-900 {
+  border-color: #234e52 !important;
+}
+.border-blue-100 {
+  border-color: #ebf8ff !important;
+}
+.border-blue-200 {
+  border-color: #bee3f8 !important;
+}
+.border-blue-300 {
+  border-color: #90cdf4 !important;
+}
+.border-blue-400 {
+  border-color: #63b3ed !important;
+}
+.border-blue-500 {
+  border-color: #4299e1 !important;
+}
+.border-blue-600 {
+  border-color: #3182ce !important;
+}
+.border-blue-700 {
+  border-color: #2b6cb0 !important;
+}
+.border-blue-800 {
+  border-color: #2c5282 !important;
+}
+.border-blue-900 {
+  border-color: #2a4365 !important;
+}
+.border-indigo-100 {
+  border-color: #ebf4ff !important;
+}
+.border-indigo-200 {
+  border-color: #c3dafe !important;
+}
+.border-indigo-300 {
+  border-color: #a3bffa !important;
+}
+.border-indigo-400 {
+  border-color: #7f9cf5 !important;
+}
+.border-indigo-500 {
+  border-color: #667eea !important;
+}
+.border-indigo-600 {
+  border-color: #5a67d8 !important;
+}
+.border-indigo-700 {
+  border-color: #4c51bf !important;
+}
+.border-indigo-800 {
+  border-color: #434190 !important;
+}
+.border-indigo-900 {
+  border-color: #3c366b !important;
+}
+.border-purple-100 {
+  border-color: #faf5ff !important;
+}
+.border-purple-200 {
+  border-color: #e9d8fd !important;
+}
+.border-purple-300 {
+  border-color: #d6bcfa !important;
+}
+.border-purple-400 {
+  border-color: #b794f4 !important;
+}
+.border-purple-500 {
+  border-color: #9f7aea !important;
+}
+.border-purple-600 {
+  border-color: #805ad5 !important;
+}
+.border-purple-700 {
+  border-color: #6b46c1 !important;
+}
+.border-purple-800 {
+  border-color: #553c9a !important;
+}
+.border-purple-900 {
+  border-color: #44337a !important;
+}
+.border-pink-100 {
+  border-color: #fff5f7 !important;
+}
+.border-pink-200 {
+  border-color: #fed7e2 !important;
+}
+.border-pink-300 {
+  border-color: #fbb6ce !important;
+}
+.border-pink-400 {
+  border-color: #f687b3 !important;
+}
+.border-pink-500 {
+  border-color: #ed64a6 !important;
+}
+.border-pink-600 {
+  border-color: #d53f8c !important;
+}
+.border-pink-700 {
+  border-color: #b83280 !important;
+}
+.border-pink-800 {
+  border-color: #97266d !important;
+}
+.border-pink-900 {
+  border-color: #702459 !important;
+}
+.cursor-auto {
+  cursor: auto;
+}
+.cursor-default {
+  cursor: default;
+}
+.cursor-pointer,
+.clickable {
+  cursor: pointer;
+}
+.cursor-wait {
+  cursor: wait;
+}
+.cursor-text {
+  cursor: text;
+}
+.cursor-move {
+  cursor: move;
+}
+.cursor-not-allowed {
+  cursor: not-allowed;
+}
+.cursor-grab {
+  cursor: -webkit-grab;
+  cursor: -moz-grab;
+  cursor: grab;
+}
+.cursor-grabbing {
+  cursor: -moz-grabbing;
+  cursor: -webkit-grabbing;
+  cursor: grabbing;
+}
+.cursor-zoom-in {
+  cursor: -webkit-zoom-in;
+  cursor: -moz-zoom-in;
+  cursor: zoom-in;
+}
+.cursor-zoom-out {
+  cursor: -webkit-zoom-out;
+  cursor: -moz-zoom-out;
+  cursor: zoom-out;
+}
+.row-eq-height {
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  height: 100%;
+}
+@media (min-width: 768px) {
+  .row-eq-height-md {
+    display: -webkit-flex;
+    display: -ms-flexbox;
+    display: flex;
+    height: 100%;
+  }
+}
+.stretched-link::after {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1;
+  content: "";
+}
+.hover-underline:hover {
+  text-decoration: underline;
+}
+.object-contain {
+  object-fit: contain !important;
+}
+.object-cover {
+  object-fit: cover !important;
+}
+.object-fill {
+  object-fit: fill !important;
+}
+.object-none {
+  object-fit: none !important;
+}
+.object-scale-down {
+  object-fit: scale-down !important;
+}
+.o-00,
+.o-0 {
+  opacity: 0 !important;
+}
+.o-10 {
+  opacity: 0.1 !important;
+}
+.o-20 {
+  opacity: 0.2 !important;
+}
+.o-30 {
+  opacity: 0.3 !important;
+}
+.o-40 {
+  opacity: 0.4 !important;
+}
+.o-50 {
+  opacity: 0.5 !important;
+}
+.o-60 {
+  opacity: 0.6 !important;
+}
+.o-70 {
+  opacity: 0.7 !important;
+}
+.o-80 {
+  opacity: 0.8 !important;
+}
+.o-90 {
+  opacity: 0.9 !important;
+}
+.o-100 {
+  opacity: 1 !important;
+}
+.position-static {
+  position: static !important;
+}
+.position-relative {
+  position: relative !important;
+}
+.position-absolute {
+  position: absolute !important;
+}
+.position-fixed {
+  position: fixed !important;
+}
+.fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1050;
+}
+.fixed-bottom {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1050;
+}
+.inset-0 {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+}
+.top-0 {
+  top: 0;
+}
+.right-0 {
+  right: 0;
+}
+.left-0 {
+  left: 0;
+}
+.bottom-0 {
+  bottom: 0;
+}
+.shadow {
+  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
+}
+.shadow-md {
+  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
+}
+.shadow-lg {
+  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
+}
+.shadow-xl {
+  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
+}
+.shadow-2xl {
+  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
+}
+.shadow-inner {
+  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) !important;
+}
+.shadow-none {
+  box-shadow: none !important;
+}
+.w-1 {
+  width: 1% !important;
+}
+.w-20 {
+  width: 20% !important;
+}
+.w-25,
+.width-quarter {
+  width: 25% !important;
+}
+.width-third {
+  width: 33.33333% !important;
+}
+.w-50,
+.width-half {
+  width: 50% !important;
+}
+.w-75 {
+  width: 75% !important;
+}
+.w-100,
+.width-full {
+  width: 100% !important;
+}
+.w-auto {
+  width: auto !important;
+}
+.h-25 {
+  height: 25% !important;
+}
+.h-50 {
+  height: 50% !important;
+}
+.h-75 {
+  height: 75% !important;
+}
+.h-100 {
+  height: 100% !important;
+}
+.h-auto {
+  height: auto !important;
+}
+.mw-100 {
+  max-width: 100% !important;
+}
+.mh-100 {
+  max-height: 100% !important;
+}
+.min-w-0 {
+  min-width: 0 !important;
+}
+.min-vw-100 {
+  min-width: 100vw !important;
+}
+.min-vh-100 {
+  min-height: 100vh !important;
+}
+.vw-100 {
+  width: 100vw !important;
+}
+.vh-100 {
+  height: 100vh !important;
+}
+.padding-all-none {
+  padding: 0 !important;
+}
+.padding-all-sm {
+  padding: 8px !important;
+}
+.padding-all-md {
+  padding: 15px !important;
+}
+.padding-all-lg {
+  padding: 30px !important;
+}
+.padding-all-xl {
+  padding: 60px !important;
+}
+.margin-all-none {
+  margin: 0 !important;
+}
+.margin-all-sm {
+  margin: 8px !important;
+}
+.margin-all-md {
+  margin: 15px !important;
+}
+.margin-all-lg {
+  margin: 30px !important;
+}
+.margin-all-xl {
+  margin: 60px !important;
+}
+.padding-v-none {
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
+.padding-v-sm {
+  padding-top: 8px !important;
+  padding-bottom: 8px !important;
+}
+.padding-v-md {
+  padding-top: 15px !important;
+  padding-bottom: 15px !important;
+}
+.padding-v-lg {
+  padding-top: 30px !important;
+  padding-bottom: 30px !important;
+}
+.padding-v-xl {
+  padding-top: 60px !important;
+  padding-bottom: 60px !important;
+}
+.margin-v-none {
+  margin-top: 0 !important;
+  margin-bottom: 0 !important;
+}
+.margin-v-sm {
+  margin-top: 8px !important;
+  margin-bottom: 8px !important;
+}
+.margin-v-md {
+  margin-top: 15px !important;
+  margin-bottom: 15px !important;
+}
+.margin-v-lg {
+  margin-top: 30px !important;
+  margin-bottom: 30px !important;
+}
+.margin-v-xl {
+  margin-top: 60px !important;
+  margin-bottom: 60px !important;
+}
+.padding-h-none {
+  padding-right: 0 !important;
+  padding-left: 0 !important;
+}
+.padding-h-sm {
+  padding-right: 8px !important;
+  padding-left: 8px !important;
+}
+.padding-h-md {
+  padding-right: 15px !important;
+  padding-left: 15px !important;
+}
+.padding-h-lg {
+  padding-right: 30px !important;
+  padding-left: 30px !important;
+}
+.padding-h-xl {
+  padding-right: 60px !important;
+  padding-left: 60px !important;
+}
+.margin-h-none {
+  margin-right: 0 !important;
+  margin-left: 0 !important;
+}
+.margin-h-sm {
+  margin-right: 8px !important;
+  margin-left: 8px !important;
+}
+.margin-h-md {
+  margin-right: 15px !important;
+  margin-left: 15px !important;
+}
+.margin-h-lg {
+  margin-right: 30px !important;
+  margin-left: 30px !important;
+}
+.margin-h-xl {
+  margin-right: 60px !important;
+  margin-left: 60px !important;
+}
+.padding-t-none {
+  padding-top: 0 !important;
+}
+.padding-t-sm {
+  padding-top: 8px !important;
+}
+.padding-t-md {
+  padding-top: 15px !important;
+}
+.padding-t-lg {
+  padding-top: 30px !important;
+}
+.padding-t-xl {
+  padding-top: 60px !important;
+}
+.margin-t-none {
+  margin-top: 0 !important;
+}
+.margin-t-sm {
+  margin-top: 8px !important;
+}
+.margin-t-md {
+  margin-top: 15px !important;
+}
+.margin-t-lg {
+  margin-top: 30px !important;
+}
+.margin-t-xl {
+  margin-top: 60px !important;
+}
+.padding-b-none {
+  padding-bottom: 0 !important;
+}
+.padding-b-sm {
+  padding-bottom: 8px !important;
+}
+.padding-b-md {
+  padding-bottom: 15px !important;
+}
+.padding-b-lg {
+  padding-bottom: 30px !important;
+}
+.padding-b-xl {
+  padding-bottom: 60px !important;
+}
+.margin-b-none {
+  margin-bottom: 0 !important;
+}
+.margin-b-sm {
+  margin-bottom: 8px !important;
+}
+.margin-b-md {
+  margin-bottom: 15px !important;
+}
+.margin-b-lg {
+  margin-bottom: 30px !important;
+}
+.margin-b-xl {
+  margin-bottom: 60px !important;
+}
+.padding-r-none {
+  padding-right: 0 !important;
+}
+.padding-r-sm {
+  padding-right: 8px !important;
+}
+.padding-r-md {
+  padding-right: 15px !important;
+}
+.padding-r-lg {
+  padding-right: 30px !important;
+}
+.padding-r-xl {
+  padding-right: 60px !important;
+}
+.margin-r-none {
+  margin-right: 0 !important;
+}
+.margin-r-sm {
+  margin-right: 8px !important;
+}
+.margin-r-md {
+  margin-right: 15px !important;
+}
+.margin-r-lg {
+  margin-right: 30px !important;
+}
+.margin-r-xl {
+  margin-right: 60px !important;
+}
+.padding-l-none {
+  padding-left: 0 !important;
+}
+.padding-l-sm {
+  padding-left: 8px !important;
+}
+.padding-l-md {
+  padding-left: 15px !important;
+}
+.padding-l-lg {
+  padding-left: 30px !important;
+}
+.padding-l-xl {
+  padding-left: 60px !important;
+}
+.margin-l-none {
+  margin-left: 0 !important;
+}
+.margin-l-sm {
+  margin-left: 8px !important;
+}
+.margin-l-md {
+  margin-left: 15px !important;
+}
+.margin-l-lg {
+  margin-left: 30px !important;
+}
+.margin-l-xl {
+  margin-left: 60px !important;
+}
+.mx--panel-body {
+  margin-right: -15px;
+  margin-left: -15px;
+}
+.font-monospace {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+.text-justify {
+  text-align: justify !important;
+}
+.text-wrap {
+  white-space: normal !important;
+}
+.text-nowrap {
+  white-space: nowrap !important;
+}
+.text-truncate {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.overflow-auto {
+  overflow: auto !important;
+}
+.overflow-hidden {
+  overflow: hidden !important;
+}
+.overflow-visible {
+  overflow: visible !important;
+}
+.overflow-y-auto {
+  overflow-y: auto !important;
+}
+.overflow-y-hidden {
+  overflow-y: hidden !important;
+}
+.text-break {
+  word-break: break-word !important;
+  overflow-wrap: break-word !important;
+}
+.text-lowercase {
+  text-transform: lowercase !important;
+}
+.text-uppercase {
+  text-transform: uppercase !important;
+}
+.text-capitalize {
+  text-transform: capitalize !important;
+}
+.font-weight-light,
+.text-light {
+  font-weight: 300 !important;
+}
+.font-weight-lighter {
+  font-weight: 200 !important;
+}
+.font-weight-normal,
+.text-normal {
+  font-weight: 400 !important;
+}
+.font-weight-semibold {
+  font-weight: 600 !important;
+}
+.font-weight-bold,
+.text-semibold {
+  font-weight: 700 !important;
+}
+.font-weight-bolder,
+.text-bold {
+  font-weight: 900 !important;
+}
+.font-italic {
+  font-style: italic !important;
+}
+.text-primary {
+  color: #6bac43 !important;
+}
+.text-success {
+  color: #6bac43 !important;
+}
+.text-danger {
+  color: #c64f55 !important;
+}
+.text-warning {
+  color: #f0ad4e !important;
+}
+.text-info {
+  color: #1698da !important;
+}
+.text-color,
+.text-body {
+  color: #1c1c1c !important;
+}
+.text-muted {
+  color: #ccc !important;
+}
+.text-black-50 {
+  color: rgba(0, 0, 0, 0.5) !important;
+}
+.text-white-50 {
+  color: rgba(255, 255, 255, 0.5) !important;
+}
+.text-decoration-none {
+  text-decoration: none !important;
+}
+.text-linethrough {
+  text-decoration: line-through !important;
+}
+.text-reset {
+  color: inherit !important;
+}
+.text-shadow-light {
+  text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
+}
+.text-shadow {
+  text-shadow: -1px -1px 0 #777, 1px -1px 0 #777, -1px 1px 0 #777, 1px 1px 0 #777;
+}
+.text-shadow-dark {
+  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
+}
+.leading-tight {
+  line-height: 0.9 !important;
+}
+.leading-snug {
+  line-height: 1 !important;
+}
+.leading-normal {
+  line-height: 1.5 !important;
+}
+.leading-relaxed {
+  line-height: 1.75 !important;
+}
+.leading-loose {
+  line-height: 2 !important;
+}
+.select-none,
+.unselectable {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.select-text {
+  -webkit-user-select: text;
+  -moz-user-select: text;
+  -ms-user-select: text;
+  user-select: text;
+}
+.select-all {
+  -webkit-user-select: all;
+  -moz-user-select: all;
+  -ms-user-select: all;
+  user-select: all;
+}
+.select-auto {
+  -webkit-user-select: auto;
+  -moz-user-select: auto;
+  -ms-user-select: auto;
+  user-select: auto;
+}
+.-z-10 {
+  z-index: -10 !important;
+}
+.z-0 {
+  z-index: 0 !important;
+}
+.z-10 {
+  z-index: 10 !important;
+}
+.z-20 {
+  z-index: 20 !important;
+}
+.z-30 {
+  z-index: 30 !important;
+}
+.z-40 {
+  z-index: 40 !important;
+}
+.z-50 {
+  z-index: 50 !important;
+}
+.z-auto {
+  z-index: auto !important;
+}
+.is-inactive {
+  opacity: 0.6;
+}
+.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: flex !important;
+}
+.d-inline-flex {
+  display: inline-flex !important;
+}
+.d-grid {
+  display: grid !important;
+}
+.d-inline-grid {
+  display: inline-grid !important;
+}
+.col {
+  flex: 1 0 0;
+  padding-right: 15px;
+  padding-left: 15px;
+}
+.flex-row {
+  flex-direction: row !important;
+}
+.flex-column {
+  flex-direction: column !important;
+}
+.flex-row-reverse {
+  flex-direction: row-reverse !important;
+}
+.flex-column-reverse {
+  flex-direction: column-reverse !important;
+}
+.flex-wrap {
+  flex-wrap: wrap !important;
+}
+.flex-nowrap {
+  flex-wrap: nowrap !important;
+}
+.flex-wrap-reverse {
+  flex-wrap: wrap-reverse !important;
+}
+.flex-eq {
+  flex-basis: 0 !important;
+  flex-grow: 1 !important;
+}
+.flex-fill {
+  flex: 1 1 auto !important;
+}
+.flex-grow-0 {
+  flex-grow: 0 !important;
+}
+.flex-grow-1 {
+  flex-grow: 1 !important;
+}
+.flex-shrink-0 {
+  flex-shrink: 0 !important;
+}
+.flex-shrink-1 {
+  flex-shrink: 1 !important;
+}
+.justify-content-start {
+  justify-content: flex-start !important;
+}
+.justify-content-end {
+  justify-content: flex-end !important;
+}
+.justify-content-center {
+  justify-content: center !important;
+}
+.justify-content-between {
+  justify-content: space-between !important;
+}
+.justify-content-around {
+  justify-content: space-around !important;
+}
+.justify-content-evenly {
+  justify-content: space-evenly !important;
+}
+.align-items-start {
+  align-items: flex-start !important;
+}
+.align-items-end {
+  align-items: flex-end !important;
+}
+.align-items-center {
+  align-items: center !important;
+}
+.align-items-baseline {
+  align-items: baseline !important;
+}
+.align-items-stretch {
+  align-items: stretch !important;
+}
+.align-content-start {
+  align-content: flex-start !important;
+}
+.align-content-end {
+  align-content: flex-end !important;
+}
+.align-content-center {
+  align-content: center !important;
+}
+.align-content-between {
+  align-content: space-between !important;
+}
+.align-content-around {
+  align-content: space-around !important;
+}
+.align-content-stretch {
+  align-content: stretch !important;
+}
+.align-self-auto {
+  align-self: auto !important;
+}
+.align-self-start {
+  align-self: flex-start !important;
+}
+.align-self-end {
+  align-self: flex-end !important;
+}
+.align-self-center {
+  align-self: center !important;
+}
+.align-self-baseline {
+  align-self: baseline !important;
+}
+.align-self-stretch {
+  align-self: stretch !important;
+}
+.order-first {
+  order: -1 !important;
+}
+.order-0 {
+  order: 0 !important;
+}
+.order-1 {
+  order: 1 !important;
+}
+.order-2 {
+  order: 2 !important;
+}
+.order-3 {
+  order: 3 !important;
+}
+.order-4 {
+  order: 4 !important;
+}
+.order-5 {
+  order: 5 !important;
+}
+.order-last {
+  order: 6 !important;
+}
+.m-0 {
+  margin: 0 !important;
+}
+.m-1 {
+  margin: 4px !important;
+}
+.m-2 {
+  margin: 8px !important;
+}
+.m-3 {
+  margin: 16px !important;
+}
+.m-4 {
+  margin: 24px !important;
+}
+.m-5 {
+  margin: 32px !important;
+}
+.m-auto {
+  margin: auto !important;
+}
+.mx-0 {
+  margin-right: 0 !important;
+  margin-left: 0 !important;
+}
+.mx-1 {
+  margin-right: 4px !important;
+  margin-left: 4px !important;
+}
+.mx-2 {
+  margin-right: 8px !important;
+  margin-left: 8px !important;
+}
+.mx-3 {
+  margin-right: 16px !important;
+  margin-left: 16px !important;
+}
+.mx-4 {
+  margin-right: 24px !important;
+  margin-left: 24px !important;
+}
+.mx-5 {
+  margin-right: 32px !important;
+  margin-left: 32px !important;
+}
+.mx-auto {
+  margin-right: auto !important;
+  margin-left: auto !important;
+}
+.my-0 {
+  margin-top: 0 !important;
+  margin-bottom: 0 !important;
+}
+.my-1 {
+  margin-top: 4px !important;
+  margin-bottom: 4px !important;
+}
+.my-2 {
+  margin-top: 8px !important;
+  margin-bottom: 8px !important;
+}
+.my-3 {
+  margin-top: 16px !important;
+  margin-bottom: 16px !important;
+}
+.my-4 {
+  margin-top: 24px !important;
+  margin-bottom: 24px !important;
+}
+.my-5 {
+  margin-top: 32px !important;
+  margin-bottom: 32px !important;
+}
+.my-auto {
+  margin-top: auto !important;
+  margin-bottom: auto !important;
+}
+.mt-0 {
+  margin-top: 0 !important;
+}
+.mt-1 {
+  margin-top: 4px !important;
+}
+.mt-2 {
+  margin-top: 8px !important;
+}
+.mt-3 {
+  margin-top: 16px !important;
+}
+.mt-4 {
+  margin-top: 24px !important;
+}
+.mt-5 {
+  margin-top: 32px !important;
+}
+.mt-auto {
+  margin-top: auto !important;
+}
+.mr-0 {
+  margin-right: 0 !important;
+}
+.mr-1 {
+  margin-right: 4px !important;
+}
+.mr-2 {
+  margin-right: 8px !important;
+}
+.mr-3 {
+  margin-right: 16px !important;
+}
+.mr-4 {
+  margin-right: 24px !important;
+}
+.mr-5 {
+  margin-right: 32px !important;
+}
+.mr-auto {
+  margin-right: auto !important;
+}
+.mb-0 {
+  margin-bottom: 0 !important;
+}
+.mb-1 {
+  margin-bottom: 4px !important;
+}
+.mb-2 {
+  margin-bottom: 8px !important;
+}
+.mb-3 {
+  margin-bottom: 16px !important;
+}
+.mb-4 {
+  margin-bottom: 24px !important;
+}
+.mb-5 {
+  margin-bottom: 32px !important;
+}
+.mb-auto {
+  margin-bottom: auto !important;
+}
+.ml-0 {
+  margin-left: 0 !important;
+}
+.ml-1 {
+  margin-left: 4px !important;
+}
+.ml-2 {
+  margin-left: 8px !important;
+}
+.ml-3 {
+  margin-left: 16px !important;
+}
+.ml-4 {
+  margin-left: 24px !important;
+}
+.ml-5 {
+  margin-left: 32px !important;
+}
+.ml-auto {
+  margin-left: auto !important;
+}
+.p-0 {
+  padding: 0 !important;
+}
+.p-1 {
+  padding: 4px !important;
+}
+.p-2 {
+  padding: 8px !important;
+}
+.p-3 {
+  padding: 16px !important;
+}
+.p-4 {
+  padding: 24px !important;
+}
+.p-5 {
+  padding: 32px !important;
+}
+.px-0 {
+  padding-right: 0 !important;
+  padding-left: 0 !important;
+}
+.px-1 {
+  padding-right: 4px !important;
+  padding-left: 4px !important;
+}
+.px-2 {
+  padding-right: 8px !important;
+  padding-left: 8px !important;
+}
+.px-3 {
+  padding-right: 16px !important;
+  padding-left: 16px !important;
+}
+.px-4 {
+  padding-right: 24px !important;
+  padding-left: 24px !important;
+}
+.px-5 {
+  padding-right: 32px !important;
+  padding-left: 32px !important;
+}
+.py-0 {
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
+.py-1 {
+  padding-top: 4px !important;
+  padding-bottom: 4px !important;
+}
+.py-2 {
+  padding-top: 8px !important;
+  padding-bottom: 8px !important;
+}
+.py-3 {
+  padding-top: 16px !important;
+  padding-bottom: 16px !important;
+}
+.py-4 {
+  padding-top: 24px !important;
+  padding-bottom: 24px !important;
+}
+.py-5 {
+  padding-top: 32px !important;
+  padding-bottom: 32px !important;
+}
+.pt-0 {
+  padding-top: 0 !important;
+}
+.pt-1 {
+  padding-top: 4px !important;
+}
+.pt-2 {
+  padding-top: 8px !important;
+}
+.pt-3 {
+  padding-top: 16px !important;
+}
+.pt-4 {
+  padding-top: 24px !important;
+}
+.pt-5 {
+  padding-top: 32px !important;
+}
+.pr-0 {
+  padding-right: 0 !important;
+}
+.pr-1 {
+  padding-right: 4px !important;
+}
+.pr-2 {
+  padding-right: 8px !important;
+}
+.pr-3 {
+  padding-right: 16px !important;
+}
+.pr-4 {
+  padding-right: 24px !important;
+}
+.pr-5 {
+  padding-right: 32px !important;
+}
+.pb-0 {
+  padding-bottom: 0 !important;
+}
+.pb-1 {
+  padding-bottom: 4px !important;
+}
+.pb-2 {
+  padding-bottom: 8px !important;
+}
+.pb-3 {
+  padding-bottom: 16px !important;
+}
+.pb-4 {
+  padding-bottom: 24px !important;
+}
+.pb-5 {
+  padding-bottom: 32px !important;
+}
+.pl-0 {
+  padding-left: 0 !important;
+}
+.pl-1 {
+  padding-left: 4px !important;
+}
+.pl-2 {
+  padding-left: 8px !important;
+}
+.pl-3 {
+  padding-left: 16px !important;
+}
+.pl-4 {
+  padding-left: 24px !important;
+}
+.pl-5 {
+  padding-left: 32px !important;
+}
+.text-left {
+  text-align: left !important;
+}
+.text-right {
+  text-align: right !important;
+}
+.text-center {
+  text-align: center !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: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-sm-grid {
+    display: grid !important;
+  }
+  .d-sm-inline-grid {
+    display: inline-grid !important;
+  }
+  .col-sm {
+    flex: 1 0 0;
+    padding-right: 15px;
+    padding-left: 15px;
+  }
+  .flex-sm-row {
+    flex-direction: row !important;
+  }
+  .flex-sm-column {
+    flex-direction: column !important;
+  }
+  .flex-sm-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-sm-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-sm-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-sm-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-sm-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-sm-eq {
+    flex-basis: 0 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-sm-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-sm-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-sm-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-sm-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-sm-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .justify-content-sm-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-sm-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-sm-center {
+    justify-content: center !important;
+  }
+  .justify-content-sm-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-sm-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-sm-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-sm-start {
+    align-items: flex-start !important;
+  }
+  .align-items-sm-end {
+    align-items: flex-end !important;
+  }
+  .align-items-sm-center {
+    align-items: center !important;
+  }
+  .align-items-sm-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-sm-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-sm-start {
+    align-content: flex-start !important;
+  }
+  .align-content-sm-end {
+    align-content: flex-end !important;
+  }
+  .align-content-sm-center {
+    align-content: center !important;
+  }
+  .align-content-sm-between {
+    align-content: space-between !important;
+  }
+  .align-content-sm-around {
+    align-content: space-around !important;
+  }
+  .align-content-sm-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-sm-auto {
+    align-self: auto !important;
+  }
+  .align-self-sm-start {
+    align-self: flex-start !important;
+  }
+  .align-self-sm-end {
+    align-self: flex-end !important;
+  }
+  .align-self-sm-center {
+    align-self: center !important;
+  }
+  .align-self-sm-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-sm-stretch {
+    align-self: stretch !important;
+  }
+  .order-sm-first {
+    order: -1 !important;
+  }
+  .order-sm-0 {
+    order: 0 !important;
+  }
+  .order-sm-1 {
+    order: 1 !important;
+  }
+  .order-sm-2 {
+    order: 2 !important;
+  }
+  .order-sm-3 {
+    order: 3 !important;
+  }
+  .order-sm-4 {
+    order: 4 !important;
+  }
+  .order-sm-5 {
+    order: 5 !important;
+  }
+  .order-sm-last {
+    order: 6 !important;
+  }
+  .m-sm-0 {
+    margin: 0 !important;
+  }
+  .m-sm-1 {
+    margin: 4px !important;
+  }
+  .m-sm-2 {
+    margin: 8px !important;
+  }
+  .m-sm-3 {
+    margin: 16px !important;
+  }
+  .m-sm-4 {
+    margin: 24px !important;
+  }
+  .m-sm-5 {
+    margin: 32px !important;
+  }
+  .m-sm-auto {
+    margin: auto !important;
+  }
+  .mx-sm-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-sm-1 {
+    margin-right: 4px !important;
+    margin-left: 4px !important;
+  }
+  .mx-sm-2 {
+    margin-right: 8px !important;
+    margin-left: 8px !important;
+  }
+  .mx-sm-3 {
+    margin-right: 16px !important;
+    margin-left: 16px !important;
+  }
+  .mx-sm-4 {
+    margin-right: 24px !important;
+    margin-left: 24px !important;
+  }
+  .mx-sm-5 {
+    margin-right: 32px !important;
+    margin-left: 32px !important;
+  }
+  .mx-sm-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-sm-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-sm-1 {
+    margin-top: 4px !important;
+    margin-bottom: 4px !important;
+  }
+  .my-sm-2 {
+    margin-top: 8px !important;
+    margin-bottom: 8px !important;
+  }
+  .my-sm-3 {
+    margin-top: 16px !important;
+    margin-bottom: 16px !important;
+  }
+  .my-sm-4 {
+    margin-top: 24px !important;
+    margin-bottom: 24px !important;
+  }
+  .my-sm-5 {
+    margin-top: 32px !important;
+    margin-bottom: 32px !important;
+  }
+  .my-sm-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-sm-0 {
+    margin-top: 0 !important;
+  }
+  .mt-sm-1 {
+    margin-top: 4px !important;
+  }
+  .mt-sm-2 {
+    margin-top: 8px !important;
+  }
+  .mt-sm-3 {
+    margin-top: 16px !important;
+  }
+  .mt-sm-4 {
+    margin-top: 24px !important;
+  }
+  .mt-sm-5 {
+    margin-top: 32px !important;
+  }
+  .mt-sm-auto {
+    margin-top: auto !important;
+  }
+  .mr-sm-0 {
+    margin-right: 0 !important;
+  }
+  .mr-sm-1 {
+    margin-right: 4px !important;
+  }
+  .mr-sm-2 {
+    margin-right: 8px !important;
+  }
+  .mr-sm-3 {
+    margin-right: 16px !important;
+  }
+  .mr-sm-4 {
+    margin-right: 24px !important;
+  }
+  .mr-sm-5 {
+    margin-right: 32px !important;
+  }
+  .mr-sm-auto {
+    margin-right: auto !important;
+  }
+  .mb-sm-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-sm-1 {
+    margin-bottom: 4px !important;
+  }
+  .mb-sm-2 {
+    margin-bottom: 8px !important;
+  }
+  .mb-sm-3 {
+    margin-bottom: 16px !important;
+  }
+  .mb-sm-4 {
+    margin-bottom: 24px !important;
+  }
+  .mb-sm-5 {
+    margin-bottom: 32px !important;
+  }
+  .mb-sm-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-sm-0 {
+    margin-left: 0 !important;
+  }
+  .ml-sm-1 {
+    margin-left: 4px !important;
+  }
+  .ml-sm-2 {
+    margin-left: 8px !important;
+  }
+  .ml-sm-3 {
+    margin-left: 16px !important;
+  }
+  .ml-sm-4 {
+    margin-left: 24px !important;
+  }
+  .ml-sm-5 {
+    margin-left: 32px !important;
+  }
+  .ml-sm-auto {
+    margin-left: auto !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .p-sm-1 {
+    padding: 4px !important;
+  }
+  .p-sm-2 {
+    padding: 8px !important;
+  }
+  .p-sm-3 {
+    padding: 16px !important;
+  }
+  .p-sm-4 {
+    padding: 24px !important;
+  }
+  .p-sm-5 {
+    padding: 32px !important;
+  }
+  .px-sm-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-sm-1 {
+    padding-right: 4px !important;
+    padding-left: 4px !important;
+  }
+  .px-sm-2 {
+    padding-right: 8px !important;
+    padding-left: 8px !important;
+  }
+  .px-sm-3 {
+    padding-right: 16px !important;
+    padding-left: 16px !important;
+  }
+  .px-sm-4 {
+    padding-right: 24px !important;
+    padding-left: 24px !important;
+  }
+  .px-sm-5 {
+    padding-right: 32px !important;
+    padding-left: 32px !important;
+  }
+  .py-sm-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-sm-1 {
+    padding-top: 4px !important;
+    padding-bottom: 4px !important;
+  }
+  .py-sm-2 {
+    padding-top: 8px !important;
+    padding-bottom: 8px !important;
+  }
+  .py-sm-3 {
+    padding-top: 16px !important;
+    padding-bottom: 16px !important;
+  }
+  .py-sm-4 {
+    padding-top: 24px !important;
+    padding-bottom: 24px !important;
+  }
+  .py-sm-5 {
+    padding-top: 32px !important;
+    padding-bottom: 32px !important;
+  }
+  .pt-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pt-sm-1 {
+    padding-top: 4px !important;
+  }
+  .pt-sm-2 {
+    padding-top: 8px !important;
+  }
+  .pt-sm-3 {
+    padding-top: 16px !important;
+  }
+  .pt-sm-4 {
+    padding-top: 24px !important;
+  }
+  .pt-sm-5 {
+    padding-top: 32px !important;
+  }
+  .pr-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pr-sm-1 {
+    padding-right: 4px !important;
+  }
+  .pr-sm-2 {
+    padding-right: 8px !important;
+  }
+  .pr-sm-3 {
+    padding-right: 16px !important;
+  }
+  .pr-sm-4 {
+    padding-right: 24px !important;
+  }
+  .pr-sm-5 {
+    padding-right: 32px !important;
+  }
+  .pb-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-sm-1 {
+    padding-bottom: 4px !important;
+  }
+  .pb-sm-2 {
+    padding-bottom: 8px !important;
+  }
+  .pb-sm-3 {
+    padding-bottom: 16px !important;
+  }
+  .pb-sm-4 {
+    padding-bottom: 24px !important;
+  }
+  .pb-sm-5 {
+    padding-bottom: 32px !important;
+  }
+  .pl-sm-0 {
+    padding-left: 0 !important;
+  }
+  .pl-sm-1 {
+    padding-left: 4px !important;
+  }
+  .pl-sm-2 {
+    padding-left: 8px !important;
+  }
+  .pl-sm-3 {
+    padding-left: 16px !important;
+  }
+  .pl-sm-4 {
+    padding-left: 24px !important;
+  }
+  .pl-sm-5 {
+    padding-left: 32px !important;
+  }
+  .text-sm-left,
+  .sm-text-left {
+    text-align: left !important;
+  }
+  .text-sm-right,
+  .sm-text-right {
+    text-align: right !important;
+  }
+  .text-sm-center,
+  .sm-text-right {
+    text-align: center !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: flex !important;
+  }
+  .d-md-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-md-grid {
+    display: grid !important;
+  }
+  .d-md-inline-grid {
+    display: inline-grid !important;
+  }
+  .col-md {
+    flex: 1 0 0;
+    padding-right: 15px;
+    padding-left: 15px;
+  }
+  .flex-md-row {
+    flex-direction: row !important;
+  }
+  .flex-md-column {
+    flex-direction: column !important;
+  }
+  .flex-md-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-md-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-md-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-md-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-md-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-md-eq {
+    flex-basis: 0 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-md-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-md-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-md-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-md-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-md-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .justify-content-md-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-md-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-md-center {
+    justify-content: center !important;
+  }
+  .justify-content-md-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-md-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-md-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-md-start {
+    align-items: flex-start !important;
+  }
+  .align-items-md-end {
+    align-items: flex-end !important;
+  }
+  .align-items-md-center {
+    align-items: center !important;
+  }
+  .align-items-md-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-md-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-md-start {
+    align-content: flex-start !important;
+  }
+  .align-content-md-end {
+    align-content: flex-end !important;
+  }
+  .align-content-md-center {
+    align-content: center !important;
+  }
+  .align-content-md-between {
+    align-content: space-between !important;
+  }
+  .align-content-md-around {
+    align-content: space-around !important;
+  }
+  .align-content-md-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-md-auto {
+    align-self: auto !important;
+  }
+  .align-self-md-start {
+    align-self: flex-start !important;
+  }
+  .align-self-md-end {
+    align-self: flex-end !important;
+  }
+  .align-self-md-center {
+    align-self: center !important;
+  }
+  .align-self-md-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-md-stretch {
+    align-self: stretch !important;
+  }
+  .order-md-first {
+    order: -1 !important;
+  }
+  .order-md-0 {
+    order: 0 !important;
+  }
+  .order-md-1 {
+    order: 1 !important;
+  }
+  .order-md-2 {
+    order: 2 !important;
+  }
+  .order-md-3 {
+    order: 3 !important;
+  }
+  .order-md-4 {
+    order: 4 !important;
+  }
+  .order-md-5 {
+    order: 5 !important;
+  }
+  .order-md-last {
+    order: 6 !important;
+  }
+  .m-md-0 {
+    margin: 0 !important;
+  }
+  .m-md-1 {
+    margin: 4px !important;
+  }
+  .m-md-2 {
+    margin: 8px !important;
+  }
+  .m-md-3 {
+    margin: 16px !important;
+  }
+  .m-md-4 {
+    margin: 24px !important;
+  }
+  .m-md-5 {
+    margin: 32px !important;
+  }
+  .m-md-auto {
+    margin: auto !important;
+  }
+  .mx-md-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-md-1 {
+    margin-right: 4px !important;
+    margin-left: 4px !important;
+  }
+  .mx-md-2 {
+    margin-right: 8px !important;
+    margin-left: 8px !important;
+  }
+  .mx-md-3 {
+    margin-right: 16px !important;
+    margin-left: 16px !important;
+  }
+  .mx-md-4 {
+    margin-right: 24px !important;
+    margin-left: 24px !important;
+  }
+  .mx-md-5 {
+    margin-right: 32px !important;
+    margin-left: 32px !important;
+  }
+  .mx-md-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-md-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-md-1 {
+    margin-top: 4px !important;
+    margin-bottom: 4px !important;
+  }
+  .my-md-2 {
+    margin-top: 8px !important;
+    margin-bottom: 8px !important;
+  }
+  .my-md-3 {
+    margin-top: 16px !important;
+    margin-bottom: 16px !important;
+  }
+  .my-md-4 {
+    margin-top: 24px !important;
+    margin-bottom: 24px !important;
+  }
+  .my-md-5 {
+    margin-top: 32px !important;
+    margin-bottom: 32px !important;
+  }
+  .my-md-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-md-0 {
+    margin-top: 0 !important;
+  }
+  .mt-md-1 {
+    margin-top: 4px !important;
+  }
+  .mt-md-2 {
+    margin-top: 8px !important;
+  }
+  .mt-md-3 {
+    margin-top: 16px !important;
+  }
+  .mt-md-4 {
+    margin-top: 24px !important;
+  }
+  .mt-md-5 {
+    margin-top: 32px !important;
+  }
+  .mt-md-auto {
+    margin-top: auto !important;
+  }
+  .mr-md-0 {
+    margin-right: 0 !important;
+  }
+  .mr-md-1 {
+    margin-right: 4px !important;
+  }
+  .mr-md-2 {
+    margin-right: 8px !important;
+  }
+  .mr-md-3 {
+    margin-right: 16px !important;
+  }
+  .mr-md-4 {
+    margin-right: 24px !important;
+  }
+  .mr-md-5 {
+    margin-right: 32px !important;
+  }
+  .mr-md-auto {
+    margin-right: auto !important;
+  }
+  .mb-md-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-md-1 {
+    margin-bottom: 4px !important;
+  }
+  .mb-md-2 {
+    margin-bottom: 8px !important;
+  }
+  .mb-md-3 {
+    margin-bottom: 16px !important;
+  }
+  .mb-md-4 {
+    margin-bottom: 24px !important;
+  }
+  .mb-md-5 {
+    margin-bottom: 32px !important;
+  }
+  .mb-md-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-md-0 {
+    margin-left: 0 !important;
+  }
+  .ml-md-1 {
+    margin-left: 4px !important;
+  }
+  .ml-md-2 {
+    margin-left: 8px !important;
+  }
+  .ml-md-3 {
+    margin-left: 16px !important;
+  }
+  .ml-md-4 {
+    margin-left: 24px !important;
+  }
+  .ml-md-5 {
+    margin-left: 32px !important;
+  }
+  .ml-md-auto {
+    margin-left: auto !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .p-md-1 {
+    padding: 4px !important;
+  }
+  .p-md-2 {
+    padding: 8px !important;
+  }
+  .p-md-3 {
+    padding: 16px !important;
+  }
+  .p-md-4 {
+    padding: 24px !important;
+  }
+  .p-md-5 {
+    padding: 32px !important;
+  }
+  .px-md-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-md-1 {
+    padding-right: 4px !important;
+    padding-left: 4px !important;
+  }
+  .px-md-2 {
+    padding-right: 8px !important;
+    padding-left: 8px !important;
+  }
+  .px-md-3 {
+    padding-right: 16px !important;
+    padding-left: 16px !important;
+  }
+  .px-md-4 {
+    padding-right: 24px !important;
+    padding-left: 24px !important;
+  }
+  .px-md-5 {
+    padding-right: 32px !important;
+    padding-left: 32px !important;
+  }
+  .py-md-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-md-1 {
+    padding-top: 4px !important;
+    padding-bottom: 4px !important;
+  }
+  .py-md-2 {
+    padding-top: 8px !important;
+    padding-bottom: 8px !important;
+  }
+  .py-md-3 {
+    padding-top: 16px !important;
+    padding-bottom: 16px !important;
+  }
+  .py-md-4 {
+    padding-top: 24px !important;
+    padding-bottom: 24px !important;
+  }
+  .py-md-5 {
+    padding-top: 32px !important;
+    padding-bottom: 32px !important;
+  }
+  .pt-md-0 {
+    padding-top: 0 !important;
+  }
+  .pt-md-1 {
+    padding-top: 4px !important;
+  }
+  .pt-md-2 {
+    padding-top: 8px !important;
+  }
+  .pt-md-3 {
+    padding-top: 16px !important;
+  }
+  .pt-md-4 {
+    padding-top: 24px !important;
+  }
+  .pt-md-5 {
+    padding-top: 32px !important;
+  }
+  .pr-md-0 {
+    padding-right: 0 !important;
+  }
+  .pr-md-1 {
+    padding-right: 4px !important;
+  }
+  .pr-md-2 {
+    padding-right: 8px !important;
+  }
+  .pr-md-3 {
+    padding-right: 16px !important;
+  }
+  .pr-md-4 {
+    padding-right: 24px !important;
+  }
+  .pr-md-5 {
+    padding-right: 32px !important;
+  }
+  .pb-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-md-1 {
+    padding-bottom: 4px !important;
+  }
+  .pb-md-2 {
+    padding-bottom: 8px !important;
+  }
+  .pb-md-3 {
+    padding-bottom: 16px !important;
+  }
+  .pb-md-4 {
+    padding-bottom: 24px !important;
+  }
+  .pb-md-5 {
+    padding-bottom: 32px !important;
+  }
+  .pl-md-0 {
+    padding-left: 0 !important;
+  }
+  .pl-md-1 {
+    padding-left: 4px !important;
+  }
+  .pl-md-2 {
+    padding-left: 8px !important;
+  }
+  .pl-md-3 {
+    padding-left: 16px !important;
+  }
+  .pl-md-4 {
+    padding-left: 24px !important;
+  }
+  .pl-md-5 {
+    padding-left: 32px !important;
+  }
+  .text-md-left,
+  .md-text-left {
+    text-align: left !important;
+  }
+  .text-md-right,
+  .md-text-right {
+    text-align: right !important;
+  }
+  .text-md-center,
+  .md-text-right {
+    text-align: center !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: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-lg-grid {
+    display: grid !important;
+  }
+  .d-lg-inline-grid {
+    display: inline-grid !important;
+  }
+  .col-lg {
+    flex: 1 0 0;
+    padding-right: 15px;
+    padding-left: 15px;
+  }
+  .flex-lg-row {
+    flex-direction: row !important;
+  }
+  .flex-lg-column {
+    flex-direction: column !important;
+  }
+  .flex-lg-row-reverse {
+    flex-direction: row-reverse !important;
+  }
+  .flex-lg-column-reverse {
+    flex-direction: column-reverse !important;
+  }
+  .flex-lg-wrap {
+    flex-wrap: wrap !important;
+  }
+  .flex-lg-nowrap {
+    flex-wrap: nowrap !important;
+  }
+  .flex-lg-wrap-reverse {
+    flex-wrap: wrap-reverse !important;
+  }
+  .flex-lg-eq {
+    flex-basis: 0 !important;
+    flex-grow: 1 !important;
+  }
+  .flex-lg-fill {
+    flex: 1 1 auto !important;
+  }
+  .flex-lg-grow-0 {
+    flex-grow: 0 !important;
+  }
+  .flex-lg-grow-1 {
+    flex-grow: 1 !important;
+  }
+  .flex-lg-shrink-0 {
+    flex-shrink: 0 !important;
+  }
+  .flex-lg-shrink-1 {
+    flex-shrink: 1 !important;
+  }
+  .justify-content-lg-start {
+    justify-content: flex-start !important;
+  }
+  .justify-content-lg-end {
+    justify-content: flex-end !important;
+  }
+  .justify-content-lg-center {
+    justify-content: center !important;
+  }
+  .justify-content-lg-between {
+    justify-content: space-between !important;
+  }
+  .justify-content-lg-around {
+    justify-content: space-around !important;
+  }
+  .justify-content-lg-evenly {
+    justify-content: space-evenly !important;
+  }
+  .align-items-lg-start {
+    align-items: flex-start !important;
+  }
+  .align-items-lg-end {
+    align-items: flex-end !important;
+  }
+  .align-items-lg-center {
+    align-items: center !important;
+  }
+  .align-items-lg-baseline {
+    align-items: baseline !important;
+  }
+  .align-items-lg-stretch {
+    align-items: stretch !important;
+  }
+  .align-content-lg-start {
+    align-content: flex-start !important;
+  }
+  .align-content-lg-end {
+    align-content: flex-end !important;
+  }
+  .align-content-lg-center {
+    align-content: center !important;
+  }
+  .align-content-lg-between {
+    align-content: space-between !important;
+  }
+  .align-content-lg-around {
+    align-content: space-around !important;
+  }
+  .align-content-lg-stretch {
+    align-content: stretch !important;
+  }
+  .align-self-lg-auto {
+    align-self: auto !important;
+  }
+  .align-self-lg-start {
+    align-self: flex-start !important;
+  }
+  .align-self-lg-end {
+    align-self: flex-end !important;
+  }
+  .align-self-lg-center {
+    align-self: center !important;
+  }
+  .align-self-lg-baseline {
+    align-self: baseline !important;
+  }
+  .align-self-lg-stretch {
+    align-self: stretch !important;
+  }
+  .order-lg-first {
+    order: -1 !important;
+  }
+  .order-lg-0 {
+    order: 0 !important;
+  }
+  .order-lg-1 {
+    order: 1 !important;
+  }
+  .order-lg-2 {
+    order: 2 !important;
+  }
+  .order-lg-3 {
+    order: 3 !important;
+  }
+  .order-lg-4 {
+    order: 4 !important;
+  }
+  .order-lg-5 {
+    order: 5 !important;
+  }
+  .order-lg-last {
+    order: 6 !important;
+  }
+  .m-lg-0 {
+    margin: 0 !important;
+  }
+  .m-lg-1 {
+    margin: 4px !important;
+  }
+  .m-lg-2 {
+    margin: 8px !important;
+  }
+  .m-lg-3 {
+    margin: 16px !important;
+  }
+  .m-lg-4 {
+    margin: 24px !important;
+  }
+  .m-lg-5 {
+    margin: 32px !important;
+  }
+  .m-lg-auto {
+    margin: auto !important;
+  }
+  .mx-lg-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .mx-lg-1 {
+    margin-right: 4px !important;
+    margin-left: 4px !important;
+  }
+  .mx-lg-2 {
+    margin-right: 8px !important;
+    margin-left: 8px !important;
+  }
+  .mx-lg-3 {
+    margin-right: 16px !important;
+    margin-left: 16px !important;
+  }
+  .mx-lg-4 {
+    margin-right: 24px !important;
+    margin-left: 24px !important;
+  }
+  .mx-lg-5 {
+    margin-right: 32px !important;
+    margin-left: 32px !important;
+  }
+  .mx-lg-auto {
+    margin-right: auto !important;
+    margin-left: auto !important;
+  }
+  .my-lg-0 {
+    margin-top: 0 !important;
+    margin-bottom: 0 !important;
+  }
+  .my-lg-1 {
+    margin-top: 4px !important;
+    margin-bottom: 4px !important;
+  }
+  .my-lg-2 {
+    margin-top: 8px !important;
+    margin-bottom: 8px !important;
+  }
+  .my-lg-3 {
+    margin-top: 16px !important;
+    margin-bottom: 16px !important;
+  }
+  .my-lg-4 {
+    margin-top: 24px !important;
+    margin-bottom: 24px !important;
+  }
+  .my-lg-5 {
+    margin-top: 32px !important;
+    margin-bottom: 32px !important;
+  }
+  .my-lg-auto {
+    margin-top: auto !important;
+    margin-bottom: auto !important;
+  }
+  .mt-lg-0 {
+    margin-top: 0 !important;
+  }
+  .mt-lg-1 {
+    margin-top: 4px !important;
+  }
+  .mt-lg-2 {
+    margin-top: 8px !important;
+  }
+  .mt-lg-3 {
+    margin-top: 16px !important;
+  }
+  .mt-lg-4 {
+    margin-top: 24px !important;
+  }
+  .mt-lg-5 {
+    margin-top: 32px !important;
+  }
+  .mt-lg-auto {
+    margin-top: auto !important;
+  }
+  .mr-lg-0 {
+    margin-right: 0 !important;
+  }
+  .mr-lg-1 {
+    margin-right: 4px !important;
+  }
+  .mr-lg-2 {
+    margin-right: 8px !important;
+  }
+  .mr-lg-3 {
+    margin-right: 16px !important;
+  }
+  .mr-lg-4 {
+    margin-right: 24px !important;
+  }
+  .mr-lg-5 {
+    margin-right: 32px !important;
+  }
+  .mr-lg-auto {
+    margin-right: auto !important;
+  }
+  .mb-lg-0 {
+    margin-bottom: 0 !important;
+  }
+  .mb-lg-1 {
+    margin-bottom: 4px !important;
+  }
+  .mb-lg-2 {
+    margin-bottom: 8px !important;
+  }
+  .mb-lg-3 {
+    margin-bottom: 16px !important;
+  }
+  .mb-lg-4 {
+    margin-bottom: 24px !important;
+  }
+  .mb-lg-5 {
+    margin-bottom: 32px !important;
+  }
+  .mb-lg-auto {
+    margin-bottom: auto !important;
+  }
+  .ml-lg-0 {
+    margin-left: 0 !important;
+  }
+  .ml-lg-1 {
+    margin-left: 4px !important;
+  }
+  .ml-lg-2 {
+    margin-left: 8px !important;
+  }
+  .ml-lg-3 {
+    margin-left: 16px !important;
+  }
+  .ml-lg-4 {
+    margin-left: 24px !important;
+  }
+  .ml-lg-5 {
+    margin-left: 32px !important;
+  }
+  .ml-lg-auto {
+    margin-left: auto !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .p-lg-1 {
+    padding: 4px !important;
+  }
+  .p-lg-2 {
+    padding: 8px !important;
+  }
+  .p-lg-3 {
+    padding: 16px !important;
+  }
+  .p-lg-4 {
+    padding: 24px !important;
+  }
+  .p-lg-5 {
+    padding: 32px !important;
+  }
+  .px-lg-0 {
+    padding-right: 0 !important;
+    padding-left: 0 !important;
+  }
+  .px-lg-1 {
+    padding-right: 4px !important;
+    padding-left: 4px !important;
+  }
+  .px-lg-2 {
+    padding-right: 8px !important;
+    padding-left: 8px !important;
+  }
+  .px-lg-3 {
+    padding-right: 16px !important;
+    padding-left: 16px !important;
+  }
+  .px-lg-4 {
+    padding-right: 24px !important;
+    padding-left: 24px !important;
+  }
+  .px-lg-5 {
+    padding-right: 32px !important;
+    padding-left: 32px !important;
+  }
+  .py-lg-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-lg-1 {
+    padding-top: 4px !important;
+    padding-bottom: 4px !important;
+  }
+  .py-lg-2 {
+    padding-top: 8px !important;
+    padding-bottom: 8px !important;
+  }
+  .py-lg-3 {
+    padding-top: 16px !important;
+    padding-bottom: 16px !important;
+  }
+  .py-lg-4 {
+    padding-top: 24px !important;
+    padding-bottom: 24px !important;
+  }
+  .py-lg-5 {
+    padding-top: 32px !important;
+    padding-bottom: 32px !important;
+  }
+  .pt-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pt-lg-1 {
+    padding-top: 4px !important;
+  }
+  .pt-lg-2 {
+    padding-top: 8px !important;
+  }
+  .pt-lg-3 {
+    padding-top: 16px !important;
+  }
+  .pt-lg-4 {
+    padding-top: 24px !important;
+  }
+  .pt-lg-5 {
+    padding-top: 32px !important;
+  }
+  .pr-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pr-lg-1 {
+    padding-right: 4px !important;
+  }
+  .pr-lg-2 {
+    padding-right: 8px !important;
+  }
+  .pr-lg-3 {
+    padding-right: 16px !important;
+  }
+  .pr-lg-4 {
+    padding-right: 24px !important;
+  }
+  .pr-lg-5 {
+    padding-right: 32px !important;
+  }
+  .pb-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-lg-1 {
+    padding-bottom: 4px !important;
+  }
+  .pb-lg-2 {
+    padding-bottom: 8px !important;
+  }
+  .pb-lg-3 {
+    padding-bottom: 16px !important;
+  }
+  .pb-lg-4 {
+    padding-bottom: 24px !important;
+  }
+  .pb-lg-5 {
+    padding-bottom: 32px !important;
+  }
+  .pl-lg-0 {
+    padding-left: 0 !important;
+  }
+  .pl-lg-1 {
+    padding-left: 4px !important;
+  }
+  .pl-lg-2 {
+    padding-left: 8px !important;
+  }
+  .pl-lg-3 {
+    padding-left: 16px !important;
+  }
+  .pl-lg-4 {
+    padding-left: 24px !important;
+  }
+  .pl-lg-5 {
+    padding-left: 32px !important;
+  }
+  .text-lg-left,
+  .lg-text-left {
+    text-align: left !important;
+  }
+  .text-lg-right,
+  .lg-text-right {
+    text-align: right !important;
+  }
+  .text-lg-center,
+  .lg-text-right {
+    text-align: center !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: flex !important;
+  }
+  .d-print-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-print-grid {
+    display: grid !important;
+  }
+  .d-print-inline-grid {
+    display: inline-grid !important;
+  }
+}
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0;
+}
+.no-gutters > .col,
+.no-gutters > [class*="col-"] {
+  padding-right: 0;
+  padding-left: 0;
+}
+.abs-scroll-list {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  overflow: auto;
+}
+/*
+    Used to create devices using CSS.
+
+    1. Common
+    2. Mobile Phone
+    3. Tablet
+    4. Browser
+    5. SMS Sample
+
+*/
+.device {
+  position: relative;
+  margin: 0 auto;
+}
+.device-mobile {
+  width: 435px;
+  border-top: solid 24px #ddd;
+  border-right: solid 12px #ddd;
+  border-bottom: solid 48px #ddd;
+  border-left: solid 12px #ddd;
+  border-radius: 12px;
+}
+.device-mobile::before {
+  position: absolute;
+  top: 12px;
+  left: -14px;
+  display: block;
+  width: 2px;
+  height: 12px;
+  content: "";
+  background-color: #bbb;
+  border-radius: 2px 0 0 2px;
+  box-shadow: 0 0 0 0 #bbb, 0 24px 0 0 #bbb;
+}
+.device-mobile::after {
+  position: absolute;
+  bottom: -36px;
+  left: 50%;
+  display: block;
+  width: 24px;
+  height: 24px;
+  margin-left: -12px;
+  content: "";
+  background-color: #bbb;
+  border-radius: 12px;
+}
+.device-mobile .email-wrapper {
+  position: relative;
+  height: 525px;
+  padding-top: 10px;
+  border: 1px solid #ddd;
+  border-top: 0 none;
+}
+@media all and (min-width: 576px) {
+  .device-mobile {
+    width: 435px;
+    border-top: solid 36px #ddd;
+    border-right: solid 18px #ddd;
+    border-bottom: solid 72px #ddd;
+    border-left: solid 18px #ddd;
+    border-radius: 18px;
+  }
+  .device-mobile::before {
+    top: 18px;
+    left: -21px;
+    width: 3px;
+    height: 18px;
+    content: "";
+    background-color: #bbb;
+    border-radius: 3px 0 0 3px;
+    box-shadow: 0 0 0 0 #bbb, 0 36px 0 0 #bbb;
+  }
+  .device-mobile::after {
+    bottom: -54px;
+    width: 36px;
+    height: 36px;
+    margin-left: -18px;
+    content: "";
+    border-radius: 18px;
+  }
+}
+.device-tablet {
+  position: relative;
+  width: 264px;
+  border-top: solid 48px #ddd;
+  border-right: solid 12px #ddd;
+  border-bottom: solid 48px #ddd;
+  border-left: solid 12px #ddd;
+  border-radius: 12px;
+}
+.device-tablet::before {
+  position: absolute;
+  top: -26px;
+  left: 50%;
+  display: block;
+  width: 4px;
+  height: 4px;
+  margin-left: -2px;
+  content: "";
+  background-color: #bbb;
+  border-radius: 4px;
+}
+.device-tablet::after {
+  position: absolute;
+  bottom: -36px;
+  left: 50%;
+  display: block;
+  width: 24px;
+  height: 24px;
+  margin-left: -12px;
+  content: "";
+  background-color: #bbb;
+  border-radius: 12px;
+}
+@media all and (min-width: 576px) {
+  .device--tablet {
+    width: 396px;
+    border-top: solid 72px #ddd;
+    border-right: solid 18px #ddd;
+    border-bottom: solid 72px #ddd;
+    border-left: solid 18px #ddd;
+    border-radius: 18px;
+  }
+  .device--tablet::before {
+    top: -39px;
+    width: 6px;
+    height: 6px;
+    margin-left: -3px;
+    border-radius: 6px;
+  }
+  .device--tablet::after {
+    bottom: -54px;
+    width: 36px;
+    height: 36px;
+    margin-left: -18px;
+    content: "";
+    border-radius: 18px;
+  }
+}
+.device-browser {
+  width: 100%;
+  /* max-width: 100%; set max width here if you need to. */
+  border-top: solid 36px #dfdfdf;
+  border-right: solid 2px #dfdfdf;
+  border-bottom: solid 2px #dfdfdf;
+  border-left: solid 2px #dfdfdf;
+  border-radius: 4px 4px 0 0;
+}
+.device-browser::before {
+  position: absolute;
+  top: -24px;
+  left: 12px;
+  display: block;
+  width: 12px;
+  height: 12px;
+  content: "";
+  background-color: #f36;
+  border-radius: 12px;
+  box-shadow: 0 0 0 0 #f36, 16px 0 0 0 #fc9, 32px 0 0 0 #3f6;
+}
+@media all and (min-width: 480px) {
+  .device-browser {
+    border-top: solid 48px #dfdfdf;
+  }
+  .device-browser::before {
+    top: -30px;
+    box-shadow: 0 0 0 0 #f36, 24px 0 0 0 #fc9, 48px 0 0 0 #3f6;
+  }
+  .device-browser::after {
+    top: -36px;
+    right: 12px;
+    width: 240px;
+    height: 24px;
+    padding: 0 8px;
+    line-height: 24px;
+  }
+}
+.sms {
+  position: relative;
+  width: 400px;
+  overflow-x: hidden;
+  background: none repeat scroll 0 0 #fff;
+}
+.sms .left {
+  position: absolute;
+  top: 0;
+  left: 20px;
+  font-size: 14px;
+}
+.sms .left::after {
+  position: absolute;
+  top: 22px;
+  left: -12px;
+  width: 14px;
+  height: 14px;
+  content: " ";
+  border: 3px solid #2095fe;
+  border-top: 3px solid transparent;
+  border-right: 3px solid transparent;
+  -webkit-transform: rotate(45deg);
+  -moz-transform: rotate(45deg);
+  transform: rotate(45deg);
+}
+.sms .right {
+  position: absolute;
+  top: 0;
+  right: 15px;
+  font-size: 14px;
+}
+.sms header {
+  height: 60px;
+  font-size: 20px;
+  line-height: 58px;
+  color: #2095fe;
+  text-align: center;
+  white-space: nowrap;
+  background: #eee;
+  border: 1px solid #ccc;
+  border-bottom: 1px solid #bbb;
+  box-shadow: 0 1px 2px rgba(1, 1, 1, 0.2);
+}
+.sms header h2 {
+  font-size: 16px;
+  font-weight: 700;
+  color: #111;
+}
+.sms .messages-wrapper {
+  position: relative;
+  height: 525px;
+  padding-top: 10px;
+  border: 1px solid #ddd;
+  border-top: 0 none;
+}
+.sms .message {
+  position: relative;
+  padding: 15px 20px;
+  margin: 0 15px 10px;
+  font-size: 16px;
+  border-radius: 20px;
+}
+.sms .message.to {
+  margin-left: 80px;
+  color: #fff;
+  background-color: #2095fe;
+}
+.sms .message.from {
+  margin-right: 80px;
+  color: #363636;
+  background-color: #e5e4e9;
+}
+.sms .message.to + .message.to,
+.sms .message.from + .message.from {
+  margin-top: -7px;
+}
+.sms .message::before {
+  position: absolute;
+  right: -50px;
+  bottom: 0;
+  z-index: 1;
+  width: 70px;
+  height: 40px;
+  clip: rect(20px, 35px, 42px, 0);
+  content: " ";
+  border-color: #2095fe;
+  border-style: solid;
+  border-width: 0 20px;
+  border-radius: 50%;
+}
+.sms .message.from::before {
+  left: -50px;
+  border-color: #e5e4e9;
+  transform: rotateY(180deg);
+}
+iframe {
+  border: 0 solid #ccc;
+}
+.form-row {
+  margin-right: -5px;
+  margin-left: -5px;
+}
+.form-row:before,
+.form-row:after {
+  display: table;
+  content: " ";
+}
+.form-row:after {
+  clear: both;
+}
+.form-row > .col,
+.form-row > [class*="col-"] {
+  padding-right: 5px;
+  padding-left: 5px;
+}
+.form-control-group .form-row {
+  margin-right: 0;
+  margin-left: 0;
+}
+.tip {
+  padding: 0 6px 2px;
+  font-size: 17px;
+  color: #fff;
+  background-color: #71a5bf;
+  border-radius: 4px;
+}
+.tip.tip-liquid::after,
+.tip.tip-lava::after {
+  content: "{{ Lava }}";
+}
+.tip.tip-html::after {
+  content: "< HTML />";
+}
+.navigation-tip {
+  padding: 2px 4px;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 90%;
+  color: #3a87ad;
+  white-space: nowrap;
+  background-color: #d9edf7;
+  border-radius: 8px;
+}
+.alert-warning .navigation-tip {
+  color: #fcf8e3;
+  background-color: #ceae78;
+}
+a.help {
+  margin-left: 6px;
+  color: #86b8cc;
+  outline: 0;
+}
+a.warning {
+  margin-left: 6px;
+  color: #f0ad4e;
+  outline: 0;
+}
+.help-message {
+  font-weight: 400;
+}
+.photo img {
+  width: 100%;
+}
+.photo > a.fluidbox-opened:hover + a {
+  display: none;
+}
+.well > h1,
+.well > h2,
+.well > h3,
+.well > h4 {
+  margin-top: 0;
+}
+.rock-fullname {
+  display: none !important;
+  visibility: hidden !important;
+}
+.dropdown-menu {
+  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
+  overflow-y: auto;
+}
+.dropdown-menu.datepicker-dropdown {
+  max-height: none;
+  overflow-y: visible;
+  font-size: 20px;
+}
+.dropdown-right .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+.dropdown-menu .btn-link {
+  width: 100%;
+  padding: 3px 20px;
+  line-height: 1.4;
+  color: #303030;
+  text-align: left;
+  border: 0;
+}
+.dropdown-menu .btn-link:hover,
+.dropdown-menu .btn-link:focus {
+  color: #232323;
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+.dropdown-menu .dropdown-item-danger {
+  color: #c64f55;
+}
+.dropdown-menu .dropdown-item-danger:hover {
+  color: #fff;
+  background-color: #c64f55;
+}
+.btn > .btn-icon {
+  position: relative;
+  top: -1px;
+  width: 1em;
+  height: 1em;
+  margin-left: 0.5em;
+  vertical-align: middle;
+}
+.alert-default {
+  color: #1c1c1c;
+  background-color: #efefef;
+  border-color: #d6d6d6;
+}
+.alert-default hr {
+  border-top-color: #c9c9c9;
+}
+.alert-default .alert-link {
+  color: #020202;
+}
+.alert-validation {
+  color: #b94a48;
+  background-color: #fcf8e3;
+  border-color: #f7ecb5;
+  font-weight: 700;
+}
+.alert-validation hr {
+  border-top-color: #f5e79e;
+}
+.alert-validation .alert-link {
+  color: #953b39;
+}
+.alert-validation ul,
+.alert-validation span {
+  font-weight: 400;
+  color: #484848;
+}
+.alert-validation ul {
+  padding: 5px 25px 0;
+  line-height: 1.5;
+}
+th[align="center"] {
+  text-align: center;
+}
+th[align="right"] {
+  text-align: right;
+}
+.form-right {
+  margin-bottom: 12px;
+  text-align: right;
+}
+.form-right:before,
+.form-right:after {
+  display: table;
+  content: " ";
+}
+.form-right:after {
+  clear: both;
+}
+.form-right .control-label {
+  display: block;
+}
+.form-right .input-group {
+  float: right;
+}
+.btn-tabled a:hover {
+  text-decoration: underline;
+}
+.label-hidden > .control-label {
+  display: none;
+}
+.control-label-offset {
+  margin-top: 33px;
+}
+.control-label-offset.checkbox {
+  margin-top: 38px;
+}
+.badge-danger {
+  color: #ffffff !important;
+  background-color: #c64f55 !important;
+}
+.badge-warning {
+  color: #ffffff !important;
+  background-color: #f0ad4e !important;
+}
+.badge-success {
+  color: #ffffff !important;
+  background-color: #6bac43 !important;
+}
+.badge-info {
+  color: #ffffff !important;
+  background-color: #1698da !important;
+}
+.badge-critical {
+  color: #ffffff !important;
+  background-color: #ee7624 !important;
+}
+.badge-legend .badge {
+  height: 28px;
+  margin-right: 4px;
+  cursor: pointer;
+}
+.popover-content {
+  overflow: hidden;
+}
+.popover-content header {
+  padding: 8px 14px;
+  margin: -9px -14px 8px;
+  font-size: 20px;
+  font-weight: 400;
+  line-height: 18px;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #ebebeb;
+  border-radius: 5px 5px 0 0;
+}
+.popover-content header:before,
+.popover-content header:after {
+  display: table;
+  content: " ";
+}
+.popover-content header:after {
+  clear: both;
+}
+.popover-content header img {
+  float: left;
+  width: 32px;
+  margin-right: 6px;
+}
+.popover-content header h3 {
+  float: left;
+  margin: 0 0 0 6px;
+  font-size: 18px;
+  font-weight: 400;
+}
+.popover-content header h3 small {
+  display: block;
+}
+.popover-content .body div {
+  margin-bottom: 2px;
+}
+.popover-content .body div:last-child {
+  margin-bottom: 0;
+}
+.list-group-item:before,
+.list-group-item:after {
+  display: table;
+  content: " ";
+}
+.list-group-item:after {
+  clear: both;
+}
+.list-group-item .toggle-container {
+  display: inline-block;
+}
+.list-group-item .content {
+  display: block;
+  float: left;
+}
+.panel-headerimage {
+  margin: -15px -15px 15px -15px;
+}
+.panel .panel-heading .panel-title small {
+  opacity: 0.5;
+}
+.panel .panel-heading .panel-toggle {
+  margin-top: -2px;
+  margin-bottom: -2px;
+}
+.panel .panel-heading .panel-options {
+  float: right;
+  margin: -10px -15px -10px 10px;
+}
+.panel .panel-heading .panel-options button {
+  padding: 9px 12px 10px;
+  border: 0;
+  border-radius: 0 8px 0 0;
+}
+.panel .panel-heading .checkbox {
+  margin: 0 !important;
+}
+.panel .panel-heading .panel-labels {
+  float: right;
+  margin-top: -6.3px;
+  margin-bottom: -6.3px;
+}
+.panel .panel-heading .panel-labels .panel-text {
+  float: left;
+  margin-top: 5px;
+  font-size: 17px;
+}
+.panel .panel-heading .panel-actions {
+  margin-top: 4px;
+}
+.panel .panel-heading .form-group {
+  margin-bottom: 0;
+}
+.panel .panel-footer {
+  color: #1c1c1c;
+  background-color: #fff;
+}
+.panel .panel-settings {
+  padding: 15px;
+  margin: -15px;
+  border-bottom: 1px solid #85c161;
+}
+.panel .panel-settings-group {
+  display: flex;
+  flex-wrap: wrap;
+  margin: -15px;
+}
+.panel .panel-settings-group > .form-group {
+  flex: 1 1 100%;
+  border-bottom: 1px solid #ccc;
+}
+.panel .panel-settings-group > .form-group:first-child {
+  border-left: 0;
+}
+@media (min-width: 576px) {
+  .panel .panel-settings-group > .form-group {
+    flex: 1 1 auto;
+    border-left: 1px solid #ccc;
+  }
+}
+.panel .panel-settings-group .control-label {
+  position: absolute;
+  z-index: 30;
+  padding: 12px 24px;
+  font-size: 12px;
+  font-weight: 400;
+  color: #ccc;
+  pointer-events: none;
+}
+.panel .panel-settings-group .btn,
+.panel .panel-settings-group .btn-group,
+.panel .panel-settings-group .dropdown-menu {
+  width: 100%;
+}
+.panel .panel-settings-group .btn {
+  display: flex;
+  justify-content: space-between;
+  padding-top: 0;
+  padding-top: 38px;
+  text-align: left;
+  background: transparent;
+  border: 0;
+  border-radius: 0 !important;
+}
+.panel-toolbar {
+  padding: 4px 16px;
+  font-size: 17px;
+  border-bottom: 1px solid #dbdbdb;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: space-between;
+}
+@media (min-width: 576px) {
+  .panel-toolbar {
+    flex-wrap: nowrap;
+  }
+}
+.panel-toolbar .btn-tool,
+.panel-toolbar .picker .picker-label {
+  padding: 1px 5px;
+  font-size: 17px;
+  font-weight: 600;
+  line-height: 1.5;
+  color: #6f7782;
+  background: transparent;
+  border: 1px solid transparent;
+}
+.panel-toolbar .btn-tool:focus,
+.panel-toolbar .picker .picker-label:focus,
+.panel-toolbar .btn-tool:hover,
+.panel-toolbar .picker .picker-label:hover,
+.panel-toolbar .btn-tool:active,
+.panel-toolbar .picker .picker-label:active,
+.panel-toolbar .btn-tool.active,
+.panel-toolbar .picker .picker-label.active {
+  background: #e9ecee;
+}
+.panel-toolbar .picker-select-none {
+  margin: 1px 0 0 2px;
+}
+.panel-toolbar .nav-pills {
+  margin: 6px 8px;
+}
+.panel-toolbar .nav-pills > li {
+  margin-top: 6px;
+  margin-bottom: 6px;
+}
+.panel-toolbar .slidingdaterange-select,
+.panel-toolbar .slidingdaterange-number,
+.panel-toolbar .slidingdaterange-daterange .input-group {
+  margin-bottom: 0;
+}
+.panel-toolbar.panel-toolbar-right {
+  justify-content: flex-end;
+  gap: 4px 30px;
+}
+.panel-toolbar-border {
+  border-bottom: 1px solid #dbdbdb;
+}
+.panel-toolbar-border .btn {
+  box-shadow: none;
+  border: 0;
+  background: transparent;
+}
+.panel-toolbar-border .btn i {
+  font-size: 75%;
+}
+.panel-toolbar-shadow {
+  box-shadow: 0 1px 3px 0 rgba(21, 27, 38, 0.15);
+  z-index: 10;
+}
+.no-border {
+  border-color: transparent;
+}
+.panel-widget {
+  border-color: #85c161;
+}
+.panel-widget > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-widget > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-widget > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-widget > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.panel-widget.collapsed {
+  overflow: hidden;
+}
+.panel-widget .panel-heading {
+  border: 0;
+}
+.panel-widget .panel-heading .checkbox {
+  display: inline;
+  float: left;
+  margin-top: 0 !important;
+  margin-bottom: 0 !important;
+}
+.panel-widget .panel-heading .actions a {
+  margin-left: 4px;
+}
+.panel-widget .panel-heading small {
+  color: #94c873;
+}
+.panel-widget > .panel-body {
+  border-top: 1px solid #85c161;
+}
+.panel-persondetails {
+  border-color: #85c161;
+  background-color: #ffffff;
+}
+.panel-persondetails > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-persondetails > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-persondetails > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-persondetails > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.panel-persondetails .panel-title i {
+  display: none;
+}
+.panel-persondetails .panel-heading {
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+}
+.panel-persondetails .panel-heading .actions {
+  margin: -4px 0 -4px auto;
+}
+.panel-persondetails .panel-heading .actions a {
+  margin-left: 4px;
+}
+.panel-persondetails .panel-body {
+  padding: 13px 18px 15px;
+}
+.panel-persondetails .panel-body .form-group.static-control {
+  line-height: 1.25;
+  margin-bottom: 16px;
+}
+.panel-persondetails .panel-body .form-group.static-control .control-wrapper .form-control-static {
+  margin: 0;
+  padding: 0;
+  min-height: 0;
+  line-height: 1.5;
+}
+.panel-persondetails .panel-body .form-group.static-control:last-child {
+  margin-bottom: 0;
+}
+.panel-persondetails .panel-body .form-group.static-control label {
+  margin-bottom: 3px;
+}
+.panel-persondetails .panel-body h4 {
+  padding: 8px 18px;
+  margin: -13px -18px 12px;
+  font-size: 17px;
+  font-weight: 600;
+  color: #737475;
+  background: #eeeeee;
+}
+.panel-persondetails .panel-body .form-group + h4 {
+  margin-top: 24px;
+}
+.panel-persondetails .panel-body .form-group.static-control.matrix-attribute label {
+  width: 100%;
+  text-align: left;
+}
+.panel-persondetails .panel-body .form-group.static-control.matrix-attribute .form-control-static {
+  width: 100%;
+}
+.panel-persondetails .panel-body i.fa.fa-bars {
+  cursor: pointer;
+}
+.panel-persondetails .attribute-values + .attribute-values {
+  margin-top: 24px;
+}
+.panel-block {
+  border-top-color: #77ba4e;
+  border-color: #85c161;
+}
+.panel-block > .panel-heading {
+  color: #609a3c;
+  background-color: #daeccf;
+  border-color: #85c161;
+}
+.panel-block > .panel-heading + .panel-collapse > .panel-body {
+  border-top-color: #85c161;
+}
+.panel-block > .panel-heading .badge {
+  color: #daeccf;
+  background-color: #609a3c;
+}
+.panel-block > .panel-footer + .panel-collapse > .panel-body {
+  border-bottom-color: #85c161;
+}
+.panel-block > .panel-heading:before,
+.panel-block > .panel-heading:after {
+  display: table;
+  content: " ";
+}
+.panel-block > .panel-heading:after {
+  clear: both;
+}
+.panel-block > .panel-heading .panel-title {
+  float: left;
+}
+.panel-block > .panel-heading .panel-title i {
+  color: #6a6a6a;
+  display: none;
+}
+.panel-block .list-group-item {
+  background-color: transparent;
+}
+.panel-block .panel-body .panel-fullwidth,
+.panel-block .panel-body .grid.grid-panel {
+  margin: 0 -15px;
+}
+.panel-block .panel-body .panel-fullwidth:first-child,
+.panel-block .panel-body .grid.grid-panel:first-child {
+  margin-top: -15px;
+}
+.panel-block .panel-body .panel-fullwidth:last-child,
+.panel-block .panel-body .grid.grid-panel:last-child {
+  margin-bottom: -15px;
+}
+.panel-block .panel-body .panel-fullwidth .table-bordered,
+.panel-block .panel-body .grid.grid-panel .table-bordered {
+  border-width: 1px 0 0 0;
+}
+.panel-block .panel-body .panel-fullwidth .table-bordered > tfoot > tr > td,
+.panel-block .panel-body .grid.grid-panel .table-bordered > tfoot > tr > td {
+  border: 0;
+}
+.panel-block .panel-inline-heading {
+  background: #daeccf;
+  border-bottom: 1px solid #85c161;
+}
+.panel-block .panel-sidebar {
+  border-right: 1px solid #85c161;
+}
+.panel-body-columns {
+  padding: 0;
+  margin: -15px;
+}
+.panel-body-columns > [class*="col-"] {
+  padding: 15px;
+}
+.panel-body-columns .sidebar {
+  background-color: #f2f2f2;
+  border-bottom: 1px solid #85c161;
+}
+.panel-body-columns .sidebar:last-child {
+  border-top: 1px solid #85c161;
+}
+@media (min-width: 768px) {
+  .panel-body-columns .sidebar {
+    border-bottom: 0;
+    border-right: 1px solid #85c161;
+  }
+  .panel-body-columns .sidebar:last-child {
+    border-top: 0;
+    border-left: 1px solid #85c161;
+  }
+}
+.panel-analytics .panel-body {
+  padding: 0 15px;
+}
+.panel-analytics .panel-body .grid.grid-panel {
+  margin-bottom: 0;
+}
+.panel-analytics .analytics-details > .grid-filter {
+  padding: 15px;
+  margin: -15px -15px 15px -15px;
+}
+.panel-analytics .filter-options,
+.panel-analytics .analysis-types {
+  padding-top: 15px;
+  padding-bottom: 15px;
+  background-color: #f2f2f2;
+}
+.panel-analytics .filter-options {
+  border-right: 1px solid #85c161;
+  border-bottom-left-radius: 8px;
+}
+.panel-analytics .analysis-types {
+  margin-bottom: 15px;
+  border-bottom: 1px solid #85c161;
+}
+.panel-drawer {
+  width: 100%;
+  background-color: #f2f2f2;
+}
+.drawer-content {
+  padding: 15px;
+}
+.panel-drawer.open > .drawer-content {
+  display: block;
+}
+.drawer-pull {
+  padding: 6px 8px;
+  color: #609a3c;
+  cursor: pointer;
+  border-bottom: 1px solid #85c161;
+}
+.drawer-pull:before,
+.drawer-pull:after {
+  display: table;
+  content: " ";
+}
+.drawer-pull:after {
+  clear: both;
+}
+.drawer-pull i {
+  float: right;
+}
+.panel-sub-header {
+  display: flex;
+  min-height: 38px;
+  align-items: center;
+  padding: 4px 24px;
+  border-bottom: 1px solid #85c161;
+  background-color: #f2f2f2;
+}
+.panel-badges {
+  --badge-size: 24px;
+  display: -ms-flexbox;
+  display: flex;
+  -ms-flex-align: center;
+  -ms-flex-pack: end;
+  align-items: center;
+  justify-content: flex-end;
+  height: 38px;
+  padding: 0 24px;
+  border-bottom: 1px solid #85c161;
+  background-color: #f2f2f2;
+}
+.panel-badges:empty {
+  display: none;
+}
+.panel-badges .badge {
+  background-color: inherit;
+}
+.badge .fa-square::before,
+.badge .fa-circle::before {
+  display: block;
+  width: 1em;
+  height: 1em;
+  content: " ";
+  background: currentColor;
+}
+.badge .fa-circle::before {
+  border-radius: 50%;
+}
+.paneleditor-label {
+  float: left;
+}
+.paneleditor-input {
+  float: left;
+  margin-top: -6px;
+  margin-right: 4px;
+  margin-left: 4px;
+}
+.btn.aspNetDisabled {
+  pointer-events: none;
+  cursor: not-allowed;
+  filter: alpha(opacity=65);
+  opacity: 0.65;
+  box-shadow: none;
+}
+.btn-action {
+  color: #fff;
+  background-color: #1c683e;
+  border-color: #175432;
+}
+.btn-action:focus,
+.btn-action.focus {
+  color: #fff;
+  background-color: #114026;
+  border-color: #000000;
+}
+.btn-action:hover {
+  color: #fff;
+  background-color: #114026;
+  border-color: #0a2415;
+}
+.btn-action:active,
+.btn-action.active,
+.open > .dropdown-toggle.btn-action {
+  color: #fff;
+  background-color: #114026;
+  background-image: none;
+  border-color: #0a2415;
+}
+.btn-action:active:hover,
+.btn-action.active:hover,
+.open > .dropdown-toggle.btn-action:hover,
+.btn-action:active:focus,
+.btn-action.active:focus,
+.open > .dropdown-toggle.btn-action:focus,
+.btn-action:active.focus,
+.btn-action.active.focus,
+.open > .dropdown-toggle.btn-action.focus {
+  color: #fff;
+  background-color: #0a2415;
+  border-color: #000000;
+}
+.btn-action.disabled:hover,
+.btn-action[disabled]:hover,
+fieldset[disabled] .btn-action:hover,
+.btn-action.disabled:focus,
+.btn-action[disabled]:focus,
+fieldset[disabled] .btn-action:focus,
+.btn-action.disabled.focus,
+.btn-action[disabled].focus,
+fieldset[disabled] .btn-action.focus {
+  background-color: #1c683e;
+  border-color: #175432;
+}
+.btn-action .badge {
+  color: #1c683e;
+  background-color: #fff;
+}
+.btn-security {
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-security:focus,
+.btn-security.focus {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #32501f;
+}
+.btn-security:hover {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #508032;
+}
+.btn-security:active,
+.btn-security.active,
+.open > .dropdown-toggle.btn-security {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  background-image: none;
+  border-color: #508032;
+}
+.btn-security:active:hover,
+.btn-security.active:hover,
+.open > .dropdown-toggle.btn-security:hover,
+.btn-security:active:focus,
+.btn-security.active:focus,
+.open > .dropdown-toggle.btn-security:focus,
+.btn-security:active.focus,
+.btn-security.active.focus,
+.open > .dropdown-toggle.btn-security.focus {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #32501f;
+}
+.btn-security.disabled:hover,
+.btn-security[disabled]:hover,
+fieldset[disabled] .btn-security:hover,
+.btn-security.disabled:focus,
+.btn-security[disabled]:focus,
+fieldset[disabled] .btn-security:focus,
+.btn-security.disabled.focus,
+.btn-security[disabled].focus,
+fieldset[disabled] .btn-security.focus {
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-security .badge {
+  color: transparent;
+  background-color: #1c1c1c;
+}
+.btn-authentication {
+  width: 100%;
+  margin-bottom: 8px;
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-authentication:focus,
+.btn-authentication.focus {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #32501f;
+}
+.btn-authentication:hover {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #508032;
+}
+.btn-authentication:active,
+.btn-authentication.active,
+.open > .dropdown-toggle.btn-authentication {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  background-image: none;
+  border-color: #508032;
+}
+.btn-authentication:active:hover,
+.btn-authentication.active:hover,
+.open > .dropdown-toggle.btn-authentication:hover,
+.btn-authentication:active:focus,
+.btn-authentication.active:focus,
+.open > .dropdown-toggle.btn-authentication:focus,
+.btn-authentication:active.focus,
+.btn-authentication.active.focus,
+.open > .dropdown-toggle.btn-authentication.focus {
+  color: #1c1c1c;
+  background-color: rgba(0, 0, 0, 0);
+  border-color: #32501f;
+}
+.btn-authentication.disabled:hover,
+.btn-authentication[disabled]:hover,
+fieldset[disabled] .btn-authentication:hover,
+.btn-authentication.disabled:focus,
+.btn-authentication[disabled]:focus,
+fieldset[disabled] .btn-authentication:focus,
+.btn-authentication.disabled.focus,
+.btn-authentication[disabled].focus,
+fieldset[disabled] .btn-authentication.focus {
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-authentication .badge {
+  color: transparent;
+  background-color: #1c1c1c;
+}
+.btn-authentication:hover {
+  background-color: rgba(0, 0, 0, 0);
+}
+.btn-authentication.facebook,
+.btn-authentication.google,
+.btn-authentication.twitter {
+  color: #fff;
+}
+.btn-authentication.facebook::before,
+.btn-authentication.google::before,
+.btn-authentication.twitter::before {
+  margin-right: 12px;
+  font-family: "FontAwesome Brands";
+  font-weight: 400;
+}
+.btn-authentication.facebook {
+  background-color: #1877f2;
+}
+.btn-authentication.facebook::before {
+  content: "\f09a";
+}
+.btn-authentication.google {
+  background-color: #ed4e23;
+}
+.btn-authentication.google::before {
+  content: "\f1a0";
+}
+.btn-authentication.twitter {
+  background-color: #1da1f2;
+}
+.btn-authentication.twitter::before {
+  content: "\f099";
+}
+.btn-pill {
+  border-radius: 999px;
+}
+.btn-overflow {
+  color: #ccc;
+}
+.btn-overflow:hover,
+.btn-overflow:focus {
+  color: #1c1c1c;
+}
+.btn-minimal {
+  padding: 0;
+  color: #696969;
+  text-decoration: none;
+}
+.alert-success .btn-success {
+  color: #fff;
+}
+.alert-success a {
+  color: #468847;
+  border-bottom: 1px dotted #468847;
+}
+.alert-info .btn-info {
+  color: #fff;
+}
+.alert-info a:not([class]) {
+  color: #3a87ad;
+  border-bottom: 1px dotted #3a87ad;
+}
+.alert-warning .btn-warning {
+  color: #fff;
+}
+.alert-warning a {
+  color: #c09853;
+  border-bottom: 1px dotted #c09853;
+}
+.alert-danger .btn-danger {
+  color: #fff;
+}
+.alert-danger a {
+  color: #b94a48;
+  border-bottom: 1px dotted #b94a48;
+}
+.alert .help {
+  border-bottom: 0;
+}
+.system-error .close {
+  color: inherit;
+}
+.carousel-control .fa-chevron-left,
+.carousel-control .fa-chevron-right {
+  position: absolute;
+  top: 50%;
+  z-index: 5;
+  display: inline-block;
+  margin-top: -10px;
+}
+.carousel-control .fa-chevron-left {
+  left: 40px;
+}
+.carousel-control .fa-chevron-right {
+  right: 40px;
+}
+.form-no-margin {
+  margin: 0;
+}
+.list-padded {
+  margin-top: 12px;
+}
+.list-padded li {
+  margin-top: 12px;
+}
+.list-padded li:first-child {
+  margin-top: 0;
+}
+h1.condensed,
+h2.condensed,
+h3.condensed,
+h4.condensed,
+h5.condensed,
+h6.condensed {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+.col-md-2-10 {
+  padding-right: 15px;
+  padding-left: 15px;
+}
+@media (min-width: 992px) {
+  .col-md-2-10 {
+    position: relative;
+    float: left;
+    width: 20%;
+    min-height: 1px;
+    padding-right: 15px;
+    padding-left: 15px;
+  }
+}
+div.aspNetDisabled {
+  opacity: 0.5;
+}
+.icon-fw {
+  width: 1.28571429em;
+  text-align: center;
+}
+.btn-outline-default {
+  color: transparent;
+  background-color: transparent;
+  border-color: transparent;
+}
+.btn-outline-default:hover {
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: transparent;
+}
+.btn-outline-default:focus,
+.btn-outline-default.focus {
+  box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5);
+}
+.btn-outline-default.disabled {
+  opacity: 0.5;
+}
+.btn-outline-primary {
+  color: #6bac43;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-outline-primary:hover {
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.btn-outline-primary:focus,
+.btn-outline-primary.focus {
+  box-shadow: 0 0 0 0.2rem rgba(107, 172, 67, 0.5);
+}
+.btn-outline-primary.disabled {
+  opacity: 0.5;
+}
+.btn-outline-success {
+  color: #6bac43;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-outline-success:hover {
+  color: #fff;
+  background-color: #6bac43;
+  border-color: #6bac43;
+}
+.btn-outline-success:focus,
+.btn-outline-success.focus {
+  box-shadow: 0 0 0 0.2rem rgba(107, 172, 67, 0.5);
+}
+.btn-outline-success.disabled {
+  opacity: 0.5;
+}
+.btn-outline-info {
+  color: #1698da;
+  background-color: transparent;
+  border-color: #1698da;
+}
+.btn-outline-info:hover {
+  color: #fff;
+  background-color: #1698da;
+  border-color: #1698da;
+}
+.btn-outline-info:focus,
+.btn-outline-info.focus {
+  box-shadow: 0 0 0 0.2rem rgba(22, 152, 218, 0.5);
+}
+.btn-outline-info.disabled {
+  opacity: 0.5;
+}
+.btn-outline-warning {
+  color: #f0ad4e;
+  background-color: transparent;
+  border-color: #f0ad4e;
+}
+.btn-outline-warning:hover {
+  color: #fff;
+  background-color: #f0ad4e;
+  border-color: #f0ad4e;
+}
+.btn-outline-warning:focus,
+.btn-outline-warning.focus {
+  box-shadow: 0 0 0 0.2rem rgba(240, 173, 78, 0.5);
+}
+.btn-outline-warning.disabled {
+  opacity: 0.5;
+}
+.btn-danger {
+  color: #1c1c1c;
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-danger:focus,
+.btn-danger.focus {
+  color: #fff;
+  background-color: #ab373d;
+  border-color: #712528;
+}
+.btn-danger:hover {
+  color: #fff;
+  background-color: #ab373d;
+  border-color: #a3353a;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+  color: #fff;
+  background-color: #ab373d;
+  background-image: none;
+  border-color: #a3353a;
+}
+.btn-danger:active:hover,
+.btn-danger.active:hover,
+.open > .dropdown-toggle.btn-danger:hover,
+.btn-danger:active:focus,
+.btn-danger.active:focus,
+.open > .dropdown-toggle.btn-danger:focus,
+.btn-danger:active.focus,
+.btn-danger.active.focus,
+.open > .dropdown-toggle.btn-danger.focus {
+  color: #fff;
+  background-color: #902f33;
+  border-color: #712528;
+}
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus {
+  background-color: transparent;
+  border-color: #6bac43;
+}
+.btn-danger .badge {
+  color: transparent;
+  background-color: #1c1c1c;
+}
+.btn-danger-solid {
+  color: #fff;
+  background-color: #c64f55;
+  border-color: #c64f55;
+}
+.btn-danger-solid:focus,
+.btn-danger-solid.focus {
+  color: #fff;
+  background-color: #ab373d;
+  border-color: #712528;
+}
+.btn-danger-solid:hover {
+  color: #fff;
+  background-color: #ab373d;
+  border-color: #a3353a;
+}
+.btn-danger-solid:active,
+.btn-danger-solid.active,
+.open > .dropdown-toggle.btn-danger-solid {
+  color: #fff;
+  background-color: #ab373d;
+  background-image: none;
+  border-color: #a3353a;
+}
+.btn-danger-solid:active:hover,
+.btn-danger-solid.active:hover,
+.open > .dropdown-toggle.btn-danger-solid:hover,
+.btn-danger-solid:active:focus,
+.btn-danger-solid.active:focus,
+.open > .dropdown-toggle.btn-danger-solid:focus,
+.btn-danger-solid:active.focus,
+.btn-danger-solid.active.focus,
+.open > .dropdown-toggle.btn-danger-solid.focus {
+  color: #fff;
+  background-color: #902f33;
+  border-color: #712528;
+}
+.btn-danger-solid.disabled:hover,
+.btn-danger-solid[disabled]:hover,
+fieldset[disabled] .btn-danger-solid:hover,
+.btn-danger-solid.disabled:focus,
+.btn-danger-solid[disabled]:focus,
+fieldset[disabled] .btn-danger-solid:focus,
+.btn-danger-solid.disabled.focus,
+.btn-danger-solid[disabled].focus,
+fieldset[disabled] .btn-danger-solid.focus {
+  background-color: #c64f55;
+  border-color: #c64f55;
+}
+.btn-danger-solid .badge {
+  color: #c64f55;
+  background-color: #fff;
+}
+.badge-bar {
+  display: flex;
+  align-items: center;
+  --badge-size: 36px;
+}
+.badge-bar .badge {
+  background-color: inherit;
+}
+.rock-popover {
+  display: flex;
+  z-index: 1050;
+  flex-wrap: wrap;
+  width: 500px;
+  max-width: 100%;
+  font-size: 14px;
+  border-radius: 4px;
+}
+@media (min-width: 480px) {
+  .rock-popover {
+    flex-wrap: nowrap;
+    max-height: 383px;
+  }
+}
+.rock-popover .popover-title {
+  display: flex;
+  align-items: center;
+  min-height: 40px;
+  padding-right: 6px;
+}
+.rock-popover .dropdown-menu a {
+  font-size: 14px;
+  line-height: 24px;
+}
+.rock-popover > .popover-panel + .popover-panel {
+  border-left: 1px solid #85c161;
+}
+.rock-popover .popover-panel {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+}
+@media (min-width: 480px) {
+  .rock-popover .popover-panel {
+    width: 50%;
+  }
+}
+.rock-popover .popover-panel .popover-content {
+  min-height: 100px;
+  overflow: auto;
+}
+.segment-and {
+  display: flex;
+  align-items: center;
+  text-align: center;
+  max-width: 580px;
+  margin: 32px auto;
+}
+.segment-and .text {
+  padding: 0 6px;
+  text-transform: uppercase;
+  border: 1px solid #85c161;
+  border-radius: 4px;
+  font-size: 14px;
+  background-color: #e4e4e4;
+  font-weight: 500;
+  margin: 0 10px;
+}
+.segment-and::before,
+.segment-and::after {
+  content: "";
+  border: 1px solid #85c161;
+  flex: 1;
+}
+/*
+    Used to manage styles related to Rock's store
+    /* NOTE: This less file is not included in the core since it is only used
+             internally. It must be included in the theme.
+
+    1. Promo Rotator
+    2. Package Summary
+    3. Package Detail
+    4. Components
+    5. Purchased Package
+*/
+.promotionrotator {
+  margin-bottom: 48px;
+}
+.promotionrotator .carousel-inner img {
+  width: 100%;
+}
+.promotionrotator .carousel-indicators {
+  bottom: -35px;
+}
+.promotionrotator .carousel-indicators li {
+  border-color: #6a6a6a;
+}
+.promotionrotator .carousel-indicators .active {
+  background-color: #6a6a6a;
+}
+.promotionrotator .carousel-control .fa-chevron-right {
+  right: 20px;
+}
+.promotionrotator .carousel-control .fa-chevron-left {
+  left: 20px;
+}
+.packagesummary {
+  position: relative;
+  max-width: 282px;
+  height: 100%;
+  margin-right: auto;
+  margin-left: auto;
+  cursor: pointer;
+  background-color: #ffffff;
+  border: 1px solid #ccc;
+}
+.packagesummary .packagesummary-body {
+  padding: 24px;
+}
+.packagesummary .packagesummary-body h2 {
+  margin: 0;
+  overflow: hidden;
+  font-size: 18px;
+  font-weight: 600;
+  line-height: 1.3em;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.packagesummary .packagesummary-body .vendor {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.packagesummary-footer {
+  display: flex;
+  flex-flow: row wrap;
+  align-items: center;
+  justify-content: space-between;
+  padding: 12px 24px;
+  background-color: #fcfcfc;
+  border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+.packagedetail-image {
+  width: 100%;
+}
+.packagedetail-additionalversions {
+  display: none;
+}
+.btn-install {
+  width: 100%;
+}
+.rating-bg {
+  position: absolute;
+  right: 0;
+  left: 0;
+  margin: 0 auto;
+  opacity: 0.08;
+}
+.pricelabel {
+  padding: 10px;
+  margin-top: 10px;
+  margin-bottom: 20px;
+  text-align: center;
+  border-radius: 8px;
+}
+.pricelabel.cost {
+  color: #468847;
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+}
+.pricelabel.free {
+  color: #3a87ad;
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+}
+.pricelabel h4 {
+  font-size: 24px;
+  font-weight: 700;
+  color: inherit;
+}
+.store-categories h4 {
+  margin-top: 0;
+  font-weight: 700;
+}
+.purchasedpackage h1 {
+  margin-top: 0;
+  overflow: hidden;
+  font-size: 18px;
+  font-weight: 600;
+  line-height: 1.3em;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.purchasedpackage .purchasedpackage-install a {
+  width: 100%;
+}
+.store-category-list > li {
+  margin: 0 12px 6px 0;
+}
+@media (max-width: 991px) {
+  .store-category-list > li {
+    margin-right: 8px;
+  }
+  .store-category-list > li a {
+    padding: 5px 8px;
+    font-size: 14px;
+  }
+}
+.store-category-list > li + li {
+  margin-left: 0 !important;
+}
+/* stylelint-disable */
+/* stylelint-enable */
+/*
+    The accent colors are deprecated and should not be used in new theme development. They will be
+    removed in Rock v 6.0.
+*/
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+  font-weight: 700;
+  margin-top: 0;
+  font-family: "colfax-web", sans-serif;
+}
+h1 a,
+.h1 a,
+h2 a,
+.h2 a,
+h3 a,
+.h3 a,
+h4 a,
+.h4 a,
+h5 a,
+.h5 a,
+h6 a,
+.h6 a {
+  color: inherit;
+  text-decoration: none;
+}
+.display-1,
+.display-2,
+.display-3 {
+  line-height: 1;
+  letter-spacing: -1.7px;
+  font-weight: 900;
+}
+.display-1 {
+  font-size: 64px;
+}
+.display-2 {
+  font-size: 56px;
+}
+.display-3 {
+  font-size: 48px;
+  letter-spacing: -1.4px;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4 {
+  line-height: 1.08;
+}
+h5,
+.h5,
+h6,
+.h6 {
+  line-height: 1.12;
+}
+h1,
+.h1 {
+  letter-spacing: -1.75px;
+}
+h2,
+.h2 {
+  letter-spacing: -1.8px;
+}
+h3,
+.h3 {
+  letter-spacing: -1.6px;
+}
+h4,
+.h4 {
+  letter-spacing: -1.6px;
+}
+h5,
+.h5 {
+  letter-spacing: -0.9px;
+}
+h6,
+.h6 {
+  letter-spacing: -0.7px;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+ul,
+ol,
+p,
+blockquote {
+  margin-top: 0;
+  margin-bottom: 24px;
+}
+.pretitle {
+  font-family: "colfax-web", sans-serif;
+  text-transform: uppercase;
+  font-weight: 700;
+  letter-spacing: 4px;
+  line-height: 1.4;
+  color: #a4a4a4;
+}
+blockquote {
+  padding: 0;
+  border: none;
+  font-style: italic;
+  font-weight: 900;
+  letter-spacing: -0.5px;
+  line-height: 1.08;
+  font-size: 32px;
+}
+blockquote footer {
+  font-size: 20px;
+  letter-spacing: 0;
+  font-weight: 500;
+}
+.prose blockquote {
+  position: relative;
+  font-family: "colfax-web", sans-serif;
+  font-style: normal;
+  letter-spacing: -1px;
+  margin: 64px 0;
+  color: black;
+}
+.prose blockquote:after {
+  content: "";
+  position: absolute;
+  top: 5%;
+  left: -5%;
+  width: 110%;
+  height: 90%;
+  background-color: #fff14f;
+  z-index: -1;
+  transform: rotate(-1deg);
+}
+.lead {
+  font-size: 24px;
+  line-height: 1.32;
+  letter-spacing: -0.3px;
+  font-style: italic;
+  color: #a4a4a4;
+}
+.label {
+  font-size: 13px;
+  letter-spacing: -0.5px;
+}
+small {
+  display: inline-block;
+  font-size: 90%;
+  line-height: 1.5;
+}
+.no-wrap {
+  white-space: nowrap;
+}
+.font-sans {
+  font-family: "colfax-web", sans-serif;
+}
+.font-serif {
+  font-family: "ff-meta-serif-web-pro", serif;
+}
+.italic {
+  font-style: italic;
+}
+.not-italic {
+  font-style: normal;
+}
+.font-thin {
+  font-weight: 100;
+}
+.font-extralight {
+  font-weight: 200;
+}
+.font-light {
+  font-weight: 300;
+}
+.font-normal {
+  font-weight: 400;
+}
+.font-medium {
+  font-weight: 500;
+}
+.font-semibold {
+  font-weight: 600;
+}
+.font-bold {
+  font-weight: 700;
+}
+.font-extrabold {
+  font-weight: 800;
+}
+.font-black {
+  font-weight: 900;
+}
+.font-underline {
+  text-decoration: underline;
+}
+.tracking-tightest {
+  letter-spacing: -0.1em !important;
+}
+.tracking-tighter {
+  letter-spacing: -0.05em !important;
+}
+.tracking-tight {
+  letter-spacing: -0.025em !important;
+}
+.tracking-normal {
+  letter-spacing: 0em !important;
+}
+.tracking-wide {
+  letter-spacing: 0.025em !important;
+}
+.tracking-wider {
+  letter-spacing: 0.05em !important;
+}
+.tracking-widest {
+  letter-spacing: 0.1em !important;
+}
+mark {
+  background-color: #fff14f;
+}
+a {
+  transition: all 0.2s ease-in-out;
+  text-decoration: underline;
+}
+.list-none {
+  list-style-type: none;
+}
+.text-decoration-none a {
+  text-decoration: none;
+}
+.whitespace-nowrap {
+  white-space: nowrap;
+}
+@media (min-width: 576px) {
+  .display-1 {
+    font-size: 76px;
+    letter-spacing: -2px;
+  }
+  .display-2 {
+    font-size: 68px;
+    letter-spacing: -1.4px;
+  }
+  .display-3 {
+    font-size: 60px;
+    letter-spacing: -1.2px;
+  }
+  h1,
+  .h1 {
+    font-size: 44px;
+    letter-spacing: -2.3px;
+  }
+  h2,
+  .h2 {
+    font-size: 40px;
+    letter-spacing: -2px;
+  }
+  h3,
+  .h3 {
+    font-size: 36px;
+    letter-spacing: -1.8px;
+  }
+  h4,
+  .h4 {
+    font-size: 32px;
+    letter-spacing: -1.3px;
+  }
+  h5,
+  .h5 {
+    font-size: 28px;
+    letter-spacing: -1.15px;
+  }
+  h6,
+  .h6 {
+    font-size: 24px;
+    letter-spacing: -1px;
+  }
+}
+@media (min-width: 768px) {
+  .prose {
+    font-size: 110%;
+  }
+  .prose h1,
+  .prose h2,
+  .prose h3,
+  .prose h4,
+  .prose h5,
+  .prose h6,
+  .prose ul,
+  .prose ol,
+  .prose p,
+  .prose blockquote {
+    margin-bottom: 36px;
+  }
+  small {
+    font-size: 85%;
+    line-height: 1.2;
+  }
+  .display-1 {
+    font-size: 92px;
+    letter-spacing: -3px;
+  }
+  .display-2 {
+    font-size: 84px;
+    letter-spacing: -2.7px;
+  }
+  .display-3 {
+    font-size: 72px;
+    letter-spacing: -2px;
+  }
+  h1,
+  .h1 {
+    font-size: 60px;
+    letter-spacing: -2.6px;
+  }
+  h2,
+  .h2 {
+    font-size: 52px;
+    letter-spacing: -2.6px;
+  }
+  h3,
+  .h3 {
+    font-size: 44px;
+    letter-spacing: -2.6px;
+  }
+  h4,
+  .h4 {
+    font-size: 40px;
+    letter-spacing: -2.2px;
+  }
+  h5,
+  .h5 {
+    font-size: 28px;
+    letter-spacing: -1.45px;
+  }
+  h6,
+  .h6 {
+    font-size: 24px;
+  }
+  .pretitle {
+    font-size: 21px;
+    line-height: 1.16;
+    letter-spacing: 5px;
+  }
+  blockquote {
+    font-size: 36px;
+    line-height: 1.16;
+    letter-spacing: -0.5px;
+  }
+  .lead {
+    font-size: 28px;
+  }
+  a:not(.btn):hover {
+    opacity: 0.75;
+  }
+}
+.btn {
+  border: 0;
+  transition: all 0.1s ease-in-out;
+}
+.btn-secondary {
+  color: #fff;
+  background-color: #1c683e;
+  border-color: #1c683e;
+}
+.btn-secondary:focus,
+.btn-secondary.focus {
+  color: #fff;
+  background-color: #114026;
+  border-color: #010402;
+}
+.btn-secondary:hover {
+  color: #fff;
+  background-color: #114026;
+  border-color: #0f3821;
+}
+.btn-secondary:active,
+.btn-secondary.active,
+.open > .dropdown-toggle.btn-secondary {
+  color: #fff;
+  background-color: #114026;
+  background-image: none;
+  border-color: #0f3821;
+}
+.btn-secondary:active:hover,
+.btn-secondary.active:hover,
+.open > .dropdown-toggle.btn-secondary:hover,
+.btn-secondary:active:focus,
+.btn-secondary.active:focus,
+.open > .dropdown-toggle.btn-secondary:focus,
+.btn-secondary:active.focus,
+.btn-secondary.active.focus,
+.open > .dropdown-toggle.btn-secondary.focus {
+  color: #fff;
+  background-color: #0a2415;
+  border-color: #010402;
+}
+.btn-secondary.disabled:hover,
+.btn-secondary[disabled]:hover,
+fieldset[disabled] .btn-secondary:hover,
+.btn-secondary.disabled:focus,
+.btn-secondary[disabled]:focus,
+fieldset[disabled] .btn-secondary:focus,
+.btn-secondary.disabled.focus,
+.btn-secondary[disabled].focus,
+fieldset[disabled] .btn-secondary.focus {
+  background-color: #1c683e;
+  border-color: #1c683e;
+}
+.btn-secondary .badge {
+  color: #1c683e;
+  background-color: #fff;
+}
+.btn-tertiary {
+  color: #fff;
+  background-color: #2a4930;
+  border-color: #2a4930;
+}
+.btn-tertiary:focus,
+.btn-tertiary.focus {
+  color: #fff;
+  background-color: #17291b;
+  border-color: #000000;
+}
+.btn-tertiary:hover {
+  color: #fff;
+  background-color: #17291b;
+  border-color: #142216;
+}
+.btn-tertiary:active,
+.btn-tertiary.active,
+.open > .dropdown-toggle.btn-tertiary {
+  color: #fff;
+  background-color: #17291b;
+  background-image: none;
+  border-color: #142216;
+}
+.btn-tertiary:active:hover,
+.btn-tertiary.active:hover,
+.open > .dropdown-toggle.btn-tertiary:hover,
+.btn-tertiary:active:focus,
+.btn-tertiary.active:focus,
+.open > .dropdown-toggle.btn-tertiary:focus,
+.btn-tertiary:active.focus,
+.btn-tertiary.active.focus,
+.open > .dropdown-toggle.btn-tertiary.focus {
+  color: #fff;
+  background-color: #0a120c;
+  border-color: #000000;
+}
+.btn-tertiary.disabled:hover,
+.btn-tertiary[disabled]:hover,
+fieldset[disabled] .btn-tertiary:hover,
+.btn-tertiary.disabled:focus,
+.btn-tertiary[disabled]:focus,
+fieldset[disabled] .btn-tertiary:focus,
+.btn-tertiary.disabled.focus,
+.btn-tertiary[disabled].focus,
+fieldset[disabled] .btn-tertiary.focus {
+  background-color: #2a4930;
+  border-color: #2a4930;
+}
+.btn-tertiary .badge {
+  color: #2a4930;
+  background-color: #fff;
+}
+.btn-dark {
+  color: #ffffff;
+  background-color: #1c1c1c;
+  border-color: #1c1c1c;
+}
+.btn-dark:focus,
+.btn-dark.focus {
+  color: #ffffff;
+  background-color: #020202;
+  border-color: #000000;
+}
+.btn-dark:hover {
+  color: #ffffff;
+  background-color: #020202;
+  border-color: #000000;
+}
+.btn-dark:active,
+.btn-dark.active,
+.open > .dropdown-toggle.btn-dark {
+  color: #ffffff;
+  background-color: #020202;
+  background-image: none;
+  border-color: #000000;
+}
+.btn-dark:active:hover,
+.btn-dark.active:hover,
+.open > .dropdown-toggle.btn-dark:hover,
+.btn-dark:active:focus,
+.btn-dark.active:focus,
+.open > .dropdown-toggle.btn-dark:focus,
+.btn-dark:active.focus,
+.btn-dark.active.focus,
+.open > .dropdown-toggle.btn-dark.focus {
+  color: #ffffff;
+  background-color: #000000;
+  border-color: #000000;
+}
+.btn-dark.disabled:hover,
+.btn-dark[disabled]:hover,
+fieldset[disabled] .btn-dark:hover,
+.btn-dark.disabled:focus,
+.btn-dark[disabled]:focus,
+fieldset[disabled] .btn-dark:focus,
+.btn-dark.disabled.focus,
+.btn-dark[disabled].focus,
+fieldset[disabled] .btn-dark.focus {
+  background-color: #1c1c1c;
+  border-color: #1c1c1c;
+}
+.btn-dark .badge {
+  color: #1c1c1c;
+  background-color: #ffffff;
+}
+.dropdown-menu > li > a {
+  text-decoration: none;
+  font-family: "colfax-web", sans-serif;
+  font-weight: 500;
+  letter-spacing: -0.5px;
+}
+.btn > i {
+  position: relative;
+  top: 1px;
+}
+.btn-danger {
+  color: #fff;
+  background-color: #c64f55;
+  border-color: #c64f55;
+}
+.bg-secondary {
+  background-color: #1c683e;
+}
+.bg-tertiary {
+  background-color: #2a4930;
+}
+.bg-kraft {
+  background-color: #bd9b68;
+}
+.bg-gray-darker {
+  background-color: #1c1c1c;
+}
+.bg-gray-dark {
+  background-color: #303030;
+}
+.bg-gray {
+  background-color: #a4a4a4;
+}
+.bg-gray-light {
+  background-color: #ccc;
+}
+.bg-gray-lighter {
+  background-color: #efefef;
+}
+.text-secondary {
+  color: #1c683e;
+}
+.text-tertiary {
+  color: #2a4930;
+}
+.text-kraft {
+  color: #bd9b68;
+}
+.text-gray-darker,
+.text-gray-darker:hover {
+  color: #1c1c1c;
+}
+.text-gray-dark {
+  color: #303030;
+}
+.text-gray {
+  color: #a4a4a4;
+}
+.text-gray-light {
+  color: #ccc;
+}
+.text-gray-lighter {
+  color: #efefef;
+}
+.fill-primary {
+  fill: #6bac43;
+}
+.fill-secondary {
+  fill: #1c683e;
+}
+.fill-tertiary {
+  fill: #2a4930;
+}
+.fill-kraft {
+  fill: #bd9b68;
+}
+.fill-gray-darker {
+  fill: #1c1c1c;
+}
+.fill-gray-dark {
+  fill: #303030;
+}
+.fill-gray {
+  fill: #a4a4a4;
+}
+.fill-gray-light {
+  fill: #ccc;
+}
+.fill-gray-lighter {
+  fill: #efefef;
+}
+.stroke-primary {
+  stroke: #6bac43;
+}
+.stroke-secondary {
+  stroke: #1c683e;
+}
+.stroke-tertiary {
+  stroke: #2a4930;
+}
+.stroke-kraft {
+  stroke: #bd9b68;
+}
+.stroke-gray-darker {
+  stroke: #1c1c1c;
+}
+.stroke-gray-dark {
+  stroke: #303030;
+}
+.stroke-gray {
+  stroke: #a4a4a4;
+}
+.stroke-gray-light {
+  stroke: #ccc;
+}
+.stroke-gray-lighter {
+  stroke: #efefef;
+}
+/**
+ * Swiper 4.4.1
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * http://www.idangero.us/swiper/
+ *
+ * Copyright 2014-2018 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: September 14, 2018
+ */
+.swiper-container {
+  margin: 0 auto;
+  position: relative;
+  overflow: hidden;
+  list-style: none;
+  padding: 0;
+  /* Fix of Webkit flickering */
+  z-index: 1;
+}
+.swiper-container-no-flexbox .swiper-slide {
+  float: left;
+}
+.swiper-container-vertical > .swiper-wrapper {
+  -webkit-box-orient: vertical;
+  -webkit-box-direction: normal;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+.swiper-wrapper {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  z-index: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-transition-property: -webkit-transform;
+  transition-property: -webkit-transform;
+  -o-transition-property: transform;
+  transition-property: transform;
+  transition-property: transform, -webkit-transform;
+  -webkit-box-sizing: content-box;
+  box-sizing: content-box;
+}
+.swiper-container-android .swiper-slide,
+.swiper-wrapper {
+  -webkit-transform: translate3d(0px, 0, 0);
+  transform: translate3d(0px, 0, 0);
+}
+.swiper-container-multirow > .swiper-wrapper {
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+}
+.swiper-container-free-mode > .swiper-wrapper {
+  -webkit-transition-timing-function: ease-in-out;
+  -o-transition-timing-function: ease-in-out;
+  transition-timing-function: ease-in-out;
+  margin: 0 auto;
+}
+.swiper-slide {
+  -webkit-flex-shrink: 0;
+  -ms-flex-negative: 0;
+  flex-shrink: 0;
+  width: 100%;
+  height: 100%;
+  position: relative;
+  -webkit-transition-property: -webkit-transform;
+  transition-property: -webkit-transform;
+  -o-transition-property: transform;
+  transition-property: transform;
+  transition-property: transform, -webkit-transform;
+}
+@media (min-width: 576px) {
+  .swiper-slide {
+    opacity: 1;
+    transition: opacity 0.3s ease-in-out;
+  }
+  .swiper-slide.swiper-slide-active {
+    opacity: 1;
+  }
+}
+.swiper-slide-invisible-blank {
+  visibility: hidden;
+}
+/* Auto Height */
+.swiper-container-autoheight,
+.swiper-container-autoheight .swiper-slide {
+  height: auto;
+}
+.swiper-container-autoheight .swiper-wrapper {
+  -webkit-box-align: start;
+  -webkit-align-items: flex-start;
+  -ms-flex-align: start;
+  align-items: flex-start;
+  -webkit-transition-property: height, -webkit-transform;
+  transition-property: height, -webkit-transform;
+  -o-transition-property: transform, height;
+  transition-property: transform, height;
+  transition-property: transform, height, -webkit-transform;
+}
+/* 3D Effects */
+.swiper-container-3d {
+  -webkit-perspective: 1200px;
+  perspective: 1200px;
+}
+.swiper-container-3d .swiper-wrapper,
+.swiper-container-3d .swiper-slide,
+.swiper-container-3d .swiper-slide-shadow-left,
+.swiper-container-3d .swiper-slide-shadow-right,
+.swiper-container-3d .swiper-slide-shadow-top,
+.swiper-container-3d .swiper-slide-shadow-bottom,
+.swiper-container-3d .swiper-cube-shadow {
+  -webkit-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+.swiper-container-3d .swiper-slide-shadow-left,
+.swiper-container-3d .swiper-slide-shadow-right,
+.swiper-container-3d .swiper-slide-shadow-top,
+.swiper-container-3d .swiper-slide-shadow-bottom {
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  pointer-events: none;
+  z-index: 10;
+}
+.swiper-container-3d .swiper-slide-shadow-left {
+  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
+  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+}
+.swiper-container-3d .swiper-slide-shadow-right {
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+}
+.swiper-container-3d .swiper-slide-shadow-top {
+  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
+  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+}
+.swiper-container-3d .swiper-slide-shadow-bottom {
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
+  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
+}
+/* IE10 Windows Phone 8 Fixes */
+.swiper-container-wp8-horizontal,
+.swiper-container-wp8-horizontal > .swiper-wrapper {
+  -ms-touch-action: pan-y;
+  touch-action: pan-y;
+}
+.swiper-container-wp8-vertical,
+.swiper-container-wp8-vertical > .swiper-wrapper {
+  -ms-touch-action: pan-x;
+  touch-action: pan-x;
+}
+.swiper-button-prev,
+.swiper-button-next {
+  position: absolute;
+  top: 50%;
+  width: 47px;
+  height: 64px;
+  margin-top: -22px;
+  z-index: 10;
+  cursor: pointer;
+  background-size: 22px 39px;
+  background-position: center;
+  background-repeat: no-repeat;
+  background-color: #ffffff;
+  border-radius: 5px;
+  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
+}
+.swiper-prev,
+.swiper-next {
+  position: absolute;
+  top: 50%;
+  width: 50px;
+  height: 50px;
+  margin-top: -50px;
+  z-index: 10;
+  cursor: pointer;
+  background-color: #6bac43;
+  border-radius: 100px;
+  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
+  outline: none;
+  -webkit-transition: opacity 2s ease-in-out;
+  transition: opacity 0.3s ease-in-out;
+}
+.swiper-prev i,
+.swiper-next i {
+  position: absolute;
+  top: 50%;
+  margin-top: -16px;
+  color: #ffffff;
+}
+.swiper-prev.swiper-button-disabled,
+.swiper-next.swiper-button-disabled {
+  opacity: 0;
+}
+.swiper-next {
+  right: 20px;
+}
+.swiper-next i {
+  margin-left: 3px;
+}
+.swiper-prev {
+  left: 20px;
+}
+.swiper-button-prev.swiper-button-disabled,
+.swiper-button-next.swiper-button-disabled {
+  opacity: 0.35;
+  cursor: auto;
+  pointer-events: none;
+}
+.swiper-button-prev,
+.swiper-container-rtl .swiper-button-next {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E");
+  left: 10px;
+  right: auto;
+}
+.swiper-button-next,
+.swiper-container-rtl .swiper-button-prev {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%236bac43'%2F%3E%3C%2Fsvg%3E");
+  right: 10px;
+  left: auto;
+}
+.swiper-button-prev.swiper-button-white,
+.swiper-container-rtl .swiper-button-next.swiper-button-white {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
+}
+.swiper-button-next.swiper-button-white,
+.swiper-container-rtl .swiper-button-prev.swiper-button-white {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
+}
+.swiper-button-prev.swiper-button-black,
+.swiper-container-rtl .swiper-button-next.swiper-button-black {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
+}
+.swiper-button-next.swiper-button-black,
+.swiper-container-rtl .swiper-button-prev.swiper-button-black {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
+}
+.swiper-button-lock {
+  display: none;
+}
+.swiper-pagination {
+  position: relative;
+  text-align: center;
+  -webkit-transition: 300ms opacity;
+  -o-transition: 300ms opacity;
+  transition: 300ms opacity;
+  -webkit-transform: translate3d(0, 0, 0);
+  transform: translate3d(0, 0, 0);
+  z-index: 10;
+}
+.swiper-pagination.swiper-pagination-hidden {
+  opacity: 0;
+}
+/* Common Styles */
+.swiper-pagination-fraction,
+.swiper-pagination-custom,
+.swiper-container-horizontal > .swiper-pagination-bullets {
+  bottom: auto;
+  left: 0;
+  width: 100%;
+}
+/* Bullets */
+.swiper-pagination-bullets-dynamic {
+  overflow: hidden;
+  font-size: 0;
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
+  -webkit-transform: scale(0.33);
+  -ms-transform: scale(0.33);
+  transform: scale(0.33);
+  position: relative;
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
+  -webkit-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
+  -webkit-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
+  -webkit-transform: scale(0.66);
+  -ms-transform: scale(0.66);
+  transform: scale(0.66);
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
+  -webkit-transform: scale(0.33);
+  -ms-transform: scale(0.33);
+  transform: scale(0.33);
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
+  -webkit-transform: scale(0.66);
+  -ms-transform: scale(0.66);
+  transform: scale(0.66);
+}
+.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
+  -webkit-transform: scale(0.33);
+  -ms-transform: scale(0.33);
+  transform: scale(0.33);
+}
+.swiper-pagination-bullet {
+  width: 12px;
+  height: 12px;
+  display: inline-block;
+  border-radius: 100%;
+  background: #000;
+  opacity: 0.2;
+}
+.bg-black .swiper-pagination-bullet,
+.bg-gray-darker .swiper-pagination-bullet,
+.bg-gray-dark .swiper-pagination-bullet,
+.bg-gray .swiper-pagination-bullet,
+.bg-primary .swiper-pagination-bullet,
+.bg-secondary .swiper-pagination-bullet,
+.bg-gray-tertiary .swiper-pagination-bullet {
+  background: #fff;
+}
+button.swiper-pagination-bullet {
+  border: none;
+  margin: 0;
+  padding: 0;
+  -webkit-box-shadow: none;
+  box-shadow: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+.swiper-pagination-clickable .swiper-pagination-bullet {
+  cursor: pointer;
+}
+.swiper-pagination-bullet-active {
+  opacity: 1;
+  background: #6bac43 !important;
+}
+.swiper-container-vertical > .swiper-pagination-bullets {
+  right: 10px;
+  top: 50%;
+  -webkit-transform: translate3d(0px, -50%, 0);
+  transform: translate3d(0px, -50%, 0);
+}
+.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
+  margin: 6px 0;
+  display: block;
+}
+.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  transform: translateY(-50%);
+  width: 8px;
+}
+.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
+  display: inline-block;
+  -webkit-transition: 200ms top, 200ms -webkit-transform;
+  transition: 200ms top, 200ms -webkit-transform;
+  -o-transition: 200ms transform, 200ms top;
+  transition: 200ms transform, 200ms top;
+  transition: 200ms transform, 200ms top, 200ms -webkit-transform;
+}
+.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
+  margin: 0 4px;
+}
+.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
+  left: 50%;
+  -webkit-transform: translateX(-50%);
+  -ms-transform: translateX(-50%);
+  transform: translateX(-50%);
+  white-space: nowrap;
+}
+.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
+  -webkit-transition: 200ms left, 200ms -webkit-transform;
+  transition: 200ms left, 200ms -webkit-transform;
+  -o-transition: 200ms transform, 200ms left;
+  transition: 200ms transform, 200ms left;
+  transition: 200ms transform, 200ms left, 200ms -webkit-transform;
+}
+.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
+  -webkit-transition: 200ms right, 200ms -webkit-transform;
+  transition: 200ms right, 200ms -webkit-transform;
+  -o-transition: 200ms transform, 200ms right;
+  transition: 200ms transform, 200ms right;
+  transition: 200ms transform, 200ms right, 200ms -webkit-transform;
+}
+/* Progress */
+.swiper-pagination-progressbar {
+  background: rgba(0, 0, 0, 0.25);
+  position: absolute;
+}
+.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
+  background: #007aff;
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  -webkit-transform: scale(0);
+  -ms-transform: scale(0);
+  transform: scale(0);
+  -webkit-transform-origin: left top;
+  -ms-transform-origin: left top;
+  transform-origin: left top;
+}
+.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
+  -webkit-transform-origin: right top;
+  -ms-transform-origin: right top;
+  transform-origin: right top;
+}
+.swiper-container-horizontal > .swiper-pagination-progressbar,
+.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
+  width: 100%;
+  height: 4px;
+  left: 0;
+  top: 0;
+}
+.swiper-container-vertical > .swiper-pagination-progressbar,
+.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
+  width: 4px;
+  height: 100%;
+  left: 0;
+  top: 0;
+}
+.swiper-pagination-white .swiper-pagination-bullet-active {
+  background: #ffffff;
+}
+.swiper-pagination-progressbar.swiper-pagination-white {
+  background: rgba(255, 255, 255, 0.25);
+}
+.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
+  background: #ffffff;
+}
+.swiper-pagination-black .swiper-pagination-bullet-active {
+  background: #000000;
+}
+.swiper-pagination-progressbar.swiper-pagination-black {
+  background: rgba(0, 0, 0, 0.25);
+}
+.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
+  background: #000000;
+}
+.swiper-pagination-lock {
+  display: none;
+}
+/* Scrollbar */
+.swiper-scrollbar {
+  border-radius: 10px;
+  position: relative;
+  -ms-touch-action: none;
+  background: rgba(0, 0, 0, 0.1);
+}
+.swiper-container-horizontal > .swiper-scrollbar {
+  position: absolute;
+  left: 1%;
+  bottom: 3px;
+  z-index: 50;
+  height: 5px;
+  width: 98%;
+}
+.swiper-container-vertical > .swiper-scrollbar {
+  position: absolute;
+  right: 3px;
+  top: 1%;
+  z-index: 50;
+  width: 5px;
+  height: 98%;
+}
+.swiper-scrollbar-drag {
+  height: 100%;
+  width: 100%;
+  position: relative;
+  background: rgba(0, 0, 0, 0.5);
+  border-radius: 10px;
+  left: 0;
+  top: 0;
+}
+.swiper-scrollbar-cursor-drag {
+  cursor: move;
+}
+.swiper-scrollbar-lock {
+  display: none;
+}
+.swiper-zoom-container {
+  width: 100%;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -webkit-justify-content: center;
+  -ms-flex-pack: center;
+  justify-content: center;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+  -ms-flex-align: center;
+  align-items: center;
+  text-align: center;
+}
+.swiper-zoom-container > img,
+.swiper-zoom-container > svg,
+.swiper-zoom-container > canvas {
+  max-width: 100%;
+  max-height: 100%;
+  -o-object-fit: contain;
+  object-fit: contain;
+}
+.swiper-slide-zoomed {
+  cursor: move;
+}
+/* Preloader */
+.swiper-lazy-preloader {
+  width: 42px;
+  height: 42px;
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  margin-left: -21px;
+  margin-top: -21px;
+  z-index: 10;
+  -webkit-transform-origin: 50%;
+  -ms-transform-origin: 50%;
+  transform-origin: 50%;
+  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
+  animation: swiper-preloader-spin 1s steps(12, end) infinite;
+}
+.swiper-lazy-preloader:after {
+  display: block;
+  content: "";
+  width: 100%;
+  height: 100%;
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
+  background-position: 50%;
+  background-size: 100%;
+  background-repeat: no-repeat;
+}
+.swiper-lazy-preloader-white:after {
+  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
+}
+@-webkit-keyframes swiper-preloader-spin {
+  100% {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@keyframes swiper-preloader-spin {
+  100% {
+    -webkit-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+/* a11y */
+.swiper-container .swiper-notification {
+  position: absolute;
+  left: 0;
+  top: 0;
+  pointer-events: none;
+  opacity: 0;
+  z-index: -1000;
+}
+.swiper-container-fade.swiper-container-free-mode .swiper-slide {
+  -webkit-transition-timing-function: ease-in-out;
+  -o-transition-timing-function: ease-in-out;
+  transition-timing-function: ease-in-out;
+}
+.swiper-container-fade .swiper-slide {
+  pointer-events: none;
+  -webkit-transition-property: opacity;
+  -o-transition-property: opacity;
+  transition-property: opacity;
+}
+.swiper-container-fade .swiper-slide .swiper-slide {
+  pointer-events: none;
+}
+.swiper-container-fade .swiper-slide-active,
+.swiper-container-fade .swiper-slide-active .swiper-slide-active {
+  pointer-events: auto;
+}
+.swiper-container-cube {
+  overflow: visible;
+}
+.swiper-container-cube .swiper-slide {
+  pointer-events: none;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+  z-index: 1;
+  visibility: hidden;
+  -webkit-transform-origin: 0 0;
+  -ms-transform-origin: 0 0;
+  transform-origin: 0 0;
+  width: 100%;
+  height: 100%;
+}
+.swiper-container-cube .swiper-slide .swiper-slide {
+  pointer-events: none;
+}
+.swiper-container-cube.swiper-container-rtl .swiper-slide {
+  -webkit-transform-origin: 100% 0;
+  -ms-transform-origin: 100% 0;
+  transform-origin: 100% 0;
+}
+.swiper-container-cube .swiper-slide-active,
+.swiper-container-cube .swiper-slide-active .swiper-slide-active {
+  pointer-events: auto;
+}
+.swiper-container-cube .swiper-slide-active,
+.swiper-container-cube .swiper-slide-next,
+.swiper-container-cube .swiper-slide-prev,
+.swiper-container-cube .swiper-slide-next + .swiper-slide {
+  pointer-events: auto;
+  visibility: visible;
+}
+.swiper-container-cube .swiper-slide-shadow-top,
+.swiper-container-cube .swiper-slide-shadow-bottom,
+.swiper-container-cube .swiper-slide-shadow-left,
+.swiper-container-cube .swiper-slide-shadow-right {
+  z-index: 0;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+}
+.swiper-container-cube .swiper-cube-shadow {
+  position: absolute;
+  left: 0;
+  bottom: 0px;
+  width: 100%;
+  height: 100%;
+  background: #000;
+  opacity: 0.6;
+  -webkit-filter: blur(50px);
+  filter: blur(50px);
+  z-index: 0;
+}
+.swiper-container-flip {
+  overflow: visible;
+}
+.swiper-container-flip .swiper-slide {
+  pointer-events: none;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+  z-index: 1;
+}
+.swiper-container-flip .swiper-slide .swiper-slide {
+  pointer-events: none;
+}
+.swiper-container-flip .swiper-slide-active,
+.swiper-container-flip .swiper-slide-active .swiper-slide-active {
+  pointer-events: auto;
+}
+.swiper-container-flip .swiper-slide-shadow-top,
+.swiper-container-flip .swiper-slide-shadow-bottom,
+.swiper-container-flip .swiper-slide-shadow-left,
+.swiper-container-flip .swiper-slide-shadow-right {
+  z-index: 0;
+  -webkit-backface-visibility: hidden;
+  backface-visibility: hidden;
+}
+.swiper-container-coverflow .swiper-wrapper {
+  /* Windows 8 IE 10 fix */
+  -ms-perspective: 1200px;
+}
+.drop-shadow-sm {
+  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05));
+}
+.drop-shadow {
+  filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.18)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.18));
+}
+.drop-shadow-md {
+  filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.15)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.15));
+}
+.drop-shadow-lg {
+  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
+}
+.drop-shadow-xl {
+  filter: drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08));
+}
+.drop-shadow-2xl {
+  filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15));
+}
+.drop-shadow-none {
+  filter: drop-shadow(0 0 #0000);
+}
+.border-solid {
+  border-style: solid;
+  border-width: 0;
+}
+.border-none {
+  border-style: none;
+}
+.border-0 {
+  border-width: 0px;
+}
+.border-2 {
+  border-width: 2px;
+}
+.border-3 {
+  border-width: 3px;
+}
+.border-4 {
+  border-width: 4px;
+}
+.border-8 {
+  border-width: 8px;
+}
+.border {
+  border-width: 1px;
+}
+.border-x-0 {
+  border-left-width: 0px;
+  border-right-width: 0px;
+}
+.border-x-2 {
+  border-left-width: 2px;
+  border-right-width: 2px;
+}
+.border-x-3 {
+  border-left-width: 3px;
+  border-right-width: 3px;
+}
+.border-x-4 {
+  border-left-width: 4px;
+  border-right-width: 4px;
+}
+.border-x-8 {
+  border-left-width: 8px;
+  border-right-width: 8px;
+}
+.border-x {
+  border-left-width: 1px;
+  border-right-width: 1px;
+}
+.border-y-0 {
+  border-top-width: 0px;
+  border-bottom-width: 0px;
+}
+.border-y-2 {
+  border-top-width: 2px;
+  border-bottom-width: 2px;
+}
+.border-y-3 {
+  border-top-width: 3px;
+  border-bottom-width: 3px;
+}
+.border-y-4 {
+  border-top-width: 4px;
+  border-bottom-width: 4px;
+}
+.border-y-8 {
+  border-top-width: 8px;
+  border-bottom-width: 8px;
+}
+.border-y {
+  border-top-width: 1px;
+  border-bottom-width: 1px;
+}
+.border-t-0 {
+  border-top-width: 0px;
+}
+.border-t-2 {
+  border-top-width: 2px;
+}
+.border-t-3 {
+  border-top-width: 3px;
+}
+.border-t-4 {
+  border-top-width: 4px;
+}
+.border-t-8 {
+  border-top-width: 8px;
+}
+.border-t {
+  border-top-width: 1px;
+}
+.border-r-0 {
+  border-right-width: 0px;
+}
+.border-r-2 {
+  border-right-width: 2px;
+}
+.border-r-3 {
+  border-right-width: 3px;
+}
+.border-r-4 {
+  border-right-width: 4px;
+}
+.border-r-8 {
+  border-right-width: 8px;
+}
+.border-r {
+  border-right-width: 1px;
+}
+.border-b-0 {
+  border-bottom-width: 0px;
+}
+.border-b-2 {
+  border-bottom-width: 2px;
+}
+.border-b-3 {
+  border-bottom-width: 3px;
+}
+.border-b-4 {
+  border-bottom-width: 4px;
+}
+.border-b-8 {
+  border-bottom-width: 8px;
+}
+.border-b {
+  border-bottom-width: 1px;
+}
+.border-l-0 {
+  border-left-width: 0px;
+}
+.border-l-2 {
+  border-left-width: 2px;
+}
+.border-l-3 {
+  border-left-width: 3px;
+}
+.border-l-4 {
+  border-left-width: 4px;
+}
+.border-l-8 {
+  border-left-width: 8px;
+}
+.border-l {
+  border-left-width: 1px;
+}
+.border-white {
+  border-color: #ffffff;
+}
+.border-gray-lighter {
+  border-color: #efefef;
+}
+.border-gray-light {
+  border-color: #ccc;
+}
+.border-gray {
+  border-color: #a4a4a4;
+}
+.border-gray-dark {
+  border-color: #303030;
+}
+.border-gray-darker {
+  border-color: #1c1c1c;
+}
+/* 
+
+  Radius
+
+*/
+.rounded-none {
+  border-radius: 0px;
+}
+.rounded-sm {
+  border-radius: 0.125rem;
+}
+.rounded {
+  border-radius: 0.25rem;
+}
+.rounded-md {
+  border-radius: 0.5rem;
+}
+.rounded-lg {
+  border-radius: 0.75rem;
+}
+.rounded-xl {
+  border-radius: 1rem;
+}
+.rounded-2x {
+  border-radius: 1.5rem;
+}
+.rounded-full {
+  border-radius: 9999px;
+}
+.rounded-tr-0 {
+  border-top-right-radius: 0;
+}
+.rounded-br-0 {
+  border-bottom-right-radius: 0;
+}
+.rounded-tl-0 {
+  border-top-left-radius: 0;
+}
+.rounded-bl-0 {
+  border-bottom-left-radius: 0;
+}
+.rounded-t-0 {
+  border-top-left-radius: 0;
+  border-top-right-radius: 0;
+}
+.rounded-b-0 {
+  border-bottom-left-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.rounded-l-0 {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.rounded-r-0 {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+}
+.timeline .timeline--item {
+  min-height: 100px;
+}
+.timeline .timeline--item > div {
+  position: relative;
+}
+.timeline .timeline--item > div:before {
+  content: "";
+  position: absolute;
+  top: 50%;
+  left: 0;
+  margin-top: -10px;
+  margin-left: -10px;
+  width: 20px;
+  height: 20px;
+  border-radius: 1000px;
+  background-color: #fff;
+  border: 4px solid var(--gray-light);
+  z-index: 1;
+}
+.bg-gray-darker .timeline .timeline--item > div:before {
+  background-color: var(--gray-darker);
+}
+.timeline .timeline--item > div:after {
+  content: "";
+  position: absolute;
+  top: 0%;
+  left: 0;
+  width: 4px;
+  margin-left: -2px;
+  height: 100%;
+  background-color: var(--gray-light);
+}
+.timeline .timeline--item:first-child > div:after,
+.timeline .timeline--item:last-child > div:after {
+  height: 50%;
+}
+.timeline .timeline--item:first-child > div:after {
+  top: 50%;
+}
+@media (min-width: 768px) {
+  .timeline .timeline--item i {
+    font-size: 3em;
+  }
+  .timeline .timeline--item:nth-child(2n + 1) > div:before {
+    left: auto;
+    right: 0;
+    margin-left: 0;
+    margin-right: -10px;
+  }
+  .timeline .timeline--item:nth-child(2n + 1) > div:after {
+    left: auto;
+    right: 0;
+    margin-left: 0;
+    margin-right: -2px;
+  }
+}
+/*****
+
+  HELPERS
+
+*****/
+.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: flex !important;
+}
+.d-inline-flex {
+  display: inline-flex !important;
+}
+.d-grid {
+  display: grid !important;
+}
+.d-inline-grid {
+  display: inline-grid !important;
+}
+.ratio-thin {
+  aspect-ratio: 3 / 1;
+}
+.ratio-video {
+  aspect-ratio: 16 / 9;
+}
+.ratio-landscape {
+  aspect-ratio: 2 / 1;
+}
+.ratio-square {
+  aspect-ratio: 1 / 1;
+}
+.ratio-portrait {
+  aspect-ratio: 1 / 1.25;
+}
+.ratio-tall {
+  aspect-ratio: 1 / 1.7;
+}
+.col-auto {
+  grid-column: auto;
+}
+.col-span-1 {
+  grid-column: span 1 / span 1;
+}
+.col-span-2 {
+  grid-column: span 2 / span 2;
+}
+.col-span-3 {
+  grid-column: span 3 / span 3;
+}
+.col-span-4 {
+  grid-column: span 4 / span 4;
+}
+.col-span-5 {
+  grid-column: span 5 / span 5;
+}
+.col-span-6 {
+  grid-column: span 6 / span 6;
+}
+.col-span-7 {
+  grid-column: span 7 / span 7;
+}
+.col-span-8 {
+  grid-column: span 8 / span 8;
+}
+.col-span-9 {
+  grid-column: span 9 / span 9;
+}
+.col-span-10 {
+  grid-column: span 10 / span 10;
+}
+.col-span-11 {
+  grid-column: span 11 / span 11;
+}
+.col-span-12 {
+  grid-column: span 12 / span 12;
+}
+.col-span-full {
+  grid-column: 1 / -1;
+}
+.col-start-1 {
+  grid-column-start: 1;
+}
+.col-start-2 {
+  grid-column-start: 2;
+}
+.col-start-3 {
+  grid-column-start: 3;
+}
+.col-start-4 {
+  grid-column-start: 4;
+}
+.col-start-5 {
+  grid-column-start: 5;
+}
+.col-start-6 {
+  grid-column-start: 6;
+}
+.col-start-7 {
+  grid-column-start: 7;
+}
+.col-start-8 {
+  grid-column-start: 8;
+}
+.col-start-9 {
+  grid-column-start: 9;
+}
+.col-start-10 {
+  grid-column-start: 10;
+}
+.col-start-11 {
+  grid-column-start: 11;
+}
+.col-start-12 {
+  grid-column-start: 12;
+}
+.col-start-initial {
+  grid-column-start: initial;
+}
+.justify-items-start {
+  justify-items: start;
+}
+.justify-items-end {
+  justify-items: end;
+}
+.justify-items-center {
+  justify-items: center;
+}
+.justify-items-stretch {
+  justify-items: stretch;
+}
+.align-content-evenly {
+  align-content: space-evenly;
+}
+.align-content-baseline {
+  align-content: baseline;
+}
+.grid-cols-1 {
+  grid-template-columns: repeat(1, minmax(0, 1fr));
+}
+.grid-cols-2 {
+  grid-template-columns: repeat(2, minmax(0, 1fr));
+}
+.grid-cols-3 {
+  grid-template-columns: repeat(3, minmax(0, 1fr));
+}
+.grid-cols-4 {
+  grid-template-columns: repeat(4, minmax(0, 1fr));
+}
+.grid-cols-5 {
+  grid-template-columns: repeat(5, minmax(0, 1fr));
+}
+.grid-cols-6 {
+  grid-template-columns: repeat(6, minmax(0, 1fr));
+}
+.grid-cols-7 {
+  grid-template-columns: repeat(7, minmax(0, 1fr));
+}
+.grid-cols-8 {
+  grid-template-columns: repeat(8, minmax(0, 1fr));
+}
+.grid-cols-9 {
+  grid-template-columns: repeat(9, minmax(0, 1fr));
+}
+.grid-cols-10 {
+  grid-template-columns: repeat(10, minmax(0, 1fr));
+}
+.grid-cols-11 {
+  grid-template-columns: repeat(11, minmax(0, 1fr));
+}
+.grid-cols-12 {
+  grid-template-columns: repeat(12, minmax(0, 1fr));
+}
+.grid-cols-none {
+  grid-template-columns: none;
+}
+.gap-0 {
+  gap: 0;
+}
+.gap-x-0 {
+  column-gap: 0;
+}
+.gap-y-0 {
+  row-gap: 0;
+}
+.gap-1 {
+  gap: 4px;
+}
+.gap-x-1 {
+  column-gap: 4px;
+}
+.gap-y-1 {
+  row-gap: 4px;
+}
+.gap-2 {
+  gap: 8px;
+}
+.gap-x-2 {
+  column-gap: 8px;
+}
+.gap-y-2 {
+  row-gap: 8px;
+}
+.gap-3 {
+  gap: 16px;
+}
+.gap-x-3 {
+  column-gap: 16px;
+}
+.gap-y-3 {
+  row-gap: 16px;
+}
+.gap-4 {
+  gap: 24px;
+}
+.gap-x-4 {
+  column-gap: 24px;
+}
+.gap-y-4 {
+  row-gap: 24px;
+}
+.gap-5 {
+  gap: 32px;
+}
+.gap-x-5 {
+  column-gap: 32px;
+}
+.gap-y-5 {
+  row-gap: 32px;
+}
+.gap-6 {
+  gap: 40px;
+}
+.gap-x-6 {
+  column-gap: 40px;
+}
+.gap-y-6 {
+  row-gap: 40px;
+}
+.gap-7 {
+  gap: 48px;
+}
+.gap-x-7 {
+  column-gap: 48px;
+}
+.gap-y-7 {
+  row-gap: 48px;
+}
+.gap-8 {
+  gap: 96px;
+}
+.gap-x-8 {
+  column-gap: 96px;
+}
+.gap-y-8 {
+  row-gap: 96px;
+}
+.gap-9 {
+  gap: 192px;
+}
+.gap-x-9 {
+  column-gap: 192px;
+}
+.gap-y-9 {
+  row-gap: 192px;
+}
+.gap-10 {
+  gap: 256px;
+}
+.gap-x-10 {
+  column-gap: 256px;
+}
+.gap-y-10 {
+  row-gap: 256px;
+}
+.gap-11 {
+  gap: 320px;
+}
+.gap-x-11 {
+  column-gap: 320px;
+}
+.gap-y-11 {
+  row-gap: 320px;
+}
+.gap-12 {
+  gap: 384px;
+}
+.gap-x-12 {
+  column-gap: 384px;
+}
+.gap-y-12 {
+  row-gap: 384px;
+}
+.ltr {
+  direction: ltr;
+}
+.rtl {
+  direction: rtl;
+}
+.text-left {
+  text-align: left;
+}
+.text-center {
+  text-align: center;
+}
+.text-right {
+  text-align: right;
+}
+.top-0 {
+  top: 0%;
+}
+.right-0 {
+  right: 0%;
+}
+.bottom-0 {
+  bottom: 0%;
+}
+.left-0 {
+  left: 0%;
+}
+.top-5 {
+  top: 5%;
+}
+.right-5 {
+  right: 5%;
+}
+.bottom-5 {
+  bottom: 5%;
+}
+.left-5 {
+  left: 5%;
+}
+.top-10 {
+  top: 10%;
+}
+.right-10 {
+  right: 10%;
+}
+.bottom-10 {
+  bottom: 10%;
+}
+.left-10 {
+  left: 10%;
+}
+.top-25 {
+  top: 25%;
+}
+.right-25 {
+  right: 25%;
+}
+.bottom-25 {
+  bottom: 25%;
+}
+.left-25 {
+  left: 25%;
+}
+.top-40 {
+  top: 40%;
+}
+.right-40 {
+  right: 40%;
+}
+.bottom-40 {
+  bottom: 40%;
+}
+.left-40 {
+  left: 40%;
+}
+.top-50 {
+  top: 50%;
+}
+.right-50 {
+  right: 50%;
+}
+.bottom-50 {
+  bottom: 50%;
+}
+.left-50 {
+  left: 50%;
+}
+.top-60 {
+  top: 60%;
+}
+.right-60 {
+  right: 60%;
+}
+.bottom-60 {
+  bottom: 60%;
+}
+.left-60 {
+  left: 60%;
+}
+.top-75 {
+  top: 75%;
+}
+.right-75 {
+  right: 75%;
+}
+.bottom-75 {
+  bottom: 75%;
+}
+.left-75 {
+  left: 75%;
+}
+.rotate-90 {
+  transform: rotate(90deg);
+}
+.rotate-90-counter {
+  transform: rotate(-90deg);
+}
+.flip-x {
+  transform: scaleX(-1);
+}
+.flip-y {
+  transform: scaleY(-1);
+}
+.m-6 {
+  margin: 40px !important;
+}
+.m-7 {
+  margin: 48px !important;
+}
+.m-8 {
+  margin: 96px !important;
+}
+.m-9 {
+  margin: 192px !important;
+}
+.m-10 {
+  margin: 256px !important;
+}
+.m-11 {
+  margin: 320px !important;
+}
+.m-12 {
+  margin: 384px !important;
+}
+.mx-neg-3 {
+  margin-left: -16px !important;
+  margin-right: -16px !important;
+}
+.mx-6 {
+  margin-right: 40px !important;
+  margin-left: 40px !important;
+}
+.mx-7 {
+  margin-right: 48px !important;
+  margin-left: 48px !important;
+}
+.mx-8 {
+  margin-right: 96px !important;
+  margin-left: 96px !important;
+}
+.mx-9 {
+  margin-right: 192px !important;
+  margin-left: 192px !important;
+}
+.mx-10 {
+  margin-right: 256px !important;
+  margin-left: 256px !important;
+}
+.mx-11 {
+  margin-right: 320px !important;
+  margin-left: 320px !important;
+}
+.mx-12 {
+  margin-right: 384px !important;
+  margin-left: 384px !important;
+}
+.mx-0 {
+  margin-right: 0 !important;
+  margin-left: 0 !important;
+}
+.my-6 {
+  margin-top: 40px !important;
+  margin-bottom: 40px !important;
+}
+.my-7 {
+  margin-top: 48px !important;
+  margin-bottom: 48px !important;
+}
+.my-8 {
+  margin-top: 96px !important;
+  margin-bottom: 96px !important;
+}
+.my-9 {
+  margin-top: 192px !important;
+  margin-bottom: 192px !important;
+}
+.my-10 {
+  margin-top: 256px !important;
+  margin-bottom: 256px !important;
+}
+.my-11 {
+  margin-top: 320px !important;
+  margin-bottom: 320px !important;
+}
+.my-12 {
+  margin-top: 384px !important;
+  margin-bottom: 384px !important;
+}
+.mt-6 {
+  margin-top: 40px !important;
+}
+.mt-7 {
+  margin-top: 48px !important;
+}
+.mt-8 {
+  margin-top: 96px !important;
+}
+.mt-9 {
+  margin-top: 192px !important;
+}
+.mt-10 {
+  margin-top: 256px !important;
+}
+.mt-11 {
+  margin-top: 320px !important;
+}
+.mt-12 {
+  margin-top: 384px !important;
+}
+.mr-6 {
+  margin-right: 40px !important;
+}
+.mr-7 {
+  margin-right: 48px !important;
+}
+.mr-8 {
+  margin-right: 96px !important;
+}
+.mr-9 {
+  margin-right: 192px !important;
+}
+.mr-10 {
+  margin-right: 256px !important;
+}
+.mr-11 {
+  margin-right: 320px !important;
+}
+.mr-12 {
+  margin-right: 384px !important;
+}
+.mb-6 {
+  margin-bottom: 40px !important;
+}
+.mb-7 {
+  margin-bottom: 48px !important;
+}
+.mb-8 {
+  margin-bottom: 96px !important;
+}
+.mb-9 {
+  margin-bottom: 192px !important;
+}
+.mb-10 {
+  margin-bottom: 256px !important;
+}
+.mb-11 {
+  margin-bottom: 320px !important;
+}
+.mb-12 {
+  margin-bottom: 384px !important;
+}
+.ml-6 {
+  margin-left: 40px !important;
+}
+.ml-7 {
+  margin-left: 48px !important;
+}
+.ml-8 {
+  margin-left: 96px !important;
+}
+.ml-9 {
+  margin-left: 192px !important;
+}
+.ml-10 {
+  margin-left: 256px !important;
+}
+.ml-11 {
+  margin-left: 320px !important;
+}
+.ml-12 {
+  margin-left: 384px !important;
+}
+.p-0 {
+  padding: 0 !important;
+}
+.p-6 {
+  padding: 40px !important;
+}
+.p-7 {
+  padding: 48px !important;
+}
+.p-8 {
+  padding: 96px !important;
+}
+.p-9 {
+  padding: 192px !important;
+}
+.p-10 {
+  padding: 256px !important;
+}
+.p-11 {
+  padding: 320px !important;
+}
+.p-12 {
+  padding: 384px !important;
+}
+.px-0 {
+  padding-left: 0 !important;
+  padding-right: 0 !important;
+}
+.px-6 {
+  padding-right: 40px !important;
+  padding-left: 40px !important;
+}
+.px-7 {
+  padding-right: 48px !important;
+  padding-left: 48px !important;
+}
+.px-8 {
+  padding-right: 96px !important;
+  padding-left: 96px !important;
+}
+.px-9 {
+  padding-right: 192px !important;
+  padding-left: 192px !important;
+}
+.px-10 {
+  padding-right: 256px !important;
+  padding-left: 256px !important;
+}
+.px-11 {
+  padding-right: 320px !important;
+  padding-left: 320px !important;
+}
+.px-12 {
+  padding-right: 384px !important;
+  padding-left: 384px !important;
+}
+.py-0 {
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
+.py-6 {
+  padding-top: 40px !important;
+  padding-bottom: 40px !important;
+}
+.py-7 {
+  padding-top: 48px !important;
+  padding-bottom: 48px !important;
+}
+.py-8 {
+  padding-top: 96px !important;
+  padding-bottom: 96px !important;
+}
+.py-9 {
+  padding-top: 192px !important;
+  padding-bottom: 192px !important;
+}
+.py-10 {
+  padding-top: 256px !important;
+  padding-bottom: 256px !important;
+}
+.py-11 {
+  padding-top: 320px !important;
+  padding-bottom: 320px !important;
+}
+.py-12 {
+  padding-top: 384px !important;
+  padding-bottom: 384px !important;
+}
+.pt-0 {
+  padding-top: 0 !important;
+}
+.pt-6 {
+  padding-top: 40px !important;
+}
+.pt-7 {
+  padding-top: 48px !important;
+}
+.pt-8 {
+  padding-top: 96px !important;
+}
+.pt-9 {
+  padding-top: 192px !important;
+}
+.pt-10 {
+  padding-top: 256px !important;
+}
+.pt-11 {
+  padding-top: 320px !important;
+}
+.pt-12 {
+  padding-top: 384px !important;
+}
+.pr-0 {
+  padding-right: 0 !important;
+}
+.pr-6 {
+  padding-right: 40px !important;
+}
+.pr-7 {
+  padding-right: 48px !important;
+}
+.pr-8 {
+  padding-right: 96px !important;
+}
+.pr-9 {
+  padding-right: 192px !important;
+}
+.pr-10 {
+  padding-right: 256px !important;
+}
+.pr-11 {
+  padding-right: 320px !important;
+}
+.pr-12 {
+  padding-right: 384px !important;
+}
+.pb-0 {
+  padding-bottom: 0 !important;
+}
+.pb-6 {
+  padding-bottom: 40px !important;
+}
+.pb-7 {
+  padding-bottom: 48px !important;
+}
+.pb-8 {
+  padding-bottom: 96px !important;
+}
+.pb-9 {
+  padding-bottom: 192px !important;
+}
+.pb-10 {
+  padding-bottom: 256px !important;
+}
+.pb-11 {
+  padding-bottom: 320px !important;
+}
+.pb-12 {
+  padding-bottom: 384px !important;
+}
+.pl-0 {
+  padding-left: 0 !important;
+}
+.pl-6 {
+  padding-left: 40px !important;
+}
+.pl-7 {
+  padding-left: 48px !important;
+}
+.pl-8 {
+  padding-left: 96px !important;
+}
+.pl-9 {
+  padding-left: 192px !important;
+}
+.pl-10 {
+  padding-left: 256px !important;
+}
+.pl-11 {
+  padding-left: 320px !important;
+}
+.pl-12 {
+  padding-left: 384px !important;
+}
+.w-auto {
+  width: auto !important;
+}
+.w-0 {
+  width: 0% !important;
+}
+.w-25 {
+  width: 25% !important;
+}
+.w-50 {
+  width: 50% !important;
+}
+.w-75 {
+  width: 75% !important;
+}
+.w-100 {
+  width: 100% !important;
+}
+.max-w-auto {
+  max-width: auto !important;
+}
+.max-w-0 {
+  max-width: 0% !important;
+}
+.max-w-25 {
+  max-width: 25% !important;
+}
+.max-w-50 {
+  max-width: 50% !important;
+}
+.max-w-75 {
+  max-width: 75% !important;
+}
+.max-w-100 {
+  max-width: 100% !important;
+}
+.vh-100 {
+  height: 100vh;
+}
+@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: flex !important;
+  }
+  .d-sm-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-sm-grid {
+    display: grid !important;
+  }
+  .d-sm-inline-grid {
+    display: inline-grid !important;
+  }
+  .ratio-sm-thin {
+    aspect-ratio: 3 / 1;
+  }
+  .ratio-sm-video {
+    aspect-ratio: 16 / 9;
+  }
+  .ratio-sm-landscape {
+    aspect-ratio: 2 / 1;
+  }
+  .ratio-sm-square {
+    aspect-ratio: 1 / 1;
+  }
+  .ratio-sm-portrait {
+    aspect-ratio: 1 / 1.25;
+  }
+  .ratio-sm-tall {
+    aspect-ratio: 1 / 1.7;
+  }
+  .col-sm-auto {
+    grid-column: auto;
+  }
+  .col-span-sm-1 {
+    grid-column: span 1 / span 1;
+  }
+  .col-span-sm-2 {
+    grid-column: span 2 / span 2;
+  }
+  .col-span-sm-3 {
+    grid-column: span 3 / span 3;
+  }
+  .col-span-sm-4 {
+    grid-column: span 4 / span 4;
+  }
+  .col-span-sm-5 {
+    grid-column: span 5 / span 5;
+  }
+  .col-span-sm-6 {
+    grid-column: span 6 / span 6;
+  }
+  .col-span-sm-7 {
+    grid-column: span 7 / span 7;
+  }
+  .col-span-sm-8 {
+    grid-column: span 8 / span 8;
+  }
+  .col-span-sm-9 {
+    grid-column: span 9 / span 9;
+  }
+  .col-span-sm-10 {
+    grid-column: span 10 / span 10;
+  }
+  .col-span-sm-11 {
+    grid-column: span 11 / span 11;
+  }
+  .col-span-sm-12 {
+    grid-column: span 12 / span 12;
+  }
+  .col-span-sm-full {
+    grid-column: 1 / -1;
+  }
+  .col-start-sm-1 {
+    grid-column-start: 1;
+  }
+  .col-start-sm-2 {
+    grid-column-start: 2;
+  }
+  .col-start-sm-3 {
+    grid-column-start: 3;
+  }
+  .col-start-sm-4 {
+    grid-column-start: 4;
+  }
+  .col-start-sm-5 {
+    grid-column-start: 5;
+  }
+  .col-start-sm-6 {
+    grid-column-start: 6;
+  }
+  .col-start-sm-7 {
+    grid-column-start: 7;
+  }
+  .col-start-sm-8 {
+    grid-column-start: 8;
+  }
+  .col-start-sm-9 {
+    grid-column-start: 9;
+  }
+  .col-start-sm-10 {
+    grid-column-start: 10;
+  }
+  .col-start-sm-11 {
+    grid-column-start: 11;
+  }
+  .col-start-sm-12 {
+    grid-column-start: 12;
+  }
+  .col-start-sm-initial {
+    grid-column-start: initial;
+  }
+  .justify-items-sm-start {
+    justify-items: start;
+  }
+  .justify-items-sm-end {
+    justify-items: end;
+  }
+  .justify-items-sm-center {
+    justify-items: center;
+  }
+  .justify-items-sm-stretch {
+    justify-items: stretch;
+  }
+  .align-content-sm-evenly {
+    align-content: space-evenly;
+  }
+  .align-content-sm-baseline {
+    align-content: baseline;
+  }
+  .grid-cols-sm-1 {
+    grid-template-columns: repeat(1, minmax(0, 1fr));
+  }
+  .grid-cols-sm-2 {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+  .grid-cols-sm-3 {
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+  }
+  .grid-cols-sm-4 {
+    grid-template-columns: repeat(4, minmax(0, 1fr));
+  }
+  .grid-cols-sm-5 {
+    grid-template-columns: repeat(5, minmax(0, 1fr));
+  }
+  .grid-cols-sm-6 {
+    grid-template-columns: repeat(6, minmax(0, 1fr));
+  }
+  .grid-cols-sm-7 {
+    grid-template-columns: repeat(7, minmax(0, 1fr));
+  }
+  .grid-cols-sm-8 {
+    grid-template-columns: repeat(8, minmax(0, 1fr));
+  }
+  .grid-cols-sm-9 {
+    grid-template-columns: repeat(9, minmax(0, 1fr));
+  }
+  .grid-cols-sm-10 {
+    grid-template-columns: repeat(10, minmax(0, 1fr));
+  }
+  .grid-cols-sm-11 {
+    grid-template-columns: repeat(11, minmax(0, 1fr));
+  }
+  .grid-cols-sm-12 {
+    grid-template-columns: repeat(12, minmax(0, 1fr));
+  }
+  .grid-cols-sm-none {
+    grid-template-columns: none;
+  }
+  .gap-sm-0 {
+    gap: 0;
+  }
+  .gap-x-sm-0 {
+    column-gap: 0;
+  }
+  .gap-y-sm-0 {
+    row-gap: 0;
+  }
+  .gap-sm-1 {
+    gap: 4px;
+  }
+  .gap-x-sm-1 {
+    column-gap: 4px;
+  }
+  .gap-y-sm-1 {
+    row-gap: 4px;
+  }
+  .gap-sm-2 {
+    gap: 8px;
+  }
+  .gap-x-sm-2 {
+    column-gap: 8px;
+  }
+  .gap-y-sm-2 {
+    row-gap: 8px;
+  }
+  .gap-sm-3 {
+    gap: 16px;
+  }
+  .gap-x-sm-3 {
+    column-gap: 16px;
+  }
+  .gap-y-sm-3 {
+    row-gap: 16px;
+  }
+  .gap-sm-4 {
+    gap: 24px;
+  }
+  .gap-x-sm-4 {
+    column-gap: 24px;
+  }
+  .gap-y-sm-4 {
+    row-gap: 24px;
+  }
+  .gap-sm-5 {
+    gap: 32px;
+  }
+  .gap-x-sm-5 {
+    column-gap: 32px;
+  }
+  .gap-y-sm-5 {
+    row-gap: 32px;
+  }
+  .gap-sm-6 {
+    gap: 40px;
+  }
+  .gap-x-sm-6 {
+    column-gap: 40px;
+  }
+  .gap-y-sm-6 {
+    row-gap: 40px;
+  }
+  .gap-sm-7 {
+    gap: 48px;
+  }
+  .gap-x-sm-7 {
+    column-gap: 48px;
+  }
+  .gap-y-sm-7 {
+    row-gap: 48px;
+  }
+  .gap-sm-8 {
+    gap: 96px;
+  }
+  .gap-x-sm-8 {
+    column-gap: 96px;
+  }
+  .gap-y-sm-8 {
+    row-gap: 96px;
+  }
+  .gap-sm-9 {
+    gap: 192px;
+  }
+  .gap-x-sm-9 {
+    column-gap: 192px;
+  }
+  .gap-y-sm-9 {
+    row-gap: 192px;
+  }
+  .gap-sm-10 {
+    gap: 256px;
+  }
+  .gap-x-sm-10 {
+    column-gap: 256px;
+  }
+  .gap-y-sm-10 {
+    row-gap: 256px;
+  }
+  .gap-sm-11 {
+    gap: 320px;
+  }
+  .gap-x-sm-11 {
+    column-gap: 320px;
+  }
+  .gap-y-sm-11 {
+    row-gap: 320px;
+  }
+  .gap-sm-12 {
+    gap: 384px;
+  }
+  .gap-x-sm-12 {
+    column-gap: 384px;
+  }
+  .gap-y-sm-12 {
+    row-gap: 384px;
+  }
+  .ltr-sm {
+    direction: ltr;
+  }
+  .rtl-sm {
+    direction: rtl;
+  }
+  .text-sm-left {
+    text-align: left;
+  }
+  .text-sm-center {
+    text-align: center;
+  }
+  .text-sm-right {
+    text-align: right;
+  }
+  .top-sm-0 {
+    top: 0%;
+  }
+  .right-sm-0 {
+    right: 0%;
+  }
+  .bottom-sm-0 {
+    bottom: 0%;
+  }
+  .left-sm-0 {
+    left: 0%;
+  }
+  .top-sm-5 {
+    top: 5%;
+  }
+  .right-sm-5 {
+    right: 5%;
+  }
+  .bottom-sm-5 {
+    bottom: 5%;
+  }
+  .left-sm-5 {
+    left: 5%;
+  }
+  .top-sm-10 {
+    top: 10%;
+  }
+  .right-sm-10 {
+    right: 10%;
+  }
+  .bottom-sm-10 {
+    bottom: 10%;
+  }
+  .left-sm-10 {
+    left: 10%;
+  }
+  .top-sm-25 {
+    top: 25%;
+  }
+  .right-sm-25 {
+    right: 25%;
+  }
+  .bottom-sm-25 {
+    bottom: 25%;
+  }
+  .left-sm-25 {
+    left: 25%;
+  }
+  .top-sm-40 {
+    top: 40%;
+  }
+  .right-sm-40 {
+    right: 40%;
+  }
+  .bottom-sm-40 {
+    bottom: 40%;
+  }
+  .left-sm-40 {
+    left: 40%;
+  }
+  .top-sm-50 {
+    top: 50%;
+  }
+  .right-sm-50 {
+    right: 50%;
+  }
+  .bottom-sm-50 {
+    bottom: 50%;
+  }
+  .left-sm-50 {
+    left: 50%;
+  }
+  .top-sm-60 {
+    top: 60%;
+  }
+  .right-sm-60 {
+    right: 60%;
+  }
+  .bottom-sm-60 {
+    bottom: 60%;
+  }
+  .left-sm-60 {
+    left: 60%;
+  }
+  .top-sm-75 {
+    top: 75%;
+  }
+  .right-sm-75 {
+    right: 75%;
+  }
+  .bottom-sm-75 {
+    bottom: 75%;
+  }
+  .left-sm-75 {
+    left: 75%;
+  }
+  .rotate-sm-90 {
+    transform: rotate(90deg);
+  }
+  .rotate-sm-90-counter {
+    transform: rotate(-90deg);
+  }
+  .flip-sm-x {
+    transform: scaleX(-1);
+  }
+  .flip-sm-y {
+    transform: scaleY(-1);
+  }
+  .m-sm-6 {
+    margin: 40px !important;
+  }
+  .m-sm-7 {
+    margin: 48px !important;
+  }
+  .m-sm-8 {
+    margin: 96px !important;
+  }
+  .m-sm-9 {
+    margin: 192px !important;
+  }
+  .m-sm-10 {
+    margin: 256px !important;
+  }
+  .m-sm-11 {
+    margin: 320px !important;
+  }
+  .m-sm-12 {
+    margin: 384px !important;
+  }
+  .mx-neg-sm-3 {
+    margin-left: -16px !important;
+    margin-right: -16px !important;
+  }
+  .mx-sm-6 {
+    margin-right: 40px !important;
+    margin-left: 40px !important;
+  }
+  .mx-sm-7 {
+    margin-right: 48px !important;
+    margin-left: 48px !important;
+  }
+  .mx-sm-8 {
+    margin-right: 96px !important;
+    margin-left: 96px !important;
+  }
+  .mx-sm-9 {
+    margin-right: 192px !important;
+    margin-left: 192px !important;
+  }
+  .mx-sm-10 {
+    margin-right: 256px !important;
+    margin-left: 256px !important;
+  }
+  .mx-sm-11 {
+    margin-right: 320px !important;
+    margin-left: 320px !important;
+  }
+  .mx-sm-12 {
+    margin-right: 384px !important;
+    margin-left: 384px !important;
+  }
+  .mx-sm-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .my-sm-6 {
+    margin-top: 40px !important;
+    margin-bottom: 40px !important;
+  }
+  .my-sm-7 {
+    margin-top: 48px !important;
+    margin-bottom: 48px !important;
+  }
+  .my-sm-8 {
+    margin-top: 96px !important;
+    margin-bottom: 96px !important;
+  }
+  .my-sm-9 {
+    margin-top: 192px !important;
+    margin-bottom: 192px !important;
+  }
+  .my-sm-10 {
+    margin-top: 256px !important;
+    margin-bottom: 256px !important;
+  }
+  .my-sm-11 {
+    margin-top: 320px !important;
+    margin-bottom: 320px !important;
+  }
+  .my-sm-12 {
+    margin-top: 384px !important;
+    margin-bottom: 384px !important;
+  }
+  .mt-sm-6 {
+    margin-top: 40px !important;
+  }
+  .mt-sm-7 {
+    margin-top: 48px !important;
+  }
+  .mt-sm-8 {
+    margin-top: 96px !important;
+  }
+  .mt-sm-9 {
+    margin-top: 192px !important;
+  }
+  .mt-sm-10 {
+    margin-top: 256px !important;
+  }
+  .mt-sm-11 {
+    margin-top: 320px !important;
+  }
+  .mt-sm-12 {
+    margin-top: 384px !important;
+  }
+  .mr-sm-6 {
+    margin-right: 40px !important;
+  }
+  .mr-sm-7 {
+    margin-right: 48px !important;
+  }
+  .mr-sm-8 {
+    margin-right: 96px !important;
+  }
+  .mr-sm-9 {
+    margin-right: 192px !important;
+  }
+  .mr-sm-10 {
+    margin-right: 256px !important;
+  }
+  .mr-sm-11 {
+    margin-right: 320px !important;
+  }
+  .mr-sm-12 {
+    margin-right: 384px !important;
+  }
+  .mb-sm-6 {
+    margin-bottom: 40px !important;
+  }
+  .mb-sm-7 {
+    margin-bottom: 48px !important;
+  }
+  .mb-sm-8 {
+    margin-bottom: 96px !important;
+  }
+  .mb-sm-9 {
+    margin-bottom: 192px !important;
+  }
+  .mb-sm-10 {
+    margin-bottom: 256px !important;
+  }
+  .mb-sm-11 {
+    margin-bottom: 320px !important;
+  }
+  .mb-sm-12 {
+    margin-bottom: 384px !important;
+  }
+  .ml-sm-6 {
+    margin-left: 40px !important;
+  }
+  .ml-sm-7 {
+    margin-left: 48px !important;
+  }
+  .ml-sm-8 {
+    margin-left: 96px !important;
+  }
+  .ml-sm-9 {
+    margin-left: 192px !important;
+  }
+  .ml-sm-10 {
+    margin-left: 256px !important;
+  }
+  .ml-sm-11 {
+    margin-left: 320px !important;
+  }
+  .ml-sm-12 {
+    margin-left: 384px !important;
+  }
+  .p-sm-0 {
+    padding: 0 !important;
+  }
+  .p-sm-6 {
+    padding: 40px !important;
+  }
+  .p-sm-7 {
+    padding: 48px !important;
+  }
+  .p-sm-8 {
+    padding: 96px !important;
+  }
+  .p-sm-9 {
+    padding: 192px !important;
+  }
+  .p-sm-10 {
+    padding: 256px !important;
+  }
+  .p-sm-11 {
+    padding: 320px !important;
+  }
+  .p-sm-12 {
+    padding: 384px !important;
+  }
+  .px-sm-0 {
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+  }
+  .px-sm-6 {
+    padding-right: 40px !important;
+    padding-left: 40px !important;
+  }
+  .px-sm-7 {
+    padding-right: 48px !important;
+    padding-left: 48px !important;
+  }
+  .px-sm-8 {
+    padding-right: 96px !important;
+    padding-left: 96px !important;
+  }
+  .px-sm-9 {
+    padding-right: 192px !important;
+    padding-left: 192px !important;
+  }
+  .px-sm-10 {
+    padding-right: 256px !important;
+    padding-left: 256px !important;
+  }
+  .px-sm-11 {
+    padding-right: 320px !important;
+    padding-left: 320px !important;
+  }
+  .px-sm-12 {
+    padding-right: 384px !important;
+    padding-left: 384px !important;
+  }
+  .py-sm-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-sm-6 {
+    padding-top: 40px !important;
+    padding-bottom: 40px !important;
+  }
+  .py-sm-7 {
+    padding-top: 48px !important;
+    padding-bottom: 48px !important;
+  }
+  .py-sm-8 {
+    padding-top: 96px !important;
+    padding-bottom: 96px !important;
+  }
+  .py-sm-9 {
+    padding-top: 192px !important;
+    padding-bottom: 192px !important;
+  }
+  .py-sm-10 {
+    padding-top: 256px !important;
+    padding-bottom: 256px !important;
+  }
+  .py-sm-11 {
+    padding-top: 320px !important;
+    padding-bottom: 320px !important;
+  }
+  .py-sm-12 {
+    padding-top: 384px !important;
+    padding-bottom: 384px !important;
+  }
+  .pt-sm-0 {
+    padding-top: 0 !important;
+  }
+  .pt-sm-6 {
+    padding-top: 40px !important;
+  }
+  .pt-sm-7 {
+    padding-top: 48px !important;
+  }
+  .pt-sm-8 {
+    padding-top: 96px !important;
+  }
+  .pt-sm-9 {
+    padding-top: 192px !important;
+  }
+  .pt-sm-10 {
+    padding-top: 256px !important;
+  }
+  .pt-sm-11 {
+    padding-top: 320px !important;
+  }
+  .pt-sm-12 {
+    padding-top: 384px !important;
+  }
+  .pr-sm-0 {
+    padding-right: 0 !important;
+  }
+  .pr-sm-6 {
+    padding-right: 40px !important;
+  }
+  .pr-sm-7 {
+    padding-right: 48px !important;
+  }
+  .pr-sm-8 {
+    padding-right: 96px !important;
+  }
+  .pr-sm-9 {
+    padding-right: 192px !important;
+  }
+  .pr-sm-10 {
+    padding-right: 256px !important;
+  }
+  .pr-sm-11 {
+    padding-right: 320px !important;
+  }
+  .pr-sm-12 {
+    padding-right: 384px !important;
+  }
+  .pb-sm-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-sm-6 {
+    padding-bottom: 40px !important;
+  }
+  .pb-sm-7 {
+    padding-bottom: 48px !important;
+  }
+  .pb-sm-8 {
+    padding-bottom: 96px !important;
+  }
+  .pb-sm-9 {
+    padding-bottom: 192px !important;
+  }
+  .pb-sm-10 {
+    padding-bottom: 256px !important;
+  }
+  .pb-sm-11 {
+    padding-bottom: 320px !important;
+  }
+  .pb-sm-12 {
+    padding-bottom: 384px !important;
+  }
+  .pl-sm-0 {
+    padding-left: 0 !important;
+  }
+  .pl-sm-6 {
+    padding-left: 40px !important;
+  }
+  .pl-sm-7 {
+    padding-left: 48px !important;
+  }
+  .pl-sm-8 {
+    padding-left: 96px !important;
+  }
+  .pl-sm-9 {
+    padding-left: 192px !important;
+  }
+  .pl-sm-10 {
+    padding-left: 256px !important;
+  }
+  .pl-sm-11 {
+    padding-left: 320px !important;
+  }
+  .pl-sm-12 {
+    padding-left: 384px !important;
+  }
+  .w-sm-auto {
+    width: auto !important;
+  }
+  .w-sm-0 {
+    width: 0% !important;
+  }
+  .w-sm-25 {
+    width: 25% !important;
+  }
+  .w-sm-50 {
+    width: 50% !important;
+  }
+  .w-sm-75 {
+    width: 75% !important;
+  }
+  .w-sm-100 {
+    width: 100% !important;
+  }
+  .max-w-sm-auto {
+    max-width: auto !important;
+  }
+  .max-w-sm-0 {
+    max-width: 0% !important;
+  }
+  .max-w-sm-25 {
+    max-width: 25% !important;
+  }
+  .max-w-sm-50 {
+    max-width: 50% !important;
+  }
+  .max-w-sm-75 {
+    max-width: 75% !important;
+  }
+  .max-w-sm-100 {
+    max-width: 100% !important;
+  }
+  .vh-sm-100 {
+    height: 100vh;
+  }
+}
+@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: flex !important;
+  }
+  .d-md-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-md-grid {
+    display: grid !important;
+  }
+  .d-md-inline-grid {
+    display: inline-grid !important;
+  }
+  .ratio-md-thin {
+    aspect-ratio: 3 / 1;
+  }
+  .ratio-md-video {
+    aspect-ratio: 16 / 9;
+  }
+  .ratio-md-landscape {
+    aspect-ratio: 2 / 1;
+  }
+  .ratio-md-square {
+    aspect-ratio: 1 / 1;
+  }
+  .ratio-md-portrait {
+    aspect-ratio: 1 / 1.25;
+  }
+  .ratio-md-tall {
+    aspect-ratio: 1 / 1.7;
+  }
+  .col-md-auto {
+    grid-column: auto;
+  }
+  .col-span-md-1 {
+    grid-column: span 1 / span 1;
+  }
+  .col-span-md-2 {
+    grid-column: span 2 / span 2;
+  }
+  .col-span-md-3 {
+    grid-column: span 3 / span 3;
+  }
+  .col-span-md-4 {
+    grid-column: span 4 / span 4;
+  }
+  .col-span-md-5 {
+    grid-column: span 5 / span 5;
+  }
+  .col-span-md-6 {
+    grid-column: span 6 / span 6;
+  }
+  .col-span-md-7 {
+    grid-column: span 7 / span 7;
+  }
+  .col-span-md-8 {
+    grid-column: span 8 / span 8;
+  }
+  .col-span-md-9 {
+    grid-column: span 9 / span 9;
+  }
+  .col-span-md-10 {
+    grid-column: span 10 / span 10;
+  }
+  .col-span-md-11 {
+    grid-column: span 11 / span 11;
+  }
+  .col-span-md-12 {
+    grid-column: span 12 / span 12;
+  }
+  .col-span-md-full {
+    grid-column: 1 / -1;
+  }
+  .col-start-md-1 {
+    grid-column-start: 1;
+  }
+  .col-start-md-2 {
+    grid-column-start: 2;
+  }
+  .col-start-md-3 {
+    grid-column-start: 3;
+  }
+  .col-start-md-4 {
+    grid-column-start: 4;
+  }
+  .col-start-md-5 {
+    grid-column-start: 5;
+  }
+  .col-start-md-6 {
+    grid-column-start: 6;
+  }
+  .col-start-md-7 {
+    grid-column-start: 7;
+  }
+  .col-start-md-8 {
+    grid-column-start: 8;
+  }
+  .col-start-md-9 {
+    grid-column-start: 9;
+  }
+  .col-start-md-10 {
+    grid-column-start: 10;
+  }
+  .col-start-md-11 {
+    grid-column-start: 11;
+  }
+  .col-start-md-12 {
+    grid-column-start: 12;
+  }
+  .col-start-md-initial {
+    grid-column-start: initial;
+  }
+  .justify-items-md-start {
+    justify-items: start;
+  }
+  .justify-items-md-end {
+    justify-items: end;
+  }
+  .justify-items-md-center {
+    justify-items: center;
+  }
+  .justify-items-md-stretch {
+    justify-items: stretch;
+  }
+  .align-content-md-evenly {
+    align-content: space-evenly;
+  }
+  .align-content-md-baseline {
+    align-content: baseline;
+  }
+  .grid-cols-md-1 {
+    grid-template-columns: repeat(1, minmax(0, 1fr));
+  }
+  .grid-cols-md-2 {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+  .grid-cols-md-3 {
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+  }
+  .grid-cols-md-4 {
+    grid-template-columns: repeat(4, minmax(0, 1fr));
+  }
+  .grid-cols-md-5 {
+    grid-template-columns: repeat(5, minmax(0, 1fr));
+  }
+  .grid-cols-md-6 {
+    grid-template-columns: repeat(6, minmax(0, 1fr));
+  }
+  .grid-cols-md-7 {
+    grid-template-columns: repeat(7, minmax(0, 1fr));
+  }
+  .grid-cols-md-8 {
+    grid-template-columns: repeat(8, minmax(0, 1fr));
+  }
+  .grid-cols-md-9 {
+    grid-template-columns: repeat(9, minmax(0, 1fr));
+  }
+  .grid-cols-md-10 {
+    grid-template-columns: repeat(10, minmax(0, 1fr));
+  }
+  .grid-cols-md-11 {
+    grid-template-columns: repeat(11, minmax(0, 1fr));
+  }
+  .grid-cols-md-12 {
+    grid-template-columns: repeat(12, minmax(0, 1fr));
+  }
+  .grid-cols-md-none {
+    grid-template-columns: none;
+  }
+  .gap-md-0 {
+    gap: 0;
+  }
+  .gap-x-md-0 {
+    column-gap: 0;
+  }
+  .gap-y-md-0 {
+    row-gap: 0;
+  }
+  .gap-md-1 {
+    gap: 4px;
+  }
+  .gap-x-md-1 {
+    column-gap: 4px;
+  }
+  .gap-y-md-1 {
+    row-gap: 4px;
+  }
+  .gap-md-2 {
+    gap: 8px;
+  }
+  .gap-x-md-2 {
+    column-gap: 8px;
+  }
+  .gap-y-md-2 {
+    row-gap: 8px;
+  }
+  .gap-md-3 {
+    gap: 16px;
+  }
+  .gap-x-md-3 {
+    column-gap: 16px;
+  }
+  .gap-y-md-3 {
+    row-gap: 16px;
+  }
+  .gap-md-4 {
+    gap: 24px;
+  }
+  .gap-x-md-4 {
+    column-gap: 24px;
+  }
+  .gap-y-md-4 {
+    row-gap: 24px;
+  }
+  .gap-md-5 {
+    gap: 32px;
+  }
+  .gap-x-md-5 {
+    column-gap: 32px;
+  }
+  .gap-y-md-5 {
+    row-gap: 32px;
+  }
+  .gap-md-6 {
+    gap: 40px;
+  }
+  .gap-x-md-6 {
+    column-gap: 40px;
+  }
+  .gap-y-md-6 {
+    row-gap: 40px;
+  }
+  .gap-md-7 {
+    gap: 48px;
+  }
+  .gap-x-md-7 {
+    column-gap: 48px;
+  }
+  .gap-y-md-7 {
+    row-gap: 48px;
+  }
+  .gap-md-8 {
+    gap: 96px;
+  }
+  .gap-x-md-8 {
+    column-gap: 96px;
+  }
+  .gap-y-md-8 {
+    row-gap: 96px;
+  }
+  .gap-md-9 {
+    gap: 192px;
+  }
+  .gap-x-md-9 {
+    column-gap: 192px;
+  }
+  .gap-y-md-9 {
+    row-gap: 192px;
+  }
+  .gap-md-10 {
+    gap: 256px;
+  }
+  .gap-x-md-10 {
+    column-gap: 256px;
+  }
+  .gap-y-md-10 {
+    row-gap: 256px;
+  }
+  .gap-md-11 {
+    gap: 320px;
+  }
+  .gap-x-md-11 {
+    column-gap: 320px;
+  }
+  .gap-y-md-11 {
+    row-gap: 320px;
+  }
+  .gap-md-12 {
+    gap: 384px;
+  }
+  .gap-x-md-12 {
+    column-gap: 384px;
+  }
+  .gap-y-md-12 {
+    row-gap: 384px;
+  }
+  .ltr-md {
+    direction: ltr;
+  }
+  .rtl-md {
+    direction: rtl;
+  }
+  .text-md-left {
+    text-align: left;
+  }
+  .text-md-center {
+    text-align: center;
+  }
+  .text-md-right {
+    text-align: right;
+  }
+  .top-md-0 {
+    top: 0%;
+  }
+  .right-md-0 {
+    right: 0%;
+  }
+  .bottom-md-0 {
+    bottom: 0%;
+  }
+  .left-md-0 {
+    left: 0%;
+  }
+  .top-md-5 {
+    top: 5%;
+  }
+  .right-md-5 {
+    right: 5%;
+  }
+  .bottom-md-5 {
+    bottom: 5%;
+  }
+  .left-md-5 {
+    left: 5%;
+  }
+  .top-md-10 {
+    top: 10%;
+  }
+  .right-md-10 {
+    right: 10%;
+  }
+  .bottom-md-10 {
+    bottom: 10%;
+  }
+  .left-md-10 {
+    left: 10%;
+  }
+  .top-md-25 {
+    top: 25%;
+  }
+  .right-md-25 {
+    right: 25%;
+  }
+  .bottom-md-25 {
+    bottom: 25%;
+  }
+  .left-md-25 {
+    left: 25%;
+  }
+  .top-md-40 {
+    top: 40%;
+  }
+  .right-md-40 {
+    right: 40%;
+  }
+  .bottom-md-40 {
+    bottom: 40%;
+  }
+  .left-md-40 {
+    left: 40%;
+  }
+  .top-md-50 {
+    top: 50%;
+  }
+  .right-md-50 {
+    right: 50%;
+  }
+  .bottom-md-50 {
+    bottom: 50%;
+  }
+  .left-md-50 {
+    left: 50%;
+  }
+  .top-md-60 {
+    top: 60%;
+  }
+  .right-md-60 {
+    right: 60%;
+  }
+  .bottom-md-60 {
+    bottom: 60%;
+  }
+  .left-md-60 {
+    left: 60%;
+  }
+  .top-md-75 {
+    top: 75%;
+  }
+  .right-md-75 {
+    right: 75%;
+  }
+  .bottom-md-75 {
+    bottom: 75%;
+  }
+  .left-md-75 {
+    left: 75%;
+  }
+  .rotate-md-90 {
+    transform: rotate(90deg);
+  }
+  .rotate-md-90-counter {
+    transform: rotate(-90deg);
+  }
+  .flip-md-x {
+    transform: scaleX(-1);
+  }
+  .flip-md-y {
+    transform: scaleY(-1);
+  }
+  .m-md-6 {
+    margin: 40px !important;
+  }
+  .m-md-7 {
+    margin: 48px !important;
+  }
+  .m-md-8 {
+    margin: 96px !important;
+  }
+  .m-md-9 {
+    margin: 192px !important;
+  }
+  .m-md-10 {
+    margin: 256px !important;
+  }
+  .m-md-11 {
+    margin: 320px !important;
+  }
+  .m-md-12 {
+    margin: 384px !important;
+  }
+  .mx-neg-md-3 {
+    margin-left: -16px !important;
+    margin-right: -16px !important;
+  }
+  .mx-md-6 {
+    margin-right: 40px !important;
+    margin-left: 40px !important;
+  }
+  .mx-md-7 {
+    margin-right: 48px !important;
+    margin-left: 48px !important;
+  }
+  .mx-md-8 {
+    margin-right: 96px !important;
+    margin-left: 96px !important;
+  }
+  .mx-md-9 {
+    margin-right: 192px !important;
+    margin-left: 192px !important;
+  }
+  .mx-md-10 {
+    margin-right: 256px !important;
+    margin-left: 256px !important;
+  }
+  .mx-md-11 {
+    margin-right: 320px !important;
+    margin-left: 320px !important;
+  }
+  .mx-md-12 {
+    margin-right: 384px !important;
+    margin-left: 384px !important;
+  }
+  .mx-md-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .my-md-6 {
+    margin-top: 40px !important;
+    margin-bottom: 40px !important;
+  }
+  .my-md-7 {
+    margin-top: 48px !important;
+    margin-bottom: 48px !important;
+  }
+  .my-md-8 {
+    margin-top: 96px !important;
+    margin-bottom: 96px !important;
+  }
+  .my-md-9 {
+    margin-top: 192px !important;
+    margin-bottom: 192px !important;
+  }
+  .my-md-10 {
+    margin-top: 256px !important;
+    margin-bottom: 256px !important;
+  }
+  .my-md-11 {
+    margin-top: 320px !important;
+    margin-bottom: 320px !important;
+  }
+  .my-md-12 {
+    margin-top: 384px !important;
+    margin-bottom: 384px !important;
+  }
+  .mt-md-6 {
+    margin-top: 40px !important;
+  }
+  .mt-md-7 {
+    margin-top: 48px !important;
+  }
+  .mt-md-8 {
+    margin-top: 96px !important;
+  }
+  .mt-md-9 {
+    margin-top: 192px !important;
+  }
+  .mt-md-10 {
+    margin-top: 256px !important;
+  }
+  .mt-md-11 {
+    margin-top: 320px !important;
+  }
+  .mt-md-12 {
+    margin-top: 384px !important;
+  }
+  .mr-md-6 {
+    margin-right: 40px !important;
+  }
+  .mr-md-7 {
+    margin-right: 48px !important;
+  }
+  .mr-md-8 {
+    margin-right: 96px !important;
+  }
+  .mr-md-9 {
+    margin-right: 192px !important;
+  }
+  .mr-md-10 {
+    margin-right: 256px !important;
+  }
+  .mr-md-11 {
+    margin-right: 320px !important;
+  }
+  .mr-md-12 {
+    margin-right: 384px !important;
+  }
+  .mb-md-6 {
+    margin-bottom: 40px !important;
+  }
+  .mb-md-7 {
+    margin-bottom: 48px !important;
+  }
+  .mb-md-8 {
+    margin-bottom: 96px !important;
+  }
+  .mb-md-9 {
+    margin-bottom: 192px !important;
+  }
+  .mb-md-10 {
+    margin-bottom: 256px !important;
+  }
+  .mb-md-11 {
+    margin-bottom: 320px !important;
+  }
+  .mb-md-12 {
+    margin-bottom: 384px !important;
+  }
+  .ml-md-6 {
+    margin-left: 40px !important;
+  }
+  .ml-md-7 {
+    margin-left: 48px !important;
+  }
+  .ml-md-8 {
+    margin-left: 96px !important;
+  }
+  .ml-md-9 {
+    margin-left: 192px !important;
+  }
+  .ml-md-10 {
+    margin-left: 256px !important;
+  }
+  .ml-md-11 {
+    margin-left: 320px !important;
+  }
+  .ml-md-12 {
+    margin-left: 384px !important;
+  }
+  .p-md-0 {
+    padding: 0 !important;
+  }
+  .p-md-6 {
+    padding: 40px !important;
+  }
+  .p-md-7 {
+    padding: 48px !important;
+  }
+  .p-md-8 {
+    padding: 96px !important;
+  }
+  .p-md-9 {
+    padding: 192px !important;
+  }
+  .p-md-10 {
+    padding: 256px !important;
+  }
+  .p-md-11 {
+    padding: 320px !important;
+  }
+  .p-md-12 {
+    padding: 384px !important;
+  }
+  .px-md-0 {
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+  }
+  .px-md-6 {
+    padding-right: 40px !important;
+    padding-left: 40px !important;
+  }
+  .px-md-7 {
+    padding-right: 48px !important;
+    padding-left: 48px !important;
+  }
+  .px-md-8 {
+    padding-right: 96px !important;
+    padding-left: 96px !important;
+  }
+  .px-md-9 {
+    padding-right: 192px !important;
+    padding-left: 192px !important;
+  }
+  .px-md-10 {
+    padding-right: 256px !important;
+    padding-left: 256px !important;
+  }
+  .px-md-11 {
+    padding-right: 320px !important;
+    padding-left: 320px !important;
+  }
+  .px-md-12 {
+    padding-right: 384px !important;
+    padding-left: 384px !important;
+  }
+  .py-md-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-md-6 {
+    padding-top: 40px !important;
+    padding-bottom: 40px !important;
+  }
+  .py-md-7 {
+    padding-top: 48px !important;
+    padding-bottom: 48px !important;
+  }
+  .py-md-8 {
+    padding-top: 96px !important;
+    padding-bottom: 96px !important;
+  }
+  .py-md-9 {
+    padding-top: 192px !important;
+    padding-bottom: 192px !important;
+  }
+  .py-md-10 {
+    padding-top: 256px !important;
+    padding-bottom: 256px !important;
+  }
+  .py-md-11 {
+    padding-top: 320px !important;
+    padding-bottom: 320px !important;
+  }
+  .py-md-12 {
+    padding-top: 384px !important;
+    padding-bottom: 384px !important;
+  }
+  .pt-md-0 {
+    padding-top: 0 !important;
+  }
+  .pt-md-6 {
+    padding-top: 40px !important;
+  }
+  .pt-md-7 {
+    padding-top: 48px !important;
+  }
+  .pt-md-8 {
+    padding-top: 96px !important;
+  }
+  .pt-md-9 {
+    padding-top: 192px !important;
+  }
+  .pt-md-10 {
+    padding-top: 256px !important;
+  }
+  .pt-md-11 {
+    padding-top: 320px !important;
+  }
+  .pt-md-12 {
+    padding-top: 384px !important;
+  }
+  .pr-md-0 {
+    padding-right: 0 !important;
+  }
+  .pr-md-6 {
+    padding-right: 40px !important;
+  }
+  .pr-md-7 {
+    padding-right: 48px !important;
+  }
+  .pr-md-8 {
+    padding-right: 96px !important;
+  }
+  .pr-md-9 {
+    padding-right: 192px !important;
+  }
+  .pr-md-10 {
+    padding-right: 256px !important;
+  }
+  .pr-md-11 {
+    padding-right: 320px !important;
+  }
+  .pr-md-12 {
+    padding-right: 384px !important;
+  }
+  .pb-md-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-md-6 {
+    padding-bottom: 40px !important;
+  }
+  .pb-md-7 {
+    padding-bottom: 48px !important;
+  }
+  .pb-md-8 {
+    padding-bottom: 96px !important;
+  }
+  .pb-md-9 {
+    padding-bottom: 192px !important;
+  }
+  .pb-md-10 {
+    padding-bottom: 256px !important;
+  }
+  .pb-md-11 {
+    padding-bottom: 320px !important;
+  }
+  .pb-md-12 {
+    padding-bottom: 384px !important;
+  }
+  .pl-md-0 {
+    padding-left: 0 !important;
+  }
+  .pl-md-6 {
+    padding-left: 40px !important;
+  }
+  .pl-md-7 {
+    padding-left: 48px !important;
+  }
+  .pl-md-8 {
+    padding-left: 96px !important;
+  }
+  .pl-md-9 {
+    padding-left: 192px !important;
+  }
+  .pl-md-10 {
+    padding-left: 256px !important;
+  }
+  .pl-md-11 {
+    padding-left: 320px !important;
+  }
+  .pl-md-12 {
+    padding-left: 384px !important;
+  }
+  .w-md-auto {
+    width: auto !important;
+  }
+  .w-md-0 {
+    width: 0% !important;
+  }
+  .w-md-25 {
+    width: 25% !important;
+  }
+  .w-md-50 {
+    width: 50% !important;
+  }
+  .w-md-75 {
+    width: 75% !important;
+  }
+  .w-md-100 {
+    width: 100% !important;
+  }
+  .max-w-md-auto {
+    max-width: auto !important;
+  }
+  .max-w-md-0 {
+    max-width: 0% !important;
+  }
+  .max-w-md-25 {
+    max-width: 25% !important;
+  }
+  .max-w-md-50 {
+    max-width: 50% !important;
+  }
+  .max-w-md-75 {
+    max-width: 75% !important;
+  }
+  .max-w-md-100 {
+    max-width: 100% !important;
+  }
+  .vh-md-100 {
+    height: 100vh;
+  }
+}
+@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: flex !important;
+  }
+  .d-lg-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-lg-grid {
+    display: grid !important;
+  }
+  .d-lg-inline-grid {
+    display: inline-grid !important;
+  }
+  .ratio-lg-thin {
+    aspect-ratio: 3 / 1;
+  }
+  .ratio-lg-video {
+    aspect-ratio: 16 / 9;
+  }
+  .ratio-lg-landscape {
+    aspect-ratio: 2 / 1;
+  }
+  .ratio-lg-square {
+    aspect-ratio: 1 / 1;
+  }
+  .ratio-lg-portrait {
+    aspect-ratio: 1 / 1.25;
+  }
+  .ratio-lg-tall {
+    aspect-ratio: 1 / 1.7;
+  }
+  .col-lg-auto {
+    grid-column: auto;
+  }
+  .col-span-lg-1 {
+    grid-column: span 1 / span 1;
+  }
+  .col-span-lg-2 {
+    grid-column: span 2 / span 2;
+  }
+  .col-span-lg-3 {
+    grid-column: span 3 / span 3;
+  }
+  .col-span-lg-4 {
+    grid-column: span 4 / span 4;
+  }
+  .col-span-lg-5 {
+    grid-column: span 5 / span 5;
+  }
+  .col-span-lg-6 {
+    grid-column: span 6 / span 6;
+  }
+  .col-span-lg-7 {
+    grid-column: span 7 / span 7;
+  }
+  .col-span-lg-8 {
+    grid-column: span 8 / span 8;
+  }
+  .col-span-lg-9 {
+    grid-column: span 9 / span 9;
+  }
+  .col-span-lg-10 {
+    grid-column: span 10 / span 10;
+  }
+  .col-span-lg-11 {
+    grid-column: span 11 / span 11;
+  }
+  .col-span-lg-12 {
+    grid-column: span 12 / span 12;
+  }
+  .col-span-lg-full {
+    grid-column: 1 / -1;
+  }
+  .col-start-lg-1 {
+    grid-column-start: 1;
+  }
+  .col-start-lg-2 {
+    grid-column-start: 2;
+  }
+  .col-start-lg-3 {
+    grid-column-start: 3;
+  }
+  .col-start-lg-4 {
+    grid-column-start: 4;
+  }
+  .col-start-lg-5 {
+    grid-column-start: 5;
+  }
+  .col-start-lg-6 {
+    grid-column-start: 6;
+  }
+  .col-start-lg-7 {
+    grid-column-start: 7;
+  }
+  .col-start-lg-8 {
+    grid-column-start: 8;
+  }
+  .col-start-lg-9 {
+    grid-column-start: 9;
+  }
+  .col-start-lg-10 {
+    grid-column-start: 10;
+  }
+  .col-start-lg-11 {
+    grid-column-start: 11;
+  }
+  .col-start-lg-12 {
+    grid-column-start: 12;
+  }
+  .col-start-lg-initial {
+    grid-column-start: initial;
+  }
+  .justify-items-lg-start {
+    justify-items: start;
+  }
+  .justify-items-lg-end {
+    justify-items: end;
+  }
+  .justify-items-lg-center {
+    justify-items: center;
+  }
+  .justify-items-lg-stretch {
+    justify-items: stretch;
+  }
+  .align-content-lg-evenly {
+    align-content: space-evenly;
+  }
+  .align-content-lg-baseline {
+    align-content: baseline;
+  }
+  .grid-cols-lg-1 {
+    grid-template-columns: repeat(1, minmax(0, 1fr));
+  }
+  .grid-cols-lg-2 {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+  .grid-cols-lg-3 {
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+  }
+  .grid-cols-lg-4 {
+    grid-template-columns: repeat(4, minmax(0, 1fr));
+  }
+  .grid-cols-lg-5 {
+    grid-template-columns: repeat(5, minmax(0, 1fr));
+  }
+  .grid-cols-lg-6 {
+    grid-template-columns: repeat(6, minmax(0, 1fr));
+  }
+  .grid-cols-lg-7 {
+    grid-template-columns: repeat(7, minmax(0, 1fr));
+  }
+  .grid-cols-lg-8 {
+    grid-template-columns: repeat(8, minmax(0, 1fr));
+  }
+  .grid-cols-lg-9 {
+    grid-template-columns: repeat(9, minmax(0, 1fr));
+  }
+  .grid-cols-lg-10 {
+    grid-template-columns: repeat(10, minmax(0, 1fr));
+  }
+  .grid-cols-lg-11 {
+    grid-template-columns: repeat(11, minmax(0, 1fr));
+  }
+  .grid-cols-lg-12 {
+    grid-template-columns: repeat(12, minmax(0, 1fr));
+  }
+  .grid-cols-lg-none {
+    grid-template-columns: none;
+  }
+  .gap-lg-0 {
+    gap: 0;
+  }
+  .gap-x-lg-0 {
+    column-gap: 0;
+  }
+  .gap-y-lg-0 {
+    row-gap: 0;
+  }
+  .gap-lg-1 {
+    gap: 4px;
+  }
+  .gap-x-lg-1 {
+    column-gap: 4px;
+  }
+  .gap-y-lg-1 {
+    row-gap: 4px;
+  }
+  .gap-lg-2 {
+    gap: 8px;
+  }
+  .gap-x-lg-2 {
+    column-gap: 8px;
+  }
+  .gap-y-lg-2 {
+    row-gap: 8px;
+  }
+  .gap-lg-3 {
+    gap: 16px;
+  }
+  .gap-x-lg-3 {
+    column-gap: 16px;
+  }
+  .gap-y-lg-3 {
+    row-gap: 16px;
+  }
+  .gap-lg-4 {
+    gap: 24px;
+  }
+  .gap-x-lg-4 {
+    column-gap: 24px;
+  }
+  .gap-y-lg-4 {
+    row-gap: 24px;
+  }
+  .gap-lg-5 {
+    gap: 32px;
+  }
+  .gap-x-lg-5 {
+    column-gap: 32px;
+  }
+  .gap-y-lg-5 {
+    row-gap: 32px;
+  }
+  .gap-lg-6 {
+    gap: 40px;
+  }
+  .gap-x-lg-6 {
+    column-gap: 40px;
+  }
+  .gap-y-lg-6 {
+    row-gap: 40px;
+  }
+  .gap-lg-7 {
+    gap: 48px;
+  }
+  .gap-x-lg-7 {
+    column-gap: 48px;
+  }
+  .gap-y-lg-7 {
+    row-gap: 48px;
+  }
+  .gap-lg-8 {
+    gap: 96px;
+  }
+  .gap-x-lg-8 {
+    column-gap: 96px;
+  }
+  .gap-y-lg-8 {
+    row-gap: 96px;
+  }
+  .gap-lg-9 {
+    gap: 192px;
+  }
+  .gap-x-lg-9 {
+    column-gap: 192px;
+  }
+  .gap-y-lg-9 {
+    row-gap: 192px;
+  }
+  .gap-lg-10 {
+    gap: 256px;
+  }
+  .gap-x-lg-10 {
+    column-gap: 256px;
+  }
+  .gap-y-lg-10 {
+    row-gap: 256px;
+  }
+  .gap-lg-11 {
+    gap: 320px;
+  }
+  .gap-x-lg-11 {
+    column-gap: 320px;
+  }
+  .gap-y-lg-11 {
+    row-gap: 320px;
+  }
+  .gap-lg-12 {
+    gap: 384px;
+  }
+  .gap-x-lg-12 {
+    column-gap: 384px;
+  }
+  .gap-y-lg-12 {
+    row-gap: 384px;
+  }
+  .ltr-lg {
+    direction: ltr;
+  }
+  .rtl-lg {
+    direction: rtl;
+  }
+  .text-lg-left {
+    text-align: left;
+  }
+  .text-lg-center {
+    text-align: center;
+  }
+  .text-lg-right {
+    text-align: right;
+  }
+  .top-lg-0 {
+    top: 0%;
+  }
+  .right-lg-0 {
+    right: 0%;
+  }
+  .bottom-lg-0 {
+    bottom: 0%;
+  }
+  .left-lg-0 {
+    left: 0%;
+  }
+  .top-lg-5 {
+    top: 5%;
+  }
+  .right-lg-5 {
+    right: 5%;
+  }
+  .bottom-lg-5 {
+    bottom: 5%;
+  }
+  .left-lg-5 {
+    left: 5%;
+  }
+  .top-lg-10 {
+    top: 10%;
+  }
+  .right-lg-10 {
+    right: 10%;
+  }
+  .bottom-lg-10 {
+    bottom: 10%;
+  }
+  .left-lg-10 {
+    left: 10%;
+  }
+  .top-lg-25 {
+    top: 25%;
+  }
+  .right-lg-25 {
+    right: 25%;
+  }
+  .bottom-lg-25 {
+    bottom: 25%;
+  }
+  .left-lg-25 {
+    left: 25%;
+  }
+  .top-lg-40 {
+    top: 40%;
+  }
+  .right-lg-40 {
+    right: 40%;
+  }
+  .bottom-lg-40 {
+    bottom: 40%;
+  }
+  .left-lg-40 {
+    left: 40%;
+  }
+  .top-lg-50 {
+    top: 50%;
+  }
+  .right-lg-50 {
+    right: 50%;
+  }
+  .bottom-lg-50 {
+    bottom: 50%;
+  }
+  .left-lg-50 {
+    left: 50%;
+  }
+  .top-lg-60 {
+    top: 60%;
+  }
+  .right-lg-60 {
+    right: 60%;
+  }
+  .bottom-lg-60 {
+    bottom: 60%;
+  }
+  .left-lg-60 {
+    left: 60%;
+  }
+  .top-lg-75 {
+    top: 75%;
+  }
+  .right-lg-75 {
+    right: 75%;
+  }
+  .bottom-lg-75 {
+    bottom: 75%;
+  }
+  .left-lg-75 {
+    left: 75%;
+  }
+  .rotate-lg-90 {
+    transform: rotate(90deg);
+  }
+  .rotate-lg-90-counter {
+    transform: rotate(-90deg);
+  }
+  .flip-lg-x {
+    transform: scaleX(-1);
+  }
+  .flip-lg-y {
+    transform: scaleY(-1);
+  }
+  .m-lg-6 {
+    margin: 40px !important;
+  }
+  .m-lg-7 {
+    margin: 48px !important;
+  }
+  .m-lg-8 {
+    margin: 96px !important;
+  }
+  .m-lg-9 {
+    margin: 192px !important;
+  }
+  .m-lg-10 {
+    margin: 256px !important;
+  }
+  .m-lg-11 {
+    margin: 320px !important;
+  }
+  .m-lg-12 {
+    margin: 384px !important;
+  }
+  .mx-neg-lg-3 {
+    margin-left: -16px !important;
+    margin-right: -16px !important;
+  }
+  .mx-lg-6 {
+    margin-right: 40px !important;
+    margin-left: 40px !important;
+  }
+  .mx-lg-7 {
+    margin-right: 48px !important;
+    margin-left: 48px !important;
+  }
+  .mx-lg-8 {
+    margin-right: 96px !important;
+    margin-left: 96px !important;
+  }
+  .mx-lg-9 {
+    margin-right: 192px !important;
+    margin-left: 192px !important;
+  }
+  .mx-lg-10 {
+    margin-right: 256px !important;
+    margin-left: 256px !important;
+  }
+  .mx-lg-11 {
+    margin-right: 320px !important;
+    margin-left: 320px !important;
+  }
+  .mx-lg-12 {
+    margin-right: 384px !important;
+    margin-left: 384px !important;
+  }
+  .mx-lg-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .my-lg-6 {
+    margin-top: 40px !important;
+    margin-bottom: 40px !important;
+  }
+  .my-lg-7 {
+    margin-top: 48px !important;
+    margin-bottom: 48px !important;
+  }
+  .my-lg-8 {
+    margin-top: 96px !important;
+    margin-bottom: 96px !important;
+  }
+  .my-lg-9 {
+    margin-top: 192px !important;
+    margin-bottom: 192px !important;
+  }
+  .my-lg-10 {
+    margin-top: 256px !important;
+    margin-bottom: 256px !important;
+  }
+  .my-lg-11 {
+    margin-top: 320px !important;
+    margin-bottom: 320px !important;
+  }
+  .my-lg-12 {
+    margin-top: 384px !important;
+    margin-bottom: 384px !important;
+  }
+  .mt-lg-6 {
+    margin-top: 40px !important;
+  }
+  .mt-lg-7 {
+    margin-top: 48px !important;
+  }
+  .mt-lg-8 {
+    margin-top: 96px !important;
+  }
+  .mt-lg-9 {
+    margin-top: 192px !important;
+  }
+  .mt-lg-10 {
+    margin-top: 256px !important;
+  }
+  .mt-lg-11 {
+    margin-top: 320px !important;
+  }
+  .mt-lg-12 {
+    margin-top: 384px !important;
+  }
+  .mr-lg-6 {
+    margin-right: 40px !important;
+  }
+  .mr-lg-7 {
+    margin-right: 48px !important;
+  }
+  .mr-lg-8 {
+    margin-right: 96px !important;
+  }
+  .mr-lg-9 {
+    margin-right: 192px !important;
+  }
+  .mr-lg-10 {
+    margin-right: 256px !important;
+  }
+  .mr-lg-11 {
+    margin-right: 320px !important;
+  }
+  .mr-lg-12 {
+    margin-right: 384px !important;
+  }
+  .mb-lg-6 {
+    margin-bottom: 40px !important;
+  }
+  .mb-lg-7 {
+    margin-bottom: 48px !important;
+  }
+  .mb-lg-8 {
+    margin-bottom: 96px !important;
+  }
+  .mb-lg-9 {
+    margin-bottom: 192px !important;
+  }
+  .mb-lg-10 {
+    margin-bottom: 256px !important;
+  }
+  .mb-lg-11 {
+    margin-bottom: 320px !important;
+  }
+  .mb-lg-12 {
+    margin-bottom: 384px !important;
+  }
+  .ml-lg-6 {
+    margin-left: 40px !important;
+  }
+  .ml-lg-7 {
+    margin-left: 48px !important;
+  }
+  .ml-lg-8 {
+    margin-left: 96px !important;
+  }
+  .ml-lg-9 {
+    margin-left: 192px !important;
+  }
+  .ml-lg-10 {
+    margin-left: 256px !important;
+  }
+  .ml-lg-11 {
+    margin-left: 320px !important;
+  }
+  .ml-lg-12 {
+    margin-left: 384px !important;
+  }
+  .p-lg-0 {
+    padding: 0 !important;
+  }
+  .p-lg-6 {
+    padding: 40px !important;
+  }
+  .p-lg-7 {
+    padding: 48px !important;
+  }
+  .p-lg-8 {
+    padding: 96px !important;
+  }
+  .p-lg-9 {
+    padding: 192px !important;
+  }
+  .p-lg-10 {
+    padding: 256px !important;
+  }
+  .p-lg-11 {
+    padding: 320px !important;
+  }
+  .p-lg-12 {
+    padding: 384px !important;
+  }
+  .px-lg-0 {
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+  }
+  .px-lg-6 {
+    padding-right: 40px !important;
+    padding-left: 40px !important;
+  }
+  .px-lg-7 {
+    padding-right: 48px !important;
+    padding-left: 48px !important;
+  }
+  .px-lg-8 {
+    padding-right: 96px !important;
+    padding-left: 96px !important;
+  }
+  .px-lg-9 {
+    padding-right: 192px !important;
+    padding-left: 192px !important;
+  }
+  .px-lg-10 {
+    padding-right: 256px !important;
+    padding-left: 256px !important;
+  }
+  .px-lg-11 {
+    padding-right: 320px !important;
+    padding-left: 320px !important;
+  }
+  .px-lg-12 {
+    padding-right: 384px !important;
+    padding-left: 384px !important;
+  }
+  .py-lg-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-lg-6 {
+    padding-top: 40px !important;
+    padding-bottom: 40px !important;
+  }
+  .py-lg-7 {
+    padding-top: 48px !important;
+    padding-bottom: 48px !important;
+  }
+  .py-lg-8 {
+    padding-top: 96px !important;
+    padding-bottom: 96px !important;
+  }
+  .py-lg-9 {
+    padding-top: 192px !important;
+    padding-bottom: 192px !important;
+  }
+  .py-lg-10 {
+    padding-top: 256px !important;
+    padding-bottom: 256px !important;
+  }
+  .py-lg-11 {
+    padding-top: 320px !important;
+    padding-bottom: 320px !important;
+  }
+  .py-lg-12 {
+    padding-top: 384px !important;
+    padding-bottom: 384px !important;
+  }
+  .pt-lg-0 {
+    padding-top: 0 !important;
+  }
+  .pt-lg-6 {
+    padding-top: 40px !important;
+  }
+  .pt-lg-7 {
+    padding-top: 48px !important;
+  }
+  .pt-lg-8 {
+    padding-top: 96px !important;
+  }
+  .pt-lg-9 {
+    padding-top: 192px !important;
+  }
+  .pt-lg-10 {
+    padding-top: 256px !important;
+  }
+  .pt-lg-11 {
+    padding-top: 320px !important;
+  }
+  .pt-lg-12 {
+    padding-top: 384px !important;
+  }
+  .pr-lg-0 {
+    padding-right: 0 !important;
+  }
+  .pr-lg-6 {
+    padding-right: 40px !important;
+  }
+  .pr-lg-7 {
+    padding-right: 48px !important;
+  }
+  .pr-lg-8 {
+    padding-right: 96px !important;
+  }
+  .pr-lg-9 {
+    padding-right: 192px !important;
+  }
+  .pr-lg-10 {
+    padding-right: 256px !important;
+  }
+  .pr-lg-11 {
+    padding-right: 320px !important;
+  }
+  .pr-lg-12 {
+    padding-right: 384px !important;
+  }
+  .pb-lg-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-lg-6 {
+    padding-bottom: 40px !important;
+  }
+  .pb-lg-7 {
+    padding-bottom: 48px !important;
+  }
+  .pb-lg-8 {
+    padding-bottom: 96px !important;
+  }
+  .pb-lg-9 {
+    padding-bottom: 192px !important;
+  }
+  .pb-lg-10 {
+    padding-bottom: 256px !important;
+  }
+  .pb-lg-11 {
+    padding-bottom: 320px !important;
+  }
+  .pb-lg-12 {
+    padding-bottom: 384px !important;
+  }
+  .pl-lg-0 {
+    padding-left: 0 !important;
+  }
+  .pl-lg-6 {
+    padding-left: 40px !important;
+  }
+  .pl-lg-7 {
+    padding-left: 48px !important;
+  }
+  .pl-lg-8 {
+    padding-left: 96px !important;
+  }
+  .pl-lg-9 {
+    padding-left: 192px !important;
+  }
+  .pl-lg-10 {
+    padding-left: 256px !important;
+  }
+  .pl-lg-11 {
+    padding-left: 320px !important;
+  }
+  .pl-lg-12 {
+    padding-left: 384px !important;
+  }
+  .w-lg-auto {
+    width: auto !important;
+  }
+  .w-lg-0 {
+    width: 0% !important;
+  }
+  .w-lg-25 {
+    width: 25% !important;
+  }
+  .w-lg-50 {
+    width: 50% !important;
+  }
+  .w-lg-75 {
+    width: 75% !important;
+  }
+  .w-lg-100 {
+    width: 100% !important;
+  }
+  .max-w-lg-auto {
+    max-width: auto !important;
+  }
+  .max-w-lg-0 {
+    max-width: 0% !important;
+  }
+  .max-w-lg-25 {
+    max-width: 25% !important;
+  }
+  .max-w-lg-50 {
+    max-width: 50% !important;
+  }
+  .max-w-lg-75 {
+    max-width: 75% !important;
+  }
+  .max-w-lg-100 {
+    max-width: 100% !important;
+  }
+  .vh-lg-100 {
+    height: 100vh;
+  }
+}
+@media (min-width: 1441px) {
+  .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: flex !important;
+  }
+  .d-xl-inline-flex {
+    display: inline-flex !important;
+  }
+  .d-xl-grid {
+    display: grid !important;
+  }
+  .d-xl-inline-grid {
+    display: inline-grid !important;
+  }
+  .ratio-xl-thin {
+    aspect-ratio: 3 / 1;
+  }
+  .ratio-xl-video {
+    aspect-ratio: 16 / 9;
+  }
+  .ratio-xl-landscape {
+    aspect-ratio: 2 / 1;
+  }
+  .ratio-xl-square {
+    aspect-ratio: 1 / 1;
+  }
+  .ratio-xl-portrait {
+    aspect-ratio: 1 / 1.25;
+  }
+  .ratio-xl-tall {
+    aspect-ratio: 1 / 1.7;
+  }
+  .col-xl-auto {
+    grid-column: auto;
+  }
+  .col-span-xl-1 {
+    grid-column: span 1 / span 1;
+  }
+  .col-span-xl-2 {
+    grid-column: span 2 / span 2;
+  }
+  .col-span-xl-3 {
+    grid-column: span 3 / span 3;
+  }
+  .col-span-xl-4 {
+    grid-column: span 4 / span 4;
+  }
+  .col-span-xl-5 {
+    grid-column: span 5 / span 5;
+  }
+  .col-span-xl-6 {
+    grid-column: span 6 / span 6;
+  }
+  .col-span-xl-7 {
+    grid-column: span 7 / span 7;
+  }
+  .col-span-xl-8 {
+    grid-column: span 8 / span 8;
+  }
+  .col-span-xl-9 {
+    grid-column: span 9 / span 9;
+  }
+  .col-span-xl-10 {
+    grid-column: span 10 / span 10;
+  }
+  .col-span-xl-11 {
+    grid-column: span 11 / span 11;
+  }
+  .col-span-xl-12 {
+    grid-column: span 12 / span 12;
+  }
+  .col-span-xl-full {
+    grid-column: 1 / -1;
+  }
+  .col-start-xl-1 {
+    grid-column-start: 1;
+  }
+  .col-start-xl-2 {
+    grid-column-start: 2;
+  }
+  .col-start-xl-3 {
+    grid-column-start: 3;
+  }
+  .col-start-xl-4 {
+    grid-column-start: 4;
+  }
+  .col-start-xl-5 {
+    grid-column-start: 5;
+  }
+  .col-start-xl-6 {
+    grid-column-start: 6;
+  }
+  .col-start-xl-7 {
+    grid-column-start: 7;
+  }
+  .col-start-xl-8 {
+    grid-column-start: 8;
+  }
+  .col-start-xl-9 {
+    grid-column-start: 9;
+  }
+  .col-start-xl-10 {
+    grid-column-start: 10;
+  }
+  .col-start-xl-11 {
+    grid-column-start: 11;
+  }
+  .col-start-xl-12 {
+    grid-column-start: 12;
+  }
+  .col-start-xl-initial {
+    grid-column-start: initial;
+  }
+  .justify-items-xl-start {
+    justify-items: start;
+  }
+  .justify-items-xl-end {
+    justify-items: end;
+  }
+  .justify-items-xl-center {
+    justify-items: center;
+  }
+  .justify-items-xl-stretch {
+    justify-items: stretch;
+  }
+  .align-content-xl-evenly {
+    align-content: space-evenly;
+  }
+  .align-content-xl-baseline {
+    align-content: baseline;
+  }
+  .grid-cols-xl-1 {
+    grid-template-columns: repeat(1, minmax(0, 1fr));
+  }
+  .grid-cols-xl-2 {
+    grid-template-columns: repeat(2, minmax(0, 1fr));
+  }
+  .grid-cols-xl-3 {
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+  }
+  .grid-cols-xl-4 {
+    grid-template-columns: repeat(4, minmax(0, 1fr));
+  }
+  .grid-cols-xl-5 {
+    grid-template-columns: repeat(5, minmax(0, 1fr));
+  }
+  .grid-cols-xl-6 {
+    grid-template-columns: repeat(6, minmax(0, 1fr));
+  }
+  .grid-cols-xl-7 {
+    grid-template-columns: repeat(7, minmax(0, 1fr));
+  }
+  .grid-cols-xl-8 {
+    grid-template-columns: repeat(8, minmax(0, 1fr));
+  }
+  .grid-cols-xl-9 {
+    grid-template-columns: repeat(9, minmax(0, 1fr));
+  }
+  .grid-cols-xl-10 {
+    grid-template-columns: repeat(10, minmax(0, 1fr));
+  }
+  .grid-cols-xl-11 {
+    grid-template-columns: repeat(11, minmax(0, 1fr));
+  }
+  .grid-cols-xl-12 {
+    grid-template-columns: repeat(12, minmax(0, 1fr));
+  }
+  .grid-cols-xl-none {
+    grid-template-columns: none;
+  }
+  .gap-xl-0 {
+    gap: 0;
+  }
+  .gap-x-xl-0 {
+    column-gap: 0;
+  }
+  .gap-y-xl-0 {
+    row-gap: 0;
+  }
+  .gap-xl-1 {
+    gap: 4px;
+  }
+  .gap-x-xl-1 {
+    column-gap: 4px;
+  }
+  .gap-y-xl-1 {
+    row-gap: 4px;
+  }
+  .gap-xl-2 {
+    gap: 8px;
+  }
+  .gap-x-xl-2 {
+    column-gap: 8px;
+  }
+  .gap-y-xl-2 {
+    row-gap: 8px;
+  }
+  .gap-xl-3 {
+    gap: 16px;
+  }
+  .gap-x-xl-3 {
+    column-gap: 16px;
+  }
+  .gap-y-xl-3 {
+    row-gap: 16px;
+  }
+  .gap-xl-4 {
+    gap: 24px;
+  }
+  .gap-x-xl-4 {
+    column-gap: 24px;
+  }
+  .gap-y-xl-4 {
+    row-gap: 24px;
+  }
+  .gap-xl-5 {
+    gap: 32px;
+  }
+  .gap-x-xl-5 {
+    column-gap: 32px;
+  }
+  .gap-y-xl-5 {
+    row-gap: 32px;
+  }
+  .gap-xl-6 {
+    gap: 40px;
+  }
+  .gap-x-xl-6 {
+    column-gap: 40px;
+  }
+  .gap-y-xl-6 {
+    row-gap: 40px;
+  }
+  .gap-xl-7 {
+    gap: 48px;
+  }
+  .gap-x-xl-7 {
+    column-gap: 48px;
+  }
+  .gap-y-xl-7 {
+    row-gap: 48px;
+  }
+  .gap-xl-8 {
+    gap: 96px;
+  }
+  .gap-x-xl-8 {
+    column-gap: 96px;
+  }
+  .gap-y-xl-8 {
+    row-gap: 96px;
+  }
+  .gap-xl-9 {
+    gap: 192px;
+  }
+  .gap-x-xl-9 {
+    column-gap: 192px;
+  }
+  .gap-y-xl-9 {
+    row-gap: 192px;
+  }
+  .gap-xl-10 {
+    gap: 256px;
+  }
+  .gap-x-xl-10 {
+    column-gap: 256px;
+  }
+  .gap-y-xl-10 {
+    row-gap: 256px;
+  }
+  .gap-xl-11 {
+    gap: 320px;
+  }
+  .gap-x-xl-11 {
+    column-gap: 320px;
+  }
+  .gap-y-xl-11 {
+    row-gap: 320px;
+  }
+  .gap-xl-12 {
+    gap: 384px;
+  }
+  .gap-x-xl-12 {
+    column-gap: 384px;
+  }
+  .gap-y-xl-12 {
+    row-gap: 384px;
+  }
+  .ltr-xl {
+    direction: ltr;
+  }
+  .rtl-xl {
+    direction: rtl;
+  }
+  .text-xl-left {
+    text-align: left;
+  }
+  .text-xl-center {
+    text-align: center;
+  }
+  .text-xl-right {
+    text-align: right;
+  }
+  .top-xl-0 {
+    top: 0%;
+  }
+  .right-xl-0 {
+    right: 0%;
+  }
+  .bottom-xl-0 {
+    bottom: 0%;
+  }
+  .left-xl-0 {
+    left: 0%;
+  }
+  .top-xl-5 {
+    top: 5%;
+  }
+  .right-xl-5 {
+    right: 5%;
+  }
+  .bottom-xl-5 {
+    bottom: 5%;
+  }
+  .left-xl-5 {
+    left: 5%;
+  }
+  .top-xl-10 {
+    top: 10%;
+  }
+  .right-xl-10 {
+    right: 10%;
+  }
+  .bottom-xl-10 {
+    bottom: 10%;
+  }
+  .left-xl-10 {
+    left: 10%;
+  }
+  .top-xl-25 {
+    top: 25%;
+  }
+  .right-xl-25 {
+    right: 25%;
+  }
+  .bottom-xl-25 {
+    bottom: 25%;
+  }
+  .left-xl-25 {
+    left: 25%;
+  }
+  .top-xl-40 {
+    top: 40%;
+  }
+  .right-xl-40 {
+    right: 40%;
+  }
+  .bottom-xl-40 {
+    bottom: 40%;
+  }
+  .left-xl-40 {
+    left: 40%;
+  }
+  .top-xl-50 {
+    top: 50%;
+  }
+  .right-xl-50 {
+    right: 50%;
+  }
+  .bottom-xl-50 {
+    bottom: 50%;
+  }
+  .left-xl-50 {
+    left: 50%;
+  }
+  .top-xl-60 {
+    top: 60%;
+  }
+  .right-xl-60 {
+    right: 60%;
+  }
+  .bottom-xl-60 {
+    bottom: 60%;
+  }
+  .left-xl-60 {
+    left: 60%;
+  }
+  .top-xl-75 {
+    top: 75%;
+  }
+  .right-xl-75 {
+    right: 75%;
+  }
+  .bottom-xl-75 {
+    bottom: 75%;
+  }
+  .left-xl-75 {
+    left: 75%;
+  }
+  .rotate-xl-90 {
+    transform: rotate(90deg);
+  }
+  .rotate-xl-90-counter {
+    transform: rotate(-90deg);
+  }
+  .flip-xl-x {
+    transform: scaleX(-1);
+  }
+  .flip-xl-y {
+    transform: scaleY(-1);
+  }
+  .m-xl-6 {
+    margin: 40px !important;
+  }
+  .m-xl-7 {
+    margin: 48px !important;
+  }
+  .m-xl-8 {
+    margin: 96px !important;
+  }
+  .m-xl-9 {
+    margin: 192px !important;
+  }
+  .m-xl-10 {
+    margin: 256px !important;
+  }
+  .m-xl-11 {
+    margin: 320px !important;
+  }
+  .m-xl-12 {
+    margin: 384px !important;
+  }
+  .mx-neg-xl-3 {
+    margin-left: -16px !important;
+    margin-right: -16px !important;
+  }
+  .mx-xl-6 {
+    margin-right: 40px !important;
+    margin-left: 40px !important;
+  }
+  .mx-xl-7 {
+    margin-right: 48px !important;
+    margin-left: 48px !important;
+  }
+  .mx-xl-8 {
+    margin-right: 96px !important;
+    margin-left: 96px !important;
+  }
+  .mx-xl-9 {
+    margin-right: 192px !important;
+    margin-left: 192px !important;
+  }
+  .mx-xl-10 {
+    margin-right: 256px !important;
+    margin-left: 256px !important;
+  }
+  .mx-xl-11 {
+    margin-right: 320px !important;
+    margin-left: 320px !important;
+  }
+  .mx-xl-12 {
+    margin-right: 384px !important;
+    margin-left: 384px !important;
+  }
+  .mx-xl-0 {
+    margin-right: 0 !important;
+    margin-left: 0 !important;
+  }
+  .my-xl-6 {
+    margin-top: 40px !important;
+    margin-bottom: 40px !important;
+  }
+  .my-xl-7 {
+    margin-top: 48px !important;
+    margin-bottom: 48px !important;
+  }
+  .my-xl-8 {
+    margin-top: 96px !important;
+    margin-bottom: 96px !important;
+  }
+  .my-xl-9 {
+    margin-top: 192px !important;
+    margin-bottom: 192px !important;
+  }
+  .my-xl-10 {
+    margin-top: 256px !important;
+    margin-bottom: 256px !important;
+  }
+  .my-xl-11 {
+    margin-top: 320px !important;
+    margin-bottom: 320px !important;
+  }
+  .my-xl-12 {
+    margin-top: 384px !important;
+    margin-bottom: 384px !important;
+  }
+  .mt-xl-6 {
+    margin-top: 40px !important;
+  }
+  .mt-xl-7 {
+    margin-top: 48px !important;
+  }
+  .mt-xl-8 {
+    margin-top: 96px !important;
+  }
+  .mt-xl-9 {
+    margin-top: 192px !important;
+  }
+  .mt-xl-10 {
+    margin-top: 256px !important;
+  }
+  .mt-xl-11 {
+    margin-top: 320px !important;
+  }
+  .mt-xl-12 {
+    margin-top: 384px !important;
+  }
+  .mr-xl-6 {
+    margin-right: 40px !important;
+  }
+  .mr-xl-7 {
+    margin-right: 48px !important;
+  }
+  .mr-xl-8 {
+    margin-right: 96px !important;
+  }
+  .mr-xl-9 {
+    margin-right: 192px !important;
+  }
+  .mr-xl-10 {
+    margin-right: 256px !important;
+  }
+  .mr-xl-11 {
+    margin-right: 320px !important;
+  }
+  .mr-xl-12 {
+    margin-right: 384px !important;
+  }
+  .mb-xl-6 {
+    margin-bottom: 40px !important;
+  }
+  .mb-xl-7 {
+    margin-bottom: 48px !important;
+  }
+  .mb-xl-8 {
+    margin-bottom: 96px !important;
+  }
+  .mb-xl-9 {
+    margin-bottom: 192px !important;
+  }
+  .mb-xl-10 {
+    margin-bottom: 256px !important;
+  }
+  .mb-xl-11 {
+    margin-bottom: 320px !important;
+  }
+  .mb-xl-12 {
+    margin-bottom: 384px !important;
+  }
+  .ml-xl-6 {
+    margin-left: 40px !important;
+  }
+  .ml-xl-7 {
+    margin-left: 48px !important;
+  }
+  .ml-xl-8 {
+    margin-left: 96px !important;
+  }
+  .ml-xl-9 {
+    margin-left: 192px !important;
+  }
+  .ml-xl-10 {
+    margin-left: 256px !important;
+  }
+  .ml-xl-11 {
+    margin-left: 320px !important;
+  }
+  .ml-xl-12 {
+    margin-left: 384px !important;
+  }
+  .p-xl-0 {
+    padding: 0 !important;
+  }
+  .p-xl-6 {
+    padding: 40px !important;
+  }
+  .p-xl-7 {
+    padding: 48px !important;
+  }
+  .p-xl-8 {
+    padding: 96px !important;
+  }
+  .p-xl-9 {
+    padding: 192px !important;
+  }
+  .p-xl-10 {
+    padding: 256px !important;
+  }
+  .p-xl-11 {
+    padding: 320px !important;
+  }
+  .p-xl-12 {
+    padding: 384px !important;
+  }
+  .px-xl-0 {
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+  }
+  .px-xl-6 {
+    padding-right: 40px !important;
+    padding-left: 40px !important;
+  }
+  .px-xl-7 {
+    padding-right: 48px !important;
+    padding-left: 48px !important;
+  }
+  .px-xl-8 {
+    padding-right: 96px !important;
+    padding-left: 96px !important;
+  }
+  .px-xl-9 {
+    padding-right: 192px !important;
+    padding-left: 192px !important;
+  }
+  .px-xl-10 {
+    padding-right: 256px !important;
+    padding-left: 256px !important;
+  }
+  .px-xl-11 {
+    padding-right: 320px !important;
+    padding-left: 320px !important;
+  }
+  .px-xl-12 {
+    padding-right: 384px !important;
+    padding-left: 384px !important;
+  }
+  .py-xl-0 {
+    padding-top: 0 !important;
+    padding-bottom: 0 !important;
+  }
+  .py-xl-6 {
+    padding-top: 40px !important;
+    padding-bottom: 40px !important;
+  }
+  .py-xl-7 {
+    padding-top: 48px !important;
+    padding-bottom: 48px !important;
+  }
+  .py-xl-8 {
+    padding-top: 96px !important;
+    padding-bottom: 96px !important;
+  }
+  .py-xl-9 {
+    padding-top: 192px !important;
+    padding-bottom: 192px !important;
+  }
+  .py-xl-10 {
+    padding-top: 256px !important;
+    padding-bottom: 256px !important;
+  }
+  .py-xl-11 {
+    padding-top: 320px !important;
+    padding-bottom: 320px !important;
+  }
+  .py-xl-12 {
+    padding-top: 384px !important;
+    padding-bottom: 384px !important;
+  }
+  .pt-xl-0 {
+    padding-top: 0 !important;
+  }
+  .pt-xl-6 {
+    padding-top: 40px !important;
+  }
+  .pt-xl-7 {
+    padding-top: 48px !important;
+  }
+  .pt-xl-8 {
+    padding-top: 96px !important;
+  }
+  .pt-xl-9 {
+    padding-top: 192px !important;
+  }
+  .pt-xl-10 {
+    padding-top: 256px !important;
+  }
+  .pt-xl-11 {
+    padding-top: 320px !important;
+  }
+  .pt-xl-12 {
+    padding-top: 384px !important;
+  }
+  .pr-xl-0 {
+    padding-right: 0 !important;
+  }
+  .pr-xl-6 {
+    padding-right: 40px !important;
+  }
+  .pr-xl-7 {
+    padding-right: 48px !important;
+  }
+  .pr-xl-8 {
+    padding-right: 96px !important;
+  }
+  .pr-xl-9 {
+    padding-right: 192px !important;
+  }
+  .pr-xl-10 {
+    padding-right: 256px !important;
+  }
+  .pr-xl-11 {
+    padding-right: 320px !important;
+  }
+  .pr-xl-12 {
+    padding-right: 384px !important;
+  }
+  .pb-xl-0 {
+    padding-bottom: 0 !important;
+  }
+  .pb-xl-6 {
+    padding-bottom: 40px !important;
+  }
+  .pb-xl-7 {
+    padding-bottom: 48px !important;
+  }
+  .pb-xl-8 {
+    padding-bottom: 96px !important;
+  }
+  .pb-xl-9 {
+    padding-bottom: 192px !important;
+  }
+  .pb-xl-10 {
+    padding-bottom: 256px !important;
+  }
+  .pb-xl-11 {
+    padding-bottom: 320px !important;
+  }
+  .pb-xl-12 {
+    padding-bottom: 384px !important;
+  }
+  .pl-xl-0 {
+    padding-left: 0 !important;
+  }
+  .pl-xl-6 {
+    padding-left: 40px !important;
+  }
+  .pl-xl-7 {
+    padding-left: 48px !important;
+  }
+  .pl-xl-8 {
+    padding-left: 96px !important;
+  }
+  .pl-xl-9 {
+    padding-left: 192px !important;
+  }
+  .pl-xl-10 {
+    padding-left: 256px !important;
+  }
+  .pl-xl-11 {
+    padding-left: 320px !important;
+  }
+  .pl-xl-12 {
+    padding-left: 384px !important;
+  }
+  .w-xl-auto {
+    width: auto !important;
+  }
+  .w-xl-0 {
+    width: 0% !important;
+  }
+  .w-xl-25 {
+    width: 25% !important;
+  }
+  .w-xl-50 {
+    width: 50% !important;
+  }
+  .w-xl-75 {
+    width: 75% !important;
+  }
+  .w-xl-100 {
+    width: 100% !important;
+  }
+  .max-w-xl-auto {
+    max-width: auto !important;
+  }
+  .max-w-xl-0 {
+    max-width: 0% !important;
+  }
+  .max-w-xl-25 {
+    max-width: 25% !important;
+  }
+  .max-w-xl-50 {
+    max-width: 50% !important;
+  }
+  .max-w-xl-75 {
+    max-width: 75% !important;
+  }
+  .max-w-xl-100 {
+    max-width: 100% !important;
+  }
+  .vh-xl-100 {
+    height: 100vh;
+  }
+}
+@media print {
+  @page {
+    margin: 0.5in;
+  }
+  .nav-sub {
+    display: none;
+  }
+  #cms-admin-footer {
+    display: none;
+  }
+  a[href]:after {
+    content: "" !important;
+  }
+}
+/*
+    Rock Theme Styles
+
+    1. HTML Overrides
+    2. Bootstrap Overrides
+    3. Theme Styling
+    4. Responsive Overrides
+
+*/
+html {
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+.btn {
+  font-family: "colfax-web", sans-serif;
+  letter-spacing: -0.25px;
+  text-decoration: none;
+  border-width: 2px;
+}
+.btn-link {
+  font-weight: 500;
+}
+:root {
+  --brand-primary: #6bac43;
+  --brand-secondary: #1c683e;
+  --brand-tertiary: #2a4930;
+  --brand-kraft: #bd9b68;
+  --brand-info: #1698da;
+  --brand-warning: #f0ad4e;
+  --brand-danger: #c64f55;
+  --gray-darker: #1c1c1c;
+  --gray-dark: #303030;
+  --gray: #a4a4a4;
+  --gray-light: #ccc;
+  --gray-lighter: #efefef;
+}
+.hidden {
+  display: none !important;
+}
+#navigation-wrapper {
+  position: fixed;
+  top: 0;
+  width: 100%;
+  z-index: 1001;
+  transition: all 0.1s ease-in-out;
+}
+#navigation-secondary {
+  font-size: 90%;
+  background-color: var(--brand-primary);
+  color: white;
+}
+#navigation-secondary ul {
+  background-color: var(--gray-darker);
+}
+#navigation-secondary a:hover,
+#navigation-secondary a:focus {
+  color: white;
+}
+.js-container {
+  padding: 0 !important;
+}
+.card {
+  flex-direction: inherit;
+  font-size: 18px;
+}
+section {
+  padding: 80px 32px;
+}
+.fullscreen {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+}
+.background-cover {
+  background-size: cover;
+  background-repeat: no-repeat;
+}
+.background-center {
+  background-position: center;
+}
+.background-top {
+  background-position: top;
+}
+.background-bottom {
+  background-position: bottom;
+}
+.background-left {
+  background-position: left;
+}
+.background-right {
+  background-position: right;
+}
+.background-fixed {
+  background-attachment: fixed;
+}
+.bring-forward {
+  position: relative;
+  z-index: 1;
+}
+.height-max-content {
+  height: max-content;
+}
+.grayscale {
+  filter: grayscale(1);
+}
+.page-constrained {
+  max-width: 1200px;
+}
+.text-constrained {
+  max-width: 700px;
+}
+.cursor-pointer {
+  cursor: pointer;
+}
+.clickable {
+  transition: all 0.2s ease-in-out;
+}
+.clickable:hover {
+  opacity: 0.9;
+}
+footer a:hover {
+  color: #ffffff;
+}
+.wistia_popover_overlay {
+  background-color: rgba(0, 0, 0, 0.85) !important;
+}
+@media (min-width: 576px) {
+  section {
+    padding-left: 96px;
+    padding-right: 96px;
+  }
+}
+@media (min-width: 768px) {
+  section {
+    padding-top: 144px;
+    padding-bottom: 144px;
+  }
+  .background-md-center {
+    background-position: center;
+  }
+  .background-md-top {
+    background-position: top;
+  }
+  .background-md-bottom {
+    background-position: bottom;
+  }
+  .background-md-left {
+    background-position: left;
+  }
+  .background-md-right {
+    background-position: right;
+  }
+  #navigation-secondary {
+    background-color: var(--gray-darker);
+  }
+  #navigation-secondary .collapse {
+    display: flex;
+    height: auto !important;
+  }
+}
+@media (min-width: 1441px) {
+  section {
+    padding-top: 192px;
+    padding-bottom: 192px;
+  }
+}
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/Calendar.lava b/RockWeb/Themes/NewSpring/assets/Lava/Calendar.lava
new file mode 100644
index 00000000000..41e802ace16
--- /dev/null
+++ b/RockWeb/Themes/NewSpring/assets/Lava/Calendar.lava
@@ -0,0 +1,309 @@
+{% assign fallbackImage = 'Global' | Attribute:'ImageSquare','Url' %}
+{% assign eventItemOccurrenceCount = EventItemOccurrences | Size %}
+
+
{{ eventItemOccurrenceCount }}
+ + {% if eventItemOccurrenceCount == 0 %} +
+
There are no events in this time frame.
+
+ {% endif %} + +//- Loop through and strip out featured events into their own array +{% assign featuredEventItemOccurrences = '' %} +{% for event in EventItemOccurrences %} + + {% assign featured = event.EventItemOccurrence.EventItem.EventCalendarItems | Where:'EventCalendarId',1 | First | Attribute:'FeaturedEvent' %} + + {% if featured == 'Yes' %} + + {% assign featuredEventItemOccurrences = featuredEventItemOccurrences | AddToArray:event %} + {% assign EventItemOccurrences = EventItemOccurrences | RemoveFromArray:event %} + + //- Once we get to three featured events, leave the rest in the non-featured array + {% assign featuredEventsSize = featuredEventItemOccurrences | Size %} + {% if featuredEventsSize == 3 %} + {% break %} + {% endif %} + + {% endif %} +{% endfor %} + + +{% assign featuredCount = featuredEventItemOccurrences | Size %} +{% if featuredCount > 0 %} +
+ {% for event in featuredEventItemOccurrences %}
+
+

{{ event.Name }}

+
+
{% endfor %} +
+{% endif %} + + + + +
+ {% for occurrence in EventItemOccurrences %} + + //- Do not show events that have passed + {% assign now = 'Now' | Date %} + {% if occurrence.DateTime >= now %} + + {% assign eventCalendarItem = occurrence.EventItemOccurrence.EventItem.EventCalendarItems | Where:'EventCalendarId',1 | First %} + {% assign hasChildcare = eventCalendarItem | Attribute:'Childcare' %} + + //- Pull eventSlug from linkages + {% assign linkages = occurrence.EventItemOccurrence.Linkages %} + {% if linkages != empty %} + {% assign linkageCount = linkages | Size %} + {% if linkageCount == 1 %} + {% assign eventSlug = linkages | First | Property:'UrlSlug' %} + {% endif %} + {% else %} + {% assign eventSlug = '' %} + {% endif %} + + //- Set month so we can compare to previous event's in order to "group" events by month with headers + {% assign month = occurrence.Date | Date:'MMMM' %} + + {% if month != prevMonth %} +

{{ month }}

+ {% endif %} + + {% assign prevMonth = month %} + + //- Display Event +
{
+        "Name": {{ occurrence.Name | ToJSON }},
+        "Campus": {{ occurrence.EventItemOccurrence.Campus.Name | ToJSON }},
+        "StartDateTime": {{ occurrence.DateTime | ToJSON }},
+      }
+ {% comment %} +
+
+
+ +
+
+ {% assign eventName = eventCalendarItem | Attribute:'PublicName' | Default:occurrence.Name %} +

{{ eventName }}

+
+

+ {{ occurrence.Date | Date:'ddd, MMM d' }}, {{ occurrence.Time | Date:'h:mm tt' }} - + {% if occurrence.Date != occurrence.EndDate %} + {{ occurrence.EndDate | Date:'ddd, MMM d' }} + {% endif %} + {{ occurrence.EndTime | Date:'h:mm tt' }} +

+
+

{{ occurrence.Location }}

+
+ + + + + + + + +
+
+ +
+
+
+
{% endcomment %} + {% endif %} + {% endfor %} +
+ + + + + + {% comment %} {% assign eventItemOccurrenceCount = EventItemOccurrences | Size %} + + {% if eventItemOccurrenceCount == 0 %} +
+
There are no events in this time frame.
+
+ {% endif %} + + {% for eventItemOccurrence in EventItemOccurrences %} +
+
+

+ {{ eventItemOccurrence.Name }} +

+
+ {% if eventItemOccurrence.DetailPage != null %} + + View Details + + {% else %} + + View Details + + {% endif %} +
+
+
+
+
+ Date +
+
+ {% if eventItemOccurrence.Date != eventItemOccurrence.EndDate %} + {{ eventItemOccurrence.Date | Date:'MMM d' }} - {{ eventItemOccurrence.EndDate | Date:'MMM d' }} + {% else %} + {{ eventItemOccurrence.Date | Date:'MMM d' }} + {% endif %} +
+
+
+ Time +
+
+ {{ eventItemOccurrence.Time }} +
+
+
+ Location +
+
+ {{ eventItemOccurrence.Location }} +
+
+
+ Summary +
+
+ {{ eventItemOccurrence.Summary }} +
+
+
+
+ {% endfor %} + + {% endcomment %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/CalendarItem.lava b/RockWeb/Themes/NewSpring/assets/Lava/CalendarItem.lava new file mode 100644 index 00000000000..fa88d2252a8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/CalendarItem.lava @@ -0,0 +1,185 @@ +{% assign event = 'events' | PersistedDataset | Where:'Id',EventItemOccurrence.Id | First %} +{% assign fallbackImage = 'Global' | Attribute:'EventsImageLandscape','Url' %} +{% assign eventImage = event.ImageLandscape | Default:fallbackImage %} +{% assign campusId = EventItemOccurrence.Campus.Id | AsInteger %} +{% assign campus = 'campuses' | PersistedDataset | Where:'Id',campusId | First %} + +{% if Event.Summary != '' %} + {{ Event.Summary | AddMetaTagToHead:'name','description' }} +{% endif %} + +{{ 'summary_large_image' | AddMetaTagToHead:'property','twitter:card' }} +{{ Event.Name | AddMetaTagToHead:'property','twitter:title' }} +{{ Event.Description | AddMetaTagToHead:'property','twitter:description' }} + +{{ Event.Name | AddMetaTagToHead:'property','og:title' }} +{{ Event.Description | AddMetaTagToHead:'property','og:description' }} + +{% if eventImage %} + {{ eventImage | AddMetaTagToHead:'property','og:image' }} + {{ eventImage | AddMetaTagToHead:'property','twitter:image' }} +{% endif %} + +{% assign eventName = Event | Attribute:'PublicEventName' | Default:Event.Name %} + +
+ +
+
+ {% if Event.Description and Event.Description != empty %} +
+ {{ Event.Description }} +
+ {% endif %} + +
+ +
+ + {% assign note = EventItemOccurrence.Note | StripHtml | StripNewlines | Trim %} + {% if note and note != '' %} +

Additional Information

+ {{ EventItemOccurrence.Note }} + {% endif %} + + {% assign scheduledDates = EventItemOccurrence.Schedule.iCalendarContent | DatesFromICal:'all' %} + {% assign datesCount = scheduledDates | Size %} +

Date{% if datesCount > 1 %}s{% endif %} & Time{% if datesCount > 1 %}s{% endif %}

+
    + {% for scheduledDate in scheduledDates limit:5 %} + {% assign datetime = scheduledDate | Date:'HHmm' %} +
  • {[ formatDate date:scheduledDate ]}{% if datetime != '0000' %} at {{ scheduledDate | Date:'h:mmtt' | Replace:':00','' }}{% endif %}
  • + {% endfor %} +
+ +

Location

+

+ {% if event.Campus.Name and event.Campus.Name != empty %}{% endif %} + {{ event.Campus.Name | Prepend:'NewSpring ' | Default:'All Campuses' }} + {% if event.Campus.Name and event.Campus.Name != empty %}{% endif %} +

+ {% if EventItemOccurrence.Location != '' %} +

{{ EventItemOccurrence.Location }}

+ {% endif %} + + {% if EventItemOccurrence.ContactEmail != '' or EventItemOccurrence.ContactPhone != '' %} + {% assign phone = EventItemOccurrence.ContactPhone | Trim %} + {% assign email = EventItemOccurrence.ContactEmail | Trim %} + {% elseif campus.PhoneNumber != '' or campus.Email != '' %} + {% assign phone = campus.PhoneNumber | Trim %} + {% assign email = campus.Email | Trim %} + {% endif %} + + {% if phone != '' or email != '' %} +

Contact

+ +

+ {% if EventItemOccurrence.ContactPersonAliasId != null %} + {{ EventItemOccurrence.ContactPersonAlias.Person.FullName }}
+ {% endif %} + + {% if email != '' %} + {{ email }}
+ {% endif %} + + {% if phone != '' %} + {{ phone | Prepend:'(' | ReplaceFirst:'-',') ' }} + {% endif %} +

+ {% endif %} + + {% assign eventItemOccurrenceLinkages = EventItemOccurrence.Linkages %} + {% assign eventItemOccurrenceLinkagesCount = eventItemOccurrenceLinkages | Size %} + {% if eventItemOccurrenceLinkagesCount > 0 %} + {% for eventItemOccurrenceLinkage in eventItemOccurrenceLinkages %} + {% if eventItemOccurrenceLinkage.RegistrationInstance != null and eventItemOccurrenceLinkage.RegistrationInstance.IsActive == true %} + + {% if headingDisplayed != true %} +

Registration

+ {% endif %} + {% assign headingDisplayed = true %} + + {% assign daysTillStartDate = 'Now' | DateDiff:eventItemOccurrenceLinkage.RegistrationInstance.StartDateTime,'m' %} + {% assign daysTillEndDate = 'Now' | DateDiff:eventItemOccurrenceLinkage.RegistrationInstance.EndDateTime,'m' %} + {% assign showRegistration = true %} + {% assign registrationMessage = '' %} + + {% if daysTillStartDate and daysTillStartDate > 0 %} + {% assign showRegistration = false %} + {% if eventItemOccurrenceLinkagesCount == 1 %} + {% capture registrationMessage %}

Registration opens on {{ eventItemOccurrenceLinkage.RegistrationInstance.StartDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% else %} + {% capture registrationMessage %}

Registration for {{ eventItemOccurrenceLinkage.PublicName }} opens on {{ eventItemOccurrenceLinkage.RegistrationInstance.StartDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% endif %} + {% endif %} + + {% if daysTillEndDate and daysTillEndDate < 0 %} + {% assign showRegistration = false %} + {% if eventItemOccurrenceLinkagesCount == 1 %} + {% capture registrationMessage %}

Registration closed on {{ eventItemOccurrenceLinkage.RegistrationInstance.EndDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% else %} + {% capture registrationMessage %}

Registration for {{ eventItemOccurrenceLinkage.PublicName }} closed on {{ eventItemOccurrenceLinkage.RegistrationInstance.EndDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% endif %} + {% endif %} + + {% if showRegistration == true %} + {% assign statusLabel = RegistrationStatusLabels[eventItemOccurrenceLinkage.RegistrationInstanceId] %} + {% if eventItemOccurrenceLinkagesCount == 1 %} + {% assign registrationButtonText = statusLabel %} + {% else %} + {% assign registrationButtonText = statusLabel | Append:' for ' | Append:eventItemOccurrenceLinkage.PublicName %} + {% endif %} + + {% if statusLabel == 'Full' %} + {% if eventItemOccurrenceLinkagesCount == 1 %} + {% assign registrationButtonText = 'Registration Full' %} + {% else %} + {% assign registrationButtonText = eventItemOccurrenceLinkage.PublicName | Append:' (Registration Full) ' %} + {% endif %} +
{{ registrationButtonText }}
+ {% else %} + {% if eventItemOccurrenceLinkage.UrlSlug != '' %} +

{{ registrationButtonText }}

+ {% else %} +

{{ registrationButtonText }}

+ {% endif %} + {% endif %} + {% else %} +

{{ registrationMessage }}

+ {% endif %} + {% endif %} + {% endfor %} + {% endif %} + + +

Share This

+ + + +
+ +
+
+ +
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/campus-count.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/campus-count.lava new file mode 100644 index 00000000000..09f32884882 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/campus-count.lava @@ -0,0 +1,6 @@ +{% capture campusCount %} +{% assign count = 0 %} +{% campus where:'IsActive == true && Public == "Yes"' sort:'Name, asc' iterator:'campuses' %} + {{ campuses | Size }} +{% endcampus %} +{% endcapture %}{{ campusCount | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/communicators.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/communicators.lava new file mode 100644 index 00000000000..14720dca7a4 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/communicators.lava @@ -0,0 +1,5 @@ +{%- if dataset and dataset != empty and cciid and cciid != empty -%} +{%- assign cciid = cciid | AsInteger -%} +{%- assign communicators = dataset | PersistedDataset | Where:'Id',cciid | First | Property:'Communicators' -%} +{%- for communicator in communicators -%}{{ communicator.Name }}{% unless forloop.last %}, {% endunless %}{%- endfor -%} +{%- endif -%} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/format-date.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/format-date.lava new file mode 100644 index 00000000000..56173b893b7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/format-date.lava @@ -0,0 +1,9 @@ +{% capture dateFormatted %} + {% assign monthsToAbbreviate = 'January,February,August,September,October,November,December' %} + {% assign dateMonth = date | Date:'MMMM' %} + {% if monthsToAbbreviate contains dateMonth %} + {{ date | Date:'MMM d, yyyy' }} + {% else %} + {{ date | Date:'MMMM d, yyyy' }} + {% endif %} +{% endcapture %}{{ dateFormatted | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-item-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-item-id.lava new file mode 100644 index 00000000000..fdf136216b4 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-item-id.lava @@ -0,0 +1,13 @@ +{%- capture itemImageUrl -%} +{% contentchannelitem id:'{{ id }}' iterator:'items' %} + {% for item in items %} + {% if ratio contains 'square' %} + {{ item | Attribute:'ImageSquare','Url' }} + {% elseif ratio contains 'portrait' %} + {{ item | Attribute:'ImagePortrait','Url' }} + {% else %} + {{ item | Attribute:'ImageLandscape','Url' }} + {% endif %} + {% endfor %} +{% endcontentchannelitem %} +{%- endcapture -%}{{ itemImageUrl | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-video-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-video-id.lava new file mode 100644 index 00000000000..6ce2baa04e6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-image-from-video-id.lava @@ -0,0 +1,15 @@ +{%- capture wistiaThumbnailUrl -%} + +{%- sql -%} + SELECT TOP 1 ThumbnailUrl 'ImageUrl' + FROM [_tech_triumph_WistiaIntegration_WistiaMedia] + WHERE WistiaHashedId = '{{ id }}' +{%- endsql -%} + +{%- for item in results -%} + {% assign thumbParts = item.ImageUrl | Split:'?' %} +{%- endfor -%} + +{{ thumbParts[0] }}{%- if results != empty -%}?image_crop_resized={{ resolution }}{%- endif -%} + +{%- endcapture -%}{{ wistiaThumbnailUrl | Trim }} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-parent-title-from-child-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-parent-title-from-child-id.lava new file mode 100644 index 00000000000..1242cb68b69 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-parent-title-from-child-id.lava @@ -0,0 +1,33 @@ +{%- comment -%}Determine if this item's channel has a primary parent channel{%- endcomment -%} +{% capture parentTitle %} +{% sql %} + SELECT pcc.Id + FROM Attribute a + JOIN AttributeValue av + ON a.Id = av.AttributeId + JOIN ContentChannel cc + ON av.EntityId = cc.Id + JOIN ContentChannelItem cci + ON cci.ContentChannelId = cc.Id + JOIN ContentChannel pcc + ON av.Value = pcc.Guid + WHERE a.[Key] = 'PrimaryParentChannel' + AND a.EntityTypeId = 209 + AND cci.Id = {{ cciid }} +{% endsql %}{% capture pccid %}{% for result in results %}{{ result.Id }}{% endfor %}{% endcapture %} +{% if pccid and pccid != empty %} + {%- comment -%}Item has a primary parent channel{%- endcomment -%} + {% sql %} + SELECT pcci.Title + FROM ContentChannelItem cci + JOIN ContentChannel cc + ON cci.ContentChannelId = cc.Id + JOIN ContentChannelItemAssociation ccia + ON cci.Id = ccia.ChildContentChannelItemId + JOIN ContentChannelItem pcci + ON ccia.ContentChannelItemId = pcci.Id + WHERE cci.Id = {{ cciid }} + AND pcci.ContentChannelId = {{ pccid }} + {% endsql %}{% for result in results %}{{ result.Title }}{% endfor %} +{% endif %} +{% endcapture %}{{ parentTitle | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-permalink.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-permalink.lava new file mode 100644 index 00000000000..eec5dabef17 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/get-permalink.lava @@ -0,0 +1,64 @@ +//- Determine if this item's channel has a primary parent channel +{%- capture permalink -%} + {%- assign cciid = cciid | AsInteger -%} + {%- sql -%} + SELECT pcc.[Id] + FROM Attribute a + JOIN AttributeValue av ON a.[Id] = av.[AttributeId] + JOIN ContentChannel cc ON av.[EntityId] = cc.[Id] + JOIN ContentChannelItem cci ON cci.[ContentChannelId] = cc.[Id] + JOIN ContentChannel pcc ON av.[Value] = convert(nvarchar(50), pcc.[Guid]) + WHERE a.[Key] = 'PrimaryParentChannel' + AND a.[EntityTypeId] = 209 + AND cci.[Id] = {{ cciid | ToJSON }} + {%- endsql -%} + {%- assign pccid = results | First | Property:'Id' -%} + {%- if pccid and pccid != empty -%} + //- Item has a primary parent channel + {%- sql -%} + SELECT + cc.ChannelUrl + '/' as 'channelurl', + pccis.Slug + '/' + ccis.Slug 'slug' + FROM ContentChannelItem cci + JOIN ContentChannel cc + ON cci.ContentChannelId = cc.Id + JOIN ContentChannelItemSlug ccis + ON cci.Id = ccis.ContentChannelItemId + JOIN ContentChannelItemAssociation ccia + ON ccia.ChildContentChannelItemId = cci.Id + JOIN ContentChannelItem pcci + ON ccia.ContentChannelItemId = pcci.Id + JOIN ContentChannelItemSlug pccis + ON pccis.ContentChannelItemId = pcci.Id + WHERE cci.Id = {{ cciid }} + AND pcci.ContentChannelId = {{ pccid | ToJSON }} + {%- endsql -%} + {%- for result in results -%} + {%- if urlprefix and urlprefix != empty -%} + {{ urlprefix }}{{ result.slug }} + {%- else -%} + {{ result.channelurl }}{{ result.slug }} + {%- endif -%} + {%- endfor -%} + {%- else -%} + //- Item has no primary parent channel + {%- sql -%} + SELECT + cc.ChannelUrl + '/' as 'channelurl', + ccis.Slug 'slug' + FROM ContentChannelItem cci + JOIN ContentChannel cc + ON cci.ContentChannelId = cc.Id + JOIN ContentChannelItemSlug ccis + ON cci.Id = ccis.ContentChannelItemId + WHERE cci.Id = {{ cciid | ToJSON }} + {%- endsql -%} + {%- for result in results -%} + {%- if urlprefix and urlprefix != empty -%} + {{ urlprefix }}{{ result.slug }} + {%- else -%} + {{ result.channelurl }}{{ result.slug }} + {%- endif -%} + {%- endfor -%} + {%- endif -%} +{%- endcapture -%}{{ permalink | Trim }} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/giving-history.sql b/RockWeb/Themes/NewSpring/assets/Lava/DATA/giving-history.sql new file mode 100644 index 00000000000..c548999292a --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/giving-history.sql @@ -0,0 +1,99 @@ +-- DECLARE @StartDate AS NVARCHAR(MAX) = '01/01/20'; +-- DECLARE @EndDate AS NVARCHAR(MAX) = '12/31/20'; + +DECLARE @EntityId AS NVARCHAR(MAX); +DECLARE @PersonId AS INT = {{ CurrentPerson.Id }}; +DECLARE @GivingGroupId AS INT; + +-- default start date is a year ago +IF ISDATE(@StartDate) = 0 +BEGIN + SELECT @StartDate = DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0) +END; + +-- default end date is today +IF ISDATE(@EndDate) = 0 +BEGIN + SELECT @EndDate = GETDATE() +END; + +-- set entity id based on business id being present +IF @BusinessId > 0 + BEGIN + SET @EntityId = @BusinessId; + END; +ELSE + BEGIN + SET @EntityId = @PersonId; + END; + +-- set giving group id based on entity +SET @GivingGroupId = ( + SELECT GivingGroupId + FROM Person p + WHERE p.Id = @EntityId +) + +-- get transactions +IF(ISNULL(@GivingGroupId, null) IS null) + SELECT * + FROM FinancialTransaction ft + JOIN PersonAlias pa + ON ft.AuthorizedPersonAliasId = pa.Id + JOIN Person p + ON pa.PersonId = p.Id + JOIN FinancialTransactionDetail ftd + ON ftd.TransactionId = ft.Id + JOIN FinancialAccount fa + ON ftd.AccountId = fa.Id + JOIN FinancialAccount pfa + ON fa.ParentAccountId = pfa.Id + WHERE ft.AuthorizedPersonAliasId IN + ( + SELECT pa.Id + FROM PersonAlias pa + WHERE pa.PersonId = @EntityId + ) + AND ft.TransactionDateTime >= @StartDate + AND ft.TransactionDateTime <= @EndDate + AND pfa.IsTaxDeductible = 1 + ORDER BY ft.TransactionDateTime DESC +ELSE + SELECT * + FROM FinancialTransaction ft + JOIN PersonAlias pa + ON ft.AuthorizedPersonAliasId = pa.Id + JOIN Person p + ON pa.PersonId = p.Id + JOIN FinancialTransactionDetail ftd + ON ftd.TransactionId = ft.Id + JOIN FinancialAccount fa + ON ftd.AccountId = fa.Id + JOIN FinancialAccount pfa + ON fa.ParentAccountId = pfa.Id + WHERE ft.AuthorizedPersonAliasId IN + ( + SELECT pa.Id + FROM GroupMember gm + JOIN Person p + ON gm.PersonId = p.Id + JOIN PersonAlias pa + ON pa.PersonId = p.Id + WHERE GroupId IN ( + SELECT g.Id + FROM GroupMember gm + JOIN [Group] g + ON gm.GroupId = g.Id + WHERE gm.PersonId = @EntityId + AND g.GroupTypeId = 10 + ) AND + ( + p.GivingGroupId = @GivingGroupId + OR + p.AgeClassification = 2 + ) + ) + AND ft.TransactionDateTime >= @StartDate + AND ft.TransactionDateTime <= @EndDate + AND pfa.IsTaxDeductible = 1 + ORDER BY ft.TransactionDateTime DESC \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/isHeroPresentOnPage.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/isHeroPresentOnPage.lava new file mode 100644 index 00000000000..73a39d3fc76 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/isHeroPresentOnPage.lava @@ -0,0 +1 @@ +{% capture bool %} {% sql %} SELECT COUNT(av.Id) "Count" FROM Page p INNER JOIN Block b ON p.Id = b.PageId INNER JOIN AttributeValue av ON b.Id = av.EntityId WHERE p.Id = {{ pageid }} AND av.AttributeId = 78891 AND av.Value = '3e7d4d0c-8238-4a5f-9e5f-34e4dfbf7725' {% endsql %}{% capture count %}{% for item in results %}{{ item.Count }}{% endfor %}{% endcapture %}{% if count != 0 %}true{% else %}false{% endif %}{% endcapture %}{{ bool | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/meta-tags.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/meta-tags.lava new file mode 100644 index 00000000000..80751bbd167 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/meta-tags.lava @@ -0,0 +1,75 @@ +{% assign site_name = 'Global' | Page:'SiteName' %} +{{ site_name | AddMetaTagToHead:'property','og:site_name' }} +{% if url and url != empty %}{{ url | AddMetaTagToHead:'property','og:url' }}{% endif %} + +{% if title and title != empty %} + {{ title | AddMetaTagToHead:'name','title' }} + {{ title | AddMetaTagToHead:'property','og:title' }} + {{ title | AddMetaTagToHead:'property','twitter:title' }} +{% endif %} + +{% if description and description != empty %} + {{ description | AddMetaTagToHead:'name','description' }} + {{ description | AddMetaTagToHead:'property','og:description' }} + {{ description | AddMetaTagToHead:'property','twitter:description' }} +{% else %} + {{ 'Global' | Attribute:'OrganizationVision' | AddMetaTagToHead:'name','Description' }} + {{ 'Global' | Attribute:'OrganizationVision' | AddMetaTagToHead:'property','og:description' }} + {{ 'Global' | Attribute:'OrganizationVision' | AddMetaTagToHead:'property','twitter:description' }} +{% endif %} + + +{% if image and image != empty %} + {{ image | AddMetaTagToHead:'property','og:image' }} + {{ image | AddMetaTagToHead:'property','twitter:image' }} +{% endif %} + + +{{ article_author | AddMetaTagToHead:'property','article:author' }} +{{ twitter_site | AddMetaTagToHead:'property','twitter:site' }} +{{ twitter_creator | AddMetaTagToHead:'property','twitter:creator' }} +{% if article_published_time and article_published_time != empty %} + {{ article_published_time | AddMetaTagToHead:'property','article:published_time' }} +{% endif %} + + +{% if article_published_time and article_published_type != empty %} + {{ 'article' | AddMetaTagToHead:'property','og:type' }} +{% else %} + {{ 'website' | AddMetaTagToHead:'property','og:type' }} +{% endif %} + +{% if video and video != empty %} + {{ 'player' | AddMetaTagToHead:'property','twitter:card' }} +{% elseif app and app != empty %} + {{ 'app' | AddMetaTagToHead:'property','twitter:card' }} +{% endif %} + +{% if video and video != empty %} + + + {{ video | AddMetaTagToHead:'property','og:video' }} + {{ video_type | AddMetaTagToHead:'property','og:video:type' }} + {{ video_width | AddMetaTagToHead:'property','og:video:width' }} + {{ video_height | AddMetaTagToHead:'property','og:video:height' }} + + + {{ video | AddMetaTagToHead:'property','twitter:player' }} + {{ video_width | AddMetaTagToHead:'property','twitter:player:width' }} + {{ video_height | AddMetaTagToHead:'property','twitter:player:height' }} + +{% endif %} + +{% if app and app != empty %} + + {{ 'US' | AddMetaTagToHead:'property','twitter:app:country' }} + {{ 'NewSpring' | AddMetaTagToHead:'property','twitter:app:name:iphone' }} + {{ 'NewSpring' | AddMetaTagToHead:'property','twitter:app:name:ipad' }} + {{ 'NewSpring' | AddMetaTagToHead:'property','twitter:app:name:googleplay' }} + {{ '492113528' | AddMetaTagToHead:'property','twitter:app:id:iphone' }} + {{ '492113528' | AddMetaTagToHead:'property','twitter:app:id:ipad' }} + {{ 'cc.newspring.newspringapp' | AddMetaTagToHead:'property','twitter:app:id:googleplay' }} + {{ 'https://itunes.apple.com/us/app/newspring-church/id492113528#?platform=iphone' | AddMetaTagToHead:'property','twitter:app:url:iphone' }} + {{ 'https://itunes.apple.com/us/app/newspring-church/id492113528#?platform=ipad' | AddMetaTagToHead:'property','twitter:app:url:ipad' }} + {{ 'https://play.google.com/store/apps/details?id=cc.newspring.newspringapp' | AddMetaTagToHead:'property','twitter:app:url:googleplay' }} +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/need-to-know-news.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/need-to-know-news.lava new file mode 100644 index 00000000000..874596230c9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/need-to-know-news.lava @@ -0,0 +1,86 @@ +{% assign internalApplicationRoot = 'Global' | Attribute:'InternalApplicationRoot' %} +{% assign externalApplicationRoot = 'Global' | Attribute:'ExternalApplicationRoot' %} +{% assign items = 'newspring_news' | PersistedDataset | Where:'Status',2 | OrderBy:'Priority desc, PublishDateTime desc' %} + +//- This loops through the items from the dataset and strips out anything that is future-dated or expired. +{%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} +{%- for item in items -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {% if publishDateTime > now or expireDateTime < now or status != 2 %} + {% assign items = items | RemoveFromArray:item %} + {% endif %} +{%- endfor -%} + + + +{% if campusid and campusid != empty %} + {% assign campusname = 'All' | FromCache:'Campus' | Where:'Id',campusid | First | Property:'Name' %} +{% endif %} + +{% if campusname and campusname != empty %} + + + {% assign displayCount = 0 %} + {% for item in items %} + {% assign campuses = item.Campuses | Split:',' %} + {% if campuses contains campusname %} + {% if displayCount < limit %} + {% assign displayCount = displayCount | Plus:1 %} + + {% capture imageAlignment -%}{%- cycle 'left', 'right' -%}{%- endcapture %} + {% capture imageMargin -%}{%- if imageAlignment == 'left' -%}right{%- else -%}left{%- endif -%}{%- endcapture %} + {% assign imageUrl = item.ImageSquare %} + + + + + {% endif %} + {% endif %} + {% endfor %} + +
+ {% if editable == 'true' %}

Edit This

{% endif %} + + {% if imageUrl and imageUrl != empty %} + + {% endif %} + +

{{ item.Title | Trim }}

+ + {% assign summary = item.Summary | Replace:'


','' %} + {% assign permalink = item.Permalink %} + {% if summary != empty %} + {{ summary | HtmlDecode | Trim }} + + {% if permalink != empty %} +

+ + Read More + +

+ {% endif %} + {% else %} + {{ item.Content | HtmlDecode | Trim | Replace:'


','' }} + {% endif %} +
+
+{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/open-items-count-from-channel-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/open-items-count-from-channel-id.lava new file mode 100644 index 00000000000..b69b406124e --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/open-items-count-from-channel-id.lava @@ -0,0 +1,11 @@ +{%- capture openItemsCount %} +{% sql %} +SELECT COUNT(Id) 'Count' +FROM ContentChannelItem cci +WHERE cci.ContentChannelId = {{ ccid }} +AND cci.Status = 2 +AND (ExpireDateTime IS NULL OR ExpireDateTime > GETDATE()) +{% endsql %} +{% for item in results %} + {{ item.Count }} +{% endfor %}{% endcapture -%}{{ openItemsCount | Replace:' ','' }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-id-from-guid.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-id-from-guid.lava new file mode 100644 index 00000000000..a8b538311e2 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-id-from-guid.lava @@ -0,0 +1 @@ +{% page where:'Guid == "{{ guid }}"' %}{% for page in pageItems %}{{ page.Id }}{% endfor %}{% endpage %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-meta-data.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-meta-data.lava new file mode 100644 index 00000000000..7034095a48a --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-meta-data.lava @@ -0,0 +1,13 @@ +{% capture url %}{{ 'Global' | Page:'Url' }}{% endcapture %} +{%- assign dataset = 'pagemetadata' | PersistedDataset -%} +{% assign pagemetadata = dataset | Where:'Id', CurrentPage.Id | First %} + +{% comment %} + If this page has a hero block on it, or has been designated as it receiving metadata from a content channel item, we don't want to do anything as the metadata tag generation will be handled in either the UI > Hero, Layout > Editorial, Layout > Collection Detail, or Layout > Sermon Detail lava templates. +{% endcomment %} + +{% if pagemetadata.PageHasHero == 'False' and pagemetadata.MetadataFromContentChannelItem == 'False' %} + + {[ metaTags url:'{{ url }}' title:'{{ pagemetadata.MetaTitle }}' description:'{{ pagemetadata.MetaDescription }}' image:'{{ pagemetadata.MetaImage }}' ]} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-page-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-page-id.lava new file mode 100644 index 00000000000..3609c0f8952 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-page-id.lava @@ -0,0 +1 @@ +{% pageroute where:'PageId == {{ id }}' limit:1 iterator:'routes' %}{% for route in routes %}{{ route.Route }}{% endfor %}{% endpageroute %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-route-guid.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-route-guid.lava new file mode 100644 index 00000000000..da8ff8339c4 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/page-route-from-route-guid.lava @@ -0,0 +1 @@ +{% pageroute where:'Guid == "{{ guid }}"' %}{% for route in pagerouteItems %}{{ route.Route }}{% endfor %}{% endpageroute %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/person-alias-guid-from-person-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/person-alias-guid-from-person-id.lava new file mode 100644 index 00000000000..24104866154 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/person-alias-guid-from-person-id.lava @@ -0,0 +1 @@ +{% personalias where:'PersonId == {{ id }}' iterator:'alii' limit:'1' %}{% for alias in alii %}{{ alias.Guid }}{% endfor %}{% endpersonalias %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/related-content-channel-items.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/related-content-channel-items.lava new file mode 100644 index 00000000000..cca23018f01 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/related-content-channel-items.lava @@ -0,0 +1,23 @@ +{% if guid != empty and guid != null %}{% capture ids %} + {% sql %} + SELECT TOP {{ limit }} ContentChannelItem.Id 'Id' + FROM TaggedItem + INNER JOIN ContentChannelItem + ON TaggedItem.EntityGuid = ContentChannelItem.Guid + WHERE TaggedItem.EntityGuid != '{{ guid }}' AND + ContentChannelItem.Status = 2 AND + ContentChannelItem.ContentChannelId IN ({{ ccids | Replace:'%2C',',' }}) AND + TagId IN ( + SELECT TagId + FROM TaggedItem + WHERE EntityGuid = '{{ guid }}' + ) + GROUP BY ContentChannelItem.Id, ContentChannelItem.ModifiedDateTime + ORDER BY COUNT(*) desc, ContentChannelItem.ModifiedDateTime desc + {% endsql %} + + {% for item in results %} + {{ item.Id }}{% if forloop.last == false %},{% endif %} + {% endfor %} + +{% endcapture %}{% endif %}{{ ids | Trim | Replace:' ','' }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATA/service-times.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATA/service-times.lava new file mode 100644 index 00000000000..f2e761204c0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATA/service-times.lava @@ -0,0 +1,37 @@ +{% if campusid and campusid != empty %} + {% campus id:'{{ campusid }}' iterator:'campuses' %} + {% for campus in campuses %} + {% assign campusSlug = campus.Name | Replace:' ','-' | Downcase %} + {% capture servicesJSON %}{{ campus | Attribute:'ServiceTimes1' }}{% endcapture %} + {% endfor %} + {% endcampus %} + + {% assign servicesJSON = servicesJSON | FromJSON %} + + {% for service in servicesJSON %} + {% if service.ServiceType == servicetype %} + {% if service.ServiceLabel != empty %}{{ service.ServiceLabel }} {% if service.DoorsOpenTime != empty or service.PickUpTime != empty %}{% endif %}
{% endif %} + {{ service.ServiceDay }} {% if campusSlug == 'eastlan' %}{{ service.ServiceTime | Replace:':15',':30' | Remove:':00' | Remove:' ' | Downcase }}{% if servicetype == 'NewSpring' and service.ServiceTime != '8:00 AM' %} - KidSpring Open{% endif %}{% else %}{{ service.ServiceTime | Remove:':00' | Remove:' ' | Downcase }}{% endif %} {% if service.ServiceLabel == '' and service.DoorsOpenTime != empty or service.PickUpTime != empty %}{% endif %} + {% if service.ServiceNote and service.ServiceNote != empty %}
{{ service.ServiceNote | Replace:"'","’" }}{% endif %} + {% if service.ServiceLocation.Street1 != empty %} + {% capture serviceLocationAddress %}{{ service.ServiceLocation.Street1 }} {% if service.ServiceLocation.Street2 != empty %}{{ service.ServiceLocation.Street2 }} {% endif %}{{ service.ServiceLocation.City }} {{ service.ServiceLocation.State }} {{ service.ServiceLocation.PostalCode }}{% endcapture %} + {% assign getDirections = 'https://www.google.com/maps/place/' | Append:serviceLocationAddress | Replace:" ","+" %} + {% else %} + {% if servicetype == 'Fuse' %} + {% assign getDirections = campus | Attribute:'FuseGetDirectionsURL','RawValue' %} + {% else %} + {% assign getDirections = campus | Attribute:'GetDirectionsURL','RawValue' %} + {% endif %} + {% endif %} + {% if servicetype == 'Fuse' and getDirections and getDirections != empty %} +
Get Directions +
+ {% endif %} +
+ {% assign serviceDay = service.ServiceDay %} + {% endif %} + {% endfor %} + + {% assign serviceDay = '' %} + +{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/asset-storage-providers.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/asset-storage-providers.lava new file mode 100644 index 00000000000..d7312d0f7cc --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/asset-storage-providers.lava @@ -0,0 +1,11 @@ +{% sql %} + SELECT * + FROM [AssetStorageProvider] asp + LEFT JOIN [AttributeValue] av ON av.[EntityId] = asp.[Id] AND av.[AttributeId] = 91196 +{% endsql %} +[ +{% for result in results %}{ + "Id": {{ result.Id }}, + "CloudfrontUrl": {{ result.Value | Default:'' | ToJSON }} +}{% if forloop.last != true %},{% endif %}{% endfor %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/campuses.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/campuses.lava new file mode 100644 index 00000000000..8cb9e7bba6c --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/campuses.lava @@ -0,0 +1,58 @@ +[ + {% campus where:'IsActive == "True" && Public == "Yes"' sort:'Name' iterator:'campuses' %} + {%- for campus in campuses -%} + {% assign campusType = campus | Attribute:'CampusType','RawValue' %} + {% if campusType == 'permanent' or campusType == 'portable' or campusType == 'community' %} + { + "Id": {{ campus.Id | ToJSON }}, + "Guid": {{ campus.Guid | ToJSON }}, + "Shortcode": {{ campus.ShortCode | ToJSON }}, + "CampusType": {{ campusType | ToJSON }}, + "Name": {{ campus.Name | ToJSON }}, + "LocationStreet1": {{ campus.Location.Street1 | ToJSON }}, + "LocationStreet2": {{ campus.Location.Street2 | ToJSON }}, + "LocationCity": {{ campus.Location.City | ToJSON }}, + "LocationState": {{ campus.Location.State | ToJSON }}, + "LocationPostalCode": {{ campus.Location.PostalCode | ToJSON }}, + "LocationLatitude": {{ campus.Location.Latitude | ToJSON }}, + "LocationLongitude": {{ campus.Location.Longitude | ToJSON }}, + "PhoneNumber": {{ campus.PhoneNumber | ToJSON }}, + "Email": {{ campus.Name | Replace:' ','' | Downcase | Append:'@newspring.cc' | ToJSON }}, + "Url": {{ campus.Name | Replace:' ','' | Downcase | Prepend:'https://newspring.cc/locations/' | ToJSON }}, + "CampusPastorPersonId": {{ campus.LeaderPersonAliasId | PersonByAliasId | Property:'Id' | ToJSON }}, + "FusePastorPersonId": {{ campus | Attribute:'FusePastor','Id' | ToJSON }}, + "GooglePlacesId": {{ campus | Attribute:'GooglePlacesId' | ToJSON }}, + "GetDirectionsURL": {{ campus | Attribute:'GetDirectionsURL','RawValue' | ToJSON }}, + "FuseGetDirectionsURL": {{ campus | Attribute:'FuseGetDirectionsURL','RawValue' | ToJSON }}, + "LandscapeImage": {{ campus | Attribute:'ImageLandscape' | ToJSON }}, + "FuseLandscapeImage": {{ campus | Attribute:'FuseImageLandscape' | ToJSON }}, + "ServiceTimes": {{ campus | Attribute:'ServiceTimes1' | FromJSON | ToJSON }}, + "MailingAddress": {{ campus | Attribute:'MailingAddress' | ToJSON }}, + "OfficeAddress": {{ campus | Attribute:'OfficeAddress' | ToJSON }}, + "CampusStaff": [ + {% group where:'ParentGroupId == 2084074 && Name == "{{ campus.Name }} Team"' iterator:'groups' securityenabled:'false' %} + {% for group in groups %} + {% assign staffPersonIds = group.Members | Select:'Person' | Sort:'LastName' | Select:'Id' %} + {% for staffPersonId in staffPersonIds %} + {% capture groupId %}{{ group.Id }}{% endcapture %} + {% assign staffMember = staffPersonId | PersonById %} + {% assign groupMember = staffMember | Group:groupId,'All' | First %} + { + "GroupId": {{ groupId | ToJSON }}, + "PersonId": {{ staffMember.Id }}, + "FullName": {{ staffMember.FullName | ToJSON }}, + "StaffImage": {{ staffMember | Attribute:'StaffImage','Url' | ToJSON }}, + "StaffTitle": {{ staffMember | Attribute:'StaffTitle' | ToJSON }}, + "StaffEmail": {{ staffMember | Attribute:'StaffEmail' | ToJSON }}, + "NickName": {{ staffMember.NickName | ToJSON }}, + "ShowOnWebsite": {{ groupMember | Attribute:'ShowOnWebsite' | ToJSON }} + }{%- unless forloop.last -%},{%- endunless -%} + {% endfor %} + {% endfor %} + {% endgroup %} + ] + }{%- unless forloop.last -%},{%- endunless -%} + {% endif %} + {%- endfor -%} + {% endcampus %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-children.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-children.lava new file mode 100644 index 00000000000..f0a74b69758 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-children.lava @@ -0,0 +1,40 @@ +{% sql return:'associations' %} + SELECT + DISTINCT cci.[Id] + , pd.[AccessKey] 'Dataset' + , cc.[ChildItemsManuallyOrdered] + FROM [ContentChannelItemAssociation] ccia + JOIN [ContentChannelItem] cci ON ccia.[ContentChannelItemId] = cci.[Id] + JOIN [ContentChannel] cc ON cci.[ContentChannelId] = cc.[Id] + JOIN [AttributeValue] av ON av.[EntityId] = cci.[ContentChannelId] + JOIN [PersistedDataset] pd ON av.[Value] = pd.[Id] + WHERE cci.[ContentChannelTypeId] = 11 + AND cci.[Status] = 2 + AND av.[AttributeId] = 107096 + {% endsql %} + [ + {% for association in associations %}{ + {% sql return:'children' %} + SELECT + ccia.[Order] 'Index' + , ccia.[ChildContentChannelItemId] 'Id' + , cci.[ContentChannelId] 'ChannelId' + , cci.[Status] + , cci.[StartDateTime] 'PublishDateTime' + , cci.[ExpireDateTime] 'ExpireDateTime' + , ccis.[Slug] + , pd.[AccessKey] 'Dataset' + FROM [ContentChannelItemAssociation] ccia + JOIN [ContentChannelItem] cci ON ccia.[ChildContentChannelItemId] = cci.[Id] + JOIN [ContentChannelItemSlug] ccis ON ccis.[ContentChannelItemId] = cci.[Id] + JOIN [AttributeValue] av ON av.[EntityId] = cci.[ContentChannelId] + JOIN [PersistedDataset] pd ON av.[Value] = pd.[Id] + WHERE ccia.[ContentChannelItemId] = {{ association.Id }} + AND cci.[Status] = 2 + AND av.[AttributeId] = 107096 -- Persisted Dataset Attribute Id + {% endsql %} + "Id": {{ association.Id | ToJSON }}, + "Dataset": {{ association.Dataset | ToJSON }}, + "Children": {% if association.ChildItemsManuallyOrdered == true %}{{ children | OrderBy:'Order' | ToJSON }}{% else %}{{ children | OrderBy:'PublishDateTime' | ToJSON }}{% endif %} + }{% unless forloop.last %},{% endunless %}{% endfor %} + ] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-parents.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-parents.lava new file mode 100644 index 00000000000..b9c781856e3 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-parents.lava @@ -0,0 +1,46 @@ +{% sql return:'associations' %} +SELECT + DISTINCT cci.Id, + pd.AccessKey 'Dataset' +FROM ContentChannelItemAssociation ccia +JOIN ContentChannelItem cci +ON ccia.ChildContentChannelItemId = cci.Id +JOIN AttributeValue av +ON av.EntityId = cci.ContentChannelId +JOIN PersistedDataset pd +ON av.Value = pd.Id +WHERE cci.ContentChannelTypeId = 11 +AND cci.[Status] = 2 +AND av.AttributeId = 107096 +{% endsql %} +[ +{% for association in associations %}{ + {% sql return:'children' %} + SELECT + ccia.[Order] 'Index', + ccia.ContentChannelItemId 'Id', + cci.ContentChannelId 'ChannelId', + cci.Status, + cci.StartDateTime 'PublishDateTime', + cci.ExpireDateTime 'ExpireDateTime', + ccis.Slug, + pd.AccessKey 'Dataset' + FROM ContentChannelItemAssociation ccia + JOIN ContentChannelItem cci + ON ccia.ContentChannelItemId = cci.Id + JOIN ContentChannelItemSlug ccis + ON ccis.ContentChannelItemId = cci.Id + JOIN AttributeValue av + ON av.EntityId = cci.ContentChannelId + JOIN PersistedDataset pd + ON av.Value = pd.Id + WHERE ccia.ChildContentChannelItemId = {{ association.Id }} + AND cci.[Status] = 2 + AND av.AttributeId = 107096 + ORDER BY ccia.[Order], cci.StartDateTime + {% endsql %} + "Id": {{ association.Id | ToJSON }}, + "Dataset": {{ association.Dataset | ToJSON }}, + "Parents": {{ children | ToJSON }} +}{% unless forloop.last %},{% endunless %}{% endfor %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-related.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-related.lava new file mode 100644 index 00000000000..5df0724eebf --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-item-related.lava @@ -0,0 +1,46 @@ +{% sql return:'items' %} +SELECT + DISTINCT cci.Id +FROM TaggedItem ti +JOIN ContentChannelItem cci +ON ti.EntityGuid = cci.Guid +JOIN Tag t +ON ti.TagId = t.Id +WHERE t.CategoryId = 979 +AND cci.[Status] = 2 +{% endsql %} +[ +{% for item in items %}{ + {% sql return:'related' %} + SELECT TOP 10 + cci2.Id, + cci2.ContentChannelId 'ChannelId', + cci2.Status, + cci2.StartDateTime 'PublishDateTime', + cci2.ExpireDateTime 'ExpireDateTime', + ccis.Slug, + pd.AccessKey 'Dataset' + FROM TaggedItem ti + JOIN ContentChannelItem cci + ON ti.EntityGuid = cci.Guid + JOIN TaggedItem ti2 + ON ti.TagId = ti2.TagId + JOIN ContentChannelItem cci2 + ON ti2.EntityGuid = cci2.Guid + JOIN ContentChannelItemSlug ccis + ON cci2.Id = ccis.ContentChannelItemId + JOIN AttributeValue av + ON av.EntityId = cci2.ContentChannelId + JOIN PersistedDataset pd + ON av.Value = pd.Id + WHERE cci.Id = {{ item.Id }} + AND cci2.[Status] = 2 + AND cci2.Id != {{ item.Id }} + AND av.AttributeId = 107096 + GROUP BY cci2.Id, cci2.ContentChannelId, cci2.Status, cci2.StartDateTime, cci2.ExpireDateTime, ccis.Slug, pd.AccessKey, cci2.ModifiedDateTime + ORDER BY COUNT(*) DESC, cci2.ModifiedDateTime DESC + {% endsql %} + "Id": {{ item.Id }}, + "Related": {{ related | ToJSON }} +}{% unless forloop.last %},{% endunless %}{% endfor %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items-by-channel.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items-by-channel.lava new file mode 100644 index 00000000000..a4fc58e7e5a --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items-by-channel.lava @@ -0,0 +1,142 @@ +{%- if ccid != empty -%} +[ + {% contentchannelitem where:'ContentChannelId == {{ ccid }} && Status == 2' limit:'100000' sort:'StartDateTime desc' securityenabled:'false' iterator:'items' -%} + {%- for item in items -%} + {%- assign imageLandscape = item | Attribute:'ImageLandscape','Url' -%} + {%- assign imageSquare = item | Attribute:'ImageSquare','Url' -%} + {%- assign imagePortrait = item | Attribute:'ImagePortrait','Url' -%} + {%- assign datesArray = item | Attribute:'Dates','RawValue' | Split:',' -%} + {%- assign startDateTime = datesArray | Index:'0' -%} + {%- assign endDateTime = datesArray | Index:'1' -%} + {%- capture permalink -%}{{ 'Global' | Attribute:'PublicApplicationRoot' | ReplaceLast:'/', '' }}{[ getPermalink cciid:'{{ item.Id }}' ]}{%- endcapture -%} + {%- assign scripturesObject = item | Attribute:'Scriptures' | FromJSON -%} + {%- assign videosObject = item | Attribute:'Videos' | FromJSON -%} + {%- assign downloadsObject = item | Attribute:'Downloads' | FromJSON -%} + {%- assign category = item | Attribute:'Category' -%} + {%- sql return:'interactionData' -%} + SELECT TOP 1 + ic.Id 'InteractionChannelId', + ico.Id 'InteractionComponentId' + FROM ContentChannelItem cci + JOIN InteractionChannel ic + ON cci.ContentChannelId = ic.ChannelEntityId + JOIN InteractionComponent ico + ON ico.InteractionChannelId = ic.Id + WHERE cci.Id = '{{ item.Id }}' + AND ic.ChannelTypeMediumValueId = 906 -- Content Channel Item + AND ico.EntityId = cci.Id + {%- endsql -%} + {%- sql return:'tags' -%} + SELECT + t.Id, + t.Name + FROM TaggedItem ti + JOIN Tag t + ON ti.TagId = t.Id + WHERE ti.EntityGuid = '{{ item.Guid }}' + {%- endsql -%} + {%- sql return:'communicators' -%} + SELECT + ami.Id, + CASE + WHEN TRY_CONVERT(UNIQUEIDENTIFIER, av2.Value) IS NOT NULL THEN p.NickName + ' ' + p.LastName + ELSE av2.Value + END 'Name', + p.Id 'PersonId' + FROM AttributeValue av + JOIN AttributeMatrix am + ON av.Value = am.Guid + JOIN AttributeMatrixItem ami + ON ami.AttributeMatrixId = am.Id + JOIN AttributeValue av2 + ON av2.EntityId = ami.Id + LEFT JOIN Person p + ON av2.ValueAsPersonId = p.Id + WHERE av.EntityId = {{ item.Id }} + AND av.AttributeId = 86072 + AND av2.AttributeId IN (86070,86071) + {%- endsql -%} + + {%- if childchannelid and childchannelid != empty -%} + {% assign childchannelid = childchannelid | AsInteger %} + {% assign children = 'content_children' | PersistedDataset | Where:'Id', item.Id | Select:'Children' | First | Where:'ChannelId', childchannelid %} + {%- endif -%} + + {%- if parentchannelid and parentchannelid != empty -%} + {% assign parentchannelid = parentchannelid | AsInteger %} + {% assign parents = 'content_parents' | PersistedDataset | Where:'Id', item.Id | Select:'Parents' | First | Where:'ChannelId', parentchannelid %} + {%- endif -%} + + {% assign related_items = 'content_related' | PersistedDataset | Where:'Id', item.Id | Select:'Related' | First %} + {%- assign video = item | Attribute:'Video','RawValue' -%} + {%- capture videoImage -%}{[ getImageFromVideoId id:'{{ video }}' ]}{%- endcapture -%} + {% assign videoImage = videoImage | Trim | Split:'?' | First %} + {% capture contentType %}{% if category and category != empty -%}{{ item.ContentChannel | Attribute:'ContentFormat' | Prepend:' ' | Prepend:category | ToJSON }}{%- else -%}{{ item.ContentChannel | Attribute:'ContentFormat' | ToJSON }}{%- endif -%}{% endcapture %}{ + "Id": {{ item.Id }}, + "Title": {{ item.Title | Replace:"'","’" | ToJSON }}, + "Slug": {{ item.PrimarySlug | ToJSON }}, + "Guid": {{ item.Guid | ToJSON }}, + "Status": {{ item.Status | ToJSON }}, + "Priority": {{ item.Priority | ToJSON }}, + "Permalink": {{ permalink | Trim | ToJSON }}, + "PublishDateTime": {{ item.StartDateTime | ToJSON }}, + "ExpireDateTime": {{ item.ExpireDateTime | ToJSON }}, + "ModifiedDateTime": {{ item.ModifiedDateTime | ToJSON }}, + "PublishMonth": {{ item.StartDateTime | Date:'MMMM' | ToJSON }}, + "Dataset": {{ dataset | ToJSON }}, + "ChannelId": {{ item.ContentChannel.Id }}, + "ChannelName": {{ item.ContentChannel.Name | ToJSON }}, + "ContentType": {% if item.ContentChannel.Name contains 'KidSpring' %}{{ contentType | Replace:'Sermon','Lesson' }}{% else %}{{ contentType }}{% endif %}, + "ChannelVerb": "{% if video and video != empty %}Watch{% else %}{{ item.ContentChannel | Attribute:'ContentFormat','Object' | Attribute:'Verb' }}{% endif %}", + "ChannelUrl": {{ item.ContentChannel.ChannelUrl | ToJSON }}, + "ItemsOrderedManually": {{ item.ContentChannel.ItemsManuallyOrdered | ToJSON }}, + "ChildItemsOrderedManually": {{ item.ContentChannel.ChildItemsManuallyOrdered | ToJSON }}, + "ParentChannelId": {{ parentchannelid | ToJSON }}, + "ChildChannelId": {{ childchannelid | ToJSON }}, + "ChannelRSSFeedKeywords": {{ item.ContentChannel | Attribute:'RSSFeedKeywords' | ToJSON }}, + "IsDateVisible": {{ item.ContentChannel | Attribute:'IsDateVisible' | ToJSON }}, + "InteractionChannelId": {{ interactionData | First | Property:'InteractionChannelId' | ToJSON }}, + "InteractionComponentId": {{ interactionData | First | Property:'InteractionComponentId' | ToJSON }}, + "Category": {{ category | ToJSON }}, + "Content": {{ item.Content | Replace:"'","’" | Escape | ToJSON }}, + "Departments": {{ item | Attribute:'Department' | ToJSON }}, + "Subtitle": {{ item | Attribute:'Subtitle' | Replace:"'","’" | ToJSON }}, + "Summary": {{ item | Attribute:'Summary' | Replace:"'","’" | Escape | ToJSON }}, + "Video": {{ video | ToJSON }}, + "VideoImageLandscape": "{% if videoImage and videoImage != empty %}{{ videoImage | Trim | Append:'?image_crop_resized=2000x1000' }}{% endif %}", + "VideoImageSquare": "{% if videoImage and videoImage != empty %}{{ videoImage | Trim | Append:'?image_crop_resized=2000x2000' }}{% endif %}", + "VideoImagePortrait": "{% if videoImage and videoImage != empty %}{{ videoImage | Trim | Append:'?image_crop_resized=1000x2000' }}{% endif %}", + "MetaTitle": {{ item | Attribute:'MetaTitle' | Replace:"'","’" | ToJSON }}, + "MetaDescription": {{ item | Attribute:'MetaDescription' | Replace:"'","’" | ToJSON }}, + "StartDateTime": {{ startDateTime | ToJSON }}, + "EndDateTime": {{ endDateTime | ToJSON }}, + "ImageLandscape": "{% if imageLandscape %}{{ imageLandscape }}{% endif %}", + "ImageSquare": "{% if imageSquare %}{{ imageSquare }}{% endif %}", + "ImagePortrait": "{% if imagePortrait %}{{ imagePortrait }}{% endif %}", + "BackgroundImageSquare": {{ item | Attribute:'BackgroundImageSquare' | ToJSON }}, + "ImageApp": {{ item | Attribute:'ImageApp' | ToJSON }}, + "BackgroundColor": {{ item | Attribute:'BackgroundColor' | Replace:'#','' | ToJSON }}, + "ForegroundColor": {{ item | Attribute:'ForegroundColor' | Replace:'#','' | ToJSON }}, + "Campuses": "{{ item | Attribute:'Campuses','Name' | Replace:', ',',' }}", + "LinkUrl": {{ item | Attribute:'LinkUrl','RawValue' | ToJSON }}, + "RelatedItem": {{ item | Attribute:'RelatedEntry','RawValue' | ToJSON }}, + "VideoFileHigh": {{ item | Attribute:'VideoFileHigh' | ToJSON }}, + "VideoFileMid": {{ item | Attribute:'VideoFileMid' | ToJSON }}, + "VideoFileLow": {{ item | Attribute:'VideoFileLow' | ToJSON }}, + "AudioFile": {{ item | Attribute:'AudioFile' | ToJSON }}, + "AudioDuration": {{ item | Attribute:'AudioDuration' | ToJSON }}, + "ActualDate": {{ item | Attribute:'ActualDate','RawValue' | Date:'yyyy-MM-ddThh:mm:ss' | ToJSON }}, + "DataViews": "{{ item | Attribute:'DataViews','RawValue' }}", + "Videos": {{ videosObject.Attributes | ToJSON }}, + "Communicators": {{ communicators | ToJSON }}, + "Scriptures": {{ scripturesObject.Attributes | ToJSON }}, + "ItemHasDownloads": {% assign downloadsSize = downloadsObject | Size %}{% if downloadsSize >= 1 %}true{% else %}false{% endif %}, + "Downloads": {{ downloadsObject.Attributes | ToJSON }}, + "Tags": {{ tags | ToJSON }}, + "Children": {{ children | ToJSON }}, + "Parents": {{ parents | ToJSON }}, + "RelatedItems": {{ related_items | ToJSON }} + }{%- unless forloop.last -%},{%- endunless -%}{%- endfor -%} + {%- endcontentchannelitem %} +] +{%- endif -%} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items.lava new file mode 100644 index 00000000000..74a104ba927 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channel-items.lava @@ -0,0 +1,20 @@ +{% sql return:'items' %} + SELECT + cci.[Id] + , cci.[ContentChannelId] + , cc.[Name] 'ContentChannelName' + , pd.[AccessKey] + FROM [ContentChannelItem] cci + JOIN [ContentChannel] cc ON cc.[Id] = cci.[ContentChannelId] + JOIN [AttributeValue] av ON av.[EntityId] = cc.[Id] AND av.[AttributeId] = 107096 + JOIN [PersistedDataset] pd ON av.[Value] = pd.[Id] + WHERE cci.[ContentChannelTypeId] = 11 +{% endsql %} +[ + {% for item in items %}{ + Id: {{ item.Id }}, + ContentChannelId: {{ item.ContentChannelId }}, + ContentChannelName: {{ item.ContentChannelName | ToJSON }}, + PersistedDataset: {{ item.AccessKey | ToJSON }} + }{% unless forloop.last %},{% endunless %}{% endfor %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channels.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channels.lava new file mode 100644 index 00000000000..9af50cb033d --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-channels.lava @@ -0,0 +1,11 @@ +{% contentchannel where:'Id != null' iterator:'channels' %}[ + {% for channel in channels %}{ + {% assign datasetId = channel | Attribute:'PersistedDataset','RawValue' | AsInteger %} + Id: {{ channel.Id }}, + {% if datasetId and datasetId != empty %} + Dataset: {% persisteddataset where:'Id == {{ datasetId }}' iterator:'datasets' limit:'1' %}{{ datasets | First | Property:'AccessKey' | ToJSON }}{% endpersisteddataset %}, + {% endif %} + HiddenAttributes: {%- assign attributeGuids = channel | Attribute:'HiddenAttributes','RawValue' | Split:',' -%}{%- capture hiddenAttributeIdsConditional -%}{% for attributeGuid in attributeGuids %}Guid == "{{ attributeGuid }}"{% unless forloop.last %} || {% endunless %}{% endfor %}{%- endcapture -%}{% attribute where:'{{ hiddenAttributeIdsConditional }}' iterator:'attributes' %}{{ attributes | Map:'Id' | Join:',' | ToJSON }}{% endattribute %}, + Items: {{ channel.Items | Select:'Id' | Join:',' | ToJSON }} + }{% unless forloop.last %},{% endunless %}{% endfor %} +]{% endcontentchannel %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-trending.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-trending.lava new file mode 100644 index 00000000000..371656a2e54 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/content-trending.lava @@ -0,0 +1,25 @@ +{%- sql -%} + DECLARE @StartDateTime AS DATETIME = DATEADD(DD,-7,GETDATE()); + + SELECT + cci.[Id] + , cc.[Id] AS [ContentChannelId] + , pd.[AccessKey] AS [Dataset] + , cci.[Title] + , ( + SELECT COUNT(*) + FROM [Interaction] i + JOIN [InteractionComponent] ic ON i.[InteractionComponentId] = ic.[Id] + JOIN [InteractionChannel] ich ON ic.[InteractionChannelId] = ich.[Id] + WHERE ich.[ComponentEntityTypeId] = 209 + AND ic.[EntityId] = cci.[Id] + AND i.[InteractionDateTime] >= @StartDateTime + ) AS [InteractionCount] + FROM [ContentChannel] cc + JOIN [ContentChannelItem] cci ON cci.[ContentChannelId] = cc.[Id] + LEFT JOIN [AttributeValue] av ON av.[EntityId] = cc.[Id] AND av.[AttributeId] = 107096 + LEFT JOIN [PersistedDataset] pd ON pd.[Id] = av.[Value] + WHERE cc.[ContentChannelTypeId] = 11 + AND cci.[Status] = 2 + ORDER BY cc.[Id], [InteractionCount] DESC +{%- endsql -%}{{ results | ToJSON }} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/events.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/events.lava new file mode 100644 index 00000000000..e656f7666ab --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/events.lava @@ -0,0 +1,53 @@ +{%- capture eventsString -%} +{%- eventitemoccurrence where:'Id != null' iterator:'occurrences' securityenabled:'false' limit:'1000000' -%}[ + {%- for occurrence in occurrences -%} + {%- assign fallbackImageLandscape = 'Global' | Attribute:'EventsImageLandscape','Url' -%} + {%- assign fallbackImageSquare = 'Global' | Attribute:'EventsImageSquare','Url' -%} + {%- assign calendarItem = occurrence.EventItem.EventCalendarItems | Where:'EventCalendarId',1 | First %} + {%- assign scheduledDates = occurrence.Schedule.iCalendarContent | DatesFromICal:'all' -%} + {%- assign now = 'Now' | Date -%} + {%- assign nowComparable = 'Now' | Date:'yyyyMMddHHmmss' -%} + {%- assign duration = occurrence.Schedule.DurationInMinutes -%} + {%- assign detailsUrlFirstChar = occurrence.EventItem.DetailsUrl | Slice: 0, 1 -%} + {%- for date in scheduledDates -%}{%- assign endDate = date | DateAdd:duration,'m' -%}{%- assign endDateComparable = endDate | Date:'yyyyMMddHHmmss' -%} + {%- if endDateComparable > nowComparable -%}{ + "Id": {{ occurrence.Id | ToJSON }}, + "EventItemId": {{ occurrence.EventItem.Id | ToJSON }}, + {%- assign eventName = occurrence.EventItem.Name -%} + "Name": {{ occurrence | Attribute:'PublicEventName' | Default:eventName | ToJSON }}, + "Campus": { + "Id": {{ occurrence.Campus.Id | ToJSON }}, + "Name": {{ occurrence.Campus.Name | ToJSON }}, + }, + "CalendarIds": [{%- for eventCalendarItem in occurrence.EventItem.EventCalendarItems -%}{{- eventCalendarItem.EventCalendarId | ToJSON -}}{%- unless forloop.last -%},{%- endunless -%}{%- endfor -%}], + "StartDateTime": {{ date | Date:'yyyy-MM-ddTHH:mm:ss' | ToJSON }}, + "EndDateTime": {{ endDate | Date:'yyyy-MM-ddTHH:mm:ss' | ToJSON }}, + "Duration": {{ duration | ToJSON }}, + "LocationDescription": {{ occurrence.Location | Trim | Escape | ToJSON }}, + "Description": {{ occurrence.EventItem.Description | Trim | Escape | ToJSON }}, + "Summary": {{ occurrence.EventItem.Summary | Trim | Escape | ToJSON }}, + "Childcare": {{ occurrence.EventItem | Attribute:'Childcare' | ToJSON }}, + "IsFeatured": {{ occurrence.EventItem | Attribute:'IsFeatured' | ToJSON }}, + "IsFeaturedOccurrence": {{ occurrence | Attribute:'IsFeaturedOccurrence' | ToJSON }}, + "ImageLandscape": {{ occurrence.EventItem | Attribute:'ImageLandscape' | Default:fallbackImageLandscape | ToJSON }}, + "ImageSquare": {{ occurrence.EventItem | Attribute:'ImageSquare' | Default:fallbackImageSquare | ToJSON }}, + "Contact": { + "PersonAliasId": {{ occurrence.ContactPersonAliasId | ToJSON }}, + "Email": {{ occurrence.ContactEmail | Default:null | ToJSON }}, + "Phone": {{ occurrence.ContactPhone | Default:null | ToJSON }}, + }, + "DetailsUrl": {{ occurrence.EventItem.DetailsUrl | ToJSON }}, + "Linkages": [ + {% for linkage in occurrence.Linkages %}{ + "GroupId": {{ linkage.Group.Id | ToJSON }}, + "GroupCampusId": {{ linkage.Group.Campus.Id | ToJSON }}, + "RegistrationInstanceId": {{ linkage.RegistrationInstanceId | ToJSON }}, + "PublicName": {{ linkage.PublicName | ToJSON }}, + "UrlSlug": {{ linkage.UrlSlug | ToJSON }}, + }{% unless forloop.last %},{% endunless %}{% endfor %} + ], + },{%- endif -%}{%- endfor -%} + + {%- endfor -%} +]{%- endeventitemoccurrence -%} +{%- endcapture -%}{%- assign events = eventsString | FromJSON | OrderBy:'StartDateTime' -%}{{ events | ToJSON }} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/page-meta-data.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/page-meta-data.lava new file mode 100644 index 00000000000..55ef3a4819b --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/page-meta-data.lava @@ -0,0 +1,12 @@ +[{% capture pagesConditional -%}{% layout where:'SiteId == 22' iterator:'layouts' %}{% for layout in layouts %}LayoutId == {{ layout.Id }}{% unless forloop.last %} || {% endunless %}{% endfor %}{% endlayout %}{%- endcapture %} +{% page where:'{{ pagesConditional }}' iterator:'pages' -%} + {%- for page in pages -%}{ + {% assign pageTitle = page.PageTitle %}{% assign pageDescription = page.Description %}{% assign pageMetaTitle = page | Attribute:'PageMetaTitle' %}{% assign pageMetaDescription = page | Attribute:'PageMetaDescription' %}{% assign pageMetaImage = page | Attribute:'PageMetaImage','Url' %}{% capture pageHasHero -%}{[ isHeroPresentOnPage pageid:'{{ page.Id }}' ]}{%- endcapture %}{% capture pageMetadataFromContentChannelItem -%}{{ page | Attribute:'MetaDataFromContentChannelItem','RawValue' }}{%- endcapture %} + "Id": {{ page.Id }}, + "PageHasHero": {{ pageHasHero | ToJSON }}, + "MetadataFromContentChannelItem": {{ pageMetadataFromContentChannelItem | ToJSON }}, + "MetaTitle": {% if pageMetaTitle and pageMetaTitle != empty %}{{ pageMetaTitle | ToJSON }}{% else %}{{ pageTitle | ToJSON }}{% endif %}, + "MetaDescription": {% if pageMetaDescription and pageMetaDescription != empty %}{{ pageMetaDescription | ToJSON }}{% else %}{{ pageDescription | ToJSON }}{% endif %}, + "MetaImage": {{ pageMetaImage | ToJSON }} + }{% unless forloop.last %},{% endunless %}{%- endfor -%} +{%- endpage %}] \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-anniversaries.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-anniversaries.lava new file mode 100644 index 00000000000..ea93b55c097 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-anniversaries.lava @@ -0,0 +1,24 @@ +{% sql %} + SELECT + p.[Id] + , p.[NickName] + , p.[LastName] + , p.[Gender] + , p.[AnniversaryDate] + , MONTH(p.[AnniversaryDate]) 'AnniversaryMonth' + , DAY(p.[AnniversaryDate]) 'AnniversaryDay' + , ( + SELECT TOP 1 g.[Id] + FROM [Group] g + JOIN [GroupMember] gm2 ON gm2.[PersonId] = p.[Id] AND gm2.[GroupId] = g.[Id] + WHERE g.[GroupTypeId] = 10 + ORDER BY g.[Id] + ) 'FamilyGroupId' + FROM [GroupMember] gm + JOIN [Person] p ON gm.[PersonId] = p.[Id] + WHERE gm.[GroupId] = 3 + AND gm.[IsArchived] = 0 + AND gm.[GroupMemberStatus] = 1 + AND p.[AnniversaryDate] IS NOT NULL +{% endsql %} +{{ results | ToJSON }} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-birthdays.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-birthdays.lava new file mode 100644 index 00000000000..72d10707819 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-birthdays.lava @@ -0,0 +1,24 @@ +{% sql %} + SELECT [Id],[NickName],[LastName],[Email],[BirthDate],[BirthDay],[BirthMonth], + DATEDIFF(dd, GETDATE(), DATEADD(YEAR, (YEAR( GETDATE() )-YEAR( [BirthDate] )), [BirthDate]) ) -1 as DaysFromToday + FROM [Person] + WHERE + DATEADD(YEAR, (YEAR( GETDATE() )-YEAR( [BirthDate] )), [BirthDate]) + BETWEEN DATEADD(DAY, -1 , GETDATE()) AND DATEADD(DAY, 6 ,GETDATE() ) AND + [Id] IN(SELECT[PersonId] FROM[GroupMember] gm INNER JOIN[Group] g ON g.[Id] = gm.[GroupId] INNER JOIN[GroupTypeRole] gtr ON gtr.[Id] = gm.[GroupRoleId] WHERE gm.[GroupId] = 3 AND gm.[GroupMemberStatus] = 1 AND gm.[IsArchived] != 1 AND gtr.[Id] != 431 ) + ORDER BY DATEADD(YEAR, (YEAR( GETDATE() )-YEAR( [BirthDate] )), [BirthDate]) ASC +{% endsql %} +[ + {% for result in results %} + { + "Id": {{ result.Id }}, + "NickName": {{ result.NickName | ToJSON }}, + "LastName": {{ result.LastName | ToJSON }}, + "Email": {{ result.Email | ToJSON }}, + "BirthDate": {{ result.BirthDate | ToJSON }}, + "BirthDay": {{ result.BirthDay }}, + "BirthMonth": {{ result.BirthMonth }}, + "DaysFromToday": {{ result.DaysFromToday }} + }{%- unless forloop.last -%},{%- endunless -%} + {% endfor %} +] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-teams.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-teams.lava new file mode 100644 index 00000000000..ccb42072ec2 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-teams.lava @@ -0,0 +1,42 @@ +[ + {% group where:'GroupTypeId == 155' iterator:'groups' securityenabled:'false' %} + {% for parentGroup in groups %}{ + {% assign members = parentGroup.Members | OrderBy:'GroupRole.Name,LastName' %} + "Id": {{ parentGroup.Id | ToJSON }}, + "IsPublic": {{ parentGroup.IsPublic | ToJSON }}, + "ParentGroupId": {{ parentGroup.ParentGroupId | ToJSON }}, + "Name": {{ parentGroup.Name | ToJSON }}, + "ChildGroups": [ + {% group where:'ParentGroupId == {{ parentGroup.Id }}' iterator:'childGroups' securityenabled:'false' %} + {% for group in childGroups %}{ + "Id": {{ group.Id | ToJSON }}, + "IsPublic": {{ group.IsPublic | ToJSON }}, + "ParentGroupId": {{ group.ParentGroupId | ToJSON }}, + "Name": {{ group.Name | ToJSON }} + }{% unless forloop.last %},{% endunless %}{% endfor %} + {% endgroup %} + ], + "Members": [ + {% assign members = members | OrderBy:'Role,LastName,NickName' %} + {% for member in members %}{ + {% assign person = member.PersonId | PersonById %} + "Id": {{ member.Id | ToJSON }}, + "PersonId": {{ member.PersonId | ToJSON }}, + "LastName": {{ person.LastName | ToJSON }}, + "NickName": {{ person.NickName | ToJSON }}, + "Role": {{ member.GroupRole.Name | ToJSON }}, + "Email": {{ person | Attribute:'StaffEmail' | ToJSON }}, + "Title": {{ person | Attribute:'StaffTitle' | ToJSON }}, + "Campus": {{ person | Attribute:'StaffCampus' | ToJSON }}, + "HireDate": {{ person | Attribute:'StaffHireDate' | ToJSON }}, + "EndDate": {{ person | Attribute:'StaffEndDate' | ToJSON }}, + "SupervisorId": {{ person | Attribute:'StaffSupervisor','Id' | ToJSON }}, + "BackgroundCheckDate": {{ person | Attribute:'BackgroundCheckDate' | ToJSON }}, + "HasCreditCard": {{ person | Attribute:'HasCreditCard' | ToJSON }}, + "HasConfidentialityAgreement": {{ person | Attribute:'ConfidentialityAgreement' | ToJSON }}, + "ShowOnWebsite": "{% if member.GroupRole.Name != 'Campus Pastor' and member.GroupRole.Name != 'Director' and member.GroupRole.Name != 'Staff' %}No{% else %}{{ member | Attribute:'ShowOnWebsite' }}{% endif %}" + }{% unless forloop.last %},{% endunless %}{% endfor %} + ] + }{% unless forloop.last %},{% endunless %}{% endfor %} + {% endgroup %} + ] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-workiversaries.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-workiversaries.lava new file mode 100644 index 00000000000..7e86fdda4ff --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/staff-workiversaries.lava @@ -0,0 +1,36 @@ +{% sql %} + DECLARE @HireDateAttributeId as datetime = 99708 + DECLARE @GroupId as int = 3 + + SELECT + av.[ValueAsDateTime] + , p.[Id] + , p.[NickName] + , p.[LastName] + FROM AttributeValue av + JOIN Person p + ON av.EntityId = p.Id + WHERE av.AttributeId = @HireDateAttributeId AND + DATEADD(YEAR, (YEAR( GETDATE() )-YEAR( av.ValueAsDateTime )), av.ValueAsDateTime) + BETWEEN DATEADD(DAY, -1 , GETDATE()) AND DATEADD(DAY, 6 ,GETDATE() ) AND + p.Id IN( + SELECT[PersonId] + FROM[GroupMember] gm + INNER JOIN[Group] g + ON g.[Id] = gm.[GroupId] + INNER JOIN[GroupTypeRole] gtr + ON gtr.[Id] = gm.[GroupRoleId] + WHERE gm.[GroupId] = @GroupId AND gm.[GroupMemberStatus] = 1 AND gm.[IsArchived] != 1 AND gtr.[Id] != 431) AND YEAR(av.ValueAsDateTime) != YEAR(GETDATE()) + + ORDER BY DATEADD(YEAR, (YEAR( GETDATE() )-YEAR( av.ValueAsDateTime )), av.ValueAsDateTime) ASC + {% endsql %} + [ + {% for result in results %}{ + "Id": {{ result.Id }}, + "NickName": {{ result.NickName | ToJSON }}, + "LastName": {{ result.LastName | ToJSON }}, + "ValueAsDateTime": {{ result.ValueAsDateTime | ToJSON }}, + "Month": {{ result.ValueAsDateTime | Date:'M' | AsInteger }}, + "Day": {{ result.ValueAsDateTime | Date:'d' | AsInteger }} + }{%- unless forloop.last -%},{%- endunless -%}{% endfor %} + ] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tagged-items.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tagged-items.lava new file mode 100644 index 00000000000..49276c0b65b --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tagged-items.lava @@ -0,0 +1,8 @@ +{% tag where:'CategoryId == 979' sort:'Name' iterator:'tags' %} + [ {% for tag in tags %}{ + "Id": {{ tag.Id }}, + "Name": {{ tag.Name | ToJSON }}, + {% taggeditem where:'TagId == {{ tag.Id }}' iterator:'items' %}{% assign tiSize = items | Size %}{% if tiSize > 0 %}"TaggedItems": "{% for item in items %}{{ item.Id }}{%- unless forloop.last -%},{%- endunless -%}{% endfor %}"{% endif %}{% endtaggeditem %} + }{%- unless forloop.last -%},{%- endunless -%}{% endfor %} + ] +{% endtag %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tags.lava b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tags.lava new file mode 100644 index 00000000000..a8d3d2552f1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/DATASETS/tags.lava @@ -0,0 +1,51 @@ +{% sql return:'tags' %} + SELECT + t.Id, + t.Name, + (STUFF((SELECT CAST(',{ "Index": ' + CAST(ami.[Order] as varchar(10)) + ', "Id": ' + CAST(cci.Id as varchar(10)) + ', "Dataset": "' + pd.AccessKey + '" }' AS VARCHAR(MAX)) + FROM AttributeValue av + JOIN AttributeMatrix am + ON av.Value = convert(nvarchar(50), am.Guid) + JOIN AttributeMatrixItem ami + ON ami.AttributeMatrixId = am.Id + JOIN AttributeValue av2 + ON av2.EntityId = ami.Id + JOIN ContentChannelItem cci + ON av2.Value = convert(nvarchar(50), cci.Guid) + JOIN AttributeValue av3 + ON av3.EntityId = cci.ContentChannelId + JOIN PersistedDataset pd + ON av3.Value = pd.Id + WHERE av.EntityId = t.Id + AND av.AttributeId = 90587 + AND av2.AttributeId = 90586 + AND av3.AttributeId = 107096 + ORDER BY ami.[Order] + FOR XML PATH ('')), 1, 1, '')) AS FeaturedItems, + (STUFF((SELECT CAST(',{ "Id": ' + CAST(cci.Id as varchar(10)) + ', "Dataset": "' + pd.AccessKey + '" }' AS VARCHAR(MAX)) + FROM TaggedItem ti + JOIN ContentChannelItem cci + ON ti.EntityGuid = cci.Guid + JOIN AttributeValue av + ON av.EntityId = cci.ContentChannelId + JOIN PersistedDataset pd + ON av.Value = pd.Id + WHERE (ti.TagId = t.Id AND av.AttributeId = 107096) + ORDER BY cci.StartDateTime desc + FOR XML PATH ('')), 1, 1, '')) AS TaggedItems + FROM Tag t + WHERE t.CategoryId = 979 + AND t.Name NOT LIKE '%#%' + AND t.OwnerPersonAliasId IS NULL + ORDER BY t.Name + {% endsql %} + [ + {% for tag in tags %}{ + {% assign taggedItems = tag.TaggedItems | Split:',' %} + "Id": {{ tag.Id }}, + "Name": {{ tag.Name | Capitalize | ToJSON }}, + "Slug": {{ tag.Name | Replace:"'","" | Replace:' ','-' | ToJSON }}, + "FeaturedItems": [{{ tag.FeaturedItems }}], + "TaggedItems": [{{ tag.TaggedItems }}] + }{%- unless forloop.last -%},{%- endunless -%}{% endfor %} + ] diff --git a/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/config.codekit3 b/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/config.codekit3 new file mode 100644 index 00000000000..dd2b812b662 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/config.codekit3 @@ -0,0 +1,2413 @@ +{ + "AAInfo" : "This is a CodeKit 3 project config file. EDITING THIS FILE IS A POOR LIFE DECISION. Doing so may cause CodeKit to crash and\/or corrupt your project. Several critical values in this file are 64-bit integers, which JavaScript JSON parsers do not support because JavaScript cannot handle 64-bit integers. These values will be corrupted if the file is parsed with JavaScript. This file is not backwards-compatible with CodeKit 1 or 2. For details, see https:\/\/codekitapp.com\/", + "buildSteps" : [ + { + "name" : "Process All Remaining Files and Folders", + "stepType" : 1, + "uuidString" : "CBE5CAD1-C76E-4031-9FAE-E1263189B551" + } + ], + "creatorBuild" : "34127", + "files" : { + "\/index.html" : { + "cB" : 0, + "ft" : 8192, + "hM" : 0, + "oA" : 0, + "oAP" : "\/index.html", + "oF" : 0 + } + }, + "hooks" : [ + + ], + "manualImportLinks" : { + + }, + "projectAttributes" : { + "creationDate" : 659374026.99063301, + "displayValue" : "EMAIL", + "displayValueWasSetByUser" : 0, + "iconImageName" : "brackets-pink", + "iconImageWasSetByUser" : 0 + }, + "projectSettings" : { + "abortBuildOnError" : 1, + "allowInjectionReloads" : 1, + "alwaysUseExternalServer" : 0, + "animateCSSInjections" : 1, + "autoBuildNewItems" : 1, + "autoprefixerEnableIEGrid" : 0, + "babel7PresetType" : 1, + "babelAllowRCFiles" : 0, + "babelAuxiliaryCommentAfter" : "", + "babelAuxiliaryCommentBefore" : "", + "babelConfigType" : 0, + "babelCustomPluginsList" : "", + "babelCustomPresetsList" : "", + "babelExcludeString" : "\/\\\/node_modules\\\/\/, \/\\\/core-js\\\/\/, \/\\\/bower_components\\\/\/", + "babelInsertModuleIDs" : 0, + "babelModuleID" : "", + "babelNoComments" : 0, + "babelPlugins" : { + "arrow-functions" : { + "active" : 0 + }, + "async-generator-functions" : { + "active" : 0 + }, + "async-to-generator" : { + "active" : 0 + }, + "block-scoped-functions" : { + "active" : 0 + }, + "block-scoping" : { + "active" : 0 + }, + "class-properties" : { + "active" : 0 + }, + "classes" : { + "active" : 0 + }, + "computed-properties" : { + "active" : 0 + }, + "decorators" : { + "active" : 0 + }, + "destructuring" : { + "active" : 0 + }, + "do-expressions" : { + "active" : 0 + }, + "dotall-regex" : { + "active" : 0 + }, + "duplicate-keys" : { + "active" : 0 + }, + "exponentiation-operator" : { + "active" : 0 + }, + "export-default-from" : { + "active" : 0 + }, + "export-namespace-from" : { + "active" : 0 + }, + "external-helpers" : { + "active" : 0 + }, + "flow-strip-types" : { + "active" : 0 + }, + "for-of" : { + "active" : 0 + }, + "function-bind" : { + "active" : 0 + }, + "function-name" : { + "active" : 0 + }, + "function-sent" : { + "active" : 0 + }, + "inline-consecutive-adds" : { + "active" : 0 + }, + "inline-environment-variables" : { + "active" : 0 + }, + "instanceof" : { + "active" : 0 + }, + "jscript" : { + "active" : 0 + }, + "literals" : { + "active" : 0 + }, + "logical-assignment-operators" : { + "active" : 0 + }, + "member-expression-literals" : { + "active" : 0 + }, + "merge-sibling-variables" : { + "active" : 0 + }, + "minify-booleans" : { + "active" : 0 + }, + "minify-builtins" : { + "active" : 0 + }, + "minify-constant-folding" : { + "active" : 0 + }, + "minify-dead-code-elimination" : { + "active" : 0 + }, + "minify-flip-comparisons" : { + "active" : 0 + }, + "minify-guarded-expressions" : { + "active" : 0 + }, + "minify-infinity" : { + "active" : 0 + }, + "minify-mangle-names" : { + "active" : 0 + }, + "minify-numeric-literals" : { + "active" : 0 + }, + "minify-simplify" : { + "active" : 0 + }, + "minify-type-constructors" : { + "active" : 0 + }, + "modules-amd" : { + "active" : 0 + }, + "modules-commonjs" : { + "active" : 0 + }, + "modules-systemjs" : { + "active" : 0 + }, + "modules-umd" : { + "active" : 0 + }, + "named-capturing-groups-regex" : { + "active" : 0 + }, + "new-target" : { + "active" : 0 + }, + "node-env-inline" : { + "active" : 0 + }, + "nullish-coalescing-operator" : { + "active" : 0 + }, + "numeric-separator" : { + "active" : 0 + }, + "object-assign" : { + "active" : 0 + }, + "object-rest-spread" : { + "active" : 0 + }, + "object-set-prototype-of-to-assign" : { + "active" : 0 + }, + "object-super" : { + "active" : 0 + }, + "optional-catch-binding" : { + "active" : 0 + }, + "optional-chaining" : { + "active" : 0 + }, + "parameters" : { + "active" : 0 + }, + "partial-application" : { + "active" : 0 + }, + "pipeline-operator" : { + "active" : 0 + }, + "private-methods" : { + "active" : 0 + }, + "property-literals" : { + "active" : 0 + }, + "property-mutators" : { + "active" : 0 + }, + "proto-to-assign" : { + "active" : 0 + }, + "react-constant-elements" : { + "active" : 0 + }, + "react-display-name" : { + "active" : 0 + }, + "react-inline-elements" : { + "active" : 0 + }, + "react-jsx" : { + "active" : 0 + }, + "react-jsx-compat" : { + "active" : 0 + }, + "react-jsx-self" : { + "active" : 0 + }, + "react-jsx-source" : { + "active" : 0 + }, + "regenerator" : { + "active" : 0 + }, + "regexp-constructors" : { + "active" : 0 + }, + "remove-console" : { + "active" : 0 + }, + "remove-debugger" : { + "active" : 0 + }, + "remove-undefined" : { + "active" : 0 + }, + "reserved-words" : { + "active" : 0 + }, + "runtime" : { + "active" : 0 + }, + "shorthand-properties" : { + "active" : 0 + }, + "simplify-comparison-operators" : { + "active" : 0 + }, + "spread" : { + "active" : 0 + }, + "sticky-regex" : { + "active" : 0 + }, + "strict-mode" : { + "active" : 0 + }, + "template-literals" : { + "active" : 0 + }, + "throw-expressions" : { + "active" : 0 + }, + "typeof-symbol" : { + "active" : 0 + }, + "undefined-to-void" : { + "active" : 0 + }, + "unicode-property-regex" : { + "active" : 0 + }, + "unicode-regex" : { + "active" : 0 + } + }, + "babelRetainLines" : 0, + "babelUseBuiltInsType" : 0, + "bowerAbbreviatedPath" : "bower_components", + "bowerForceLatestOnConflict" : 1, + "bowerTargetDependencyListType" : 1, + "bowerUseExactVersion" : 0, + "browserRefreshDelay" : 0, + "browserslistString" : ">0.2%, last 2 versions, Firefox ESR, not dead", + "buildEnvironment" : 0, + "buildFolderActive" : 0, + "buildFolderName" : "build", + "cleanBuild" : 1, + "coffeeLintFlags2" : { + "arrow_spacing" : { + "active" : 0, + "flagValue" : -1 + }, + "camel_case_classes" : { + "active" : 1, + "flagValue" : -1 + }, + "colon_assignment_spacing" : { + "active" : 0, + "flagValue" : 1 + }, + "cyclomatic_complexity" : { + "active" : 0, + "flagValue" : 10 + }, + "duplicate_key" : { + "active" : 1, + "flagValue" : -1 + }, + "empty_constructor_needs_parens" : { + "active" : 0, + "flagValue" : -1 + }, + "ensure_comprehensions" : { + "active" : 1, + "flagValue" : -1 + }, + "indentation" : { + "active" : 1, + "flagValue" : 2 + }, + "line_endings" : { + "active" : 0, + "flagValue" : 0 + }, + "max_line_length" : { + "active" : 0, + "flagValue" : 150 + }, + "missing_fat_arrows" : { + "active" : 0, + "flagValue" : -1 + }, + "newlines_after_classes" : { + "active" : 0, + "flagValue" : 3 + }, + "no_backticks" : { + "active" : 1, + "flagValue" : -1 + }, + "no_debugger" : { + "active" : 1, + "flagValue" : -1 + }, + "no_empty_functions" : { + "active" : 0, + "flagValue" : -1 + }, + "no_empty_param_list" : { + "active" : 0, + "flagValue" : -1 + }, + "no_implicit_braces" : { + "active" : 1, + "flagValue" : -1 + }, + "no_implicit_parens" : { + "active" : 0, + "flagValue" : -1 + }, + "no_interpolation_in_single_quotes" : { + "active" : 0, + "flagValue" : -1 + }, + "no_nested_string_interpolation" : { + "active" : 1, + "flagValue" : -1 + }, + "no_plusplus" : { + "active" : 0, + "flagValue" : -1 + }, + "no_private_function_fat_arrows" : { + "active" : 1, + "flagValue" : -1 + }, + "no_stand_alone_at" : { + "active" : 1, + "flagValue" : -1 + }, + "no_tabs" : { + "active" : 1, + "flagValue" : -1 + }, + "no_this" : { + "active" : 0, + "flagValue" : -1 + }, + "no_throwing_strings" : { + "active" : 1, + "flagValue" : -1 + }, + "no_trailing_semicolons" : { + "active" : 1, + "flagValue" : -1 + }, + "no_trailing_whitespace" : { + "active" : 1, + "flagValue" : -1 + }, + "no_unnecessary_double_quotes" : { + "active" : 0, + "flagValue" : -1 + }, + "no_unnecessary_fat_arrows" : { + "active" : 1, + "flagValue" : -1 + }, + "non_empty_constructor_needs_parens" : { + "active" : 0, + "flagValue" : -1 + }, + "prefer_english_operator" : { + "active" : 0, + "flagValue" : -1 + }, + "space_operators" : { + "active" : 0, + "flagValue" : -1 + }, + "spacing_after_comma" : { + "active" : 1, + "flagValue" : -1 + } + }, + "cssoForceMediaMerge" : 0, + "cssoRestructure" : 1, + "environmentVariableEntries" : [ + "NODE_ENV:::production" + ], + "esLintConfigFileHandlingType" : 0, + "esLintECMAVersion" : 7, + "esLintEnvironmentsMask" : 1, + "esLintRules" : { + "accessor-pairs" : { + "active" : 0, + "optionString" : "{'setWithoutGet': true, 'getWithoutSet': false, 'enforceForClassMembers': true}" + }, + "array-bracket-newline" : { + "active" : 0, + "optionString" : "{'multiline': true, 'minItems': null}" + }, + "array-bracket-spacing" : { + "active" : 0, + "optionString" : "'never', {'singleValue': false, 'objectsInArrays': false, 'arraysInArrays': false}" + }, + "array-callback-return" : { + "active" : 0, + "optionString" : "{'allowImplicit': false}" + }, + "array-element-newline" : { + "active" : 0, + "optionString" : "'always'" + }, + "arrow-body-style" : { + "active" : 0, + "optionString" : "'as-needed', {'requireReturnForObjectLiteral': false}" + }, + "arrow-parens" : { + "active" : 0, + "optionString" : "'always'" + }, + "arrow-spacing" : { + "active" : 0, + "optionString" : "{'before': true, 'after': true}" + }, + "block-scoped-var" : { + "active" : 0 + }, + "block-spacing" : { + "active" : 0, + "optionString" : "'always'" + }, + "brace-style" : { + "active" : 0, + "optionString" : "'1tbs', {'allowSingleLine': true}" + }, + "callback-return" : { + "active" : 0, + "optionString" : "['callback', 'cb', 'next']" + }, + "camelcase" : { + "active" : 0, + "optionString" : "{'properties': 'always', 'ignoreDestructuring': false, 'ignoreImports': false}" + }, + "capitalized-comments" : { + "active" : 0, + "optionString" : "'always', {'ignoreInlineComments': false, 'ignoreConsecutiveComments': false}" + }, + "class-methods-use-this" : { + "active" : 0, + "optionString" : "{'exceptMethods': []}" + }, + "comma-dangle" : { + "active" : 1, + "optionString" : "'never'" + }, + "comma-spacing" : { + "active" : 0, + "optionString" : "{'before': false, 'after': true}" + }, + "comma-style" : { + "active" : 0, + "optionString" : "'last'" + }, + "complexity" : { + "active" : 0, + "optionString" : "20" + }, + "computed-property-spacing" : { + "active" : 0, + "optionString" : "'never', {'enforceForClassMembers': true}" + }, + "consistent-return" : { + "active" : 0, + "optionString" : "{'treatUndefinedAsUnspecified': false}" + }, + "consistent-this" : { + "active" : 0, + "optionString" : "'that'" + }, + "constructor-super" : { + "active" : 1 + }, + "curly" : { + "active" : 0, + "optionString" : "'all'" + }, + "default-case" : { + "active" : 0 + }, + "default-case-last" : { + "active" : 0 + }, + "default-param-last" : { + "active" : 0 + }, + "dot-location" : { + "active" : 0, + "optionString" : "'object'" + }, + "dot-notation" : { + "active" : 0, + "optionString" : "{'allowKeywords': false}" + }, + "eol-last" : { + "active" : 0, + "optionString" : "'always'" + }, + "eqeqeq" : { + "active" : 0, + "optionString" : "'always', {'null': 'always'}" + }, + "for-direction" : { + "active" : 0 + }, + "func-call-spacing" : { + "active" : 0, + "optionString" : "'never'" + }, + "func-name-matching" : { + "active" : 0, + "optionString" : "'always', {'considerPropertyDescriptor': false, 'includeCommonJSModuleExports': false}" + }, + "func-names" : { + "active" : 0, + "optionString" : "'always', {'generators': 'always'}" + }, + "func-style" : { + "active" : 0, + "optionString" : "'expression'" + }, + "function-paren-newline" : { + "active" : 0, + "optionString" : "'multiline'" + }, + "generator-star-spacing" : { + "active" : 0, + "optionString" : "{'before': true, 'after': false}" + }, + "getter-return" : { + "active" : 0, + "optionString" : "{'allowImplicit': false}" + }, + "global-require" : { + "active" : 0 + }, + "grouped-accessor-pairs" : { + "active" : 0, + "optionString" : "'anyOrder'" + }, + "guard-for-in" : { + "active" : 0 + }, + "handle-callback-err" : { + "active" : 0, + "optionString" : "'err'" + }, + "id-blacklist" : { + "active" : 0, + "optionString" : "'data', 'err', 'e', 'cb', 'callback'" + }, + "id-length" : { + "active" : 0, + "optionString" : "{'min': 2, 'max': 1000, 'properties': 'always', 'exceptions': ['x', 'i', 'y']}" + }, + "id-match" : { + "active" : 0, + "optionString" : "'^[a-z]+([A-Z][a-z]+)*$', {'properties': false, 'onlyDeclarations': true, 'ignoreDestructuring': false}" + }, + "implicit-arrow-linebreak" : { + "active" : 0, + "optionString" : "'beside'" + }, + "indent" : { + "active" : 0, + "optionString" : "4, {'SwitchCase': 0, 'VariableDeclarator': 1, 'outerIIFEBody': 1 }" + }, + "init-declarations" : { + "active" : 0, + "optionString" : "'always', {'ignoreForLoopInit': true}" + }, + "jsx-quotes" : { + "active" : 0, + "optionString" : "'prefer-double'" + }, + "key-spacing" : { + "active" : 0, + "optionString" : "{'singleLine': {'beforeColon': false, 'afterColon': true, 'mode':'strict'}, 'multiLine': {'beforeColon': false, 'afterColon': true, 'align': 'value', 'mode':'minimum'}}" + }, + "keyword-spacing" : { + "active" : 0, + "optionString" : "{'before': true, 'after': true, 'overrides': {}}" + }, + "line-comment-position" : { + "active" : 0, + "optionString" : "{'position': 'above'}" + }, + "linebreak-style" : { + "active" : 0, + "optionString" : "'unix'" + }, + "lines-around-comment" : { + "active" : 0, + "optionString" : "{'beforeBlockComment': true}" + }, + "lines-between-class-members" : { + "active" : 0, + "optionString" : "'always', {exceptAfterSingleLine: false}" + }, + "max-classes-per-file" : { + "active" : 0, + "optionString" : "1" + }, + "max-depth" : { + "active" : 0, + "optionString" : "{'max': 4}" + }, + "max-len" : { + "active" : 0, + "optionString" : "{'code': 80, 'comments': 80, 'tabWidth': 4, 'ignoreUrls': true, 'ignoreStrings': true, 'ignoreTemplateLiterals': true, 'ignoreRegExpLiterals': true}" + }, + "max-lines" : { + "active" : 0, + "optionString" : "{'max': 300, 'skipBlankLines': true, 'skipComments': true}" + }, + "max-lines-per-function" : { + "active" : 0, + "optionString" : "{'max': 50, 'skipBlankLines': true, 'skipComments': true, 'IIFEs': false}" + }, + "max-nested-callbacks" : { + "active" : 0, + "optionString" : "{'max': 10}" + }, + "max-params" : { + "active" : 0, + "optionString" : "{'max': 4}" + }, + "max-statements" : { + "active" : 0, + "optionString" : "{'max': 10}, {'ignoreTopLevelFunctions': true}" + }, + "max-statements-per-line" : { + "active" : 0, + "optionString" : "{'max': 1}" + }, + "multiline-comment-style" : { + "active" : 0, + "optionString" : "'starred-block'" + }, + "multiline-ternary" : { + "active" : 0, + "optionString" : "'always'" + }, + "new-cap" : { + "active" : 0, + "optionString" : "{'newIsCap': true, 'capIsNew': true, 'newIsCapExceptions': [], 'capIsNewExceptions': ['Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String', 'Symbol'], 'properties': true}" + }, + "new-parens" : { + "active" : 0, + "optionString" : "'always'" + }, + "newline-per-chained-call" : { + "active" : 0, + "optionString" : "{'ignoreChainWithDepth': 2}" + }, + "no-alert" : { + "active" : 0 + }, + "no-array-constructor" : { + "active" : 0 + }, + "no-async-promise-executor" : { + "active" : 0 + }, + "no-await-in-loop" : { + "active" : 0 + }, + "no-bitwise" : { + "active" : 0, + "optionString" : "{'allow': ['~'], 'int32Hint': true}" + }, + "no-buffer-constructor" : { + "active" : 0 + }, + "no-caller" : { + "active" : 0 + }, + "no-case-declarations" : { + "active" : 1 + }, + "no-class-assign" : { + "active" : 1 + }, + "no-compare-neg-zero" : { + "active" : 0 + }, + "no-cond-assign" : { + "active" : 1, + "optionString" : "'except-parens'" + }, + "no-confusing-arrow" : { + "active" : 0, + "optionString" : "{'allowParens': true}" + }, + "no-console" : { + "active" : 1, + "optionString" : "{'allow': ['warn', 'error']}" + }, + "no-const-assign" : { + "active" : 1 + }, + "no-constant-condition" : { + "active" : 1, + "optionString" : "{'checkLoops': true}" + }, + "no-constructor-return" : { + "active" : 0 + }, + "no-continue" : { + "active" : 0 + }, + "no-control-regex" : { + "active" : 1 + }, + "no-debugger" : { + "active" : 1 + }, + "no-delete-var" : { + "active" : 1 + }, + "no-div-regex" : { + "active" : 0 + }, + "no-dupe-args" : { + "active" : 1 + }, + "no-dupe-class-members" : { + "active" : 1 + }, + "no-dupe-else-if" : { + "active" : 1 + }, + "no-dupe-keys" : { + "active" : 1 + }, + "no-duplicate-imports" : { + "active" : 0, + "optionString" : "{'includeExports': false}" + }, + "no-else-return" : { + "active" : 0 + }, + "no-empty" : { + "active" : 1, + "optionString" : "{'allowEmptyCatch': false}" + }, + "no-empty-character-class" : { + "active" : 1 + }, + "no-empty-function" : { + "active" : 0, + "optionString" : "{'allow': []}" + }, + "no-empty-pattern" : { + "active" : 1 + }, + "no-eq-null" : { + "active" : 0 + }, + "no-eval" : { + "active" : 0, + "optionString" : "{'allowIndirect': false}" + }, + "no-ex-assign" : { + "active" : 1 + }, + "no-extend-native" : { + "active" : 0, + "optionString" : "{'exceptions': []}" + }, + "no-extra-bind" : { + "active" : 0 + }, + "no-extra-boolean-cast" : { + "active" : 1 + }, + "no-extra-labels" : { + "active" : 0 + }, + "no-extra-parens" : { + "active" : 0, + "optionString" : "'all', {'conditionalAssign': false, 'returnAssign': false, 'nestedBinaryExpressions': false, 'ignoreJSX': 'none', 'enforceForArrowConditionals': false, 'enforceForSequenceExpressions': false, 'enforceForNewInMemberExpressions': false}" + }, + "no-extra-semi" : { + "active" : 1 + }, + "no-fallthrough" : { + "active" : 1 + }, + "no-floating-decimal" : { + "active" : 0 + }, + "no-func-assign" : { + "active" : 1 + }, + "no-global-assign" : { + "active" : 1, + "optionString" : "{'exceptions': []}" + }, + "no-implicit-coercion" : { + "active" : 0, + "optionString" : "{'boolean': true, 'number': true, 'string': true, 'allow': []}" + }, + "no-implicit-globals" : { + "active" : 0 + }, + "no-implied-eval" : { + "active" : 0 + }, + "no-import-assign" : { + "active" : 1 + }, + "no-inline-comments" : { + "active" : 0 + }, + "no-inner-declarations" : { + "active" : 1, + "optionString" : "'functions'" + }, + "no-invalid-regexp" : { + "active" : 1, + "optionString" : "{'allowConstructorFlags': ['u', 'y']}" + }, + "no-invalid-this" : { + "active" : 0, + "optionString" : "{'capIsConstructor': true}" + }, + "no-irregular-whitespace" : { + "active" : 1, + "optionString" : "{'skipStrings': true, 'skipComments': false, 'skipRegExps': true, 'skipTemplates': true}" + }, + "no-iterator" : { + "active" : 0 + }, + "no-label-var" : { + "active" : 0 + }, + "no-labels" : { + "active" : 0, + "optionString" : "{'allowLoop': false, 'allowSwitch': false}" + }, + "no-lone-blocks" : { + "active" : 0 + }, + "no-lonely-if" : { + "active" : 0 + }, + "no-loop-func" : { + "active" : 0 + }, + "no-loss-of-precision" : { + "active" : 0 + }, + "no-magic-numbers" : { + "active" : 0, + "optionString" : "{'ignore': [], 'ignoreArrayIndexes': true, 'ignoreDefaultValues': false, 'enforceConst': false, 'detectObjects': false}" + }, + "no-misleading-character-class" : { + "active" : 0 + }, + "no-mixed-operators" : { + "active" : 0, + "optionString" : "{'groups': [['+', '-', '*', '\/', '%', '**'], ['&', '|', '^', '~', '<<', '>>', '>>>'], ['==', '!=', '===', '!==', '>', '>=', '<', '<='], ['&&', '||'], ['in', 'instanceof']], 'allowSamePrecedence': true}" + }, + "no-mixed-requires" : { + "active" : 0, + "optionString" : "{'grouping': false, 'allowCall': false }" + }, + "no-mixed-spaces-and-tabs" : { + "active" : 0, + "optionString" : "" + }, + "no-multi-assign" : { + "active" : 0 + }, + "no-multi-spaces" : { + "active" : 0, + "optionString" : "{'exceptions': {'Property': true, 'BinaryExpression': false, 'VariableDeclarator': false, 'ImportDeclaration': false}}" + }, + "no-multi-str" : { + "active" : 0 + }, + "no-multiple-empty-lines" : { + "active" : 0, + "optionString" : "{'max': 2, 'maxBOF': 2, 'maxEOF': 2}" + }, + "no-negated-condition" : { + "active" : 0 + }, + "no-nested-ternary" : { + "active" : 0 + }, + "no-new" : { + "active" : 0 + }, + "no-new-func" : { + "active" : 0 + }, + "no-new-object" : { + "active" : 0 + }, + "no-new-require" : { + "active" : 0 + }, + "no-new-symbol" : { + "active" : 1 + }, + "no-new-wrappers" : { + "active" : 0 + }, + "no-nonoctal-decimal-escape" : { + "active" : 0 + }, + "no-obj-calls" : { + "active" : 1 + }, + "no-octal" : { + "active" : 1 + }, + "no-octal-escape" : { + "active" : 0 + }, + "no-param-reassign" : { + "active" : 0, + "optionString" : "{'props': false}" + }, + "no-path-concat" : { + "active" : 0 + }, + "no-plusplus" : { + "active" : 0, + "optionString" : "{'allowForLoopAfterthoughts': false}" + }, + "no-process-env" : { + "active" : 0 + }, + "no-process-exit" : { + "active" : 0 + }, + "no-promise-executor-return" : { + "active" : 0 + }, + "no-proto" : { + "active" : 0 + }, + "no-prototype-builtins" : { + "active" : 0 + }, + "no-redeclare" : { + "active" : 1, + "optionString" : "{'builtinGlobals': false}" + }, + "no-regex-spaces" : { + "active" : 1 + }, + "no-restricted-exports" : { + "active" : 0, + "optionString" : "{'restrictedNamedExports': []}" + }, + "no-restricted-globals" : { + "active" : 0, + "optionString" : "'event', 'fdescribe'" + }, + "no-restricted-imports" : { + "active" : 0 + }, + "no-restricted-modules" : { + "active" : 0, + "optionString" : "" + }, + "no-restricted-properties" : { + "active" : 0, + "optionString" : "[{'object': 'disallowedObjectName', 'property': 'disallowedPropertyName'}, {'object': 'disallowedObjectName', 'property': 'anotherDisallowedPropertyName', 'message': 'Please use allowedObjectName.allowedPropertyName.'}]" + }, + "no-restricted-syntax" : { + "active" : 0, + "optionString" : "'FunctionExpression', 'WithStatement'" + }, + "no-return-assign" : { + "active" : 0, + "optionString" : "'except-parens'" + }, + "no-return-await" : { + "active" : 0 + }, + "no-script-url" : { + "active" : 0 + }, + "no-self-assign" : { + "active" : 1, + "optionString" : "{'props': true}" + }, + "no-self-compare" : { + "active" : 0 + }, + "no-sequences" : { + "active" : 0 + }, + "no-setter-return" : { + "active" : 1 + }, + "no-shadow" : { + "active" : 0, + "optionString" : "{'builtinGlobals': false, 'hoist': 'functions', 'allow': []}" + }, + "no-shadow-restricted-names" : { + "active" : 0 + }, + "no-sparse-arrays" : { + "active" : 1 + }, + "no-sync" : { + "active" : 0, + "optionString" : "{'allowAtRootLevel': false}" + }, + "no-tabs" : { + "active" : 0, + "optionString" : "{allowIndentationTabs: false}" + }, + "no-template-curly-in-string" : { + "active" : 0 + }, + "no-ternary" : { + "active" : 0 + }, + "no-this-before-super" : { + "active" : 1 + }, + "no-throw-literal" : { + "active" : 0 + }, + "no-trailing-spaces" : { + "active" : 0, + "optionString" : "{'skipBlankLines': false, 'ignoreComments': false}" + }, + "no-undef" : { + "active" : 1, + "optionString" : "{'typeof': false}" + }, + "no-undef-init" : { + "active" : 0 + }, + "no-undefined" : { + "active" : 0 + }, + "no-underscore-dangle" : { + "active" : 0, + "optionString" : "{'allow': [], 'allowAfterThis': false, 'allowAfterSuper': false, 'allowAfterThisConstructor': false, 'enforceInMethodNames': false, 'allowFunctionParams': true}" + }, + "no-unexpected-multiline" : { + "active" : 1 + }, + "no-unmodified-loop-condition" : { + "active" : 0 + }, + "no-unneeded-ternary" : { + "active" : 0, + "optionString" : "{'defaultAssignment': true}" + }, + "no-unreachable" : { + "active" : 1 + }, + "no-unreachable-loop" : { + "active" : 0, + "optionString" : "{'ignore': []}" + }, + "no-unsafe-finally" : { + "active" : 1 + }, + "no-unsafe-negation" : { + "active" : 1, + "optionString" : "{'enforceForOrderingRelations': false}" + }, + "no-unsafe-optional-chaining" : { + "active" : 0, + "optionString" : "{'disallowArithmeticOperators': false}" + }, + "no-unused-expressions" : { + "active" : 0, + "optionString" : "{'allowShortCircuit': false, 'allowTernary': false, 'allowTaggedTemplates': false, 'enforceForJSX': false}" + }, + "no-unused-labels" : { + "active" : 1 + }, + "no-unused-vars" : { + "active" : 1, + "optionString" : "{'vars': 'all', 'args': 'after-used', 'caughtErrors': 'none', 'ignoreRestSiblings': false}" + }, + "no-use-before-define" : { + "active" : 0, + "optionString" : "{'functions': true, 'classes': true, 'variables': true}" + }, + "no-useless-backreference" : { + "active" : 0 + }, + "no-useless-call" : { + "active" : 0 + }, + "no-useless-catch" : { + "active" : 0 + }, + "no-useless-computed-key" : { + "active" : 0, + "optionString" : "{'enforceForClassMembers': false}" + }, + "no-useless-concat" : { + "active" : 0 + }, + "no-useless-constructor" : { + "active" : 0 + }, + "no-useless-escape" : { + "active" : 0 + }, + "no-useless-rename" : { + "active" : 0, + "optionString" : "{'ignoreDestructuring': false, 'ignoreImport': false, 'ignoreExport': false}" + }, + "no-useless-return" : { + "active" : 0 + }, + "no-var" : { + "active" : 0 + }, + "no-void" : { + "active" : 0, + "optionString" : "{'allowAsStatement': false}" + }, + "no-warning-comments" : { + "active" : 0, + "optionString" : "{'terms': ['todo', 'fixme', 'xxx'], 'location': 'start'}" + }, + "no-whitespace-before-property" : { + "active" : 0 + }, + "no-with" : { + "active" : 0 + }, + "nonblock-statement-body-position" : { + "active" : 0, + "optionString" : "'beside'" + }, + "object-curly-newline" : { + "active" : 0, + "optionString" : "{'ObjectExpression': {'multiline': true, 'consistent': true}, 'ObjectPattern': {'multiline': true, 'consistent': true}}" + }, + "object-curly-spacing" : { + "active" : 0, + "optionString" : "'never'" + }, + "object-property-newline" : { + "active" : 0, + "optionString" : "{'allowAllPropertiesOnSameLine': true}" + }, + "object-shorthand" : { + "active" : 0, + "optionString" : "'always', {'avoidQuotes': false, 'ignoreConstructors': false}" + }, + "one-var" : { + "active" : 0, + "optionString" : "'always'" + }, + "one-var-declaration-per-line" : { + "active" : 0, + "optionString" : "'always'" + }, + "operator-assignment" : { + "active" : 0, + "optionString" : "'always'" + }, + "operator-linebreak" : { + "active" : 0, + "optionString" : "'after', {'overrides': {'?': 'after', '+=': 'none'}}" + }, + "padded-blocks" : { + "active" : 0, + "optionString" : "{'blocks': 'always', 'switches': 'always', 'classes': 'always'}" + }, + "padding-line-between-statements" : { + "active" : 0, + "optionString" : "{blankLine: 'always', prev:'*', next:'return'}" + }, + "prefer-arrow-callback" : { + "active" : 0 + }, + "prefer-const" : { + "active" : 0, + "optionString" : "{'destructuring': 'any', 'ignoreReadBeforeAssign': false}" + }, + "prefer-destructuring" : { + "active" : 0, + "optionString" : "{'array': true, 'object': true}, {'enforceForRenamedProperties': false}" + }, + "prefer-exponentiation-operator" : { + "active" : 0 + }, + "prefer-named-capture-group" : { + "active" : 0 + }, + "prefer-numeric-literals" : { + "active" : 0 + }, + "prefer-object-spread" : { + "active" : 0 + }, + "prefer-promise-reject-errors" : { + "active" : 0, + "optionString" : "{'allowEmptyReject': false}" + }, + "prefer-regex-literals" : { + "active" : 0 + }, + "prefer-rest-params" : { + "active" : 0 + }, + "prefer-spread" : { + "active" : 0 + }, + "prefer-template" : { + "active" : 0 + }, + "quote-props" : { + "active" : 0, + "optionString" : "'always'" + }, + "quotes" : { + "active" : 0, + "optionString" : "'double', {'avoidEscape': true, 'allowTemplateLiterals': true}" + }, + "radix" : { + "active" : 0, + "optionString" : "'always'" + }, + "require-atomic-updates" : { + "active" : 0 + }, + "require-await" : { + "active" : 0 + }, + "require-jsdoc" : { + "active" : 0, + "optionString" : "{'require': {'FunctionDeclaration': true, 'MethodDefinition': false, 'ClassDeclaration': false, 'ArrowFunctionExpression': false}}" + }, + "require-unicode-regexp" : { + "active" : 0 + }, + "require-yield" : { + "active" : 1 + }, + "rest-spread-spacing" : { + "active" : 0, + "optionString" : "'never'" + }, + "semi" : { + "active" : 0, + "optionString" : "'always', {'omitLastInOneLineBlock': false}" + }, + "semi-spacing" : { + "active" : 0, + "optionString" : "{'before': false, 'after': true}" + }, + "semi-style" : { + "active" : 0, + "optionString" : "'last'" + }, + "sort-imports" : { + "active" : 0, + "optionString" : "{'ignoreCase': false, 'ignoreMemberSort': true, 'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single'], 'allowSeparatedGroups': false}" + }, + "sort-keys" : { + "active" : 0, + "optionString" : "'asc', {'caseSensitive': true, 'natural': false, 'minKeys': 2}" + }, + "sort-vars" : { + "active" : 0, + "optionString" : "{'ignoreCase': false}" + }, + "space-before-blocks" : { + "active" : 0, + "optionString" : "{'functions': 'always', 'keywords': 'always', 'classes': 'always'}" + }, + "space-before-function-paren" : { + "active" : 0, + "optionString" : "{'anonymous': 'always', 'named': 'never'}" + }, + "space-in-parens" : { + "active" : 0, + "optionString" : "'never', {'exceptions': []}" + }, + "space-infix-ops" : { + "active" : 0, + "optionString" : "{'int32Hint': false}" + }, + "space-unary-ops" : { + "active" : 0, + "optionString" : "{'words': true, 'nonwords': false, 'overrides': {}}" + }, + "spaced-comment" : { + "active" : 0, + "optionString" : "'always', {'line': {'markers': ['\/'], 'exceptions': ['-', '+']}, 'block': {'markers': ['!'], 'exceptions': ['*'], 'balanced': false}}" + }, + "strict" : { + "active" : 0, + "optionString" : "'safe'" + }, + "switch-colon-spacing" : { + "active" : 0, + "optionString" : "{'after': true, 'before': false}" + }, + "symbol-description" : { + "active" : 0 + }, + "template-curly-spacing" : { + "active" : 0, + "optionString" : "'never'" + }, + "template-tag-spacing" : { + "active" : 0, + "optionString" : "'never'" + }, + "unicode-bom" : { + "active" : 0, + "optionString" : "'never'" + }, + "use-isnan" : { + "active" : 1, + "optionString" : "{'enforceForSwitchCase': true, 'enforceForIndexOf': false}" + }, + "valid-jsdoc" : { + "active" : 0, + "optionString" : "{'prefer': {'return': 'returns'}, 'requireReturn': true, 'requireReturnDescription': true, 'requireReturnType': true, 'requireParamDescription': true}" + }, + "valid-typeof" : { + "active" : 1, + "optionString" : "{'requireStringLiterals': true}" + }, + "vars-on-top" : { + "active" : 0 + }, + "wrap-iife" : { + "active" : 0, + "optionString" : "'outside'" + }, + "wrap-regex" : { + "active" : 0 + }, + "yield-star-spacing" : { + "active" : 0, + "optionString" : "{'before': false, 'after': true}" + }, + "yoda" : { + "active" : 0, + "optionString" : "'never', {'exceptRange': false, 'onlyEquality': false}" + } + }, + "esLintSourceType" : 0, + "externalServerAddress" : "http:\/\/localhost:8888", + "gitIgnoreBuildFolder" : 1, + "hideConfigFile" : 0, + "jsCheckerReservedNamesString" : "", + "jsHintFlags2" : { + "asi" : { + "active" : 0, + "flagValue" : -1 + }, + "bitwise" : { + "active" : 1, + "flagValue" : -1 + }, + "boss" : { + "active" : 0, + "flagValue" : -1 + }, + "browser" : { + "active" : 1, + "flagValue" : -1 + }, + "browserify" : { + "active" : 0, + "flagValue" : -1 + }, + "camelcase" : { + "active" : 0, + "flagValue" : -1 + }, + "couch" : { + "active" : 0, + "flagValue" : -1 + }, + "curly" : { + "active" : 1, + "flagValue" : -1 + }, + "debug" : { + "active" : 0, + "flagValue" : -1 + }, + "devel" : { + "active" : 0, + "flagValue" : -1 + }, + "dojo" : { + "active" : 0, + "flagValue" : -1 + }, + "elision" : { + "active" : 1, + "flagValue" : -1 + }, + "eqeqeq" : { + "active" : 1, + "flagValue" : -1 + }, + "eqnull" : { + "active" : 0, + "flagValue" : -1 + }, + "es3" : { + "active" : 0, + "flagValue" : -1 + }, + "esnext" : { + "active" : 0, + "flagValue" : -1 + }, + "evil" : { + "active" : 0, + "flagValue" : -1 + }, + "expr" : { + "active" : 0, + "flagValue" : -1 + }, + "forin" : { + "active" : 0, + "flagValue" : -1 + }, + "freeze" : { + "active" : 1, + "flagValue" : -1 + }, + "funcscope" : { + "active" : 0, + "flagValue" : -1 + }, + "futurehostile" : { + "active" : 0, + "flagValue" : -1 + }, + "globalstrict" : { + "active" : 0, + "flagValue" : -1 + }, + "immed" : { + "active" : 0, + "flagValue" : -1 + }, + "indent" : { + "active" : 0, + "flagValue" : 4 + }, + "iterator" : { + "active" : 0, + "flagValue" : -1 + }, + "jasmine" : { + "active" : 0, + "flagValue" : -1 + }, + "jquery" : { + "active" : 1, + "flagValue" : -1 + }, + "lastsemic" : { + "active" : 0, + "flagValue" : -1 + }, + "latedef" : { + "active" : 1, + "flagValue" : -1 + }, + "laxbreak" : { + "active" : 0, + "flagValue" : -1 + }, + "laxcomma" : { + "active" : 0, + "flagValue" : -1 + }, + "loopfunc" : { + "active" : 0, + "flagValue" : -1 + }, + "maxcomplexity" : { + "active" : 0, + "flagValue" : 10 + }, + "maxdepth" : { + "active" : 0, + "flagValue" : 3 + }, + "maxlen" : { + "active" : 0, + "flagValue" : 150 + }, + "maxparams" : { + "active" : 0, + "flagValue" : 3 + }, + "maxstatements" : { + "active" : 0, + "flagValue" : 4 + }, + "mocha" : { + "active" : 0, + "flagValue" : -1 + }, + "mootools" : { + "active" : 0, + "flagValue" : -1 + }, + "moz" : { + "active" : 0, + "flagValue" : -1 + }, + "multistr" : { + "active" : 0, + "flagValue" : -1 + }, + "newcap" : { + "active" : 1, + "flagValue" : -1 + }, + "noarg" : { + "active" : 1, + "flagValue" : -1 + }, + "nocomma" : { + "active" : 0, + "flagValue" : -1 + }, + "node" : { + "active" : 0, + "flagValue" : -1 + }, + "noempty" : { + "active" : 0, + "flagValue" : -1 + }, + "nonbsp" : { + "active" : 0, + "flagValue" : -1 + }, + "nonew" : { + "active" : 1, + "flagValue" : -1 + }, + "nonstandard" : { + "active" : 0, + "flagValue" : -1 + }, + "notypeof" : { + "active" : 1, + "flagValue" : -1 + }, + "noyield" : { + "active" : 0, + "flagValue" : -1 + }, + "onecase" : { + "active" : 0, + "flagValue" : -1 + }, + "phantom" : { + "active" : 0, + "flagValue" : -1 + }, + "plusplus" : { + "active" : 0, + "flagValue" : -1 + }, + "proto" : { + "active" : 0, + "flagValue" : -1 + }, + "prototypejs" : { + "active" : 0, + "flagValue" : -1 + }, + "qunit" : { + "active" : 0, + "flagValue" : -1 + }, + "regexp" : { + "active" : 1, + "flagValue" : -1 + }, + "rhino" : { + "active" : 0, + "flagValue" : -1 + }, + "scripturl" : { + "active" : 0, + "flagValue" : -1 + }, + "shadow" : { + "active" : 0, + "flagValue" : -1 + }, + "shelljs" : { + "active" : 0, + "flagValue" : -1 + }, + "singleGroups" : { + "active" : 0, + "flagValue" : -1 + }, + "strict" : { + "active" : 0, + "flagValue" : -1 + }, + "sub" : { + "active" : 0, + "flagValue" : -1 + }, + "supernew" : { + "active" : 0, + "flagValue" : -1 + }, + "typed" : { + "active" : 0, + "flagValue" : -1 + }, + "undef" : { + "active" : 1, + "flagValue" : -1 + }, + "unused" : { + "active" : 1, + "flagValue" : -1 + }, + "varstmt" : { + "active" : 0, + "flagValue" : -1 + }, + "withstmt" : { + "active" : 0, + "flagValue" : -1 + }, + "worker" : { + "active" : 0, + "flagValue" : -1 + }, + "wsh" : { + "active" : 0, + "flagValue" : -1 + }, + "yui" : { + "active" : 0, + "flagValue" : -1 + } + }, + "jsLintFlags2" : { + "bitwise" : { + "active" : 0, + "flagValue" : -1 + }, + "browser" : { + "active" : 1, + "flagValue" : -1 + }, + "couch" : { + "active" : 0, + "flagValue" : -1 + }, + "devel" : { + "active" : 0, + "flagValue" : -1 + }, + "es6" : { + "active" : 0, + "flagValue" : -1 + }, + "eval" : { + "active" : 0, + "flagValue" : -1 + }, + "for" : { + "active" : 0, + "flagValue" : -1 + }, + "maxlen" : { + "active" : 0, + "flagValue" : 150 + }, + "node" : { + "active" : 0, + "flagValue" : -1 + }, + "this" : { + "active" : 0, + "flagValue" : -1 + }, + "white" : { + "active" : 0, + "flagValue" : -1 + } + }, + "languageDefaultsCOFFEE" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.js", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "minifierStyle" : 0, + "outputStyle" : 0, + "sourceMapStyle" : 0, + "syntaxCheckerStyle" : 1, + "transpilerStyle" : 1 + }, + "languageDefaultsCSS" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*-min.css", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "combineImports" : 0, + "cssoStyle" : 0, + "purgeCSSStyle" : 0, + "shouldRunAutoprefixer" : 1, + "shouldRunBless" : 0, + "sourceMapStyle" : 0 + }, + "languageDefaultsGIF" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.gif", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "webpOptimizationPresetUUID" : "lpckwebp-none", + "webpRGBQuality" : 75 + }, + "languageDefaultsHAML" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.html", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "escapeHTMLCharacters" : 0, + "htmlMinifierStyle" : 0, + "noEscapeInAttributes" : 0, + "outputFormat" : 2, + "shouldRunCacheBuster" : 0, + "useCDATA" : 0, + "useDoubleQuotes" : 0, + "useUnixNewlines" : 0 + }, + "languageDefaultsJPG" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.jpg", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "outputFormat" : 0, + "quality" : 100, + "webpOptimizationPresetUUID" : "lpckwebp-none", + "webpRGBQuality" : 75 + }, + "languageDefaultsJS" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*-min.js", + "autoOutputPathRelativePath" : "\/min", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "bundleFormat" : 0, + "minifierStyle" : 1, + "sourceMapStyle" : 0, + "syntaxCheckerStyle" : 3, + "transpilerStyle" : 0 + }, + "languageDefaultsJSON" : { + "autoOutputAction" : 1, + "autoOutputPathFilenamePattern" : "*-min.json", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "orderOutput" : 1, + "outputStyle" : 1 + }, + "languageDefaultsKIT" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.html", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "kit", + "autoOutputPathReplace2" : "html", + "autoOutputPathStyle" : 0, + "htmlMinifierStyle" : 0, + "shouldRunCacheBuster" : 0 + }, + "languageDefaultsLESS" : { + "allowInsecureImports" : 0, + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.css", + "autoOutputPathRelativePath" : "..\/css", + "autoOutputPathReplace1" : "less", + "autoOutputPathReplace2" : "css", + "autoOutputPathStyle" : 0, + "cssoStyle" : 0, + "enableJavascript" : 0, + "mathStyle" : 0, + "outputStyle" : 0, + "purgeCSSStyle" : 0, + "rewriteURLStyle" : 0, + "shouldRunAutoprefixer" : 0, + "shouldRunBless" : 0, + "sourceMapStyle" : 0, + "strictImports" : 0, + "strictUnits" : 0 + }, + "languageDefaultsMARKDOWN" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.html", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "criticStyle" : 0, + "enableFootnotes" : 1, + "enableLabels" : 1, + "enableSmartQuotes" : 1, + "htmlMinifierStyle" : 0, + "maskEmailAddresses" : 1, + "outputFormat" : 0, + "outputStyle" : 0, + "parseMetadata" : 1, + "processHTML" : 0, + "randomFootnoteNumbers" : 0, + "shouldRunCacheBuster" : 0, + "useCompatibilityMode" : 0 + }, + "languageDefaultsOTHER" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.*", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "htmlMinifierStyle" : 0, + "shouldRunCacheBuster" : 0 + }, + "languageDefaultsPNG" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.png", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "optimizerType" : 1, + "quality" : 100, + "webpOptimizationPresetUUID" : "lpckwebp-none", + "webpRGBQuality" : 75 + }, + "languageDefaultsPUG" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.html", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "compileDebug" : 1, + "htmlMinifierStyle" : 0, + "outputStyle" : 1, + "shouldRunCacheBuster" : 0 + }, + "languageDefaultsSASS" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.css", + "autoOutputPathRelativePath" : "..\/css", + "autoOutputPathReplace1" : "sass", + "autoOutputPathReplace2" : "css", + "autoOutputPathStyle" : 0, + "compilerType" : 0, + "cssoStyle" : 0, + "decimalPrecision" : 10, + "emitCharset" : 1, + "outputStyle" : 0, + "purgeCSSStyle" : 0, + "shouldRunAutoprefixer" : 0, + "shouldRunBless" : 0, + "sourceMapStyle" : 0 + }, + "languageDefaultsSLIM" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.html", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "compileOnly" : 0, + "htmlMinifierStyle" : 0, + "logicless" : 0, + "outputFormat" : 0, + "outputStyle" : 1, + "railsCompatible" : 0, + "shouldRunCacheBuster" : 0 + }, + "languageDefaultsSTYLUS" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.css", + "autoOutputPathRelativePath" : "..\/css", + "autoOutputPathReplace1" : "stylus", + "autoOutputPathReplace2" : "css", + "autoOutputPathStyle" : 0, + "cssoStyle" : 0, + "debugStyle" : 0, + "importCSS" : 0, + "outputStyle" : 0, + "purgeCSSStyle" : 0, + "resolveRelativeURLS" : 0, + "shouldRunAutoprefixer" : 0, + "shouldRunBless" : 0, + "sourceMapStyle" : 0 + }, + "languageDefaultsSVG" : { + "autoOutputAction" : 2, + "autoOutputPathFilenamePattern" : "*.svg", + "autoOutputPathRelativePath" : "", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "pluginMask" : 52780316221407 + }, + "languageDefaultsTS" : { + "autoOutputAction" : 0, + "autoOutputPathFilenamePattern" : "*.js", + "autoOutputPathRelativePath" : "\/js", + "autoOutputPathReplace1" : "", + "autoOutputPathReplace2" : "", + "autoOutputPathStyle" : 0, + "createDeclarationFile" : 0, + "jsxMode" : 0, + "minifierStyle" : 0, + "moduleResolutionType" : 0, + "moduleType" : 2, + "removeComments" : 0, + "sourceMapStyle" : 0, + "targetECMAVersion" : 0 + }, + "languageDefaultsUserDefined" : [ + + ], + "npmAbbreviatedPath" : "", + "npmCreatePackageLock" : 1, + "npmInstallOptionalDependencies" : 0, + "npmSaveExactVersion" : 0, + "npmTargetDependencyListType" : 1, + "overrideExternalServerCSS" : 0, + "previewPathAddition" : "", + "purgeCSS" : { + "blocklistEntries" : [ + + ], + "contentEntries" : [ + "**\/*.html", + "**\/*.htm", + "**\/*.shtml", + "**\/*.xhtml", + "**\/*.php", + "**\/*.js", + "**\/*.ts", + "**\/*.coffee", + "**\/*.erb", + "**\/*.pug", + "**\/*.jade", + "**\/*.slim", + "**\/*.haml", + "**\/*.md", + "**\/*.kit" + ], + "removeFontFace" : 0, + "removeKeyframes" : 0, + "removeVariables" : 0, + "safelistEntries" : [ + + ], + "skippedEntries" : [ + "node_modules\/**" + ] + }, + "rollupContext" : "", + "rollupExternalEntries" : [ + + ], + "rollupReplacementEntries" : [ + "process.env.NODE_ENV:::$NODE_ENV", + "ENVIRONMENT:::$NODE_ENV" + ], + "rollupTreeshakingEnabled" : 1, + "skippedFoldersString" : "log, _logs, logs, _cache, cache, .idea, \/storage\/framework\/sessions, node_modules", + "sourceFolderName" : "source", + "susyVersion" : 3, + "tsAllowSyntheticDefaultImports" : 0, + "tsAllowUnreachableCode" : 0, + "tsAllowUnusedLabels" : 0, + "tsAlwaysStrict" : 0, + "tsDownlevelIteration" : 0, + "tsEmitBOM" : 0, + "tsEmitDecoratorMetadata" : 0, + "tsESModuleInterop" : 0, + "tsForceConsistentCasingInFileNames" : 0, + "tsImportHelpers" : 0, + "tsIsolatedModules" : 0, + "tsJSXFactory" : "React.createElement", + "tsKeyofStringsOnly" : 0, + "tsNoEmitHelpers" : 0, + "tsNoFallthroughCasesInSwitch" : 0, + "tsNoImplicitAny" : 0, + "tsNoImplicitReturns" : 0, + "tsNoImplicitThis" : 0, + "tsNoImplicitUseStrict" : 0, + "tsNoLib" : 0, + "tsNoPropertyAccessFromIndexSignature" : 0, + "tsNoResolve" : 0, + "tsNoStrictGenericChecks" : 0, + "tsNoUncheckedIndexAccess" : 0, + "tsNoUnusedLocals" : 0, + "tsNoUnusedParameters" : 0, + "tsPreserveConstEnums" : 0, + "tsPreserveSymlinks" : 0, + "tsResolveJsonModule" : 0, + "tsSkipLibCheck" : 0, + "tsStrictFunctionTypes" : 0, + "tsStrictNullChecks" : 0, + "tsStrictPropertyInitialization" : 0, + "tsStripInternal" : 0, + "tsSuppressExcessPropertyErrors" : 0, + "tsSuppressImplicitAnyIndexErrors" : 0, + "uglifyDefinesString" : "", + "uglifyFlags2" : { + "arguments" : { + "active" : 1, + "flagValue" : -1 + }, + "arrows" : { + "active" : 1, + "flagValue" : -1 + }, + "ascii_only" : { + "active" : 0, + "flagValue" : -1 + }, + "booleans" : { + "active" : 1, + "flagValue" : -1 + }, + "booleans_as_integers" : { + "active" : 0, + "flagValue" : -1 + }, + "braces" : { + "active" : 0, + "flagValue" : -1 + }, + "collapse_vars" : { + "active" : 1, + "flagValue" : -1 + }, + "comments" : { + "active" : 0, + "flagValue" : -1 + }, + "comparisons" : { + "active" : 1, + "flagValue" : -1 + }, + "computed_props" : { + "active" : 1, + "flagValue" : -1 + }, + "conditionals" : { + "active" : 1, + "flagValue" : -1 + }, + "dead_code" : { + "active" : 1, + "flagValue" : -1 + }, + "directives" : { + "active" : 1, + "flagValue" : -1 + }, + "drop_console" : { + "active" : 0, + "flagValue" : -1 + }, + "drop_debugger" : { + "active" : 1, + "flagValue" : -1 + }, + "ecma" : { + "active" : 1, + "flagValue" : 5 + }, + "eval" : { + "active" : 0, + "flagValue" : -1 + }, + "evaluate" : { + "active" : 1, + "flagValue" : -1 + }, + "expression" : { + "active" : 0, + "flagValue" : -1 + }, + "hoist_funs" : { + "active" : 0, + "flagValue" : -1 + }, + "hoist_props" : { + "active" : 1, + "flagValue" : -1 + }, + "hoist_vars" : { + "active" : 0, + "flagValue" : -1 + }, + "ie8" : { + "active" : 0, + "flagValue" : -1 + }, + "if_return" : { + "active" : 1, + "flagValue" : -1 + }, + "indent_level" : { + "active" : 0, + "flagValue" : 4 + }, + "indent_start" : { + "active" : 0, + "flagValue" : 0 + }, + "inline" : { + "active" : 1, + "flagValue" : 3 + }, + "inline_script" : { + "active" : 1, + "flagValue" : -1 + }, + "join_vars" : { + "active" : 1, + "flagValue" : -1 + }, + "keep_classnames" : { + "active" : 0, + "flagValue" : -1 + }, + "keep_fargs" : { + "active" : 1, + "flagValue" : -1 + }, + "keep_fnames" : { + "active" : 0, + "flagValue" : -1 + }, + "keep_infinity" : { + "active" : 0, + "flagValue" : -1 + }, + "keep_quoted_props" : { + "active" : 0, + "flagValue" : -1 + }, + "loops" : { + "active" : 1, + "flagValue" : -1 + }, + "max_line_len" : { + "active" : 1, + "flagValue" : 32000 + }, + "module" : { + "active" : 0, + "flagValue" : -1 + }, + "negate_iife" : { + "active" : 1, + "flagValue" : -1 + }, + "passes" : { + "active" : 1, + "flagValue" : 1 + }, + "properties" : { + "active" : 1, + "flagValue" : -1 + }, + "pure_getters" : { + "active" : 0, + "flagValue" : -1 + }, + "quote_keys" : { + "active" : 0, + "flagValue" : -1 + }, + "quote_style" : { + "active" : 1, + "flagValue" : 0 + }, + "reduce_funcs" : { + "active" : 1, + "flagValue" : -1 + }, + "reduce_vars" : { + "active" : 1, + "flagValue" : -1 + }, + "safari10" : { + "active" : 0, + "flagValue" : -1 + }, + "semicolons" : { + "active" : 1, + "flagValue" : -1 + }, + "sequences" : { + "active" : 1, + "flagValue" : -1 + }, + "shebang" : { + "active" : 1, + "flagValue" : -1 + }, + "side_effects" : { + "active" : 1, + "flagValue" : -1 + }, + "switches" : { + "active" : 1, + "flagValue" : -1 + }, + "toplevel" : { + "active" : 0, + "flagValue" : -1 + }, + "typeofs" : { + "active" : 1, + "flagValue" : -1 + }, + "unsafe" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_arrows" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_comps" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_Function" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_math" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_methods" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_proto" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_regexp" : { + "active" : 0, + "flagValue" : -1 + }, + "unsafe_undefined" : { + "active" : 0, + "flagValue" : -1 + }, + "unused" : { + "active" : 1, + "flagValue" : -1 + }, + "warnings" : { + "active" : 0, + "flagValue" : -1 + }, + "webkit" : { + "active" : 0, + "flagValue" : -1 + }, + "wrap_iife" : { + "active" : 0, + "flagValue" : -1 + } + }, + "uglifyMangleNames" : 1, + "uglifyReservedNamesString" : "$,exports,require", + "webpPresets" : { + + }, + "websiteRelativeRoot" : "" + }, + "settingsFileVersion" : "3" +} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/index.html b/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/index.html new file mode 100644 index 00000000000..b95270e20e1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/EMAIL/index.html @@ -0,0 +1,638 @@ + + + + + + {{ Communication.Subject }} + + + + + + + +
+ + + + + + + + + + + {% if visiblepreviewtext == 'true' %} + + + + {% endif %} + +
+
+
+
+ +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + {{ blockContent }} + +
+
+ +
+ + +

Our new series "Overflow" starts this Sunday!

+

As God's children, “we love because he first loved us” (1 John 4:19). Starting Sunday, Nov. 7, our new series will explore how to live a life of overflow — reflecting His character and discovering the generous, joyful way of living available to those who love God.

+
+ + +

We can know God's voice through His Word

+

We want to see everyone everywhere in an everyday relationship with Jesus — and we know sometimes the Bible can be hard to understand or follow along. That's why we're reading through the Bible together! Start reading along with us.

+
+
+

"One thing have I asked of the Lord, that will I seek after: that I may dwell in the house of the Lord all the days of my life, to gaze upon the beauty of the Lord and to inquire in His temple."

+
+

— Psalm 27:4

+
+
+
+ +
+

This Sunday at NewSpring

+

Lee McDerment is kicking off our new series, "Overflow!" Join us Sunday, Nov. 7 at 9:15am or 11:15am at a campus or online anytime after 9:15am! 💻

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + {% if Communication.Guid and Communication.Guid != empty %} + + + + {% endif %} + +
+ +
+
+

Do you enjoy Need To Know? Forward this email 📩 to a friend. Did someone send you this email? Sign up to get it every week.

+
+
+ +
+
+
+
+ +
+
+
+
+ {% if recipientreason and recipientreason != empty %} +

{{ recipientreason }}

+ {% endif %} + +

+ Update Subscription Preferences · + +

+

+ © {{ 'Now' | Date:'yyyy' }} {{ organizationname }}. All Rights Reserved. +

+

+ Our mailing address is:
+ {{ organizationaddress }} +

+
+ Having trouble viewing this email? View it in your web browser. +
+
+ + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FEEDS/feed.lava b/RockWeb/Themes/NewSpring/assets/Lava/FEEDS/feed.lava new file mode 100644 index 00000000000..68fac822894 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FEEDS/feed.lava @@ -0,0 +1,160 @@ + +{% assign firstItemId = Items | First | Property:'Id' | AsInteger %} +{% assign dataset = 'content_channel_items' | PersistedDataset | Where:'Id',firstItemId | First | Property:'PersistedDataset' %} + +{% comment %} dataset for this channel must exist{% endcomment %} +{% if dataset and dataset != empty %} + + + + +{% assign PublicApplicationRoot = 'Global' | Attribute:'PublicApplicationRoot' | ReplaceLast:'/','' %} +{% assign orgName = 'Global' | Attribute:'OrganizationName' %} +{% assign orgEmail = 'Global' | Attribute:'OrganizationEmail' %} +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{% assign feedDescription = 'Global' | Attribute:'FeedDescription' | Escape %} +{% assign channelImage = Channel | Attribute:'ImageLandscape','Url' %} +{% assign channelFeedKeywords = Channel | Attribute:'RSSFeedKeywords' %} +{% assign fallbackImage = 'http://s3.amazonaws.com/ns.images/newspring/icons/newspring.podcast.png' %} + + {% assign channelCategory = Channel.Name | Split:' - ' | First %} + {{ orgName }}{% if channelCategory != 'NewSpring' %} - {{ channelCategory }}{% endif %} - {{ Channel.Name | Split:' - ' | Last }}{% if feedtype == 'Audio' or feedtype == 'Video' %} {{ feedtype }}{% endif %} + {{ PublicApplicationRoot }}{{ Channel.ChannelUrl }} + + en-US + Free to distribute. Do not sell. + {{ orgEmail }} ({{ orgName }}) + {{ Channel.Name | Split:' - ' | Last }} + Rock RMS, https://www.rockrms.com/ + 1440 + + {{ channelImage | Default:fallbackImage | Split:'?' | First }} + {{ orgName }}{% if channelCategory != 'NewSpring' %} - {{ channelCategory }}{% endif %} - {{ Channel.Name | Split:' - ' | Last }}{% if feedtype == 'Audio' or feedtype == 'Video' %} {{ feedtype }}{% endif %} + {{ PublicApplicationRoot }}{{ Channel.ChannelUrl }} + + + {% comment %} + Add iTunes Tags for Audio/Video Feeds + {% endcomment %} + {% if feedtype == 'Audio' or feedtype == 'Video' %} + + NewSpring Church + {% if Channel.Description and Channel.Description != empty %}{% else %}{{ feedDescription }}{% endif %} + {% if channelFeedKeywords and channelFeedKeywords != empty %}{{ channelFeedKeywords }}{% else %}newspring,church,newspring church,fuse,community,god,jesus,anderson{% endif %} + + {{ orgName}} + {{ orgEmail }} + + + + + {% endif %} + + + {% for item in Items -%} + + {% assign itemId = item.Id | AsInteger %} + {% assign pItem = dataset | PersistedDataset | Where:'Id',itemId | First %} + + {% assign parentItemId = pItem.Parents | First | Property:'Id' | AsInteger %} + {% assign parentDataset = pItem.Parents | First | Property:'Dataset' %} + {% assign pParent = parentDataset | PersistedDataset | Where:'Id',parentItemId | First %} + + + <![CDATA[{% if pParent.Title and pParent.Title != empty %}{{ pParent.Title }}: {% endif %}{{ pItem.Title }}]]> + {{ pItem.Permalink | Trim }} + {{ pItem.PublishDateTime | Date:'ddd, dd MMM yyyy HH:mm:00 EST' }} + {{ pItem.ChannelName | Split:' - ' | Last }} + + + {% capture description %} + {% assign scriptureCount = pItem.Scriptures | Size %} + {% if pItem.Scriptures and pItem.Scriptures != empty %}

Read: {% for scripture in pItem.Scriptures %}{% if scriptureCount > 1 and forloop.last %} & {% endif %}{{ scripture.Book }} {{ scripture.Reference }}{% if scriptureCount > 2 %}{% unless forloop.last %}, {% endunless %}{% endif %}{% endfor %}

{% endif %} + + {% if feedtype == 'Editorial' and pItem.Video and pItem.Video != empty %} + {[ wistiaEmbed id:'{{ pItem.Video }}' ]}
+ {% endif %} + + {% if pItem.Summary and pItem.Summary != empty %}{{ pItem.Summary | HtmlDecode | StripHtml }}{% endif %} + + {% if pItem.Content and pItem.Content != empty %}{{ pItem.Content | HtmlDecode | StripHtml | Replace:'src="https://rock.newspring.cc//s3','src="https://s3' }}{% endif %} + + {% endcapture %} + {% assign description = description | Trim %} + + {% if description and description != empty %} + {[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' ]} + + {[ endscripturize ]} + {% endif %} + + {{ pItem.Guid }} + + {% if feedtype and feedtype != 'Editorial' %} + + + + {% assign communicatorCount = pItem.Communicators | Size %} + {% if pItem.Communicators and pItem.Communicators != empty %} + {% for person in pItem.Communicators %}{% if communicatorCount > 1 and forloop.last %} & {% endif %}{{ person.Name }}{% if communicatorCount > 2 %}{% unless forloop.last %}, {% endunless %}{% endif %}{% endfor %} + {% else %} + NewSpring Church + {% endif %} + + {% if pItem.Subtitle and pItem.Subtitle != empty %}{{ pItem.Subtitle }}{% endif %} + {% if pItem.Summary and pItem.Summary != empty or pItem.Content and pItem.Content != empty %} + + {% endif %} + + {% if pItem.Tags and pItem.Tags != empty %} + {% assign tagCount = pItem.Tags | Size %} + {% for tag in pItem.Tags %}{{ tag.Name }}{% unless forloop.last %},{% endunless %}{% endfor %} + {% endif %} + + {% if feedtype and feedtype == 'Audio' or feedtype == 'Video' %} + {% if feedtype and feedtype == 'Audio' %} + + {% if pItem.AudioFile and pItem.AudioFile != empty %} + + {% endif %} + + {% elseif feedtype and feedtype == 'Video' %} + + {%- capture videoFile -%} + {%- if pItem.VideoFileHigh and pItem.VideoFileHigh != empty -%} + {{ pItem.VideoFileHigh }} + {%- elseif pItem.VideoFileMid and pItem.VideoFileMid != empty -%} + {{ pItem.VideoFileMid }} + {%- elseif pItem.VideoFileLow and pItem.VideoFileLow != empty -%} + {{ pItem.VideoFileLow }} + {%- endif -%} + {%- endcapture -%} + + {% if videoFile and videoFile != empty %} + + {% endif %} + + {% endif %} + {% endif %} + {% endif %} + +
+ + {% endfor -%} + +
+
+{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingList.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingList.lava new file mode 100644 index 00000000000..1b420477674 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingList.lava @@ -0,0 +1,40 @@ +{% assign trips = GroupList | SortByAttribute:'OpportunityStartDate' %} + +{[ swiper id:'trips' title:'Upcoming Trips' subtitle:'' ]} + {% for item in trips %}{% if item.IsPublic == 'true' %}[[ item data:'' ]] + {% assign startDate = item | Attribute:'OpportunityStartDate' %} + {% assign endDate = item | Attribute:'OpportunityEndDate' %} + + {% assign photoUrl = item | Attribute:'OpportunityImage','Url' %} + {% assign dateRangeParts = item | Attribute:'OpportunityDateRange','RawValue' | Split:',' %} + {% assign dateRangePartsSize = dateRangeParts | Size %} + + {% capture id %}{{ item.Id }}{% endcapture %} + {% capture title %}{{ item | Attribute:'OpportunityTitle' }}{% endcapture %} + {% capture titlesize %}h3{% endcapture %} + {% capture type %}Mission Trip{% endcapture %} + {% capture content %}

{{ item | Attribute:'OpportunitySummary' }}

{% endcapture %} + {% capture textalignment %}{% endcapture %} + {% capture label %}{% endcapture %} + {% capture subtitle %} + {{ startDate | Date:'MMMM' }} {{ startDate | Date:'d' | NumberToOrdinal }}, {{ startDate | Date:'yyyy' }}{% if startDate != empty %} + - {{ endDate | Date:'MMMM' }} {{ endDate | Date:'d' | NumberToOrdinal }}, {{ endDate | Date:'yyyy' }}{% endif %} + {% endcapture %} + {% capture imageurl %}{{ photoUrl }}{% endcapture %} + {% capture imageoverlayurl %}{% endcapture %} + {% capture imagealignment %}{% endcapture %} + {% capture imageopacity %}{% endcapture %} + {% capture grayscale %}{% endcapture %} + {% capture backgroundvideourl %}{% endcapture %} + {% capture lava %}{% endcapture %} + {% capture videoid %}{% endcapture %} + {% capture ratio %}{% endcapture %} + {% capture trimcopy %}y{% endcapture %} + {% capture linkcolor %}{% endcapture %} + {% capture backgroundcolor %}{% endcapture %} + {% capture linkurl %}/missions/{{ item.Id }}{% endcapture %} + {% capture linktext %}Trip Details{% endcapture %} + + {[ card id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' ]} + [[ enditem ]]{% endif %}{% endfor %} +{[ endswiper ]} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityParticipant.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityParticipant.lava new file mode 100644 index 00000000000..de625b16d00 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityParticipant.lava @@ -0,0 +1,28 @@ +{% assign percentWidth = PercentMet %} +{% if percentWidth > 100 %} + {% assign percentWidth = 100 %} +{% endif %} +{% assign percentRounded = PercentMet | Floor %} +
+
+
+ + + +
+
+ {{ percentRounded }}% Complete +
+
+
+
+
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySidebar.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySidebar.lava new file mode 100644 index 00000000000..bdf73fd9002 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySidebar.lava @@ -0,0 +1,116 @@ +{% assign showRegistration = false %} +{% if RegistrationInstance and showRegistration %} +
+ {% assign daysTillStartDate = 'Now' | DateDiff:RegistrationInstance.StartDateTime,'m' %} + {% assign daysTillEndDate = 'Now' | DateDiff:RegistrationInstance.EndDateTime,'m' %} + {% assign registrationMessage = '' %} + + {% if RegistrationInstance.RegistrationTemplate.WaitListEnabled %} + {% assign waitListEnabled = true %} + {% else %} + {% assign waitListEnabled = false %} + {% endif %} + + {% if daysTillStartDate and daysTillStartDate > 0 %} + {% assign showRegistration = false %} + {% capture registrationMessage %}

Registration opens on {{ RegistrationInstance.StartDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% endif %} + + {% if daysTillEndDate and daysTillEndDate < 0 %} + {% assign showRegistration = false %} + {% capture registrationMessage %}

Registration closed on {{ RegistrationInstance.EndDateTime | Date:'dddd, MMMM d, yyyy' }}

{% endcapture %} + {% endif %} + + {% if RegistrationSpotsAvailable %} + {% if RegistrationSpotsAvailable <= 0 %} + {% assign registrationFull = true %} + {% else %} + {% assign registrationFull = false %} + {% endif %} + {% else %} + {% assign registrationFull = false %} + {% endif %} + + {% if showRegistration %} + {% if registrationFull and waitListEnabled != true %} +

Registration Full

+ {% else %} +

Registration Open

+ {% endif %} + {% else %} +

Registration Closed

+ {% endif %} + + {% if RegistrationInstance.ContactPersonAliasId != null or RegistrationInstance.ContactEmail != '' or RegistrationInstance.ContactPhone != '' %} +

+ Questions?
+ {% if RegistrationInstance.ContactPersonAliasId != null %} + {{ RegistrationInstance.ContactPersonAlias.Person.FullName }}
+ {% endif %} + + {% if RegistrationInstance.ContactEmail != '' %} + {{ RegistrationInstance.ContactEmail }}
+ {% endif %} + + {{ RegistrationInstance.ContactPhone }} +

+ {% endif %} + + {% assign locationText = Group | Attribute:'Location' %} + + {% if locationText != '' %} +

+ Location
+ locationText +

+ {% endif %} + + {% assign registrationNotes = Group | Attribute:'RegistrationNotes' %} + + {% if registrationNotes != '' %} + Registration Notes
+ {{ registrationNotes }} + {% endif %} + + {% if registrationFull and waitListEnabled %} + {% assign registrationButtonText = 'Join Wait List' %} + {% else %} + {% assign registrationButtonText = 'Register' %} + {% endif %} + + {% if registrationFull and waitListEnabled == false %} + {% assign showRegistration = false %} + {% endif %} + + {% if showRegistration %} + {% assign registrationInstanceLinkagesCount = RegistrationInstanceLinkages | Size %} + {% if registrationInstanceLinkagesCount > 0 %} + {% for registrationInstanceLinkage in RegistrationInstanceLinkages %} + {% assign registrationButtonText = 'Register Now' %} + {% if registrationInstanceLinkage.UrlSlug != '' %} + {{ registrationButtonText }} + {% else %} + {{ registrationButtonText }} + {% endif %} + {% endfor %} + {% else %} + {{ registrationButtonText }} + {% endif %} + {% else %} + {{ registrationMessage }} + {% endif %} + + + {% if RegistrationSpotsAvailable == 1 %} + {{ RegistrationSpotsAvailable }} spot available + {% elseif RegistrationSpotsAvailable > 1 %} + {{ RegistrationSpotsAvailable }} spots available + {% elseif RegistrationSpotsAvailable <= 0 %} + {% if waitListEnabled == true %} + Registration full, waitlist available. + {% endif %} + {% endif %} + + +
+{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySummary.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySummary.lava new file mode 100644 index 00000000000..66bb3ca06a0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunitySummary.lava @@ -0,0 +1,43 @@ +{{ Group | Attribute:'OpportunityTitle' | AddMetaTagToHead:'property','twitter:title' }} +{{ Group | Attribute:'OpportunitySummary' | AddMetaTagToHead:'property','twitter:description' }} +{{ Group | Attribute:'OpportunityTitle' | AddMetaTagToHead:'property','og:title' }} +{{ Group | Attribute:'OpportunitySummary' | AddMetaTagToHead:'property','og:description' }} +{% assign opportunityPhotoUrl = item | Attribute:'OpportunityPhoto','Url' %} +{% if opportunityPhotoUrl != '' %} +{{ opportunityPhotoUrl | AddMetaTagToHead:'property','og:image' }} +{{ opportunityPhotoUrl | AddMetaTagToHead:'property','twitter:image' }} +{{ 'summary_large_image' | AddMetaTagToHead:'property','twitter:card' }} +{% endif %} + +{% assign setPageTitleToOpportunityTitle = Block | Attribute:'SetPageTitletoOpportunityTitle','RawValue' %} + +{% assign startDate = Group | Attribute:'OpportunityStartDate' %} +{% assign endDate = Group | Attribute:'OpportunityEndDate' %} + +{% capture id %}{% endcapture %} +{% capture title %}{{ Group.Name }}{% endcapture %} +{% capture content %} +

{{ Group | Attribute:'OpportunityLocation' }}
+ {{ startDate | Date:'MMMM' }} {{ startDate | Date:'d' | NumberToOrdinal }}, {{ startDate | Date:'yyyy' }}{% if startDate != empty %} + - {{ endDate | Date:'MMMM' }} {{ endDate | Date:'d' | NumberToOrdinal }}, {{ endDate | Date:'yyyy' }}{% endif %} +

+{% endcapture %} +{% capture textalignment %}{% endcapture %} +{% capture label %}{% endcapture %} +{% capture subtitle %}{% endcapture %} +{% capture imageurl %}{{ Group | Attribute:'OpportunityImage','Url' }}{% endcapture %} +{% capture imageoverlayurl %}{% endcapture %} +{% capture imagealignment %}{% endcapture %} +{% capture imageopacity %}.6{% endcapture %} +{% capture grayscale %}{% endcapture %} +{% capture backgroundvideourl %}{% endcapture %} +{% capture lava %}{% endcapture %} +{% capture video %}{{ Group | Attribute:'OpportunityVideo','RawValue' }}{% endcapture %} +{% capture ratio %}{% endcapture %} +{% capture trimcopy %}{% endcapture %} +{% capture linkcolor %}{% endcapture %} +{% capture backgroundcolor %}{% endcapture %} +{% capture linkurl %}{% endcapture %} +{% capture linktext %}{% endcapture %} + +{[ hero id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityUpdates.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityUpdates.lava new file mode 100644 index 00000000000..b9298359406 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingOpportunityUpdates.lava @@ -0,0 +1,10 @@ +{% for item in ContentChannelItems %} +
+

{{ item.Title }}

+ {{ item | Attribute:'Image' }} +
+ {{ item.Content }} +
+
+
+{% endfor %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProfile.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProfile.lava new file mode 100644 index 00000000000..f17cb3dfcdd --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProfile.lava @@ -0,0 +1,35 @@ +{{ Group | Attribute:'OpportunityTitle' | AddMetaTagToHead:'property','twitter:title' }} +{{ Group | Attribute:'OpportunitySummary' | AddMetaTagToHead:'property','twitter:description' }} + +{{ Group | Attribute:'OpportunityTitle' | AddMetaTagToHead:'property','og:title' }} +{{ Group | Attribute:'OpportunitySummary' | AddMetaTagToHead:'property','og:description' }} + +{% assign opportunityPhotoUrl = item | Attribute:'OpportunityPhoto','Url' %} +{% if opportunityPhotoUrl != '' %} + {{ opportunityPhotoUrl | AddMetaTagToHead:'property','og:image' }} + {{ opportunityPhotoUrl | AddMetaTagToHead:'property','twitter:image' }} + {{ 'summary_large_image' | AddMetaTagToHead:'property','twitter:card' }} +{% endif %} + +{% capture pageTitle %}{{ GroupMember.Person.FullName | Possessive }} {{ Group | Attribute:'OpportunityType' }}{% endcapture %} +{% assign dateRangeParts = Group | Attribute:'OpportunityDateRange','RawValue' | Split:',' %} +{% assign dateRangePartsSize = dateRangeParts | Size %} + +
+
+ +
+ +

{{ pageTitle }}

+

{{ Group | Attribute:'OpportunityLocation' }}

+

+ {% if dateRangePartsSize == 2 %} + {{ dateRangeParts[0] | Date:'MMMM' }} {{ dateRangeParts[0] | Date:'d' | NumberToOrdinal }}, {{ dateRangeParts[0] | Date:'yyyy' }} - {{ dateRangeParts[1] | Date:'MMMM' }} {{ dateRangeParts[1] | Date:'d' | NumberToOrdinal }}, {{ dateRangeParts[1] | Date:'yyyy' }}
+ {% elsif dateRangePartsSize == 1 %} + {{ dateRangeParts[0] | Date:'MMMM d, yyyy' }}
+ {% endif %} +

+
+ {{ GroupMember | Attribute:'PersonalOpportunityIntroduction' }} +
+
\ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProgress.lava b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProgress.lava new file mode 100644 index 00000000000..f33b3abb8b9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/FundraisingParticipantProgress.lava @@ -0,0 +1,38 @@ +{% assign disablePublicContributionRequests = GroupMember | Attribute:'DisablePublicContributionRequests' %} +{% assign percentWidth = PercentMet %} +{% if percentWidth > 100 %} + {% assign percentWidth = 100 %} +{% endif %} +{% assign percentRounded = PercentMet | Floor %} + +{% if disablePublicContributionRequests != 'Yes' %} +
+
+
+ + + +
+
+ {{ percentRounded }}% Complete +
+
+
+
+ +
+{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/GroupDetail.lava b/RockWeb/Themes/NewSpring/assets/Lava/GroupDetail.lava new file mode 100644 index 00000000000..7a37fa77c10 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/GroupDetail.lava @@ -0,0 +1,159 @@ +{% if AllowedActions.View == true or AllowedActions.Edit == true or AllowedActions.ManageMembers == true or AllowedActions.Administrate == true %} + + {% capture groupIdSlug %}{GroupId}{% endcapture %} + +
+ +

{{ Group.Name }}

+
+
+ Group Leaders: + {% for member in Group.Members %} + {% if member.GroupRole.IsLeader %} + {{ member.Person.FullName }} ({{ member.GroupRole.Name }}) + {% endif %} + {% endfor %}
+
{% for attribute in Group.AttributeValues %}{% if attribute.ValueFormatted != empty and attribute.AttributeName != 'Group Photo' %}
+ {{ attribute.AttributeName }}: {{ attribute.ValueFormatted }}
+
{% endif %}{% endfor %} +
+ + {% if AllowedActions.Edit == true %} + + {% endif %} +
+ + {% if LinkedPages.RosterPage != '' and (LinkedPages.AttendancePage != '' or Group.GroupType.TakesAttendance == 'False') %} + {% capture rosterPage %}/{{ LinkedPages.RosterPage | Replace:groupIdSlug,PageParameter.GroupId }}{% endcapture %} + {% capture attendancePage %}/{{ LinkedPages.AttendancePage | Replace:groupIdSlug,PageParameter.GroupId }}{% endcapture %} + + {% endif %} + + {% if rosterPage == CurrentPage.Path %} +
+ +

Group Roster

+ + {% groupmember where:'GroupId == {{ Group.Id }}' sort:'GroupMemberStatus desc,Person.LastName' %} +
+ {% if AllowedActions.Edit == true %} + Add Member + + {% endif %} + {% if LinkedPages.CommunicationPage != '' %} + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + Email Roster + + {% endif %} + {% endif %} + {% if LinkedPages.AlternateCommunicationPage %} + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + Text Roster + + {% endif %} + {% endif %} +
+
+ + + + + + + + + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + + {% endif %} + + + + {% for member in groupmemberItems %} + {%- capture statusClass -%} + {% if member.GroupMemberStatus == 'Pending' %} + warning + {% elseif member.GroupMemberStatus == 'Inactive' %} + gray-light + {% else %} + primary + {% endif %} + {%- endcapture -%} + + + + + + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + + {% endif %} + + {% endfor %} + +
StatusFirst NameLast NamePhone NumberEmail
{{ member.GroupMemberStatus }}{{ member.Person.NickName }}{{ member.Person.LastName }} + {% assign mobilePhone = member.Person | PhoneNumber:'Mobile' %} + {% assign homePhone = member.Person | PhoneNumber:'Home' %} + {% assign otherPhone = member.Person | PhoneNumber:'Other' %} + + {% if mobilePhone != empty %} +

{{ mobilePhone | Remove:'+1 ' }} (Mobile)

+ {% elseif homePhone != empty %} +

{{ homePhone | Remove:'+1 ' }} (Home)

+ {% elseif otherPhone != empty %} +

{{ otherPhone | Remove:'+1 ' }} (Other)

+ {% endif %} +
{{ member.Person.Email }} + + + + +
+
+
+ {% if AllowedActions.Edit == true %} + Add Member + + {% endif %} + {% if LinkedPages.CommunicationPage != '' %} + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + Email Roster + + {% endif %} + {% endif %} + {% if LinkedPages.AlternateCommunicationPage %} + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + Text Roster + + {% endif %} + {% endif %} +
+ {% endgroupmember %} +
+ {% endif %} + +{% else %} + +
+ {% if Group.Id %} +
You do not have permission to view this group.
+ {% endif %} +
+ +{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/GroupListSidebar.lava b/RockWeb/Themes/NewSpring/assets/Lava/GroupListSidebar.lava new file mode 100644 index 00000000000..72d2b791cdb --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/GroupListSidebar.lava @@ -0,0 +1,64 @@ +
+
+ {% if ShowInactive -%}{% assign inactiveParamVal = 'Global' | PageParameter:InactiveParameter -%} +
+ Active + All +
+ {% endif -%} + Groups +
+ + {% assign groupCount = Groups | Size %} + + {% if groupCount == 0 %} +
No Groups Available To List
+ {% endif %} + +
    + {% for group in Groups %} + + {% capture isLeaderIcon -%} + {% if group.IsLeader -%} + + {% endif -%} + {% endcapture -%} + + {% capture content %} + {{ group.Group.Name }} ({{ group.Role }}{{ isLeaderIcon }}) + {% if group.IsLeader -%} + {% assign pending = 0 -%} + {% for member in group.Group.Members -%} + {% if member.GroupMemberStatus == 'Pending' -%} + {% assign pending = pending | Plus:1 -%} + {% endif -%} + {% endfor -%} + {% if pending != 0 -%} + {{ pending }} + {% endif -%} + {% endif -%} + {% endcapture %} + +
  • + {% if group.Group.IsActive == true %} + + {{ content }} + + {% else %} +
    + {{ content }} +
    + {% endif %} +
  • + {% endfor %} +
+ +
+ + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/account.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/account.lava new file mode 100644 index 00000000000..39c0cc4b079 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/account.lava @@ -0,0 +1,36 @@ +{% assign personCampus = CurrentPerson | Campus %} +
+
+
+
+
{{ personCampus.Name }}
+
+

{{ CurrentPerson.NickName }} {{ CurrentPerson.LastName }}

+
+
+

Birth Date

+

{{ CurrentPerson.BirthDate | Date:'M/d/yyyy' }}

+
+

Address

+

{{ CurrentPerson | Address:'Home','[[Street1]]
[[City]], [[State]] [[ PostalCode ]]' }}

+
+

Phone

+ {% assign home = CurrentPerson | PhoneNumber:'Home' %} + {% assign work = CurrentPerson | PhoneNumber:'Work' %} + {% assign mobile = CurrentPerson | PhoneNumber:'Mobile' %} +

+ {% if mobile %}{{ CurrentPerson | PhoneNumber:'Mobile' }} mobile
{% endif %} + {% if home %}{{ CurrentPerson | PhoneNumber:'Home' }} home
{% endif %} + {% if work %}{{ CurrentPerson | PhoneNumber:'Work' }} work{% endif %} +

+
+

Email

+

{{ CurrentPerson.Email }}

+
+
+

Update Profile

+
+
+ + +
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/card-list.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/card-list.lava new file mode 100644 index 00000000000..ed156a14d8e --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/card-list.lava @@ -0,0 +1,144 @@ +{% comment %} + This loops through the items from the dataset and strips out anything that is future-dated or expired. +{% endcomment %} +{%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} +{%- for item in Items -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {% comment %} {%- if status == 2 and publishDateTime <= now and expireDateTime == null or status == 2 and publishDateTime <= now and expireDateTime > now -%} + {{ item | ToJSON }}, + {%- endif -%} {% endcomment %} + {% if publishDateTime > now or expireDateTime < now or status != 2 %} + {% assign Items = Items | RemoveFromArray:item %} + {% endif %} +{%- endfor -%} + +{% comment %} + Overwrite itemcount with count of items that aren't future dated or expired. +{% endcomment %} +{% assign itemcount = Items | Size %} +{% assign pagesize = pagesize | AsInteger %} +{% assign currentpage = 'Global' | PageParameter:'Page' %} +{% assign offset = currentpage | Times:pagesize | Minus:pagesize %} + +
+
+ {% if itemcount > 0 %} + {% for item in Items limit:pagesize offset:offset %}
+ {% assign dataset = item.Dataset %} + {% assign showDate = item.IsDateVisible %} + {% assign id = item.Id %} + {% assign cciid = item.Id %} + {% assign guid = item.Guid %} + + {% assign type = item.ContentType %} + {% assign title = item.Title | Replace:"'","’" %} + {% assign titlesize = "h4" %} + + {% capture startDateTime -%} + {% if item.ActualDate != empty %} + {{ item.ActualDate }} + {%- elseif item.StartDateTime != empty -%} + {{ item.StartDateTime }} + {%- else -%} + {{ item.PublishDateTime }} + {%- endif -%} + {%- endcapture %} + {% assign startDateTime = startDateTime | Trim %} + + {% capture endDateTime -%} + {%- if item.EndDateTime != empty -%} + {{ item.EndDateTime }} + {%- else -%} + {{ item.ExpireDateTime }} + {%- endif -%} + {%- endcapture %} + {% assign endDateTime = endDateTime | Trim %} + + {% capture subtitle -%} + {%- comment -%} + Check this item's channel to see if dates should be visible. + {%- endcomment -%} + {% if showdates != 'false' and showDate == 'Yes' %} + {%- comment -%} + If the end date differs from the start date, display the range, otherwise just show the startdate. + {%- endcomment -%} + {[ formatDate date:'{{ startDateTime }}' ]}{% if endDateTime != empty and endDateTime != startDateTime %} - {[ formatDate date:'{{ endDateTime }}' ]}{% endif %} + {% endif %} + {%- endcapture %} + + {% comment %} + The `ratio` shortcode parameter for the cardlist shortcode enables us to designate a specific ratio of image to use in each card. If a ratio is not designated, the landscape (2:1) image will be used. + {% endcomment %} + {% if ratio != empty %} + {% if ratio == 'square' %} + {% assign imageurl = item.ImageSquare %} + {% elseif ratio == 'portrait' %} + {% assign imageurl = item.ImagePortrait %} + {% else %} + {% assign imageurl = item.ImageLandscape %} + {% endif %} + {% else %} + {% assign imageurl = item.ImageLandscape %} + {% endif %} + + {% assign summary = item.Summary %} + + {% capture content -%} + + {% if item.Campuses != '' and disablecampuses != 'true' %} + {% assign campuses = item.Campuses | Split:',' %} + {% assign campusesCount = campuses | Size %} + +

+ {% for campus in campuses %} + {% assign campusEntity = 'All' | FromCache:'Campus' | Where:'Name',campus | First %} + {% assign campusSlug = campusEntity.Name | Downcase | Replace:' ','-' %} + {{ campusEntity.ShortCode }} + {% endfor %} +

+ {% endif %} + +

+ {%- if summary and summary != empty -%} + {{ summary | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }} + {%- else -%} + {{ item.Content | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }} + {%- endif -%} +

+ {%- endcapture %} + + {% capture linkurl %}{% if item.LinkUrl and item.LinkUrl != empty %}{{ item.LinkUrl }}{% else %}{[ getPermalink urlprefix:'{{ urlprefix }}' cciid:'{{ item.Id }}' ]}{% endif %}{% endcapture %} + {% capture linktext %}{% if cardlinktext and cardlinktext != empty %}{{ cardlinktext }}{% else %}{{ type | Prepend:' ' | Prepend:item.ChannelVerb }}{% endif %}{% endcapture %} + + {% assign parentChannelId = item.ParentChannelId | AsInteger %} + {% assign parent = item.Parents | Where:'ChannelId', parentChannelId | First %} + {% if parent and parent != empty %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id', parent.Id | First %} + {% if parentItem and parentItem != empty %} + {% assign collectiontext = parentItem.Title %} + {% assign collectionurl = parentItem.Permalink %} + {% assign imageurl = parentItem.ImageLandscape %} + {% endif %} + {% else %} + {% assign collectiontext = '' %} + {% assign collectionurl = '' %} + {% endif %} + + {% if disableimages == 'true' %} + {% assign imageurl = null %} + {% endif %} + + {[ card guid:'{{ guid }}' dataset:'{{ dataset }}' cciid:'{{ cciid }}' id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' showtags:'{{ showtags }}' ]} + +
{% endfor -%} + {% else %}
+

No current items exist.

+
{% endif %} + +
+ +{[ pagination itemcount:'{{ itemcount }}' pagesize:'{{ pagesize }}' ]} + +
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/collection-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/collection-detail.lava new file mode 100644 index 00000000000..e9fb495e060 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/collection-detail.lava @@ -0,0 +1,100 @@ +{% comment %} + Redirect if item is expired +{% endcomment %} +{% assign itemId = Item.Id | AsInteger %} +{% assign CurrentPersonCanEdit = itemId | HasRightsTo:'Edit','Rock.Model.ContentChannelItem' %} +{% assign now = 'Now' | Date:'yyyyMMddHHmm' %} +{% assign publishDateTime = Item.PublishDateTime | Date:'yyyyMMddHHmm' %} +{% assign expireDateTime = Item.ExpireDateTime | Date:'yyyyMMddHHmm' %} + +{% if Item == null or Item == empty or publishDateTime > now or expireDateTime and expireDateTime != empty and expireDateTime <= now %} + {% if CurrentPersonCanEdit %} +

If you could not edit you would be redirected to /page-not-found as this entry is not active.

+ {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} +{% endif %} + +{% if Item and Item != empty %} + + {% comment %} + Write content channel item interaction + {% endcomment %} + {% assign currentUrl = 'Global'| Page:'Url' %} + {% assign siteId = 'Global' | Page:'SiteId' %} + {% assign source = 'Global'| PageParameter:'utm_source' %} + {% assign medium = 'Global'| PageParameter:'utm_medium' %} + {% assign campaign = 'Global'| PageParameter:'utm_campaign' %} + {% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ Item.ChannelId }}' channelname:'{{ Item.ChannelName }}' componententitytypeid:'209' componententityid:'{{ Item.Id }}' componentname:'{{ Item.Title }}' operation:'View' summary:'Viewed "{{ Item.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + + + {% assign pagePath = 'Global' | Page:'Path' %} + {% assign orgName = 'Global' | Attribute:'OrganizationName' %} + {% assign channelName = Item.ContentType | Pluralize %} + {% assign pageTitle = Item.ContentType %} + {% capture browserTitle %}{{ Item.Title }} | {{ channelName }} | {% if pagePath contains '/fuse/' %}Fuse | {% endif %}{{ orgName }}{% endcapture %} + + {{ browserTitle | SetPageTitle:'BrowserTitle' }} + {{ pageTitle | SetPageTitle:'PageTitle' }} + + {% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} + {[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + + {% if Item.BackgroundColor != empty %} + + {% endif %} + + + + {% assign id = Item.Id %} + {% assign cciid = Item.Id %} + {% assign dataset = Item.Dataset %} + {% assign guid = Item.Guid %} + {% assign title = Item.Title | Replace:"'","’" %} + {% assign content = Item.Summary | HtmlDecode | Replace:"'","’" %} + + {% assign isDateVisible = Item.IsDateVisible %} + {% if isDateVisible == 'Yes' %} + {% if Item.StartDateTime != empty %} + {% capture subtitle %}{[ formatDate date:'{{ Item.StartDateTime }}' ]}{% if Item.EndDateTime != empty and Item.StartDateTime != Item.EndDateTime %} - {[ formatDate date:'{{ Item.EndDateTime }}' ]}{% endif %}{% endcapture %} + {% endif %} + {% endif %} + + {% capture imageurl %}{{ Item.ImageSquare }}{% endcapture %} + {% capture imagealignment %}Left{% endcapture %} + {% capture video %}{{ Item.Video }}{% endcapture %} + {% capture ratio %}square{% endcapture %} + {% capture trimcopy %}Yes{% endcapture %} + + {% assign childType = Item.Children | First | Property:'Dataset' | PersistedDataset | First | Property:'ChannelName' | Split:' - ' | Index:1 %} + {% if childType and childType != empty %} + {% capture linkurl %}#entries{% endcapture %} + {% capture linktext %}{{ childType | Prepend:' ' | Prepend:Item.ChannelVerb }}{% endcapture %} + {% endif %} +
+ + {[ sideBySide id:'{{ id }}' dataset:'{{ dataset }}' cciid:'{{ cciid }}' guid:'{{ guid }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava | Escape }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + +
+ + {[ endscripturize ]} + + {% assign metaTitle = Item.MetaTitle %} + {% assign metaDescription = Item.MetaDescription %} + {% assign summary = Item.Summary | HtmlDecode | StripHtml | StripNewlines %} + {% assign content = Item.Content | HtmlDecode | StripHtml | StripNewlines | Truncate:240,'...' %} + {% capture article_author %}{[ communicators dataset:'{{ Item.Dataset }}' cciid:'{{ Item.Id }}' ]}{% endcapture %} + + {%- comment -%}If meta title is present, use it, otherwise use this item's title{%- endcomment -%} + {% capture title %}{% if metaTitle and metaTitle != empty %}{{ metaTitle }}{% else %}{{ Item.Title }}{% endif %}{% endcapture %} + + {%- comment -%}If meta description is present, use it, otherwise if this item has a summary, use it, otherwise, use this item's content{%- endcomment -%} + {% capture description %}{% if metaDescription and metaDescription != empty %}{{ metaDescription }}{% elseif summary and summary != empty %}{{ summary }}{% else %}{{ content }}{% endif %}{% endcapture %} + + {[ metaTags url:'{{ "Global" | Page:"Url" }}' title:'{{ title | Replace:"'","’" | Replace:"New Spring","NewSpring" }}' description:'{{ description | Replace:"'","’" }}' image:'{{ Item.ImageLandscape }}' article_published_time:'{{ Item.PublishDateTime | Date:'yyyy-MM-dd' }}' video:'{% if video and video != "" %}https://fast.wistia.net/embed/iframe/{{ video }}?videoFoam=true{% endif %}' article_author:'{{ article_author | Trim }}' ]} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/content-digest.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/content-digest.lava new file mode 100644 index 00000000000..b01e8e166ab --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/content-digest.lava @@ -0,0 +1,50 @@ +
+
+
+

{{ title }}

+
+ +
+
+ {% for id in contentChannelItemIds limit:1 %} + {% assign idInt = id | AsInteger %} + {% assign item = 'content_channel_items' | PersistedDataset | Where:'Id',idInt | First | Property:'PersistedDataset' | PersistedDataset | Where:'Id',idInt | First %} + + {[ image id:'id{{ id }}' title:'{{ item.Title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ item.ImageSquare | WithFallback:'', item.ImageLandscape }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' contentalignment:'end' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'square' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' foregroundcolor:'white' backgroundcolor:'#000' linktext:'{{ item.ChannelVerb }} Now' linkurl:'{{ item.Permalink | Split:".cc/" | Last | Prepend:"/" }}' hideforegroundelements:'' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' blockwidth:'{{ blockwidth }}' gradientamount:'75' ]} + {% endfor %} + +
+
+ +
+ {% for id in contentChannelItemIds offset:1 limit:4 %} + {% assign idInt = id | AsInteger %} + {% assign item = 'content_channel_items' | PersistedDataset | Where:'Id',idInt | First | Property:'PersistedDataset' | PersistedDataset | Where:'Id',idInt | First %} + + + + {% assign isEven = forloop.index0 | Modulo:2 %} + {% if isEven == 0 %} +
+ {% endif %} + + {% endfor %} +
+ +
+
+ +
+ {% if linkurl and linkurl != empty %} + {{ linktext }}   + {% endif %} +
+
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/editorial-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/editorial-detail.lava new file mode 100644 index 00000000000..d895b325c24 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/editorial-detail.lava @@ -0,0 +1,313 @@ +{% comment %} + Redirect if item is expired +{% endcomment %} +{% assign itemId = Item.Id | AsInteger %} +{% assign CurrentPersonCanEdit = itemId | HasRightsTo:'Edit','Rock.Model.ContentChannelItem' %} +{% assign now = 'Now' | Date:'yyyyMMddHHmm' %} +{% assign publishDateTime = Item.PublishDateTime | Date:'yyyyMMddHHmm' %} +{% assign expireDateTime = Item.ExpireDateTime | Date:'yyyyMMddHHmm' %} + +{% if Item == null %} + {% if CurrentPersonCanEdit %} +

If you could not edit you would be redirected to /page-not-found as this entry is not active.

+ {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} +{% endif %} + +{% if Item.ChannelId == 17 %} + {% if expireDateTime and expireDateTime != empty and expireDateTime <= now %} + {% if CurrentPersonCanEdit %} +

If you could not edit you would be redirected to /page-not-found as this entry is not active.

+ {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} + {% endif %} +{% else %} + {% if publishDateTime > now or expireDateTime and expireDateTime != empty and expireDateTime <= now %} + {% if CurrentPersonCanEdit %} +

If you could not edit you would be redirected to /page-not-found as this entry is not active.

+ {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} + {% endif %} +{% endif %} + +{% if Item and Item != empty and Item != null %} + + {% comment %} + Write content channel item interaction + {% endcomment %} + {% assign currentUrl = 'Global'| Page:'Url' %} + {% assign siteId = 'Global' | Page:'SiteId' %} + {% assign source = 'Global'| PageParameter:'utm_source' %} + {% assign medium = 'Global'| PageParameter:'utm_medium' %} + {% assign campaign = 'Global'| PageParameter:'utm_campaign' %} + {% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ Item.ChannelId }}' channelname:'{{ Item.ChannelName }}' componententitytypeid:'209' componententityid:'{{ Item.Id }}' componentname:'{{ Item.Title }}' operation:'View' summary:'Viewed "{{ Item.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + + {% comment %} + Set item properties + {% endcomment %} + {% capture date %}{[ formatDate date:'{{ Item.PublishDateTime }}' ]}{% endcapture %} + {% capture tags %}{[ tags dataset:'{{ Item.Dataset }}' cciid:'{{ Item.Id }}' ]}{% endcapture %} + {% assign tags = tags | Trim %} + {% capture communicators %}{[ communicators dataset:'{{ Item.Dataset }}' cciid:'{{ Item.Id }}' ]}{% endcapture %} + {% capture scripturereferences %}{% for scripture in Item.Scriptures %}{{ scripture.Book }} {{ scripture.Reference }}{% unless forloop.last %}, {% endunless %}{% endfor %}{% endcapture %} + {% assign scripturereferences = scripturereferences | Trim %} + {% assign itemsManuallyOrdered = Item.ItemsOrderedManually %} + + {% comment %} + Set parent properties + {% endcomment %} + {% if Item.Parents != null %} + {% assign parentChannelId = Item.ParentChannelId | AsInteger %} + {% assign parentItem = Item.Parents | Where:'ChannelId', parentChannelId | First %} + {% assign parentItem = parentItem.Dataset | PersistedDataset | Where:'Id',parentItem.Id | First %} + {% assign itemsManuallyOrdered = parentItem.ChildItemsOrderedManually %} + {% assign parentImage = parentItem.ImageLandscape %} + {% capture parentPermalink %}{[ getPermalink cciid:'{{ parentItem.Id }}' ]}{% endcapture %} + + {% if showfuturecontent == 'true' %} + {% assign totalChildren = parentItem.Children | Size %} + {% else %} + {% assign now = 'Now' | Date:'yyyyMMddTHHmmss' %} + {% capture publishedItems -%}[ + {%- for child in parentItem.Children -%} + {% assign publishedComparable = child.PublishDateTime | Date:'yyyyMMddTHHmmss' %} + {%- if publishedComparable <= now -%} + {{ child | ToJSON | Append:',' }} + {%- endif -%} + {%- endfor -%} + ]{%- endcapture %} + {% assign publishedItemsObject = publishedItems | FromJSON %} + {% assign totalChildren = publishedItemsObject | Size %} + {% endif %} + + {% comment %} + Write parent interaction + {% endcomment %} + {% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ parentItem.ChannelId }}' channelname:'{{ parentItem.ChannelName }}' componententitytypeid:'209' componententityid:'{{ parentItem.Id }}' componentname:'{{ parentItem.Title }}' operation:'View' summary:'Viewed "{{ parentItem.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + + {% endif %} + + {% comment %} + Set page/browser titles + {% endcomment %} + {% assign pagePath = 'Global' | Page:'Path' %} + {% assign orgName = 'Global' | Attribute:'OrganizationName' %} + {% capture browserTitle %}{{ Item.Title }}{% if parentTitle and parentTitle != empty %} | {{ parentTitle }}{% endif %} | {{ Item.ContentType | Pluralize }} | {% if pagePath contains '/fuse/' %}Fuse | {% endif %}{{ orgName }}{% endcapture %} + + {{ browserTitle | SetPageTitle:'BrowserTitle' }} + {{ Item.ContentType | SetPageTitle:'PageTitle' }} + + {% comment %} + Set page background color from parent property + {% endcomment %} + {% assign parentBackgroundColor = parentItem.BackgroundColor %} + {% if parentBackgroundColor != empty %} + + {% endif %} + + + {% comment %} + Calculate prev/next entry links + {% endcomment %} + {% if itemsManuallyOrdered == 'true' %} + {% assign currentSlug = 'Global' | PageParameter:'Slug' %} + {% assign itemIndex = parentItem.Children | Where:'Slug', currentSlug | Select:'Index' | First | Plus:1 %} + {% assign prevIndex = itemIndex | Minus:2 %} + {% assign nextIndex = itemIndex %} + + {% if itemIndex and itemIndex != empty %} + {% assign label = itemIndex | Prepend:'Session '%} + {% endif %} + {% endif %} + + {% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} + {[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + +
+
+ + {% if label and label != empty %} +

{{ label }}

+ {% endif %} + +

{{ Item.Title }}

+ + {% if parentItem and parentItem != empty %} + From {% if parentPermalink != empty %}{% endif %}{{ parentItem.Title }}{% if parentPermalink != empty %}{% endif %} + {% endif %} + + {% if Item.Subtitle != empty %} +

{{ Item.Subtitle }}

+ {% endif %} + + {% if communicators and communicators != '' %} +

{{ communicators }}

+ {% endif %} + + {% if Item.ImageLandscape and Item.ImageLandscape != empty %} +
+ {% endif %} + + {% if scripturereferences and scripturereferences != empty %} +
+

Read

+

{{ scripturereferences }}

+
+ {% endif %} + + {% if Item.Video != empty %} +

+ {[ wistiaButton id:'{{ Item.Video }}' buttontext:'' buttonclasses:'' contentchannelitemid:'{{ Item.Id }}' entitytypeid:'' entityid:'' ]} +

+ {% endif %} + + {{ Item.Content | HtmlDecode }} + +
+
+
+ Share +
+
+
+ + {% if subscribeLinkUrl and subscribeLinkUrl != empty %} +
+

{{ subscribeHeading }}

+

{{ subscribeText }}

+ {{ subscribeLinkText }} +
+ {% endif %} + + {%- comment -%} + Entry navigation + {%- endcomment -%} + {% if itemsManuallyOrdered == 'true' %} +
+
+ {% if itemIndex and itemIndex != 0 %} Prev{% endif %} +
+

{{ itemIndex }} of {{ totalChildren }}

+
+ {% if itemIndex and itemIndex != totalChildren %}Next {% endif %} +
+
+ {% endif %} + + {% comment %} + Define data for social sharing modal + {% endcomment %} + {% assign itemToken = 'cci' | Append:Item.ChannelId | Append:Item.Id %} + {% assign shareurl = 'Global' | Page:'Url' | CreateShortLink:itemToken, 18, true, 7 %} + {% assign shareimageurl = Item.ImageLandscape %} + {% assign shareauthor = 'newspring' %} + {% assign sharetitle = Item.Title %} + {%- capture sharesummary -%} + {% if Item.Summary and Item.Summary != empty %} + {{ Item.Summary | StripHtml | HtmlDecode | Truncate:150,'...' }} + {% else %} + {{ Item.Content | StripHtml | HtmlDecode | Truncate:150,'...' }} + {% endif %} + {%- endcapture -%} + {% assign sharehashtag = '' %} + + {[ modalShare ]} + + {% comment %} + Display date/tags if they should be visible + {% endcomment %} + {% if Item.IsDateVisible == 'Yes' %} + {% if tags and tags != empty %} +
+
+ {{ tags }} +
+

{{ date }}

+
+
+ {% else %} +
+
+

{{ date }}

+
+
+ {% endif %} + {% else %} + {% if tags and tags != empty and tags != '' %} +
+
+ {{ tags }} +
+
+ {% endif %} + {% endif %} + +
+
+ + {[ endscripturize ]} + + {% comment %} + Setup structured data JSON + {% endcomment %} + + {% capture tagsData %}{% for tag in Item.Tags %}{{ tag.Name }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} + + + {% comment %} + Define data to be used for meta tags + {% endcomment %} + {% capture title %}{% if Item.MetaTitle and Item.MetaTitle != empty %}{{ Item.MetaTitle }}{% else %}{{ Item.Title }}{% endif %}{% endcapture %} + + {% capture description %}{% if Item.MetaDescription and Item.MetaDescription != empty %}{{ Item.MetaDescription }}{% elseif Item.Summary and Item.Summary != empty %}{{ Item.Summary | HtmlDecode | StripHtml | StripNewlines }}{% else %}{{ Item.Content | HtmlDecode | StripHtml | StripNewlines | Truncate:240,'...' }}{% endif %}{% endcapture %} + + {[ metaTags url:'{{ "Global" | Page:"Url" }}' title:'{{ title | Replace:"'","’" | Replace:"New Spring","NewSpring" }}' description:'{{ description | Replace:"'","’" }}' image:'{{ Item.ImageLandscape }}' article_published_time:'{{ Item.PublishDateTime | Date:'yyyy-MM-dd' }}' video:'{% if Item.Video and Item.Video != empty %}https://fast.wistia.net/embed/iframe/{{ Item.Video }}?videoFoam=true{% endif %}' article_author:'{{ communicators | Trim }}' ]} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-cards.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-cards.lava new file mode 100644 index 00000000000..b647c7efa5f --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-cards.lava @@ -0,0 +1,47 @@ +{% assign fallbackImage = 'Global' | Attribute:'ImageSquare','Url' %} +{% assign displayCount = 0 | AsInteger %} +{% assign campusid = campusid | AsInteger %} + +
+ {%- for event in Items -%} + {%- assign linkages = event.Linkages -%} + {%- assign campusLinkage = linkages | Where:'GroupCampusId',campusid | First -%} + {%- if campusid != empty and campusLinkage != null -%} + {%- assign slug = campusLinkage.UrlSlug | Prepend:'/events/' -%} + {%- elseif linkages != empty -%} + {%- assign slug = linkages | First | Property:'UrlSlug' | Prepend:'/events/' -%} + {%- else -%} + {%- assign slug = event.DetailsUrl -%} + {%- endif -%} + {%- capture imageurl -%}{{ event.ImageSquare | Default:fallbackImage }}{%- endcapture -%} + {%- if slug and slug != empty -%}{%- endif -%} + {%- if displayCount == 3 -%} + {%- break -%} + {%- endif -%} + {%- endfor -%} +
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-detail.lava new file mode 100644 index 00000000000..77dfc654eb2 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-detail.lava @@ -0,0 +1,97 @@ +{% assign eventItemId = 'Global' | PageParameter:'EventItemId' %} +{% assign fallbackImage = 'Global' | Attribute:'ImageLandscape' %} + +{% eventitem id:'{{ eventItemId }}' iterator:'events' %} + {% assign event = events | First %} +{% endeventitem %} + +{% capture id %}{% endcapture %} +{% capture title %}{{ event.Name | Replace:"'","’" }}{% endcapture %} +{% capture content %}

{{ event.Summary | Replace:"'","’" }}

{% endcapture %} +{% capture textalignment %}{% endcapture %} +{% capture label %}{% endcapture %} +{% capture subtitle %}{% endcapture %} +{% capture imageurl %}{{ event | Attribute:'ImageLandscape' | WithFallback:'',fallbackImage }}{% endcapture %} +{% capture imageoverlayurl %}{% endcapture %} +{% capture imagealignment %}{% endcapture %} +{% capture imageopacity %}{% endcapture %} +{% capture imageflip %}{% endcapture %} +{% capture imageblur %}{% endcapture %} +{% capture grayscale %}{% endcapture %} +{% capture backgroundvideourl %}{% endcapture %} +{% capture lava %}{% endcapture %} +{% capture video %}{% endcapture %} +{% capture ratio %}{% endcapture %} +{% capture trimcopy %}{% endcapture %} +{% capture linkcolor %}{% endcapture %} +{% capture linkurl %}{% endcapture %} +{% capture linktext %}{% endcapture %} +{% capture backgroundcolor %}{% endcapture %} +{% capture hideforegroundelements %}{% endcapture %} + +{% assign eventPageGuids = event | Attribute:'EventPage','RawValue' | Split:',' %} +{% assign eventPageGuidsCount = eventPageGuids | Size %} +{% if eventPageGuidsCount == 2 %} + {% capture eventPageRoute %}/{[ pageRouteFromRouteGuid guid:'{{ eventPageGuids | Last }}' ]}{% endcapture %} +{% endif %} + +{% capture lava %} + {% if eventPageRoute and eventPageRoute != empty %} + Learn More + {% endif %} + Times & Locations +{% endcapture %} + +{[ sideBySide id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + + +{% assign occurrencesWithNextStartDateTime = 0 %} +{% for occurrence in event.EventItemOccurrences %} + {% assign nextStartDateTime = occurrence | Property:'NextStartDateTime' %} + {% if nextStartDateTime %} + {% assign occurrencesWithNextStartDateTime = occurrencesWithNextStartDateTime | Plus:1 %} + {% endif %} +{% endfor %} + +{% assign occurrences = event.EventItemOccurrences | OrderBy:'NextStartDateTime,Campus.Name desc' %} + +
+ {% for occurrence in occurrences %}{% assign nextStartDateTime = occurrence | Property:'NextStartDateTime' %}{% if nextStartDateTime %}
+ {% assign occurrenceCampus = occurrence.Campus | WithFallback:'',null %} + {% assign occurrenceUpcomingDates = occurrence | Property:'Schedule' | Property:'iCalendarContent' | DatesFromICal:11 %} + {% assign upcomingDatesSize = occurrenceUpcomingDates | Size %} + {% assign scheduleFriendlyText = occurrence.Schedule.FriendlyScheduleText | StripHtml | Replace:':00','' | Replace:' AM','am
' | Replace:' PM','pm
' %} + {% assign registrationUrlSlug = occurrence.Linkages | First | Property:'UrlSlug' %} + {% capture title %}{% if occurrenceCampus and occurrenceCampus != empty %}{{ occurrence.Campus.Name }}{% else %}All Campuses{% endif %}{% endcapture %} + + {% capture content %} + {% assign note = occurrence.Note | StripHtml %} + {% if note and note != empty %} +

{{ note }}

+ {% endif %} + +

{[ formatDate date:'{{ nextStartDateTime }}' ]} @ {{ nextStartDateTime | Date:'h:mmtt' | Downcase | Replace:':00','' }}{% if upcomingDatesSize > 1 %}
{% endif %}

+ + {% if upcomingDatesSize > 1 %} +
+
    + {% for date in occurrenceUpcomingDates offset:1 %} +
  • {[ formatDate date:'{{ date }}' ]} @ {{ date | Date:'h:mmtt' | Downcase | Replace:':00','' }}
  • + {% endfor %} +
+
+ {% endif %} + + {% if occurrence.Location and occurrence.Location != empty %} +

{{ occurrence.Location }}

+ {% endif %} + {% endcapture %} + + {% if registrationUrlSlug and registrationUrlSlug != empty %} + {% assign linktext = 'Register Now' %} + {% assign linkurl = registrationUrlSlug | Prepend:'/registration/' %} + {% endif %} + + {[ card title:'{{ title }}' titlesize:'h4' content:'{{ content }}' imageurl:'' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' ]} +
{% endif %}{% endfor %} +
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-list.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-list.lava new file mode 100644 index 00000000000..522a4de139e --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/events-list.lava @@ -0,0 +1,99 @@ +{% assign offset = 'Global' | PageParameter:'Page' | Minus:1 %} +{% assign currentMonthYear = 'Now' | Date:'MMyyyy' %} +{% assign displayMonthYear = 'Now' | Date | DateAdd:offset,'M' | Date:'MMyyyy' %} + +{% assign fallbackImage = 'Global' | Attribute:'ImageSquare','Url' %} +{% assign Items = 'events' | PersistedDataset %} +{% assign campusid = campusid | AsInteger %} + +{% for item in Items %} + {% assign startDateMonthYear = item.StartDateTime | Date:'MMyyyy' %} + {% if startDateMonthYear != displayMonthYear %} + {% assign Items = Items | RemoveFromArray:item %} + {% endif%} +{% endfor %} + +//- Filter events if campus-specific +{% if campusid and campusid != empty %} + {% for event in Items %} + {% if event.Campus.Id == campusid or event.Campus.Id == null %} + {% else %} + {% assign Items = Items | RemoveFromArray:event %} + {% endif %} + {% endfor %} +{% endif %} + +
+{% for event in Items %} + + //- Display header for first event of each month + {% assign eventMonth = event.StartDateTime | Date:'MMMM' %} + {% if eventMonth != prevEventMonth %} +

{{ eventMonth }} {{ event.StartDateTime | Date:'yyyy' }}

+ {% endif %} + {% assign prevEventMonth = eventMonth %} + + //- Define URL for event tile + {% assign linkages = event.Linkages %} + {% assign campusLinkage = linkages | Where:'GroupCampusId',campusid | First %} + {% if campusid != empty and campusLinkage != null %} + //- Use campus linkage + {% assign slug = campusLinkage.UrlSlug | Prepend:'/events/' %} + {% elseif linkages != empty %} + //- Use all campuses linkage + {% assign slug = linkages | First | Property:'UrlSlug' | Prepend:'/events/' %} + {% else %} + //- Use details url + {% assign slug = event.DetailsUrl %} + {% endif %} + + //- Don't show an event that doesn't have a link + {% if slug and slug != empty %} + + +
+
+
+
+
+ +
+
+

{{ event.Name }}

+
+ {% assign startDateComparison = event.StartDateTime | Date:'yyyyMMdd'%} + {% assign endDateComparison = event.EndDateTime | Date:'yyyyMMdd'%} + {% assign startTimeComparison = event.StartDateTime | Date:'HHmm'%} + {% assign endTimeComparison = event.EndDateTime | Date:'HHmm'%} +

+ {% if startDateComparison != endDateComparison %} + {{ event.StartDateTime | Date:'MMM d, h:mm tt' }} - {{ event.EndDateTime | Date:'MMM d, h:mm tt' }} + {% else %} + {% if startTimeComparison != endTimeComparison %} + {{ event.StartDateTime | Date:'MMM d, h:mm' }} - {{ event.EndDateTime | Date:'h:mm tt' }} + {% else %} + {{ event.StartDateTime | Date:'MMM d, h:mm tt' }} + {% endif %} + {% endif %} +

+
+

{{ event.Campus.Name | Default:'All Campuses' }}

+
+
+ +
+
+
+
+ {% endif %} +{% endfor %} +
+ +{[ pagination itemcount:'144' pagesize:'12' ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-leader-toolbox.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-leader-toolbox.lava new file mode 100644 index 00000000000..014f4758f36 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-leader-toolbox.lava @@ -0,0 +1,18 @@ +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign groupId = group.Id | AsString %} +{% assign startDate = group | Attribute:'OpportunityDateRange','RawValue' | Split:',' | First %} +{% assign endDate = group | Attribute:'OpportunityDateRange','RawValue' | Split:',' | Last %} + +
+

{{ group.Name }}

+
+
+

{{ group | Attribute:'OpportunityLocation' }}

+

{[ formatDate date:'{{ startDate }}' ]} - {[ formatDate date:'{{ endDate }}' ]}

+
+

+ Trip Page +

+
+
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-participant.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-participant.lava new file mode 100644 index 00000000000..cc749536460 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-participant.lava @@ -0,0 +1,112 @@ +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign startDate = group | Attribute:'OpportunityStartDate' %} +{% assign endDate = group | Attribute:'OpportunityEndDate' %} +{% assign groupMemberId = 'Global' | PageParameter:'GroupMemberId' %} +{% assign groupMember = group.Members | Where:'Id',groupMemberId | First %} +{% assign groupMemberPerson = groupMember.Person %} + +{% capture browserTitle %}{{ groupMember.Person.FullName | Possessive }} {{ group | Attribute:'OpportunityType' }} | {{ group | Attribute:'OpportunityTitle' }} | Missions | NewSpring.cc{% endcapture %} +{{ browserTitle | SetPageTitle:'BrowserTitle' }} + +{% sql return:'fundraising' %} + SELECT + ( + SELECT + CASE + WHEN SUM(ftd.Amount) IS NULL THEN 0.00 + ELSE CAST(SUM(ftd.Amount) AS INT) + END + FROM FinancialTransaction ft + JOIN FinancialTransactionDetail ftd + ON ftd.TransactionId = ft.Id + WHERE ftd.EntityTypeId = 90 + AND ftd.EntityId = gm.Id + ) 'AmountRaised', + CASE + WHEN av2.[Value] IS NOT NULL AND av2.[Value] != '' THEN CAST(av2.[Value] AS INT) + ELSE CAST(av.[Value] AS INT) + END 'FundraisingGoal' + FROM GroupMember gm + JOIN [Group] g + ON gm.GroupId = g.Id + LEFT JOIN AttributeValue av2 + ON av2.EntityId = gm.Id + AND av2.AttributeId = 46538 + LEFT JOIN AttributeValue av + ON av.EntityId = g.Id + AND av.AttributeId = 46527 + WHERE gm.Id = {{ groupMemberId }} + AND gm.GroupMemberStatus = 1 + AND gm.IsArchived = 0 +{% endsql %} + +{% assign fundraisingGoal = fundraising | First | Property:'FundraisingGoal' %} +{% assign amountRaised = fundraising | First | Property:'AmountRaised' %} +{% assign percentRaised = amountRaised | DividedBy:fundraisingGoal,2 | Times:100 | AtMost:100 %} + +
+
+
+
+
+

{{ groupMemberPerson.FullName | Possessive }} Trip

+

{{ group | Attribute:'OpportunityLocation' }}

+

{[ formatDate date:'{{ startDate }}' ]} - {[ formatDate date:'{{ endDate }}' ]}

+
+

+ {{ group | Attribute:'OpportunityType' }} Page + Copy Profile Link +

+ + + + +
+
+ +
+

Fundraising Progress

+

{{ amountRaised | FormatAsCurrency }} {{ fundraisingGoal | FormatAsCurrency }}

+ + {[ progressBar percent:'{{ percentRaised }}' colorstatus:'true' striped:'true' ]} + +

Contribute to {{ groupMember.Person.NickName | Possessive }} {{ group | Attribute:'OpportunityType' }}

+
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-view.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-view.lava new file mode 100644 index 00000000000..fcbf0787621 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-opportunity-view.lava @@ -0,0 +1,99 @@ +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign groupId = group.Id | AsString %} +{% assign startDate = group | Attribute:'OpportunityDateRange','RawValue' | Split:',' | First %} +{% assign endDate = group | Attribute:'OpportunityDateRange','RawValue' | Split:',' | Last %} +{% assign groupMember = CurrentPerson | Group: groupId,'All' | First %} +{% assign now = 'Now' | Date:'yyyyMMddHHmm' %} +{% assign donationsEndDate = group | Attribute:'AllowDonationsUntil' | Date:'yyyyMMddHHmm' %} + +{% capture id %}{% endcapture %} +{% capture title %}{{ group.Name | Replace:"'","’" }}{% endcapture %} +{% capture content %}

{{ group | Attribute:'OpportunityLocation' }}
{[ formatDate date:'{{ startDate }}' ]} - {[ formatDate date:'{{ endDate }}' ]}

{% endcapture %} +{% capture textalignment %}{% endcapture %} +{% capture label %}{% endcapture %} +{% capture subtitle %}{% endcapture %} +{% capture imageurl %}{{ group | Attribute:'OpportunityImage','Url' }}{% endcapture %} +{% capture imageoverlayurl %}{% endcapture %} +{% capture imagealignment %}{% endcapture %} +{% capture imageopacity %}.75{% endcapture %} +{% capture imageflip %}{% endcapture %} +{% capture imageblur %}{% endcapture %} +{% capture grayscale %}{% endcapture %} +{% capture backgroundvideourl %}{% endcapture %} +{% capture lava %}{% endcapture %} +{% capture video %}{{ group | Attribute:'OpportunityVideo' }}{% endcapture %} +{% capture ratio %}{% endcapture %} +{% capture trimcopy %}{% endcapture %} +{% capture linkcolor %}{% endcapture %} +{% capture backgroundcolor %}{% endcapture %} +{% capture linkurl %}{% endcapture %} +{% capture linktext %}{% endcapture %} +{% capture hideforegroundelements %}{% endcapture %} + +{[ hero id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + + +{% if groupMember and groupMember != empty %} + + {% sql return:'amounts' %} + SELECT SUM(ftd.Amount) 'AmountRaised' + FROM FinancialTransaction ft + JOIN FinancialTransactionDetail ftd + ON ftd.TransactionId = ft.Id + WHERE ftd.EntityTypeId = 90 + AND ftd.EntityId = {{ groupMember.Id }} + {% endsql %} + + {% assign groupFundraisingGoal = group | Attribute:'IndividualFundraisingGoal','RawValue' %} + {% assign individualFundraisingGoal = groupMember | Attribute:'IndividualFundraisingGoal','RawValue' %} + {% assign fundraisingGoal = individualFundraisingGoal | WithFallback:'',groupFundraisingGoal | AsInteger %} + {% assign amountRaised = amounts | First | Property:'AmountRaised' | WithFallback:'','0' | AsInteger %} + {% assign percentageRaised = amountRaised | DividedBy:fundraisingGoal,2 | Times:100 %} +
+
+
+

Your Fundraising Progress

+
+
+ +
+

${{ amountRaised | Format:'###,###,###' | Replace:'.00','' | WithFallback:'','0' }}/{{ fundraisingGoal | Format:'$###,###.##' }}

+
+
+ + {[ progressBar percent:'{{ percentageRaised }}' striped:'true' animated:'' ]} + +
+

+ Participant Page + {% if percentageRaised and percentageRaised < 100 %} + Make Payment + {% endif %} +

+ +
+
+
+{% endif %} + +
+
+
+ {% assign applyUrl = '/workflows/206?Trip=' | Append:group.Name | Append:'&TripType=' | Replace:"'","’" %} +

+ Apply Now + + {% if now < donationsEndDate %} + Donate to a Participant + {% endif %} + + {% if groupMember.GroupRole.Id == 341 %} + Leader Toolbox + {% endif %} +

+
+ {{ group | Attribute:'OpportunityDetails' }} +
+
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-progress.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-progress.lava new file mode 100644 index 00000000000..e9d173129af --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/fundraising-progress.lava @@ -0,0 +1,101 @@ +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign groupId = group.Id | AsString %} + +{% if groupId and groupId != empty %} +
+

Fundraising Progress

+ + {% sql return:'members' %} + SELECT + gm.Id, + gm.PersonId, + gtr.Name, + p.LastName, + p.NickName, + ( + SELECT + CASE + WHEN SUM(ftd.Amount) IS NULL THEN 0.00 + ELSE SUM(ftd.Amount) + END + FROM FinancialTransaction ft + JOIN FinancialTransactionDetail ftd + ON ftd.TransactionId = ft.Id + WHERE ftd.EntityTypeId = 90 + AND ftd.EntityId = gm.Id + ) 'AmountRaised', + CASE + WHEN av2.[Value] IS NOT NULL AND av2.[Value] != '' THEN av2.[Value] + ELSE av.[Value] + END 'FundraisingGoal' + FROM GroupMember gm + JOIN [Group] g + ON gm.GroupId = g.Id + JOIN Person p + ON gm.PersonId = p.Id + JOIN GroupTypeRole gtr + ON gm.GroupRoleId = gtr.Id + LEFT JOIN AttributeValue av2 + ON av2.EntityId = gm.Id + AND av2.AttributeId = 46538 + LEFT JOIN AttributeValue av + ON av.EntityId = g.Id + AND av.AttributeId = 46527 + WHERE gm.GroupId = {{ groupId }} + AND gm.GroupMemberStatus = 1 + AND gm.IsArchived = 0 + ORDER BY gtr.[Order], p.LastName, p.NickName + {% endsql %} + + {% assign totalGoal = 0 %} + {% assign totalRaised = 0 %} + {% for member in members %} + {% assign totalGoal = totalGoal | Plus:member.FundraisingGoal %} + {% assign totalRaised = totalRaised | Plus:member.AmountRaised %} + {% endfor %} + {% assign totalPercent = totalRaised | DividedBy:totalGoal,2 | Times:100 | AtMost:100 %} + +
+
+
+

{{ totalRaised | FormatAsCurrency | Replace:'.00','' }} of {{ totalGoal | FormatAsCurrency | Replace:'.00','' }}

+

Total Progress

+
+ + {[ progressBar percent:'{{ totalPercent }}' striped:'true' ]} + + +
+ + + +
    + {% for member in members %} + {% assign fundraisingGoal = member.FundraisingGoal | AsInteger %} + {% assign amountRaised = member.AmountRaised | AsInteger %} + {% assign percentRaised = amountRaised | DividedBy:fundraisingGoal,2 | Times:100 | AtMost:100 %} +
  • + {% assign memberPerson = member.PersonId | PersonById %} +
    +
    +

    {{ amountRaised | FormatAsCurrency | Replace:'.00','' }} of {{ fundraisingGoal | FormatAsCurrency | Replace:'.00','' }}

    +

    {{ memberPerson.FullName }}

    +
    + + {[ progressBar percent:'{{ percentRaised }}' striped:'true' ]} + +
    +
    +
  • + {% endfor %} +
+ +
+
+{% else %} +

No GroupId specified.

+{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-history.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-history.lava new file mode 100644 index 00000000000..dc56527d0bf --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-history.lava @@ -0,0 +1,293 @@ +{% assign businessIdParam = 'Global' | PageParameter:'BusinessId' %} +{% assign pageId = 'Global' | Page:'Id' %} +{% assign CurrentPersonCanEdit = pageId | HasRightsTo:'Edit','Rock.Model.Page' +%} + +{% sql return:'businessIds' %} +SELECT gm2.PersonId +FROM GroupMember gm2 +WHERE gm2.GroupId IN ( +SELECT g.Id +FROM GroupMember gm +JOIN [Group] g +ON gm.GroupId = g.Id +JOIN GroupType gt +ON g.GroupTypeId = gt.Id +WHERE gm.PersonId = {{ CurrentPerson.Id }} +AND gt.Id = 11 +AND gm.GroupRoleId = 25 +) +AND gm2.PersonId != {{ CurrentPerson.Id }} +AND gm2.GroupRoleId = 5 +{% endsql %} + +{% assign businessesCount = businessIds | Size %} +{% if businessIdParam and businessIdParam != empty %} +{% assign businessId = businessIds | Where:'PersonId',businessIdParam | First | +Property:'PersonId' %} +{% endif %} + +{% assign businessProfile = businessId | PersonById %} + +{%- comment -%} +Redirect to 404 if current person isn't connected to the +business that matches the ID in query string +{%- endcomment -%} +{% if businessId and businessId == empty %} +{% if CurrentPersonCanEdit %} +

If you did not have edit rights to this page, you + would be redirected to /page-not-found.

+{% else %} +{{ '/page-not-found' | PageRedirect }} +{% endif %} +{% endif %} + +
+

Giving History

+ + {%- comment -%}Setting up date range variables{%- endcomment -%} + {% capture startDate %}1/1/{{ 'Now' | Date:'yyyy' }}{% endcapture %} + {% assign endDate = 'Now' | Date:'M/d/yyyy' %} + + {%- comment -%}Overwrite date range variables if present as query string + params{%- endcomment -%} + {% assign queryParms = 'Global' | Page:'QueryString' %} + {% for item in queryParms %} + {% assign kvItem = item | PropertyToKeyValue %} + {% if kvItem.Key == 'startDate' %} + {% assign startDate = kvItem.Value %} + {% endif %} + {% if kvItem.Key == 'endDate' %} + {% assign endDate = kvItem.Value %} + {% endif %} + {% endfor %} + +
+
+ + {[ accordion ]} + [[ item title:'  Filters' ]] + + {% if businessIds and businessIds != empty %} +

+ Personal + Contributions + {% for businessRow in businessIds %} + {% assign business = businessRow.PersonId | PersonById %} + {{ + business.LastName }} + {% endfor %} +

+ {% endif %} + +

Date Range

+ {% assign now = 'Now' %} + {% assign currentMonth = now | Date:'M' %} +

+ YTD + Last Month + Last Year + All Transactions +

+ + +

Custom Dates

+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+

+ Filter + Transactions +

+ + [[ enditem ]] + {[ endaccordion ]} + +
+
+ + {% comment %} + Calculate Sum of Transactions + {% endcomment %} + + {% assign sumTotal = 0 %} + {% for row in rows %} + + {% assign sumTotal = sumTotal | Plus:row.Amount %} + {% endfor %} + +

Total {{ sumTotal | + FormatAsCurrency }}

+

{{ startDate | Date:'MMM d, yyyy' + }} - {{ endDate | Date:'MMM d, yyyy' }}

+ +

+ {% if businessId == null %} + + {{ + 'Now' | DateAdd:-1,'y' | Date:'yyyy' }} Contributions + {{ + 'Now' | Date:'yyyy' }} Contributions + {% else %} + {{ + 'Now' | DateAdd:-1,'y' | Date:'yyyy' }} Contributions + {{ + 'Now' | Date:'yyyy' }} Contributions + {% endif %} +

+
+
+ + {% for row in rows %} + {% assign giver = row.PersonId | PersonById %} +
+ +
+
+

{{ row.PublicName1 }}

+
+
+

{{ row.Amount | + FormatAsCurrency }}

+
+
+ +

+ {{ row.TransactionDateTime | Date:'MMM d, yyyy' }}

+

+  {{ row.NickName }} {{ row.LastName + }}

+ +

View Transaction

+ +
+ + {% endfor %} +
+ + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-schedules.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-schedules.lava new file mode 100644 index 00000000000..22826e099fa --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-schedules.lava @@ -0,0 +1,49 @@ +{% sql %} + SELECT TOP 1 AuthorizedPersonAliasId + FROM FinancialScheduledTransaction + WHERE Id = '{{ ScheduledTransaction.Id }}' +{% endsql %} + +{% assign giver = results | First | Property:'AuthorizedPersonAliasId' | PersonByAliasId %} + +{% comment %} + Sum Transactions together +{% endcomment %} +{% assign total = 0 %} +{% for transaction in ScheduledTransaction.TransactionDetails %} + {% assign total = total | Plus:transaction.Amount %} +{% endfor %} + +{% definedvalue where:'DefinedTypeId == 11 && Value == "{{ ScheduledTransaction.CreditCardType }}"' iterator:'values' %} + {% for value in values %} + {% assign ccClass = value | Attribute:'IconCSSClass' %} + {% assign ccColor = value | Attribute:'Color' %} + {% endfor %} +{% enddefinedvalue %} + +

Schedule #{{ ScheduledTransaction.Id }}

+ +
+
+ +

+ {{ ScheduledTransaction.FrequencyDescription }} + {% if ScheduledTransaction.CurrencyType == 'Credit Card' %}{{ ScheduledTransaction.CreditCardType }}{% else %}ACH{% endif %} {{ ScheduledTransaction.AccountNumberMasked | Right:4 }} +

+ +

+  {{ giver.NickName }} {{ giver.LastName }} +

+
+
    + {% for transaction in ScheduledTransaction.TransactionDetails %} +
  • {{ transaction.AccountName }} {{ transaction.Amount | FormatAsCurrency }}
  • + {% endfor %} +
  • Total {{ total | FormatAsCurrency }}
  • +
+ + {% if ScheduledTransaction.NextPaymentDate and ScheduledTransaction.NextPaymentDate != '' %} +

Next Payment: {{ ScheduledTransaction.NextPaymentDate | Date:'MMM d, yyyy' }}

+ {% endif %} +
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-transaction-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-transaction-detail.lava new file mode 100644 index 00000000000..48f6f5189d3 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/giving-transaction-detail.lava @@ -0,0 +1,86 @@ +{% for row in rows %} +
+ + {%- comment -%}Get the person IDs of people authorized to view this transaction (same GivingGroupId or Child of current person's family).{%- endcomment -%} + {%- sql return:'rows2' -%} + SELECT p2.Id + FROM GroupMember gm + JOIN Person p + ON gm.PersonId = p.Id + JOIN [Group] g + ON gm.GroupId = g.Id + JOIN GroupMember gm2 + ON g.Id = gm2.GroupId + JOIN Person p2 + ON gm2.PersonId = p2.Id + WHERE gm.PersonId = {{ row.PersonId }} + AND g.GroupTypeId = 10 + AND ( + p.GivingGroupId = p2.GivingGroupId + OR p2.AgeClassification = 2 + ) + {%- endsql -%} + + {%- comment -%}Set variables to compare to check if user is authorized to view transaction{%- endcomment -%} + {% assign currentPersonId = CurrentPerson.Id | AsString %} + {% capture authorizedPersonIds %}|{% for row in rows2 %}{{ row.Id }}|{% endfor %}{% endcapture %} + + {%- comment -%}If user is authorized to view this transaction, show it{%- endcomment -%} + {% if authorizedPersonIds contains currentPersonId %} +
+ + {%- comment -%}Set giver of transaction{%- endcomment -%} + {% assign giver = row.PersonId | PersonById %} + + {%- comment -%}Set transaction type value from defined value{%- endcomment -%} + {% definedvalue id:'{{ row.CurrencyTypeValueId }}' where:'DefinedTypeId == 10' iterator:'values' %} + {% for value in values %} + {% assign transactionType = value.Value %} + {% endfor %} + {% enddefinedvalue %} + + {%- comment -%}Set page title{%- endcomment -%} + {% capture pageTitle %}Transaction #{{ row.Id }}{% endcapture %} + {{ pageTitle | SetPageTitle }} + +
+

{{ row.PublicName1 }}

+

{{ row.Amount | FormatAsCurrency }}

+

{{ row.TransactionDateTime | Date:'MMM d, yyyy' }} · {{ giver.FullName }} · {{ transactionType }} {{ row.AccountNumberMasked | Right:4 }}

+ + {% assign status = row.Status %} + {% if status and status != empty and status != '' %} + {% capture statusIcon %} + {% if status == 'Complete' %} + + {% elseif status == 'Pending' %} +   + {% else %} + + {% endif %} + {% endcapture %} + + + {% endif %} + +

Thank you for your contribution to NewSpring Church. Because you are obedient in giving, we'll be able to connect more people to Jesus and each other.

+

Back to Giving History

+
+

If you have any questions about this or believe it to be a mistake, please contact us at giving@newspring.cc

+
+ {% else %} + {%- comment -%}Transaction not found dialogue for unauthorized users{%- endcomment -%} +
+ + {%- comment -%}Set page title{%- endcomment -%} + {% capture pageTitle %}Transaction #{{ row.Id }}{% endcapture %} + {{ pageTitle | SetPageTitle }} + +
+

Transaction Not Found

+
+

We were unable to locate this transaction. If you have questions about this or believe this to be an error, please contact us at giving@newspring.cc

+
+ {% endif %} +
+{% endfor %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-detail.lava new file mode 100644 index 00000000000..649d9a9262b --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-detail.lava @@ -0,0 +1,93 @@ + + +{% assign groupId = 'Global' | PageParameter:'GroupId' %} +{[ groupsHeader groupid:groupId ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-list.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-list.lava new file mode 100644 index 00000000000..623c6ff4f43 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-attendance-list.lava @@ -0,0 +1,139 @@ +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign groupId = 'Global' | PageParameter:'GroupId' %} +{% assign groupAttendanceSuccessThreshold = 'Global' | Attribute:'GroupAttendanceSuccessThreshold' %} +{% assign groupAttendanceWarningThreshold = 'Global' | Attribute:'GroupAttendanceWarningThreshold' %} + +{% if groupId == empty %} + {% if CurrentPersonCanEdit %} +

No GroupId was defined. If you could not edit you would be redirected to: /page-not-found.

+ {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} +{% endif %} + +{% if groupId and groupId != empty %} + + {% sql return:'occurrences' %} + SELECT TOP 12 + ao.Id, + ao.OccurrenceDate, + CASE + WHEN ao.DidNotOccur = 1 THEN 'true' + ELSE 'false' + END 'DidNotOccur', + ( + SELECT COUNT(*) + FROM Attendance a + WHERE a.OccurrenceId = ao.Id + AND a.DidAttend = 1 + ) 'Attended', + ( + SELECT COUNT(*) + FROM Attendance a + WHERE a.OccurrenceId = ao.Id + ) 'Total', + ao.Notes + FROM AttendanceOccurrence ao + WHERE ao.GroupId = {{ groupId }} + ORDER BY ao.OccurrenceDateKey DESC + {% endsql %} + + {% assign occurrencesCount = occurrences | Size %} + + + {% capture actionButtons %} +

+ {% if occurrencesCount and occurrencesCount >= 1 %} + Add Attendance + {% endif %} + Back to Group +

+ {% endcapture %} + + {{ actionButtons }} + + {% if occurrencesCount and occurrencesCount >= 1 %} + + {% for occurrence in occurrences %} + + {% assign occurrenceDateFormatted = occurrence.OccurrenceDate | Date:'yyyy-MM-ddTHH:mm:ss' | EscapeDataString %} + {% assign attendancePercentage = occurrence.Attended | DividedBy:occurrence.Total,2 | Times:100 %} + {% assign attendancePercentageFormatted = attendancePercentage | Format:'###.##' | Append:'%' %} + + {%- capture attendancePercentageStatus -%} + {%- if attendancePercentage >= groupAttendanceSuccessThreshold -%} + success + {%- elseif attendancePercentage > groupAttendanceWarningThreshold -%} + warning + {%- else -%} + danger + {%- endif -%} + {%- endcapture -%} + +
+
+

{{ occurrence.OccurrenceDate | Date:'MMMM d, yyyy' }}

+
+
+
+
+ + {% if occurrence and occurrence != empty %} + {% if occurrence.DidNotOccur == 'true' %} + +

Group did not meet on this date.

+ + {% else %} + +
+
+ {{ occurrence.Attended }}/{{ occurrence.Total }} ({{ attendancePercentageFormatted }}) +
+
+ + {% endif %} + {% else %} + +

Attendance is missing for this date.

+ + {% endif %} + +
{% if occurrence.Notes and occurrence.Notes != empty %}
+

Notes

+

{{ occurrence.Notes }}

+
{% endif %} +
+ + + {% if occurrence and occurrence != empty %} + {% assign linkUrl = currentUrl | Append:'/detail?OccurrenceId=' | Append:occurrence.Id %} + {% else %} + {% assign linkUrl = currentUrl | Append:'/detail?OccurrenceId=0&Date=' | Append:occurrenceDateFormatted | Append:'&ScheduleId=' | Append:group.ScheduleId %} + {% endif %} + +

+ {% if occurrence != null %} {% endif %}{% if occurrence == null %}Take{% else %}Edit{% endif %} Attendance + + {%- comment -%}Remove Attendance Occurrence{%- endcomment -%} + {% if occurrence and occurrence != empty %} + + {% endif %} + +

+
+
+ + {% endfor %} + + {{ actionButtons }} + + {% else %} + + {[ cardBlock ]} +

There are no attendance occurrances yet for this group.

+

Take Attendance

+ {[ endcardBlock ]} + + {% endif %} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-detail.lava new file mode 100644 index 00000000000..62a031f37c9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-detail.lava @@ -0,0 +1,407 @@ +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign groupId = 'Global' | PageParameter:'GroupId' %} +{% assign Group = groupId | GroupById %} +{% assign groupAttendanceSuccessThreshold = 'Global' | Attribute:'GroupAttendanceSuccessThreshold' %} +{% assign groupAttendanceWarningThreshold = 'Global' | Attribute:'GroupAttendanceWarningThreshold' %} +{% assign pulseLookBack = 'Global' | Attribute:'GroupPulseLookBack' %} +{% assign pulseLookAhead = 'Global' | Attribute:'GroupPulseLookForward' %} +{% assign groupPulseAttendanceAlert = 'Global' | Attribute:'GroupPulseAttendanceAlert' | Times:-1 %} + + + + +{%- comment -%} + GROUP PULSE +{%- endcomment -%} +{% sql return:'groupPulse' %} + SELECT + gm.PersonId 'PersonId', + a.Name 'Name', + a.Id 'Id', + p.NickName, + p.LastName, + CASE + WHEN a.Id = 4055 THEN 'was baptized' + WHEN a.Id = 4056 THEN 'was saved' + WHEN a.Id IN (74894,74895,74896,74897) THEN 'completed "' + a.Name + '" of Connect' + WHEN a.Id = 19882 THEN 'completed Connect' + WHEN a.Id = 52311 THEN 'started serving' + END 'Action', + a.IconCSSClass 'IconCSSClass', + av.ValueAsDateTime 'Date' + FROM GroupMember gm + JOIN Person p + ON gm.PersonId = p.Id + JOIN AttributeValue av + ON av.EntityId = gm.PersonId + JOIN Attribute a + ON av.AttributeId = a.Id + WHERE gm.GroupId = {{ groupId }} + AND gm.GroupMemberStatus = 1 + AND gm.IsArchived = 0 + AND av.AttributeId IN (4055,4048,19882,74894,74895,74896,74897,52311) + AND av.ValueAsDateTime >= DATEADD(day,-{{ pulseLookBack }},GETDATE()) + ORDER BY av.Value DESC +{% endsql %} + +{% sql return:'birthdays' %} + SELECT + p.Id 'PersonId', + 'BirthDate', + NULL, + p.NickName, + p.LastName, + 'birthday is' 'Action', + 'fas fa-birthday-cake' 'IconCSSClass', + CONVERT(datetime, CONCAT(YEAR(GETDATE()), '-', p.BirthMonth,'-', p.BirthDay)) 'Date' + FROM GroupMember gm + JOIN Person p + ON gm.PersonId = p.Id + WHERE gm.GroupId = {{ groupId }} + AND gm.GroupMemberStatus = 1 + AND gm.IsArchived = 0 + AND p.BirthDate IS NOT NULL + AND CONVERT(datetime, CONCAT(YEAR(GETDATE()), '-', p.BirthMonth,'-', p.BirthDay)) > GETDATE() + AND CONVERT(datetime, CONCAT(YEAR(GETDATE()), '-', p.BirthMonth,'-', p.BirthDay)) <= DATEADD(day,+{{ pulseLookAhead }},GETDATE()) +{% endsql %} + +{% sql return:'anniversaries' %} + SELECT + p.Id 'PersonId', + 'AnniversaryDate', + NULL, + p.NickName, + p.LastName, + 'anniversary is' 'Action', + 'fas fa-heart' 'IconCSSClass', + CASE + WHEN p.AnniversaryDate IS NOT NULL THEN CONVERT(datetime, CONCAT(YEAR(GETDATE()), SUBSTRING(CONVERT(varchar, p.AnniversaryDate), 5, 10))) + ELSE NULL + END 'Date' + FROM GroupMember gm + JOIN Person p + ON gm.PersonId = p.Id + WHERE gm.GroupId = {{ groupId }} + AND gm.GroupMemberStatus = 1 + AND gm.IsArchived = 0 + AND p.AnniversaryDate IS NOT NULL + AND CONVERT(datetime, CONCAT(YEAR(GETDATE()), SUBSTRING(CONVERT(varchar, p.AnniversaryDate), 5, 10))) > GETDATE() + AND CONVERT(datetime, CONCAT(YEAR(GETDATE()), SUBSTRING(CONVERT(varchar, p.AnniversaryDate), 5, 10))) <= DATEADD(day,+{{ pulseLookAhead }},GETDATE()) + ORDER BY CONVERT(datetime, CONCAT(YEAR(GETDATE()), SUBSTRING(CONVERT(varchar, p.AnniversaryDate), 5, 10))) ASC +{% endsql %} + +{% sql return:'attendances' %} +SELECT + gm.PersonId, + p.NickName, + p.LastName, + 'last attended' 'Action', + ( + SELECT TOP 1 + ao.OccurrenceDate + FROM AttendanceOccurrence ao + JOIN Attendance a + ON a.OccurrenceId = ao.Id + JOIN PersonAlias pa + ON a.PersonAliasId = pa.Id + WHERE ao.GroupId = gm.GroupId + AND ao.DidNotOccur = 0 + AND pa.PersonId = p.Id + AND a.DidAttend = 1 + ORDER BY ao.OccurrenceDate DESC + ) 'Date' +FROM GroupMember gm +JOIN Person p +ON gm.PersonId = p.Id +WHERE gm.GroupId = {{ groupId }} +AND gm.GroupMemberStatus = 1 +AND gm.IsArchived = 0 +ORDER BY ( + SELECT TOP 1 + ao.OccurrenceDate + FROM AttendanceOccurrence ao + JOIN Attendance a + ON a.OccurrenceId = ao.Id + JOIN PersonAlias pa + ON a.PersonAliasId = pa.Id + WHERE ao.GroupId = gm.GroupId + AND ao.DidNotOccur = 0 + AND pa.PersonId = p.Id + AND a.DidAttend = 1 + ORDER BY ao.OccurrenceDate DESC + ) asc +{% endsql %} + +{% assign pulseCount = groupPulse | Size %} +{% assign birthdaysCount = birthdays | Size %} +{% assign anniversariesCount = anniversaries | Size %} + +{% capture groupPulseString %}[ + {% if pulseCount >= 1 %}{{ groupPulse | ToJSON | Replace:'[','' | Replace:']','' | Append:',' }}{% endif %} + {% if birthdaysCount >= 1 %}{{ birthdays | ToJSON | Replace:'[','' | Replace:']','' | Append:',' }}{% endif %} + {% if anniversariesCount >= 1 %}{{ anniversaries | ToJSON | Replace:'[','' | Replace:']','' }}{% endif %} +]{% endcapture %} +{% assign groupPulse = groupPulseString | FromJSON | OrderBy:'Date asc' %} + +{%- comment -%} + GROUP HEADER +{%- endcomment -%} +{[ groupsHeader groupid:groupId ]} + +
+
+ +
+ + {%- comment -%} + GROUP PULSE + {%- endcomment -%} +
+ + {% if AllowedActions.Edit == true %} + + Edit Group + + {% endif %} + + {% if groupPulse and groupPulse != empty %} +

Group Pulse

+ + + {% endif %} +
+ + {%- comment -%} + GROUP COMMUNICATION + {%- endcomment -%} +

Group Communication

+ +

Copy Numbers for SMS

+ +

Email Group

+ +
+
+ + {% capture groupMobilesWithMessaging %}{% for member in Group.Members %}{% assign mobileNumber = member.Person.PhoneNumbers | Where:'NumberTypeValueId',12 | Where:'IsMessagingEnabled',true | Select:'NumberFormattedWithCountryCode' %}{% if mobileNumber and mobileNumber != empty %}{{ mobileNumber }}{% endif %}{% unless mobileNumber == empty or forloop.last %}, {% endunless %}{% endfor %}{% endcapture %} + + + + + + {%- comment -%} + GROUP ATTENDANCE + {%- endcomment -%} + {% if Group.GroupType.TakesAttendance %} + +

Group Attendance

+
+
+ + {[ cardBlock ]} + {[ groupAttendanceChart groupid:'{{ groupId }}' showaverage:'true' ]} + {[ endcardBlock ]} + +
+
+ + {% endif %} + +
+ + {%- comment -%} + GROUP MEMBER ROSTER + {%- endcomment -%} +

Group Members

+ + {% capture addGroupMemberButton %} + {% if AllowedActions.Edit == true %} + + Add Group Member + + {% endif %} + {% endcapture %} + + {{ addGroupMemberButton }} + + {% assign members = Group.Members | OrderBy:'GroupRole.Order, GroupMemberStatus desc, Person.LastName, Person.NickName' %} +
+ {% for member in members %}
+ + {% assign linkurl = currentUrl | Append:'/' | Append:member.PersonId %} + {% assign person = member.PersonId | PersonById %} + {% assign groupTypeId = group.GroupTypeId | AsString %} + {% assign mobile = person | PhoneNumber:'Mobile', true %} + {% assign home = person | PhoneNumber:'Home', true %} + {% assign work = person | PhoneNumber:'Work', true %} + {% assign phone = mobile | WithFallback:'',home | WithFallback:'',work %} + {% assign sms = person.PhoneNumbers | Where:'IsMessagingEnabled',true | First | Property:'NumberFormattedWithCountryCode' %} + + {% if member.GroupRole.IsLeader == true %} + {% assign cardtype = 'primary' %} + {% assign texttype = 'primary' %} + {% assign note = member.GroupRole.Name %} + {% elseif member.GroupMemberStatus == 'Pending' %} + {% assign cardtype = 'info' %} + {% assign texttype = 'info' %} + {% assign note = 'Pending' %} + {% elseif member.GroupMemberStatus == 'Inactive' %} + {% assign cardtype = 'danger' %} + {% assign texttype = 'danger' %} + {% assign note = 'Inactive' %} + {% else %} + {% assign cardtype = '' %} + {% assign texttype = 'gray-light' %} + {% assign note = member.GroupRole.Name %} + {% endif %} + + {% capture actionsString %}[ + { + "IconCSSClass": "fal fa-lg fa-user", + "Url": {{ linkurl | ToJSON }}, + "OnClick": "", + "Title": "View Group Member Profile", + "NewWindow": false + }, + {% if AllowedActions.Edit == true or AllowedActions.ManageMembers == true %} + { + "IconCSSClass": "fal fa-lg fa-pencil", + "ButtonClass": "", + "Url": "#", + "OnClick": "{{ member.Id | Postback:'EditGroupMember' }}", + "Title": "Edit Group Member", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-times text-danger", + "ButtonClass": "", + "Url": "#", + "OnClick": "{{ member.Id | Postback:'DeleteGroupMember' }}", + "Title": "Archive Group Member", + "NewWindow": false + }, + {% endif %} + { + "IconCSSClass": "fal fa-lg fa-envelope", + "Url": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}mailto:{{ person.Email }}{% endif %}", + "OnClick": "", + "Title": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}Email Group Member{% else %}Person has no email address or they do not wish to be emailed.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-phone", + "Url": "{% if phone and phone != empty %}tel:{{ phone }}{% endif %}", + "OnClick": "", + "Title": "{% if phone and phone != empty %}Call Group Member{% else %}Person has no phone number.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-comments", + "Url": "{% if sms and sms != empty %}sms:{{ sms }}{% endif %}", + "OnClick": "", + "Title": "{% if sms and sms != empty %}Text Group Member{% else %}Person has no SMS-enabled number.{% endif %}", + "NewWindow": false + } + ]{% endcapture %} + {% assign cardactions = actionsString | FromJSON %} + {% assign firstName = person.NickName | WithFallback:'', null | Replace:"'","’" %} + {% assign lastName = person.LastName | WithFallback:'', null | Replace:"'","’" %} + {[ cardAction cardtype:'{{ cardtype }}' title:'{{ firstName }}
{{ lastName }}' imageurl:'{{ person.PhotoUrl }}&maxwidth=200&maxheight=200' linkurl:linkurl cardactions:cardactions ]} + {% if note and note != empty %} +

{{ note }}

+ {% endif %} + {[ endcardAction ]} + +
{% endfor %} +
+ + {{ addGroupMemberButton }} + +
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-header.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-header.lava new file mode 100644 index 00000000000..afdf9d8f6c7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-header.lava @@ -0,0 +1,27 @@ +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign fallbackImage = 'Global' | Attribute:'ImageSquare' %} +{% assign groupTypeImage = group.GroupType | Attribute:'ImageSquare' %} +{% assign groupImageUrl = group | Attribute:'GroupPhoto','Url' | WithFallback:'',groupTypeImage | WithFallback:'',fallbackImage %} + +{%- comment -%} + Redirect to 404 if person doesn't have access +{%- endcomment -%} +{% assign currentPersonCanEditGroup = group.Id | HasRightsTo:'Edit','Rock.Model.Group' %} +{% if currentPersonCanEditGroup == false %} + {{ '/page-not-found' | PageRedirect }} +{% endif %} + +{%- comment -%} + GENERAL GROUP INFO +{%- endcomment -%} +
+
+
+
+

{{ group.Name }}

+

+ {{ group.Campus.Name }} + {{ group.GroupType.Name }} +

+
+
diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-landing.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-landing.lava new file mode 100644 index 00000000000..50713c0a296 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-landing.lava @@ -0,0 +1,255 @@ +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign personId = CurrentPerson.Id %} +{% assign fallbackImage = 'Global' | Attribute:'ImageSquare' %} +{% assign groupTypes = 'Global' | Attribute:'GroupToolboxGroupTypes','RawValue' | Split:',' %} +{% capture groupTypeGuids %}{% for type in groupTypes %}'{{ type }}'{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} + +{% comment %} + Group Leader View +{% endcomment %} +{% sql return:'groups' %} +SELECT + g.Id 'GroupId', + gt.Name 'GroupType' +FROM GroupMember gm +JOIN [Group] g +ON gm.GroupId = g.Id +JOIN GroupType gt +ON g.GroupTypeId = gt.Id +JOIN GroupTypeRole gtr +ON gtr.Id = gm.GroupRoleId +WHERE gm.PersonId = {{ personId }} +AND gt.Guid IN ({{ groupTypeGuids }}) +AND gtr.IsLeader = 1 +AND gtr.Name != 'Coach' +AND g.IsActive = 1 +AND g.IsArchived = 0 +AND gm.GroupMemberStatus = 1 +AND gm.IsArchived = 0 +{% endsql %} + +{% if groups and groups != empty %} +

Groups I Lead

+ +
+ {% for row in groups %}
+ + {% assign group = row.GroupId | GroupById %} + {% assign groupName = group.Name | Replace:"'","’" %} + {% assign linkurl = '/groups/' | Append:row.GroupId | Append:'/toolbox' %} + {% assign groupTypeImage = group.GroupType | Attribute:'ImageSquare' %} + {% assign groupImageUrl = group | Attribute:'ImageSquare' | WithFallback:'',groupTypeImage %} + + {[ cardAction title:'{{ groupName }}' imageurl:'{{ groupImageUrl }}' linkurl:linkurl ]} +

{{ row.GroupType }}

+ {[ endcardAction ]} + +
{% endfor %} +
+ +{% else %} + +
+ {[ section ]} +
+

Lead a Group

+

Every family has at least one relative who loves bringing people together. In our NewSpring family, Group Leaders are those people.

+

Lead a Group

+
+ {[ endsection ]} +
+{% endif %} + +{% comment %} + Group Coach View +{% endcomment %} +{% sql return:'leaders' %} +SELECT + p.Id 'PersonId', + gm2.Id 'GroupMemberId', + g2.Id 'GroupId', + gtr.Name 'RoleName' +FROM GroupMember gm +JOIN [Group] g +ON gm.GroupId = g.Id +JOIN [Group] g2 +ON g2.ParentGroupId = g.Id +JOIN GroupMember gm2 +ON gm2.GroupId = g2.Id +JOIN GroupTypeRole gtr +ON gm2.GroupRoleId = gtr.Id +JOIN Person p +ON gm2.PersonId = p.Id +WHERE gm.PersonId = {{ personId }} +AND gm.IsArchived = 0 +AND gm2.PersonId != {{ personId }} -- Omit Self From List +AND g.GroupTypeId = 156 -- Coaching Group +AND gm.GroupRoleId = 436 -- Is Coach +AND g.IsArchived = 0 +AND g.IsActive = 1 +AND gm2.GroupRoleId != 382 +AND gm2.IsArchived = 0 +AND gtr.IsLeader = 1 +AND g2.IsActive = 1 +AND g2.IsArchived = 0 +ORDER BY g2.Name, p.LastName, p.NickName +{% endsql %} + +{% if leaders and leaders != empty %} +

Leaders I Coach

+
+ {% for leader in leaders %}
+ + {% assign linkurl = '/groups/' | Append:leader.GroupId | Append:'/toolbox/' | Append:leader.PersonId %} + {% assign person = leader.PersonId | PersonById %} + {% assign groupTypeId = group.GroupTypeId | AsString %} + {% assign mobile = person | PhoneNumber:'Mobile', true %} + {% assign home = person | PhoneNumber:'Home', true %} + {% assign work = person | PhoneNumber:'Work', true %} + {% assign phone = mobile | WithFallback:'',home | WithFallback:'',work %} + {% assign sms = person.PhoneNumbers | Where:'IsMessagingEnabled',true | First | Property:'NumberFormattedWithCountryCode' %} + + {% assign cardtype = '' %} + {% assign texttype = '' %} + {% assign note = leader.RoleName %} + + {% capture actionsString %}[ + { + "IconCSSClass": "fal fa-lg fa-user", + "Url": {{ linkurl | ToJSON }}, + "OnClick": "", + "Title": "", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-envelope", + "Url": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}mailto:{{ person.Email }}{% endif %}", + "OnClick": "", + "Title": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}{% else %}Person has no email address or they do not wish to be emailed.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-phone", + "Url": "{% if phone and phone != empty %}tel:{{ phone }}{% endif %}", + "OnClick": "", + "Title": "{% if phone and phone != empty %}{% else %}Person has no phone number.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-comments", + "Url": "{% if sms and sms != empty %}sms:{{ sms }}{% endif %}", + "OnClick": "", + "Title": "{% if sms == empty %}Person has no SMS-enabled number.{% endif %}", + "NewWindow": false + } + ]{% endcapture %} + {% assign cardactions = actionsString | FromJSON %} + + {[ cardAction cardtype:'{{ cardtype }}' title:'{{ person.NickName }}
{{ person.LastName }}' imageurl:'{{ person.PhotoUrl }}&maxwidth=200&maxheight=200' linkurl:linkurl cardactions:cardactions ]} + {% if note and note != empty %} +

{{ note }}

+ {% endif %} + {[ endcardAction ]} + +
{% endfor %} +
+{% endif %} + +{% comment %} + Hub Leader View +{% endcomment %} +{% sql return:'coaches' %} +DECLARE @PersonId int = {{ personId }}; + +SELECT + p.Id 'PersonId', + gm2.Id 'GroupMemberId', + g2.Id 'GroupId', + gtr.Name 'RoleName' +FROM GroupMember gm +JOIN [Group] g +ON gm.GroupId = g.Id +JOIN [Group] g2 +ON g2.ParentGroupId = g.Id +JOIN GroupMember gm2 +ON gm2.GroupId = g2.Id +JOIN GroupTypeRole gtr +ON gm2.GroupRoleId = gtr.Id +JOIN Person p +ON gm2.PersonId = p.Id +WHERE gm.PersonId = @PersonId +AND g.GroupTypeId = 157 -- Hub Group +AND gm.GroupRoleId = 438 -- Is Leader +AND g.IsArchived = 0 +AND g.IsActive = 1 +AND gm2.GroupRoleId != 382 +AND gm2.IsArchived = 0 +AND gtr.IsLeader = 1 +AND g2.IsActive = 1 +AND g2.IsArchived = 0 +AND g2.GroupTypeId = 156 -- Only Coaching Groups +AND gm2.PersonId != @PersonId +ORDER BY g2.Name, p.LastName, p.NickName +{% endsql %} + +{% if coaches and coaches != empty %} + +

Coaches I Lead

+ +
+ {% for leader in coaches %}
+ + {% assign linkurl = '/groups/' | Append:leader.GroupId | Append:'/toolbox/' | Append:leader.PersonId %} + {% assign person = leader.PersonId | PersonById %} + {% assign groupTypeId = group.GroupTypeId | AsString %} + {% assign mobile = person | PhoneNumber:'Mobile', true %} + {% assign home = person | PhoneNumber:'Home', true %} + {% assign work = person | PhoneNumber:'Work', true %} + {% assign phone = mobile | WithFallback:'',home | WithFallback:'',work %} + {% assign sms = person.PhoneNumbers | Where:'IsMessagingEnabled',true | First | Property:'NumberFormattedWithCountryCode' %} + + {% assign cardtype = '' %} + {% assign texttype = '' %} + {% assign note = leader.RoleName %} + + {% capture actionsString %}[ + { + "IconCSSClass": "fal fa-lg fa-user", + "Url": {{ linkurl | ToJSON }}, + "OnClick": "", + "Title": "", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-envelope", + "Url": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}mailto:{{ person.Email }}{% endif %}", + "OnClick": "", + "Title": "{% if person.EmailPreference != 'DoNotEmail' and person.Email and person.Email != empty %}{% else %}Person has no email address or they do not wish to be emailed.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-phone", + "Url": "{% if phone and phone != empty %}tel:{{ phone }}{% endif %}", + "OnClick": "", + "Title": "{% if phone and phone != empty %}{% else %}Person has no phone number.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-comments", + "Url": "{% if sms and sms != empty %}sms:{{ sms }}{% endif %}", + "OnClick": "", + "Title": "{% if sms == empty %}Person has no SMS-enabled number.{% endif %}", + "NewWindow": false + } + ]{% endcapture %} + {% assign cardactions = actionsString | FromJSON %} + + {[ cardAction cardtype:'{{ cardtype }}' title:'{{ person.NickName }}
{{ person.LastName }}' imageurl:'{{ person.PhotoUrl }}&maxwidth=200&maxheight=200' linkurl:linkurl cardactions:cardactions ]} + {% if note and note != empty %} +

{{ note }}

+ {% endif %} + {[ endcardAction ]} + +
{% endfor %} +
+{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-item.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-item.lava new file mode 100644 index 00000000000..4db89c15ffa --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-item.lava @@ -0,0 +1,209 @@ +{%- comment -%} +##Important Notes when customizing## +any CSS Classes that are prefixed with 'js-' are hooks that are required for editing notes (see noteEditor.js and NoteContainer.cs) +{%- endcomment -%} +{%- assign viewableChildNotesCount = note.ViewableDescendentsCount -%} +{%- if note.IsAlert -%} + {%- assign wrapperClass = 'is-alert' -%} +{%- elsif note.IsPrivateNote -%} + {%- assign wrapperClass = 'is-personal' -%} +{%- else -%} + {%- assign wrapperClass = '' -%} +{%- endif -%} +{%- assign noteTypeName = note.NoteType.Name | ToCssClass | Prepend:' note-type-' -%} +{%- assign wrapperClass = wrapperClass | Append:noteTypeName -%} +{%- assign wrapperStyle = '' -%} +{%- if noteReplyDepth == '0' -%} +{%- capture fontStyle -%}{%- if note.NoteType.FontColor and note.NoteType.FontColor != '' -%}color: {{ note.NoteType.FontColor }};{%- endif -%}{%- endcapture -%} +{%- capture borderStyle -%}{%- if note.NoteType.BorderColor and note.NoteType.BorderColor != '' -%}box-shadow: inset 5px 0 0 0 {{ note.NoteType.BorderColor }};{%- endif -%}{%- endcapture -%} +{%- capture backgroundStyle -%}{%- if note.NoteType.BackgroundColor and note.NoteType.BackgroundColor != '' -%}background-color: {{ note.NoteType.BackgroundColor }};{%- endif -%}{%- endcapture -%} +{%- capture wrapperStyle -%}{{ borderStyle }}{{ fontStyle }}{{ backgroundStyle }}{%- endcapture -%} +{%- if wrapperStyle != '' -%}{%- capture wrapperStyle -%}style="{{ wrapperStyle }}"{%- endcapture -%}{%- endif -%} +{%- endif -%} + +{%- assign noteDateTime = note.CreatedDateTime -%} +{%- assign noteDateTimeText = note.CreatedDateTime | HumanizeDateTime -%} +{%- if note.EditedDateTime > note.CreatedDateTime -%} + {%- assign noteDateTime = note.EditedDateTime -%} + {%- capture editedLabel -%}edited {{ note.EditedDateTime | HumanizeDateTime }}{%- endcapture -%} + {%- if note.EditedByPersonName != note.CreatedByPersonName -%} + {%- assign editedLabel = editedLabel | Append:' by ' | Append:note.EditedByPersonName -%} + {%- endif -%} + {%- assign noteDateTimeText = noteDateTimeText | Append:' (' | Append:editedLabel | Append:')'%} +{%- endif -%} + +{%- assign allowsWatching = note.NoteType.AllowsWatching -%} + +{%- assign canReply = note.NoteType.AllowsReplies -%} +{%- if canReply and note.NoteType.MaxReplyDepth -%} + {%- if noteReplyDepth >= note.NoteType.MaxReplyDepth -%} + {%- assign canReply = false -%} + {%- endif -%} +{%- endif -%} + +{%- assign noteText = note.Text | Escape | Linkify | FromMarkdown -%} +{%- comment -%}If this note requires approval and is not yet approved, we might see it if the current person created the note or is an approver, so render its approval status and approval actions{%- endcomment -%} +{%- assign approvalStatusHtml = '' -%} +{%- assign approvalActionsHtml = '' -%} +{%- if note.NoteType.RequiresApprovals and.ApprovalStatus != 'Approved' -%} + {%- assign canApprove = note | HasRightsTo:'Approve' -%} + + {%- capture approvalStatusHtml -%} + {%- if note.ApprovalStatus == 'Denied' -%} + {%- assign approver = note.ApprovedByPersonAliasId | PersonByAliasId -%} + Approval denied By {{ approver.FullName }} on {{ note.ApprovedDateTime }} + {%- elsif note.ApprovalStatus == 'PendingApproval' -%} + Pending Approval + {%- endif -%} + {%- endcapture -%} + + {%- capture approvalActionsHtml -%} + {%- if canApprove -%} + + {%- endif -%} + {%- endcapture -%} +{%- endif -%} + +{%- if noteReplyDepth == 0 -%} + {%- assign avatarSize = "lg" -%} + {%- assign noteClass = "" -%} +{%- else -%} + {%- assign avatarSize = "md" -%} + {%- assign noteClass = "note-nested" -%} +{%- endif -%} + +
  • +
    + + {% if note.IsAlert %} + {% assign cardType = 'danger' %} + {% assign noteTypeIconClasses = 'fa-exclamation-triangle text-danger' %} + {% elseif note.IsPrivateNote %} + {% assign cardType = 'info' %} + {% assign noteTypeIconClasses = 'fa-eye-slash text-info' %} + {% elseif noteReplyDepth > 0 %} + {% assign cardType = 'gray-light' %} + {% assign noteTypeIconClasses = 'fa-reply text-gray-light' %} + {% else %} + {% assign cardType = null %} + {% assign noteTypeIconClasses = note.NoteType.IconCssClass | Default:'fa fa-comment' %} + {% endif %} + + {[ cardBlock type:'{{ cardType }}' classes:'hard-bottom clearfix flush-bottom' ]} + +
    + {% if noteReplyDepth == 0 %}
    + + {% assign fallbackImageSquare = 'Global' | Attribute:'ImageSquare' %} +
    + +
    {% endif %}
    + +
    +

    {{ note.NoteType.Name }}

    +

    + + + {% if note.CreatedByPersonName and note.CreatedByPersonName != empty and note.CreatedByPersonAliasId and note.CreatedByPersonAliasId != empty %} + {{ note.CreatedByPersonName }} · {{ note.CreatedByPersonAliasId | PersonByAliasId | Campus | Property:'ShortCode' }} · + {% endif %} + + + + {% if note.IsPrivateNote %}
    This is a private note that only you can see.{% endif %} + +
    +

    +
    + +
    + {%- assign canEdit = note | HasRightsTo:'Edit' -%} + {%- if canEdit or canReply or allowsWatching -%} + + {% endif %} +
    +
    + + {% if note.Caption and note.Caption != empty %} +

    {{ note.Caption }}

    + {% endif %} + + {{ noteText }} + +
    + {%- if viewableChildNotesCount > 0 -%} + {{ 'Reply' | ToQuantity:viewableChildNotesCount }} + {%- endif -%} +
    + + {[ endcardBlock ]} +
    + +{%- comment -%} + Maintain the noteReplyDepth by incrementing here (for every note), and then decrementing after each child to indicate we are at the same level +{%- endcomment -%} +{%- assign noteReplyDepth = noteReplyDepth | Plus:1 -%} +{%- assign childNotesStyle = '' -%} +{%- if viewableChildNotesCount > 0 -%} + {%- assign expandNote = ExpandedNoteIds | Contains:note.Id -%} + {%- if noteReplyDepth == 1 -%} + {%- unless NoteOptions.ExpandReplies or expandNote -%} + {%- assign childNotesStyle = 'display: none;' -%} + {%- endunless -%} + {{- -}}
    + {%- endif -%} + +
      + {%- for note in note.ViewableChildNotes -%} + {%- include '~~/Assets/Lava/LAYOUT/groups-notes-item.lava' -%} + {%- assign noteReplyDepth = noteReplyDepth | Minus:1 -%} + + {%- endfor -%} +
    + {%- if noteReplyDepth == 1 -%} + {{- -}}
    + {%- endif -%} +{%- endif -%} + +
  • diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-list.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-list.lava new file mode 100644 index 00000000000..d9023cc4df9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-notes-list.lava @@ -0,0 +1,234 @@ +{% assign person = 'Global' | PageParameter:'PersonId' | PersonById %} +

    {{ person.NickName | Possessive }} Notes

    + + + + + +{% assign canEditGeneralNotes = 4 | HasRightsTo:'Edit','Rock.Model.NoteType' %} + +{% if canEditGeneralNotes %} +

    + Add a Note +

    +{% endif %} + +
      + {% for note in NoteList %} + {% assign noteReplyDepth = 0 %} + {%- comment -%} + ##Important Notes when customizing## + any CSS Classes that are prefixed with 'js-' are hooks that are required for editing notes (see noteEditor.js and NoteContainer.cs) + {%- endcomment -%} + {%- assign viewableChildNotesCount = note.ViewableDescendentsCount -%} + {%- if note.IsAlert -%} + {%- assign wrapperClass = 'is-alert' -%} + {%- elsif note.IsPrivateNote -%} + {%- assign wrapperClass = 'is-personal' -%} + {%- else -%} + {%- assign wrapperClass = '' -%} + {%- endif -%} + {%- assign noteTypeName = note.NoteType.Name | ToCssClass | Prepend:' note-type-' -%} + {%- assign wrapperClass = wrapperClass | Append:noteTypeName -%} + {%- assign wrapperStyle = '' -%} + {%- if noteReplyDepth == '0' -%} + {%- capture fontStyle -%}{%- if note.NoteType.FontColor and note.NoteType.FontColor != '' -%}color: {{ note.NoteType.FontColor }};{%- endif -%}{%- endcapture -%} + {%- capture borderStyle -%}{%- if note.NoteType.BorderColor and note.NoteType.BorderColor != '' -%}box-shadow: inset 5px 0 0 0 {{ note.NoteType.BorderColor }};{%- endif -%}{%- endcapture -%} + {%- capture backgroundStyle -%}{%- if note.NoteType.BackgroundColor and note.NoteType.BackgroundColor != '' -%}background-color: {{ note.NoteType.BackgroundColor }};{%- endif -%}{%- endcapture -%} + {%- capture wrapperStyle -%}{{ borderStyle }}{{ fontStyle }}{{ backgroundStyle }}{%- endcapture -%} + {%- if wrapperStyle != '' -%}{%- capture wrapperStyle -%}style="{{ wrapperStyle }}"{%- endcapture -%}{%- endif -%} + {%- endif -%} + + {%- assign noteDateTime = note.CreatedDateTime -%} + {%- assign noteDateTimeText = note.CreatedDateTime | HumanizeDateTime -%} + {%- if note.EditedDateTime > note.CreatedDateTime -%} + {%- assign noteDateTime = note.EditedDateTime -%} + {%- capture editedLabel -%}edited {{ note.EditedDateTime | HumanizeDateTime }}{%- endcapture -%} + {%- if note.EditedByPersonName != note.CreatedByPersonName -%} + {%- assign editedLabel = editedLabel | Append:' by ' | Append:note.EditedByPersonName -%} + {%- endif -%} + {%- assign noteDateTimeText = noteDateTimeText | Append:' (' | Append:editedLabel | Append:')'%} + {%- endif -%} + + {%- assign allowsWatching = note.NoteType.AllowsWatching -%} + + {%- assign canReply = note.NoteType.AllowsReplies -%} + {%- if canReply and note.NoteType.MaxReplyDepth -%} + {%- if noteReplyDepth >= note.NoteType.MaxReplyDepth -%} + {%- assign canReply = false -%} + {%- endif -%} + {%- endif -%} + + {%- assign noteText = note.Text | Escape | Linkify | FromMarkdown -%} + {%- comment -%}If this note requires approval and is not yet approved, we might see it if the current person created the note or is an approver, so render its approval status and approval actions{%- endcomment -%} + {%- assign approvalStatusHtml = '' -%} + {%- assign approvalActionsHtml = '' -%} + {%- if note.NoteType.RequiresApprovals and note.ApprovalStatus != 'Approved' -%} + {%- assign canApprove = note | HasRightsTo:'Approve' -%} + + {%- capture approvalStatusHtml -%} + {%- if note.ApprovalStatus == 'Denied' -%} + {%- assign approver = note.ApprovedByPersonAliasId | PersonByAliasId -%} + Approval denied By {{ approver.FullName }} on {{ note.ApprovedDateTime }} + {%- elsif note.ApprovalStatus == 'PendingApproval' -%} + Pending Approval + {%- endif -%} + {%- endcapture -%} + + {%- capture approvalActionsHtml -%} + {%- if canApprove -%} + + {%- endif -%} + {%- endcapture -%} + {%- endif -%} + + {%- if noteReplyDepth == 0 -%} + {%- assign avatarSize = "lg" -%} + {%- assign noteClass = "" -%} + {%- else -%} + {%- assign avatarSize = "md" -%} + {%- assign noteClass = "note-nested" -%} + {%- endif -%} + +
    • +
      + + {% if note.IsAlert %} + {% assign cardType = 'danger' %} + {% assign noteTypeIconClasses = 'fa-exclamation-triangle text-danger' %} + {% elseif note.IsPrivateNote %} + {% assign cardType = 'info' %} + {% assign noteTypeIconClasses = 'fa-eye-slash text-info' %} + {% elseif noteReplyDepth > 0 %} + {% assign cardType = 'gray-light' %} + {% assign noteTypeIconClasses = 'fa-reply text-gray-light' %} + {% else %} + {% assign cardType = null %} + {% assign noteTypeIconClasses = note.NoteType.IconCssClass | Default:'fa fa-comment' %} + {% endif %} + + {[ cardBlock type:'{{ cardType }}' classes:'hard-bottom clearfix flush-bottom' ]} + +
      + {% if noteReplyDepth == 0 %}
      + + {% assign fallbackImageSquare = 'Global' | Attribute:'ImageSquare' %} +
      + +
      {% endif %}
      + +
      +

      {{ note.NoteType.Name }}

      +

      + + + {% if note.CreatedByPersonName and note.CreatedByPersonName != empty and note.CreatedByPersonAliasId and note.CreatedByPersonAliasId != empty %} + {{ note.CreatedByPersonName }} · {{ note.CreatedByPersonAliasId | PersonByAliasId | Campus | Property:'ShortCode' }} · + {% endif %} + + + + {% if note.IsPrivateNote %}
      This is a private note that only you can see.{% endif %} + +
      +

      +
      + +
      + {%- assign canEdit = note | HasRightsTo:'Edit' -%} + {%- if canEdit or canReply or allowsWatching -%} + + {% endif %} +
      +
      + + {% if note.Caption and note.Caption != empty %} +

      {{ note.Caption }}

      + {% endif %} + + {{ noteText }} + +
      + {%- if viewableChildNotesCount > 0 -%} + {{ 'Reply' | ToQuantity:viewableChildNotesCount }} + {%- endif -%} +
      + + {[ endcardBlock ]} +
      + + {%- comment -%} + Maintain the noteReplyDepth by incrementing here (for every note), and then decrementing after each child to indicate we are at the same level + {%- endcomment -%} + {%- assign noteReplyDepth = noteReplyDepth | Plus:1 -%} + {%- assign childNotesStyle = '' -%} + {%- if viewableChildNotesCount > 0 -%} + {%- assign expandNote = ExpandedNoteIds | Contains:note.Id -%} + {%- if noteReplyDepth == 1 -%} + {%- unless NoteOptions.ExpandReplies or expandNote -%} + {%- assign childNotesStyle = 'display: none;' -%} + {%- endunless -%} +
      + {%- endif -%} + +
        + {%- for note in note.ViewableChildNotes -%} + {%- include '~/Themes/NewSpring/Assets/Lava/LAYOUT/groups-notes-item.lava' -%} + {%- assign noteReplyDepth = noteReplyDepth | Minus:1 -%} + + {%- endfor -%} +
      + {%- if noteReplyDepth == 1 -%} +
      + {%- endif -%} + {%- endif -%} + +
    • + {% endfor %} +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-profile.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-profile.lava new file mode 100644 index 00000000000..c7f3a8d4512 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-profile.lava @@ -0,0 +1,405 @@ +{%- comment -%} + Disable iOS phone number hyperlinking +{%- endcomment -%} +{{ 'telephone=no' | AddMetaTagToHead:'name','format-detection' }} + +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign groupTypes = 'Global' | Attribute:'GroupToolboxGroupTypes','RawValue' | Split:',' %} +{% capture groupTypeGuids %}{% for type in groupTypes %}'{{ type }}'{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} +{% assign person = 'Global' | PageParameter:'PersonId' | PersonById %} +{% assign group = 'Global' | PageParameter:'GroupId' | GroupById %} +{% assign groupId = group.Id | AsString %} +{% assign groupMember = person | Group:groupId,'All' | First %} +{% assign status = groupMember.GroupMemberStatus %} + +{%- comment -%} + Redirect to 404 if person doesn't have access or if person isn't in group from url +{%- endcomment -%} +{% assign currentPersonCanEditGroup = group.Id | HasRightsTo:'View','Rock.Model.Group' %} +{% if currentPersonCanEditGroup == false %} + {{ '/page-not-found' | PageRedirect }} +{% endif %} + +{% assign groupMemberPersonIds = group.Members | Select:'PersonId' %} +{% if groupMemberPersonIds contains person.Id %} +{% else %} + {{ '/page-not-found' | PageRedirect }} +{% endif %} + +{% sql return:'groups' %} + -- Groups this person leads + SELECT + DISTINCT g.Id 'GroupId', + gt.Name 'GroupType' + FROM GroupMember gm + JOIN GroupTypeRole gtr + ON gm.GroupRoleId = gtr.Id + JOIN [Group] g + ON gm.GroupId = g.Id + JOIN GroupType gt + ON g.GroupTypeId = gt.Id + WHERE gm.PersonId = {{ person.Id }} + AND gt.Guid IN ({{ groupTypeGuids }}) + AND g.IsActive = 1 + AND g.IsArchived = 0 + AND gm.GroupMemberStatus != 0 + AND gm.IsArchived = 0 + AND gtr.IsLeader = 1 + AND gtr.Name != 'Coach' +{% endsql %} +{% assign groupsLeadCount = groups | Size %} + +{% sql return:'leaders' %} + -- Coaches this person leads (as hub leader) + SELECT + DISTINCT gm2.PersonId, + g2.Id 'GroupId', + gtr2.Name 'GroupRole' + FROM GroupMember gm + JOIN [Group] g + ON gm.GroupId = g.Id + JOIN GroupTypeRole gtr + ON gm.GroupRoleId = gtr.Id + JOIN [Group] g2 + ON g2.ParentGroupId = g.Id + JOIN GroupMember gm2 + ON gm2.GroupId = g2.Id + JOIN GroupTypeRole gtr2 + ON gm2.GroupRoleId = gtr2.Id + WHERE gm.PersonId = {{ person.Id }} + AND g.GroupTypeId = 156 -- Coaching Group + AND g.IsArchived = 0 -- Coaching Group Isn't Archived + AND gtr.IsLeader = 1 -- Leaders of Coaching Group + AND g2.IsArchived = 0 -- Child Groups of Coaching Group That Aren't Archived + AND gm2.IsArchived = 0 -- Leaders of Coaching Group Who Aren't Archived + AND gtr2.IsLeader = 1 -- Leaders of Child Groups of Coaching Group + AND gm2.PersonId != {{ person.Id }} -- Don't list themselves +{% endsql %} + +
    +
    +

    +
    +

    {{ person.NickName }} {{ person.LastName }}

    + +
    +

    + {{ groupMember.GroupRole.Name }} + {% if groupMember.GroupMemberStatus == 'Inactive' %} + {{ groupMember.GroupMemberStatus }} + {% endif %} +

    +
    +
    + + {% comment %} + Group Member Contact Information + {% endcomment %} + {% capture emailActive %}{% if person.Email and person.Email != empty and person.EmailPreference != 'Do Not Email' %}true{% else %}false{% endif %}{% endcapture %} + {% assign mobileNumber = person.PhoneNumbers | Where:'NumberTypeValueId',12 | Select:'NumberFormatted' %} + {% assign smsNumber = person.PhoneNumbers | Where:'NumberTypeValueId',12 | Where:'IsMessagingEnabled',true | Select:'NumberFormatted' %} + +
    +
    + +
    + +
    + +
    +
    + +
    +
    + + {% comment %} + Group Member Basic Info + {% endcomment %} +

    {{ person.NickName | Possessive }} Information

    + + {% assign homeAddress = person | Address:'Home' %} +
      +
    • + {{ person | Campus | Property:'Name' }} +
    • + {% if person.Age and person.Age != empty %} +
    • {{ person.Age }} years old{% if person.BirthDate and person.BirthDate != empty %} · {[ formatDate date:'{{ person.BirthDate }}' ]}{% endif %}
    • + {% endif %} + + {% assign phones = person.PhoneNumbers | OrderBy:'NumberTypeValueId' %} + + {% for phone in phones %} + + {% if phone.NumberTypeValueId == 136 %} + {% assign icon = 'building' %} + {% elseif phone.NumberTypeValueId == 12 %} + {% assign icon = 'mobile' %} + {% elseif phone.NumberTypeValueId == 13 %} + {% assign icon = 'home' %} + {% else %} + {% assign icon = 'phone' %} + {% endif %} + +
    • + {{ phone.NumberFormatted }} +
    • + + {% endfor %} + + {% if emailActive == 'true' %} +
    • {{ person.Email }}
    • + {% endif %} + + {% if homeAddress and homeAddress != empty %} +
    • + {{ homeAddress }} +
    • + {% endif %} +
    + + {% comment %} + Group Member Actions + {% endcomment %} +

    + Report an Error +

    + +
    + + {% comment %} + Group Member Person Attributes + {% endcomment %} +

    {{ person.NickName | Possessive }} Journey

    + + {% assign salvationStatus = person | Attribute:'HasBeenSaved' %} + {% assign salvationDate = person | Attribute:'SalvationDate' %} + {% assign baptismStatus = person | Attribute:'HasBeenBaptized' %} + {% assign baptismDate = person | Attribute:'BaptismDate' %} + {% assign firstServeDate = person | Attribute:'FirstServeDateAll' %} + {%- comment -%} + Let's count leading a group as serving, even if there's no value for the first serve date attribute + {%- endcomment -%} + {% if groupsLeadCount >= 1 %} + {% assign servingStatus = true %} + {% else %} + {% assign servingStatus = null %} + {% endif %} + {% assign connectDate = person | Attribute:'ConnectDate' %} + {% assign connectWeek1 = person | Attribute:'God' %} + {% assign connectWeek2 = person | Attribute:'Freedom' %} + {% assign connectWeek3 = person | Attribute:'Purpose' %} + {% assign connectWeek4 = person | Attribute:'Family' %} + + {% capture salvationText %} + {% if salvationStatus != empty or salvationDate != empty %} + + {% if salvationDate and salvationDate != empty %} + {{ person.NickName }} was saved on {[ formatDate date:'{{ salvationDate }}' ]}. + {% else %} + {{ person.NickName }} has been saved. + {% endif %} + {% else %} + No salvation recorded for {{ person.NickName }}. + {% endif %} + {% endcapture %} + + {% capture baptismText %} + {% if baptismStatus != empty or baptismDate != empty %} + + {% if baptismDate and baptismDate != empty %} + {{ person.NickName }} was baptized on {[ formatDate date:'{{ baptismDate }}' ]}. + {% else %} + {{ person.NickName }} has been baptized. + {% endif %} + {% else %} + No baptism recorded for {{ person.NickName }}. + {% endif %} + {% endcapture %} + + {% capture servingText %} + {% if firstServeDate and firstServeDate != empty or servingStatus == true %} + + {% if firstServeDate and firstServeDate != empty %} + {{ person.NickName }} started serving on {[ formatDate date:'{{ firstServeDate }}' ]}. + {% else %} + {{ person.NickName }} is currently serving. + {% endif %} + {% else %} + {{ person.NickName }} has not yet started serving. + {% endif %} + {% endcapture %} + + {% capture connectText %} + {% if connectDate != empty or connectWeek1 != empty and connectWeek2 != empty and connectWeek3 != empty and connectWeek4 != empty %} + + {% if connectDate != empty %} + {{ person.NickName }} completed Connect on {[ formatDate date:'{{ connectDate }}' ]}. + {% else %} + {{ person.NickName }} has completed Connect. + {% endif %} + {% else %} + {{ person.NickName }} has not yet completed Connect. + {% endif %} + {% endcapture %} + + {% capture groupLeaderText %} + {% if groupsLeadCount >= 1 %} + + {{ person.NickName }} is a group leader. + {% else %} + {{ person.NickName }} is not leading a group. + {% endif %} + {% endcapture %} + +
      +
    • {{ salvationText | Trim }}
    • +
    • {{ baptismText | Trim }}
    • +
    • {{ servingText | Trim }}
    • +
    • {{ connectText | Trim }}
    • +
    • {{ groupLeaderText | Trim }}
    • +
    + +
    +
    + + {% comment %} + Group Member Groups They Lead + {% endcomment %} + {% if groups and groups != empty %} +

    Groups {{ person.NickName }} Leads

    +
    + + {% for row in groups %}
    + {% assign group = row.GroupId | GroupById %} + {% assign groupName = group.Name | Replace:"'","’" %} + {% assign linkurl = '/groups/' | Append:group.Id | Append:'/toolbox' %} + {% assign groupTypeImage = group.GroupType | Attribute:'ImageSquare' %} + {% assign groupImageUrl = group | Attribute:'ImageSquare' | WithFallback:'',groupTypeImage %} + + {[ cardAction title:'{{ groupName }}' imageurl:'{{ groupImageUrl }}' linkurl:linkurl ]} +

    {{ row.GroupType }}

    + {[ endcardAction ]} + +
    {% endfor %} +
    + {% endif %} + + {% comment %} + Group Member Coaches They Lead + {% endcomment %} + {% if leaders and leaders != empty %} + +

    Leaders {{ person.NickName }} Coaches

    +
    + {% for row in leaders %}
    + + {% assign linkurl = '/groups/' | Append:row.GroupId | Append:'/toolbox/' | Append:row.PersonId %} + {% assign coach = row.PersonId | PersonById %} + {% assign groupTypeId = group.GroupTypeId | AsString %} + {% assign mobile = coach | PhoneNumber:'Mobile', true %} + {% assign home = coach | PhoneNumber:'Home', true %} + {% assign work = coach | PhoneNumber:'Work', true %} + {% assign phone = mobile | WithFallback:'',home | WithFallback:'',work %} + {% assign sms = coach.PhoneNumbers | Where:'IsMessagingEnabled',true | First | Property:'NumberFormattedWithCountryCode' %} + + {% assign cardtype = 'primary' %} + {% assign texttype = 'primary' %} + {% assign note = row.GroupRole %} + + {% capture actionsString %}[ + { + "IconCSSClass": "fal fa-lg fa-inbox", + "Url": "{% if coach.EmailPreference != 'DoNotEmail' and coach.Email and coach.Email != empty %}mailto:{{ coach.Email }}{% endif %}", + "OnClick": "", + "Title": "{% if coach.EmailPreference != 'DoNotEmail' and coach.Email and coach.Email != empty %}{% else %}Person has no email address or they do not wish to be emailed.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-phone", + "Url": "{% if phone and phone != empty %}tel:{{ phone }}{% endif %}", + "OnClick": "", + "Title": "{% if phone and phone != empty %}{% else %}Person has no phone number.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-comment", + "Url": "{% if sms and sms != empty %}sms:{{ sms }}{% endif %}", + "OnClick": "", + "Title": "{% if sms == empty %}Person has no SMS-enabled number.{% endif %}", + "NewWindow": false + } + ]{% endcapture %} + {% assign cardactions = actionsString | FromJSON %} + + {[ cardAction cardtype:'{{ cardtype }}' title:'{{ coach.NickName }}
    {{ coach.LastName }}' imageurl:'{{ coach.PhotoUrl }}&maxwidth=200&maxheight=200' linkurl:linkurl cardactions:cardactions ]} + {% if note and note != empty %} +

    {{ note }}

    + {% endif %} + {[ endcardAction ]} + +
    {% endfor %} +
    + {% endif %} + + + {% comment %} + Group Member's Family Information + {% endcomment %} + {% assign families = person | Groups: "10",'All' | OrderBy:'DateTimeAdded desc' %} + {% assign familyCount = families | Size %} + + {% for family in families %} + {% assign familyGroup = family.GroupId | GroupById %} + {% assign familyMembers = familyGroup.Members | OrderBy:'Person.AgeClassification, Person.Age desc' %} + {% assign familyMemberCount = familyMembers | Size %} + + {% if familyMemberCount > 1 %} +

    {{ familyGroup.Name | Prepend:'The ' }}

    + +
    + {% for familyMember in familyMembers %}{% assign member = familyMember.PersonId | PersonById %}{% if member.Id != person.Id %}
    + + {% assign cardactions = null %} + {% if member.AgeClassification == 'Adult' %} + {% assign mobile = member | PhoneNumber:'Mobile', true %} + {% assign home = member | PhoneNumber:'Home', true %} + {% assign work = member | PhoneNumber:'Work', true %} + {% assign phone = mobile | WithFallback:'',home | WithFallback:'',work %} + {% assign sms = member.PhoneNumbers | Where:'IsMessagingEnabled',true | First | Property:'NumberFormattedWithCountryCode' %} + + {% capture actionsString %}[ + { + "IconCSSClass": "fal fa-lg fa-envelope", + "Url": "{% if member.EmailPreference != 'DoNotEmail' and member.Email and member.Email != empty %}mailto:{{ member.Email }}{% endif %}", + "OnClick": "", + "Title": "{% if member.EmailPreference != 'DoNotEmail' and member.Email and member.Email != empty %}{% else %}Person has no email address or they do not wish to be emailed.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-phone", + "Url": "{% if phone and phone != empty %}tel:{{ phone }}{% endif %}", + "OnClick": "", + "Title": "{% if phone and phone != empty %}{% else %}Person has no phone number.{% endif %}", + "NewWindow": false + }, + { + "IconCSSClass": "fal fa-lg fa-comment", + "Url": "{% if sms and sms != empty %}sms:{{ sms }}{% endif %}", + "OnClick": "", + "Title": "{% if sms == empty %}Person has no SMS-enabled number.{% endif %}", + "NewWindow": false + } + ]{% endcapture %} + {% assign cardactions = actionsString | FromJSON %} + {% endif %} + + {[ cardAction cardtype:'' title:'{{ member.NickName }}
    {{ member.LastName }}' imageurl:'{{ member.PhotoUrl }}&maxwidth=200&maxheight=200' linkurl:'' cardactions:cardactions ]} +

    {{ member.AgeClassification }}{% if member.Age and member.Age != empty %} ({{ member.Age }}){% endif %}

    + {[ endcardAction ]} + +
    {% endif %}{% endfor %} +
    + {% endif %} + + {% endfor %} +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources-entry.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources-entry.lava new file mode 100644 index 00000000000..dcca7e04c79 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources-entry.lava @@ -0,0 +1,14 @@ +{% assign resourceId = 'Global' | PageParameter:'ResourceId' %} +{% assign resourceUrl = 'Global' | PageParameter:'ResourceUrl' %} + +{% contentchannelitem where:'Id == {{ resourceId }}' iterator:'items' %} + {% assign item = items | First %} +{% endcontentchannelitem %} + +{% if item and item != empty and resourceUrl != empty %} + + {% interactioncontentchannelitemwrite contentchannelitemid:'{{ resourceId }}' operation:'View' summary:'Viewed {{ item.Title }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' %} + + {{ resourceUrl | PageRedirect }} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources.lava new file mode 100644 index 00000000000..becfafa03b8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/groups-resources.lava @@ -0,0 +1,51 @@ +{% assign currentpage = 'Global' | PageParameter:'Page' | WithFallback:'', '1' | AsInteger %} +{% assign pagesize = 9 %} +{% assign offset = pagesize | Times:currentpage | Minus:pagesize %} + +{% contentchannelitem where:'ContentChannelId == 714' iterator:'items' %} + + {% assign itemcount = items | Size %} + + {% if items and items != empty %} +
    + + {% for item in items limit:pagesize offset:offset %}
    + + {% assign fallbackImage = item.ContentChannel | Attribute:'ImageLandscape' %} + {% assign relatedItemGuid = item | Attribute:'RelatedEntry','RawValue' | WithFallback:'',null %} + {% assign format = item | Attribute:'ContentFormat' %} + {% assign verb = item | Attribute:'ContentFormat','Object' | Attribute:'Verb' %} + + {% if relatedItemGuid and relatedItemGuid != emtpy and relatedItemGuid != '' %} + + {% contentchannelitem where:'Guid == "{{ relatedItemGuid }}"' iterator:'relatedItems' %} + {% assign relatedItem = relatedItems | First %} + {% endcontentchannelitem %} + + {% assign title = relatedItem.Title | Replace:"'","’" %} + {% assign subtitle = relatedItem | Attribute:'Subtitle' | Replace:"'","’" | | WithFallback:'', null %} + {% capture permalink %}{[ getPermalink cciid:'{{ relatedItem.Id }}' ]}{% endcapture %} + {% assign linkurl = '/groups/resources/entry?ResourceId=' | Append:item.Id | Append:'&ResourceUrl=' | Append:permalink %} + {% assign imageurl = relatedItem | Attribute:"ImageLandscape" | WithFallback:"", fallbackImage %} + {% assign target = null %} + + {% else %} + + {% assign title = item.Title | Replace:"'","’" %} + {% assign subtitle = item | Attribute:'Subtitle' | Replace:"'","’" | | WithFallback:'', null %} + {% assign imageurl = item | Attribute:"ImageLandscape" | WithFallback:"", fallbackImage %} + {% assign resourcelink = item | Attribute:'Link','RawValue' %} + {% assign linkurl = '/groups/resources/entry?ResourceId=' | Append:item.Id | Append:'&ResourceUrl=' | Append:resourcelink %} + {% assign target = '_blank' %} + + {% endif %} + + {[ card title:'{{ title }}' titlesize:'h4' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' type:'{{ format }}' linkurl:'{{ linkurl }}' linktext:'{{ verb }} {{ format }}' target:'{{ target }}' ]} + +
    {% endfor %} + +
    + {% endif %} +{% endcontentchannelitem %} + +{[ pagination ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/homepage-stories-slider.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/homepage-stories-slider.lava new file mode 100644 index 00000000000..b2f8cddf78a --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/homepage-stories-slider.lava @@ -0,0 +1,86 @@ +
    +
    +
    +

    Jesus Changes Everything

    +
    + + + {%- assign swiperid = '' | UniqueIdentifier -%} + + +
    + +
    + + {%- for item in items -%} +
    +
    + +
    +
    +
    +
    +

    “{{ item.Quote }}”

    +

    — {{ item.Name }}

    + {% if item.LinkUrl and item.LinkUrl != empty %} +

    {{ item.LinkText | Default:'Learn More' }}

    + {% endif %} +
    +
    + {%- endfor -%} +
    + + + + + +
    +
    + + +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/latest-items.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/latest-items.lava new file mode 100644 index 00000000000..547b5cd0ae1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/latest-items.lava @@ -0,0 +1,70 @@ +{% if Items and Items != empty %} + +{% comment %} + This loops through the items from the dataset and strips out anything that is future-dated or expired. +{% endcomment %} +{%- capture displayItemsString -%} + {%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} + [{%- for item in Items -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {%- if status == 2 and publishDateTime <= now and expireDateTime == null or status == 2 and publishDateTime <= now and expireDateTime > now -%} + {{ item | ToJSON }}, + {%- endif -%} + {%- endfor -%}] +{%- endcapture -%} + +{% comment %} + This reassigns the results of the above filtered loop to the "Items" object that is used by the card list below. +{% endcomment %} +{% assign Items = displayItemsString | ReplaceLast:',', '' | StripNewlines | FromJSON %} + + +{% assign channelItemsName = Items | First | Property:'ChannelName' | Split:' - ' | Index:1 %} +{% assign channelUrl = Items | First | Property:'ChannelUrl' %} +
    +
    +
    +

    Latest {{ channelItemsName }}

    +
    +
    +
    + {% for item in Items limit:3 %}
    + {% assign guid = item.Guid %} + {% assign id = item.Id %} + {% assign dataset = item.Dataset %} + {% assign title = item.Title | Replace:"'","’" %} + {% assign titlesize = 'h4' %} + {% assign summary = item.Summary %} + {% capture content %}

    {% if summary and summary != empty %}{{ summary | HtmlDecode | StripHtml | Replace:"'","’" }}{% else %}{{ item.Content | HtmlDecode | StripHtml | Truncate:140,'...' | Replace:"'","’" }}{% endif %}

    {% endcapture %} + {% assign type = channelItemsName | Singularize %} + {%- capture communicators -%}{[ communicators dataset:'{{ item.Dataset }}' cciid:'{{ item.Id }}' ]}{%- endcapture -%} + {% assign actualdate = item.ActualDate %} + {% capture subtitle %}{% if actualdate and actualdate != empty %}{[ formatDate date:'{{ actualdate }}']}{% else %}{[ formatDate date:'{{ item.PublishDateTime }}' ]}{% endif %}{% if communicators and communicators != empty %} · {{ communicators }}{% endif %}{% endcapture %} + {% assign video = item.Video %} + {% assign imageurl = item.ImageLandscape %} + {% capture linkurl %}{{ item.Permalink }}{% endcapture %} + {% assign linktext = channelItemsName | Singularize | Prepend:' ' | Prepend:item.ChannelVerb %} + + {% assign parentChannelId = item.ParentChannelId | AsInteger %} + {% assign parent = item.Parents | Where:'ChannelId', parentChannelId | First %} + {% if parent and parent != empty %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id', parent.Id | First %} + {% if parentItem and parentItem != empty %} + {% assign collectiontext = parentItem.Title %} + {% assign collectionurl = parentItem.Permalink %} + {% endif %} + {% else %} + {% assign collectiontext = '' %} + {% assign collectionurl = '' %} + {% endif %} + + {[ card guid:'{{ guid }}' id:'{{ id }}' cciid:'{{ id }}' dataset:'{{ dataset }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + +
    {% endfor %} +
    + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/locations-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/locations-detail.lava new file mode 100644 index 00000000000..631cd1e5e5b --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/locations-detail.lava @@ -0,0 +1,21 @@ +
    +
    +
    + {% include '~~/Assets/Lava/UI/locations-information.lava' %} +
    + {% include '~~/Assets/Lava/UI/locations-leader.lava' %} +
    +
    +
    + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/network-resource-collection.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/network-resource-collection.lava new file mode 100644 index 00000000000..995d9e5238d --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/network-resource-collection.lava @@ -0,0 +1,142 @@ +{% comment %} + Write content channel item interaction +{% endcomment %} +{% assign currentUrl = 'Global'| Page:'Url' %} +{% assign siteId = 'Global' | Page:'SiteId' %} +{% assign source = 'Global'| PageParameter:'utm_source' %} +{% assign medium = 'Global'| PageParameter:'utm_medium' %} +{% assign campaign = 'Global'| PageParameter:'utm_campaign' %} +{% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ Item.ChannelId }}' channelname:'{{ Item.ChannelName }}' componententitytypeid:'209' componententityid:'{{ Item.Id }}' componentname:'{{ Item.Title }}' operation:'View' summary:'Viewed "{{ Item.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + +{% assign category = Item.Category %} +{% assign currentUrl = 'Global' | Page:'Url' | Url:'pathandquery' %} + +{% capture pageTitle %}{% if category != empty %}{{ category }} {% endif %}{{ Item.ChannelName | Replace:' - ',' ' | Singularize }}{% endcapture %} +{% capture browserTitle %}{{ Item.Title | Replace:"'","’" }} | {% if category and category != empty %}{{ category }} {% endif %}{{ Item.ChannelName | Replace:' - ',' ' | Singularize }} | Resources | NewSpring Network{% endcapture %} +{{ pageTitle | SetPageTitle:'PageTitle' }} +{{ browserTitle | SetPageTitle:'BrowserTitle' }} + +{% assign id = Item.Id %} +{% assign cciid = Item.Id %} +{% assign title = Item.Title | Replace:"'","’" %} +{% assign content = Item.Summary | HtmlDecode | Replace:"'","’" %} +{% assign textalignment = '' %} +{%- capture label -%} + {% if Item.ChannelId == '25' or Item.ChannelId == '26' %}{{ Item.Category }}{% endif %} {{ Item.ChannelName | Split:' - ' | Index:1 | Singularize }} +{%- endcapture -%} +{% assign subtitle = '' %} +{% assign imageurl = Item.ImageSquare | WithFallback:'', Item.ImageLandscape %} +{% assign imageoverlayurl = '' %} +{% assign imagealignment = '' %} +{% assign imageopacity = '' %} +{% assign imageflip = '' %} +{% assign imageblur = '' %} +{% assign grayscale = '' %} +{% assign backgroundvideourl = '' %} +{% assign lava = '' %} +{% assign video = '' %} +{% assign trimcopy = '' %} +{% assign linkcolor = '' %} +{% assign backgroundcolor = '#000' %} +{% assign linkurl = '#resources' %} +{% assign linktext = 'View Resources' %} +{% assign hideforegroundelements = '' %} + +{[ sideBySide id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + +
    +{% assign downloadCount = Item.Downloads | Size %} +{% if downloadCount > 0 %} +
    + +

    Series Resources

    + +
    + {% for download in Item.Downloads %}
    + +

    {{ download.Title }}

    +

    {{ download.Summary }}

    +

    + {% if CurrentPerson and CurrentPerson != empty %} + Download Now + {% else %} + Sign In to Download + {% endif %} +

    + +
    {% endfor %} +
    +
    +{% endif %} + + +{% if showchildren == 'true' and Item.Children != empty %} + + {% assign parentType = Item.ChannelName | Split:' - ' | Last | Singularize %} + {% assign childChannelId = Item.ChildChannelId | AsInteger %} + {% assign childType = Item.Children | Where:'ChannelId', childChannelId | First | Property:'Dataset' | PersistedDataset | First | Property:'ChannelName' | Split:' - ' | Last | Singularize %} + +
    + + {[ swiper title:'{{ childType | Pluralize }} From This {{ parentType | Singularize }}' ]} + {% for child in Item.Children %}[[ item ]] + {% assign childId = child.Id | AsInteger %} + {% assign childItem = child.Dataset | PersistedDataset | Where:'Id', childId | First %} + + {% assign id = childItem.Id %} + {% assign cciid = childItem.Id %} + {% assign imageurl = childItem.ImageLandscape %} + + {% if childItem.ChannelName contains 'Sermon' or childItem.ChannelName contains 'Lesson' %} + {% assign type = child.Index | Plus:1 | Prepend:'Week ' %} + {% else %} + {% assign type = childItem.ChannelName | Split:' - ' | Index:1 | Singularize %} + {% endif %} + + {% capture content %} + {% for video in childItem.Videos %} + {% assign videoId = video.Video %} + {{ video.Title }} + + {% if CurrentPerson and CurrentPerson != empty %} +
    + {[ wistiaButton id:'{{ videoId }}' buttontext:'' buttonclasses:'btn-xs' contentchannelitemid:'{{ cciid }}' entitytypeid:'' entityid:'' ]} +
    + {% else %} + Sign In + {% endif %} + +
    + {% endfor %} + {% for download in childItem.Downloads %} + + {%- capture downloadlink -%} + {%- if download.Link and download.Link != empty -%} + {{ download.Link }} + {%- else -%} + /workflows/617?PersonAliasId={{ CurrentPerson.PrimaryAliasId }}&ResourceId={{ childItem.Id }}&ResourceImage={{ Item.ImageSquare | WithFallback:'', Item.ImageLandscape }}&ResourceTitle={{ Item.Title | Replace:"'","’" | EscapeDataString }} - {{ childItem.Title | EscapeDataString }}&ResourceSummary={{ download.Title | EscapeDataString }}&ResourceUrl={{ download.File }} + {%- endif -%} + {%- endcapture -%} + + {{ download.Title }} + + {% if CurrentPerson and CurrentPerson != empty %} + Download + {% else %} + Sign In + {% endif %} + + + {% endfor %} +

    + {% endcapture %} + + {[ card cciid:'{{ cciid }}' title:'{{ childItem.Title | Replace:"'","’" }}' titlesize:'h3' type:'{{ type }}' content:'{{ content | Escape }}' imageurl:'{{ imageurl }}' ]} + + [[ enditem ]]{% endfor %} + + {[ endswiper ]} + +
    +{% endif %} +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-input.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-input.lava new file mode 100644 index 00000000000..1fbdf253d21 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-input.lava @@ -0,0 +1,8 @@ +
    +
    + + +
    +
    + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-results.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-results.lava new file mode 100644 index 00000000000..153a3519af5 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/search-results.lava @@ -0,0 +1,238 @@ +
    + +
    + +{% comment %}Set search engine id to use from site attribute value{% endcomment %} +{% assign gcseid = CurrentPage.Layout.Site | Attribute:'GoogleCustomSearchEngineId' %} + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/sermon-detail.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/sermon-detail.lava new file mode 100644 index 00000000000..d36c112964f --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/sermon-detail.lava @@ -0,0 +1,161 @@ +{% comment %} + Redirect if item is expired +{% endcomment %} +{% assign itemId = Item.Id | AsInteger %} +{% assign CurrentPersonCanEdit = itemId | HasRightsTo:'Edit','Rock.Model.ContentChannelItem' %} +{% assign now = 'Now' | Date:'yyyyMMddHHmm' %} +{% assign publishDateTime = Item.PublishDateTime | Date:'yyyyMMddHHmm' %} +{% assign expireDateTime = Item.ExpireDateTime | Date:'yyyyMMddHHmm' %} + + +{% if Item == null or publishDateTime > now or expireDateTime and expireDateTime != empty and expireDateTime <= now %} + {% if CurrentPersonCanEdit %} +

    If you could not edit you would be redirected to /page-not-found as this entry is not active.

    + {% else %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} +{% endif %} + +{% if Item and Item != null %} + + {% comment %} + Write content channel item interaction + {% endcomment %} + {% assign currentUrl = 'Global'| Page:'Url' %} + {% assign siteId = 'Global' | Page:'SiteId' %} + {% assign source = 'Global'| PageParameter:'utm_source' %} + {% assign medium = 'Global'| PageParameter:'utm_medium' %} + {% assign campaign = 'Global'| PageParameter:'utm_campaign' %} + {% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ Item.ChannelId }}' channelname:'{{ Item.ChannelName }}' componententitytypeid:'209' componententityid:'{{ Item.Id }}' componentname:'{{ Item.Title }}' operation:'View' summary:'Viewed "{{ Item.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + + {% assign parentChannelId = Item.ParentChannelId | AsInteger %} + {% assign parent = Item.Parents | Where:'ChannelId', parentChannelId | First %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id', parent.Id | First %} + + {% if parentItem and parentItem != empty %} + {% assign parentType = parentItem.ContentType %} + {% assign parentTitle = parentItem.Title | Replace:"'","’" %} + {% assign parentSummary = parentItem.Summary | Replace:"'","’" %} + {% assign parentImage = parentItem.ImageLandscape %} + {% assign parentImageSquare = parentItem.ImageSquare %} + {% assign backgroundColor = parentItem.BackgroundColor %} + {% assign parentVideo = parentItem.Video %} + {% assign parentUrl = parentItem.Permalink %} + + {% comment %} + Write parent interaction + {% endcomment %} + {% interactionwrite channeltypemediumvalueid:'906' channelentityid:'{{ parentItem.ChannelId }}' channelname:'{{ parentItem.ChannelName }}' componententitytypeid:'209' componententityid:'{{ parentItem.Id }}' componentname:'{{ parentItem.Title }}' operation:'View' summary:'Viewed "{{ parentItem.Title }}"' channelcustom1:'{{ siteId }}' personaliasid:'{{ CurrentPerson.PrimaryAliasId }}' source:'{{ source }}' medium:'{{ medium }}' campaign:'{{ campaign }}' %}{{ currentUrl }}{% endinteractionwrite %} + + {% endif %} + + {% assign pagePath = 'Global' | Page:'Path' %} + {% assign orgName = 'Global' | Attribute:'OrganizationName' %} + {% assign channelName = Item.ChannelName %} + {% capture browserTitle %}{{ Item.Title }} | {% if parentTitle and parentTitle != empty %}{{ parentTitle }} | {% endif %}{{ channelName }} | {% if pagePath contains '/fuse/' %}Fuse | {% endif %}{{ orgName }}{% endcapture %} + + {{ browserTitle | SetPageTitle:'BrowserTitle' }} + {{ channelName | Singularize | SetPageTitle:'PageTitle' }} + + {% if backgroundColor and backgroundColor != empty %} + + {% endif %} + +
    +
    +
    + {% assign guid = Item.Guid %} + {% assign dataset = Item.Dataset %} + {% assign cciid = Item.Id %} + {% assign id = Item.Id %} + {% assign title = Item.Title | Replace:"'","’" %} + {% assign titlesize = 'h3' %} + {% assign content = Item.Summary | HtmlDecode | Replace:"'","’" %} + {% capture subtitle %}{[ formatDate date:'{{ Item.ActualDate }}' ]} · {[ communicators dataset:'{{ Item.Dataset }}' cciid:'{{ Item.Id }}' ]}{% endcapture %} + {% capture imageurl %}{{ parentImage }}{% endcapture %} + {% capture lava %} +
    + +
    + {% endcapture %} + {% assign video = null %} + {% assign trimcopy = 'Yes' %} + + {[ card id:'{{ id }}' dataset:'{{ dataset }}' cciid:'{{ cciid }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + + {% assign itemToken = 'cci' | Append:Item.ChannelId | Append:Item.Id %} + {% assign shareurl = 'Global' | Page:'Url' | CreateShortLink:itemToken, 18, true, 7 %} + + {% assign shareimageurl = Item.ImageLandscape %} + {% assign shareauthor = 'newspring' %} + {% assign sharetitle = Item.Title %} + {% assign summary = Item.Summary %} + {%- capture sharesummary -%} + {% if summary and summary != empty %} + {{ summary | HtmlDecode | StripHtml | Truncate:140,'...' }} + {% else %} + {{ Item.Content | HtmlDecode | StripHtml | Truncate:140,'...' }} + {% endif %} + {%- endcapture -%} + {% assign sharehashtag = '' %} + + {[ modalShare ]} + +
    + {[ wistiaEmbed id:'{{ Item.Video }}' color:'{{ backgroundColor }}' contentchannelitemid:'{{ Item.Id }}' entitytypeid:'' entityid:'' ]} +
    +
    +
    + + + {% assign id = parentItem.Id %} + {% assign cciid = parentItem.Id %} + {% assign dataset = parentItem.Dataset %} + {% assign title = parentTitle | Replace:"'","’" %} + {% assign content = parentSummary | HtmlDecode | Replace:"'","’" %} + {% assign label = parentType %} + {% assign startDate = parentItem.StartDateTime %} + {% assign endDate = parentItem.EndDateTime %} + + {% if startDate and startDate != empty %} + {% capture subtitle %}{[ formatDate date:'{{ startDate }}' ]}{% if endDate and endDate != empty and startDate != endDate %} - {[ formatDate date:'{{ endDate }}' ]}{% endif %}{% endcapture %} + {% endif %} + {% assign imageurl = parentImageSquare %} + {% assign imagealignment = 'Left' %} + {% assign video = parentVideo %} + {% assign ratio = 'square' %} + {% assign linkurl = parentUrl %} + {% assign linktext = 'Watch Series' %} + +
    + {[ sideBySide dataset:'{{ dataset }}' id:'{{ id }}' cciid:'{{ cciid }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} +
    + + + + + {% assign metaTitle = Item.MetaTitle %} + {% assign metaDescription = Item.MetaDescription %} + {% assign summary = Item.Summary | HtmlDecode | StripHtml | StripNewlines %} + {% assign content = Item.Content | HtmlDecode | StripHtml | StripNewlines | Truncate:240,'...' %} + {% assign video = Item.Video %} + {% capture article_author %}{[ communicators dataset:'{{ dataset }}' cciid:'{{ id }}' ]}{% endcapture %} + + {%- comment -%}If meta title is present, use it, otherwise use this item's title{%- endcomment -%} + {% capture title %}{% if metaTitle and metaTitle != empty %}{{ metaTitle }}{% else %}{{ Item.Title }}{% endif %}{% endcapture %} + + {%- comment -%}If meta description is present, use it, otherwise if this item has a summary, use it, otherwise, use this item's content{%- endcomment -%} + {% capture description %}{% if metaDescription and metaDescription != empty %}{{ metaDescription }}{% elseif summary and summary != empty %}{{ summary }}{% else %}{{ content }}{% endif %}{% endcapture %} + + + {[ metaTags url:'{{ "Global" | Page:"Url" }}' title:'{{ title | Replace:"'","’" | Replace:"New Spring","NewSpring" }}' description:'{{ description | Replace:"'","’" }}' image:'{{ Item.ImageLandscape }}' article_published_time:'{{ Item.StartDateTime | Date:'yyyy-MM-dd' }}' video:'{% if video and video != "" %}https://fast.wistia.net/embed/iframe/{{ video }}?videoFoam=true{% endif %}' article_author:'{{ article_author | Trim }}' ]} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/staff.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/staff.lava new file mode 100644 index 00000000000..af6f4423ee8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/staff.lava @@ -0,0 +1,129 @@ +{% assign pagePath = 'Global' | Page:'Path' %} +{% assign lastSegment = 'Global' | Page:'Path' | Split:'/' | Last %} +{% assign staffTeams = 'staff_teams' | PersistedDataset %} + +{% if lastSegment == 'staff' %} + {% assign group = staffTeams | Where:'Id',2069928 | First %} + {% assign groupName = 'Lead Pastors' %} + {% assign members = group.Members %} +{% elseif lastSegment == 'teaching-team' %} + {% assign group = staffTeams | Where:'Id',2070138 | First %} + {% assign groupName = 'Teaching Team' %} + {% assign members = group.Members %} +{% elseif lastSegment == 'support-center' %} + {% assign group = staffTeams | Where:'Id',1936475 | First %} + {% assign groupName = 'Support Center Directors' %} + {% assign members = group.Members | Where:'Role','Director' %} + {% assign childGroups = group.ChildGroups | Where:'IsPublic',true | OrderBy:'Name' %} + {% assign dropdownlinkpath = '/staff/support-center' %} +{% elseif lastSegment == 'campus' %} + {% assign group = staffTeams | Where:'Id',2084074 | First %} + {% assign groupName = 'Campus Pastors' %} + {% assign members = group.Members | Where:'Role','Campus Pastor' %} + {% assign childGroups = group.ChildGroups | Where:'IsPublic',true | OrderBy:'Name' %} + {% assign dropdownlinkpath = '/staff/campus' %} +{% elseif pagePath contains 'support' %} + {% assign groupName = lastSegment | Replace:'-',' ' | Capitalize %} + {% assign groupName = groupName | Replace:'And','and' | Replace:'Kidspring','KidSpring' | Replace:'Newspring','NewSpring' %} + {% assign groupId = staffTeams | Where:'Id',1936475 | First | Property:'ChildGroups' | Where:'Name',groupName | First | Property:'Id' %} + {% if groupId == '' %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} + {% assign group = staffTeams | Where:'Id',groupId | First %} + {% assign groupName = groupName | Append:' Team' %} + {% assign members = group.Members %} + {% assign childGroups = staffTeams | Where:'Id',1936475 | First | Property:'ChildGroups' | Where:'IsPublic',true | OrderBy:'Name' %} +{% elseif pagePath contains 'campus' %} + {% assign groupName = lastSegment | Append:' Team' | Replace:'-',' ' | Capitalize %} + {% assign groupId = staffTeams | Where:'Id',2084074 | First | Property:'ChildGroups' | Where:'Name',groupName | First | Property:'Id' %} + {% if groupId == '' %} + {{ '/page-not-found' | PageRedirect }} + {% endif %} + {% assign group = staffTeams | Where:'Id',groupId | First %} + {% assign members = group.Members %} + {% assign childGroups = staffTeams | Where:'Id',2084074 | First | Property:'ChildGroups' | Where:'IsPublic',true | OrderBy:'Name' %} +{% endif %} + + + +{% comment %} + Filter out people who aren't supposed to be shown +{% endcomment %} +{% assign members = members | Where:'ShowOnWebsite','Yes' | OrderBy:'Role,LastName,NickName' %} + +
    +
    + +
    +
    +

    {{ groupName }}

    +
    + + {% if childGroups and childGroups != empty %} +
    + {[ dropdown defaulttext:'{{ dropdowndefaulttext }}' ]} + {% for group in childGroups %} + [[ item linktext:'{{ group.Name | Replace:" Team","" }}' linkurl:'{{ dropdownlinkpath | Append:'/' }}{{ group.Name | Replace:" Team","" | Replace:" ","-" | Downcase }}' ]][[ enditem ]] + {% endfor %} + {[ enddropdown ]} +
    + {% endif %} + +
    +
    + + {% comment %} + Show on Lead Pastors/Teaching Team pages only + {% endcomment %} + {% if lastSegment == 'staff' or lastSegment == 'teaching-team' %} + {% capture leadPastors %}[ + {% for member in members %} + {% if member.Title contains 'Assistant' or member.Title contains 'Coordinator' %} + {% else %} + {{ member | ToJSON }}, + {% endif %} + {% endfor %} + ]{% endcapture %} + + {% capture members %}[ + {% for member in members %} + {% if member.Title contains 'Assistant' or member.Title contains 'Coordinator' %} + {{ member | ToJSON }}, + {% endif %} + {% endfor %} + ]{% endcapture %} + + {% assign leadPastors = leadPastors | ReplaceLast:',','' | FromJSON %} + {% assign members = members | ReplaceLast:',','' | FromJSON %} + +
    + {% for item in leadPastors %}
    + + {% assign person = item.PersonId | PersonById %} + + {[ user imageurl:'{{ person | Attribute:"StaffImage","Url" }}' title:'{{ person.NickName }}
    {{ person.LastName }}' subtitle:'{{ person | Attribute:'StaffTitle' }}' linkurl:'https://newspring.cc/workflows/712?StaffMember={{ person | Property:'PrimaryAlias' | Property:'Guid' }}' linktext:'Contact {{ person.NickName }}' ]}{[ enduser ]} + +
    {% endfor %} +
    +

    {{ groupName | Singularize | Append:' Assistants' }}

    +
    +
    + {% endif %} + + + {% assign memberIds = members | Select:'PersonId' | Uniq %} + + {% comment %} + Loop through group members + {% endcomment %} +
    + {% for id in memberIds %}
    + + {% assign person = id | PersonById %} + + {[ user imageurl:'{{ person | Attribute:"StaffImage","Url" | Split:"?" | First }}' title:'{{ person.NickName }}
    {{ person.LastName }}' subtitle:'{{ person | Attribute:'StaffTitle' }}' linkurl:'https://newspring.cc/workflows/712?StaffMember={{ person | Property:'PrimaryAlias' | Property:'Guid' }}' linktext:'Contact {{ person.NickName }}' ]}{[ enduser ]} + +
    {% endfor %} +
    +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/todays-devotional.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/todays-devotional.lava new file mode 100644 index 00000000000..a4f1f3e99cb --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/todays-devotional.lava @@ -0,0 +1,43 @@ +{% comment %} + This loops through the items from the parent's children and strips out anything that is future-dated or expired. +{% endcomment %} +{%- capture displayItemsString -%} + {%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} + [{%- for item in Items -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {%- if status == 2 and publishDateTime <= now and expireDateTime == null or status == 2 and publishDateTime <= now and expireDateTime > now -%} + {{ item | ToJSON }}, + {%- endif -%} + {%- endfor -%}] +{%- endcapture -%} + +{% comment %} + This reassigns the results of the above filtered loop to the "children" object that is used by the card list below. +{% endcomment %} +{% assign Item = displayItemsString | ReplaceLast:',', '' | StripNewlines | FromJSON | First %} + +{% if Item and Item != empty %} + + {% assign parentChannelId = Item.ParentChannelId | AsInteger %} + {% assign parent = Item.Parents | Where:'ChannelId', parentChannelId | First %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id', parent.Id | First %} + {% assign imageurl = parentItem.ImageSquare %} + + + {% assign id = Item.Id %} + {% assign dataset = Item.Dataset %} + {% assign title = Item.Title | Replace:"'","’" %} + {% capture content %}

    {{ Item.Content | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:250,'...' }}

    {% endcapture %} + {% assign label = 'Today’s Devotional' %} + {% assign imagealignment = 'Left' %} + {% assign ratio = 'square' %} + {% assign linkurl = Item.Permalink %} + {% assign linktext = 'Read Devotional' %} + + {[ sideBySide id:'{{ id }}' dataset:'{{ dataset }}' cciid:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + +{% else %} + No item object defined. +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topical-content.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topical-content.lava new file mode 100644 index 00000000000..9d5037d74b0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topical-content.lava @@ -0,0 +1,84 @@ +{% assign siteName = 'Global' | Page:'SiteName' %} +{% assign slug = 'Global' | PageParameter:'Tag' %} +{% assign pageNumber = 'Global' | PageParameter:'Page' %} +{% assign tag = 'tags' | PersistedDataset | Where:'Slug', slug | First %} + +{{ tag.Name | Append:' | Topics | ' | Append:siteName | SetPageTitle:'BrowserTitle' }} +{{ tag.Name | SetPageTitle:'PageTitle' }} + +{% comment %} + FEATURED CONTENT SWIPER +{% endcomment %} + +{% capture featuredItemsString %}[ +{% for item in tag.FeaturedItems %} + {% assign taggedItem = item.Dataset | PersistedDataset | Where:'Id', item.Id | First %} + {% if taggedItem and taggedItem != empty %}{{ taggedItem | ToJSON }}{% unless forloop.last %},{% endunless %}{% endif %} +{% endfor %} +]{% endcapture %} +{% assign FeaturedItems = featuredItemsString | FromJSON %} + +{% if pageNumber == empty %} + {% assign rowsCount = FeaturedItems | Size %} + {% if rowsCount > 0 %} + {[ section title:'Featured Content' fullwidth:'true' backgroundcolor:'#1c1c1c' ]} + {[ swiper id:'' title:'Featured Content' subtitle:'' ]} + {% for item in FeaturedItems %} + [[ item data:'' ]] + {% assign dataset = item.Dataset %} + {% assign id = item.Id %} + {% assign cciid = item.Id %} + {% assign guid = item.Guid %} + {% assign type = item.ChannelName | Split:' - ' | Index:1 | Singularize %} + {% assign title = item.Title | Replace:"'","’" %} + {% assign titlesize = "h4" %} + {% capture subtitle %} + {% if type == "News" %} + {[ formatDate date:'{{ item.PublishDateTime }}' ]} + {% endif %} + {% endcapture %} + + {% assign imageurl = item.ImageLandscape %} + {% assign summary = item.Summary %} + {% capture content %}

    {% if summary and summary != empty %}{{ summary | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }}{% else %}{{ item.Content | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }}{% endif %}

    {% endcapture %} + {% assign linkurl = item.Permalink %} + {% capture linktext %}{% if type contains 'Sermon' or type contains 'Series' %}Watch{% else %}Read{% endif %} {{ type }}{% endcapture %} + + {% assign parentChannelId = item.ParentChannelId | AsInteger %} + {% assign parent = item.Parents | Where:'ChannelId', parentChannelId | First %} + {% if parent and parent != empty %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id', parent.Id | First %} + {% endif %} + + {% if parentItem and parentItem != empty %} + {% assign collectiontext = parentItem.Title %} + {% assign collectionurl = parentItem.Permalink %} + {% assign imageurl = parentItem.ImageLandscape %} + {% else %} + {% assign collectiontext = '' %} + {% assign collectionurl = '' %} + {% endif %} + + {[ card guid:'{{ guid }}' dataset:'{{ dataset }}' cciid:'{{ cciid }}' id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + [[ enditem ]] + {% endfor %} + {[ endswiper ]} + {[ endsection ]} + {% endif %} +{% endif %} + + + +{% comment %} + CARD LIST +{% endcomment %} + +{% capture itemsString %}[ +{% for item in tag.TaggedItems %} + {% assign taggedItem = item.Dataset | PersistedDataset | Where:'Id', item.Id | First %} + {% if taggedItem and taggedItem != empty %}{{ taggedItem | ToJSON }}{% unless forloop.last %},{% endunless %}{% endif %} +{% endfor %} +]{% endcapture %} +{% assign Items = itemsString | FromJSON %} + +{[ cardList itemcount:'{{ Items | Size }}' pagesize:'12' ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topics-swiper.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topics-swiper.lava new file mode 100644 index 00000000000..f6a0aff6767 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/topics-swiper.lava @@ -0,0 +1,51 @@ +
    +
    +
    +

    Content By Topic

    +
    + + {% capture IdConditional %}Id == 166 || Id == 167 || Id == 173 || Id == 176 || Id == 177 || Id == 181 || Id == 188 {% endcapture %} + + {% tag where:'{{ IdConditional }}' iterator:'tags' sort:'Name' %} + {[ swiper id:'topics' title:'Content By Topic' subtitle:'' loop:'true' ]} + {% for tag in tags %} + [[ item data:'' ]] + {% capture id %}{% endcapture %} + {% capture title %}{{ tag.Name | Capitalize }}{% endcapture %} + {% capture titlesize %}h3{% endcapture %} + {% capture content %}{% endcapture %} + {% capture textalignment %}{% endcapture %} + {% capture label %}{% endcapture %} + {% capture subtitle %}{% endcapture %} + {% assign squareImage = tag | Attribute:'ImageSquare','Url' %} + {% capture imageurl %}{{ tag | Attribute:'ImagePortrait','Url' | Default:squareImage }}{% endcapture %} + {% capture imageoverlayurl %}{% endcapture %} + {% capture imagealignment %}{% endcapture %} + {% capture contentalignment %}end{% endcapture %} + {% capture imageopacity %}{% endcapture %} + {% capture imageflip %}{% endcapture %} + {% capture imageblur %}{% endcapture %} + {% capture grayscale %}{% endcapture %} + {% capture backgroundvideourl %}{% endcapture %} + {% capture lava %}{% endcapture %} + {% capture video %}{% endcapture %} + {% capture ratio %}portrait{% endcapture %} + {% capture trimcopy %}{% endcapture %} + {% capture linkcolor %}{% endcapture %} + {% capture backgroundcolor %}#000{% endcapture %} + {% capture foregroundcolor %}white{% endcapture %} + {% capture linkurl %}/topics/{{ tag.Name | Replace:' ','-' | Downcase }}{% endcapture %} + {% capture linktext %}Browse Topic{% endcapture %} + {% capture hideforegroundelements %}{% endcapture %} + {% capture blockwidth %}{% endcapture %} + {% capture gradientamount %}75{% endcapture %} + + {[ image id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' contentalignment:'{{ contentalignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' foregroundcolor:'{{ foregroundcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' blockwidth:'{{ blockwidth }}' gradientamount:'{{ gradientamount }}' ]} + + [[ enditem ]] + {% endfor %} + {[ endswiper ]} + {% endtag %} + +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/weekly-metrics-dashboard.lava b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/weekly-metrics-dashboard.lava new file mode 100644 index 00000000000..6a208a21f48 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/LAYOUT/weekly-metrics-dashboard.lava @@ -0,0 +1,555 @@ + + + +{% assign currentUrl = 'Global' | Page:'Url' | Split:'?' | First %} +{% assign currentCampus = 'Global' | PageParameter:'campus' | Replace:'-',' ' | Capitalize %} + +{% assign now = 'Now' %} + +/- I think this is always overwritten by the dotw process so it's not doing anything...? +{% assign staticDate = 'Global' | PageParameter:'date' %} + +{% if staticDate and staticDate != '' %} + {% assign now = staticDate | AsDateTime %} +{% endif %} +-/ + +{% assign dotw = now | Date:'dddd' %} + +//- SundayDate is storing as a string so we need to do that later (after all DateAdd operations) +{% if dotw == 'Sunday' %} + {% assign now = 'Now' %} +{% else %} + {% assign now = 'Now' | DateAdd:-7,'d' %} +{% endif %} + + +{% capture dates %}[ + {% for i in (0..11) %}{ + {% assign dateAddCount = -7 | Times:i %} +//- We cannot currently | Date:'' format a SundayDate string, so split on the slashes and reformat ourselves. + {% assign formattedDateArray = now | DateAdd:dateAddCount | SundayDate | Split:'/' %} + {% assign dateMonth = formattedDateArray[0] | Format:'00' %} + {% assign dateDay = formattedDateArray[1] | Format:'00' %} + {% assign unformattedDateString = formattedDateArray[2] | Append:'-' | Append:dateMonth | Append:'-' | Append:dateDay %} + "Date": "{{ unformattedDateString }}" + }{% unless forloop.last %},{% endunless %}{% endfor %} +]{% endcapture %} +{% assign dates = dates | FromJSON | OrderBy:'Date' %} + +{% sql return:'adultAttendanceValues' timeout:'180' %} + SELECT + CONVERT(varchar, mv.MetricValueDateTime, 23) 'Date', + mvp.EntityId 'CampusId', + mvp2.EntityId 'ScheduleId', + mv.YValue 'AdultAttendance' + FROM MetricValue mv + JOIN MetricValuePartition mvp + ON mvp.MetricValueId = mv.Id + JOIN MetricValuePartition mvp2 + ON mvp2.MetricValueId = mv.Id + WHERE mv.MetricId = 4125 + AND mvp.MetricPartitionId = 3636 + AND mvp2.MetricPartitionId = 3637 + AND DATEPART(DW, mv.MetricValueDateTime) = 1 -- limit results to sundays + ORDER BY CONVERT(varchar, mv.MetricValueDateTime, 23) DESC +{% endsql %} + +{% sql return:'values' timeout:'180' %} + DECLARE @Now datetime; + DECLARE @KidSpringIds table (Id int); + DECLARE @VolunteerIds table (Id int); + + SET @Now = CONVERT(DATETIME, '{{ now | SundayDate | Date:'yyyy-MM-dd' }}', 102); + INSERT @KidSpringIds(Id) values(81),(85),(87),(90); + INSERT @VolunteerIds(Id) values(75),(76),(97),(102),(113),(134),(139),(143); + + SELECT + DISTINCT CONVERT(varchar, ao.OccurrenceDate, 23) 'Date', + g.CampusId, + ao.ScheduleId, + ( + SELECT COUNT(*) + FROM Attendance a1 + JOIN AttendanceOccurrence ao1 + ON a1.OccurrenceId = ao1.Id + JOIN [Group] g1 + ON ao1.GroupId = g1.Id + WHERE a1.DidAttend = 1 + AND ao1.OccurrenceDate = ao.OccurrenceDate + AND ao1.ScheduleId = ao.ScheduleId + AND g1.CampusId = g.CampusId + AND g1.GroupTypeId IN (SELECT Id FROM @KidSpringIds) + ) 'KidSpringAttendance', + ( + SELECT COUNT(*) + FROM Attendance a1 + JOIN AttendanceOccurrence ao1 + ON a1.OccurrenceId = ao1.Id + JOIN [Group] g1 + ON ao1.GroupId = g1.Id + WHERE a1.DidAttend = 1 + AND ao1.OccurrenceDate = ao.OccurrenceDate + AND ao1.ScheduleId = ao.ScheduleId + AND g1.CampusId = g.CampusId + AND g1.GroupTypeId IN (SELECT Id FROM @VolunteerIds) + ) 'VolunteerAttendance' + FROM AttendanceOccurrence ao + JOIN [Group] g + ON ao.GroupId = g.Id + WHERE DATEPART(DW, ao.OccurrenceDate) = 1 -- limit results to sundays + AND g.CampusId IS NOT NULL + AND ao.ScheduleId IS NOT NULL + AND ao.OccurrenceDate > DATEADD(WEEK, -12, @Now) + AND ao.OccurrenceDate <= @Now + AND ao.ScheduleId IN (12,13) -- limit results to 9:15 & 11:15 + ORDER BY CONVERT(varchar, ao.OccurrenceDate, 23) DESC, g.CampusId ASC, ao.ScheduleId ASC +{% endsql %} + + + +{% campus where:'IsActive == true && Public == "Y"' iterator:'campuses' sort:'Name' %} + {% assign campuses = campuses %} +{% endcampus %} + +{% capture campusPicker %} +
    + + +
    + + +{% endcapture %} + + + + +{%- capture valuesString -%} +[{%- for date in dates reversed -%}{ + "Date": "{{ date.Date }}", + "Schedules": [ + { + "Id": "12", + "Campuses": [ + {% for campus in campuses %}{ + "Name": {{ campus.Name | ToJSON }}, + "AdultAttendance": {{ adultAttendanceValues | Where:'Date',date.Date | Where:'ScheduleId',12 | Where:'CampusId',campus.Id | First | Property:'AdultAttendance' | AsInteger | ToJSON }}, + "VolunteerAttendance": {{ values | Where:'Date',date.Date | Where:'ScheduleId',12 | Where:'CampusId',campus.Id | First | Property:'VolunteerAttendance' | ToJSON }}, + "KidSpringAttendance": {{ values | Where:'Date',date.Date | Where:'ScheduleId',12 | Where:'CampusId',campus.Id | First | Property:'KidSpringAttendance' | ToJSON }} + }{% unless forloop.last %},{% endunless %}{% endfor %} + ] + },{ + "Id": "13", + "Campuses": [ + {% for campus in campuses %}{ + "Name": {{ campus.Name | ToJSON }}, + "AdultAttendance": {{ adultAttendanceValues | Where:'Date',date.Date | Where:'ScheduleId',13 | Where:'CampusId',campus.Id | First | Property:'AdultAttendance' | AsInteger | ToJSON }}, + "VolunteerAttendance": {{ values | Where:'Date',date.Date | Where:'ScheduleId',13 | Where:'CampusId',campus.Id | First | Property:'VolunteerAttendance' | ToJSON }}, + "KidSpringAttendance": {{ values | Where:'Date',date.Date | Where:'ScheduleId',13 | Where:'CampusId',campus.Id | First | Property:'KidSpringAttendance' | ToJSON }} + }{% unless forloop.last %},{% endunless %}{% endfor %} + ] + } + ] + }{% unless forloop.last %},{% endunless %}{%- endfor -%}] +{%- endcapture -%} + +{% assign valuesObject = valuesString | FromJSON %} + +//- We cannot currently | Date:'' format a SundayDate string, so split on the slashes and reformat ourselves. + +{% assign currentWeekArray = now | SundayDate | Split:'/' %} +{% assign currentWeekDay = currentWeekArray[1] | Format:'00' %} +{% assign currentWeekMonth = currentWeekArray[0] | Format:'00' %} +{% assign currentWeekString = currentWeekArray[2] | Append:'-' | Append:currentWeekMonth | Append:'-' | Append:currentWeekDay %} + +{% assign previousWeekArray = now | DateAdd:-7 | SundayDate | Split:'/' %} +{% assign previousWeekDay = previousWeekArray[1] | Format:'00' %} +{% assign previousWeekMonth = previousWeekArray[0] | Format:'00' %} +{% assign previousWeekString = previousWeekArray[2] | Append:'-' | Append:previousWeekMonth | Append:'-' | Append:previousWeekDay %} + +{% assign currentWeek0915 = valuesObject | Where:'Date',currentWeekString | First | Property:'Schedules' | Where:'Id','12' | First | Property:'Campuses' %} +{% assign currentWeek1115 = valuesObject | Where:'Date',currentWeekString | First | Property:'Schedules' | Where:'Id','13' | First | Property:'Campuses' %} + +{% assign previousWeek0915 = valuesObject | Where:'Date',previousWeekString | First | Property:'Schedules' | Where:'Id','12' | First | Property:'Campuses' %} +{% assign previousWeek1115 = valuesObject | Where:'Date',previousWeekString | First | Property:'Schedules' | Where:'Id','13' | First | Property:'Campuses' %} + + +{% assign current915Adults = 0 %} +{% assign current915Kids = 0 %} +{% assign current915Vols = 0 %} +{% for campus in currentWeek0915 %} + {% if currentCampus == empty or currentCampus != empty and currentCampus == campus.Name %} + {% assign current915Adults = current915Adults | Plus:campus.AdultAttendance %} + {% assign current915Kids = current915Kids | Plus:campus.KidSpringAttendance %} + {% assign current915Vols = current915Vols | Plus:campus.VolunteerAttendance %} + {% endif %} +{% endfor %} + + +{% assign current1115Adults = 0 %} +{% assign current1115Kids = 0 %} +{% assign current1115Vols = 0 %} +{% for campus in currentWeek1115 %} + {% if currentCampus == empty or currentCampus != empty and currentCampus == campus.Name %} + {% assign current1115Adults = current1115Adults | Plus:campus.AdultAttendance %} + {% assign current1115Kids = current1115Kids | Plus:campus.KidSpringAttendance %} + {% assign current1115Vols = current1115Vols | Plus:campus.VolunteerAttendance %} + {% endif %} +{% endfor %} + + +{% assign previous915Adults = 0 %} +{% assign previous915Kids = 0 %} +{% assign previous915Vols = 0 %} +{% for campus in previousWeek0915 %} + {% if currentCampus == empty or currentCampus != empty and currentCampus == campus.Name %} + {% assign previous915Adults = previous915Adults | Plus:campus.AdultAttendance %} + {% assign previous915Kids = previous915Kids | Plus:campus.KidSpringAttendance %} + {% assign previous915Vols = previous915Vols | Plus:campus.VolunteerAttendance %} + {% endif %} +{% endfor %} + + +{% assign previous1115Adults = 0 %} +{% assign previous1115Kids = 0 %} +{% assign previous1115Vols = 0 %} +{% for campus in previousWeek1115 %} + {% if currentCampus == empty or currentCampus != empty and currentCampus == campus.Name %} + {% assign previous1115Adults = previous1115Adults | Plus:campus.AdultAttendance %} + {% assign previous1115Kids = previous1115Kids | Plus:campus.KidSpringAttendance %} + {% assign previous1115Vols = previous1115Vols | Plus:campus.VolunteerAttendance %} + {% endif %} +{% endfor %} + + +{% assign current915Total = current915Adults | Plus:current915Kids %} +{% assign previous915Total = previous915Adults | Plus:previous915Kids %} + +{% assign current1115Total = current1115Adults | Plus:current1115Kids %} +{% assign previous1115Total = previous1115Adults | Plus:previous1115Kids %} + +{% assign currentTotalKids = current915Kids | Plus:current1115Kids %} +{% assign currentTotalAdults = current915Adults | Plus:current1115Adults %} + +{% assign previousTotalKids = previous915Kids | Plus:previous1115Kids %} +{% assign previousTotalAdults = previous915Adults | Plus:previous1115Adults %} +{% assign previousTotalVols = previous915Vols | Plus:previous1115Vols %} +{% assign previousTotal = previous915Total | Plus:previous1115Total %} + +{% assign dailyTotal = current915Total | Plus:current1115Total %} +{% assign dailyTotalChange = TotalChange915 | Plus:TotalChange1115 %} + + +{% assign AdultsChange915 = current915Adults | Minus:previous915Adults %} +{% assign VolsChange915 = current915Vols | Minus:previous915Vols %} +{% assign TotalChange915 = current915Total | Minus:previous915Total %} + +{% assign AdultsChange1115 = current1115Adults | Minus:previous1115Adults %} +{% assign VolsChange1115 = current1115Vols | Minus:previous1115Vols %} +{% assign TotalChange1115 = current1115Total | Minus:previous1115Total %} + + +{% if current915Adults > 0 %} + {% assign kidsPercentage915 = current915Kids | DividedBy:current915Total,4 | Times:100 | Format:'###.##' %} +{% endif %} +{% if current1115Adults > 0 %} + {% assign kidsPercentage1115 = current1115Kids | DividedBy:current1115Total,4 | Times:100 | Format:'###.##' %} +{% endif %} + +{% assign dailyKidsPercentage = %} + + +
    {{ now | SundayDate | Date:'MMMM d, yyyy' }} - {% if currentCampus and currentCampus != empty %}{{ currentCampus }}{% else %}All Campuses{% endif %}{{ campusPicker }}
    + +
    +
    + {[ rockCard title:'Total Attendance' iconclass:'' ]} + +
    +
    9:15 Gathering
    +

    {{ current915Total | Format:'###,###,###' | WithFallback:'', '0' }} + {% if TotalChange915 > 0 %}+{% endif %}{{ TotalChange915 | Format:'###,###,###' }}

    +
    + +
    +
    11:15 Gathering
    +

    {{ current1115Total | Format:'###,###,###' | WithFallback:'', '0' }} + {% if TotalChange1115 > 0 %}+{% endif %}{{ TotalChange1115 | Format:'###,###,###' }}

    +
    + +
    + +
    +
    Daily Total
    +

    {{ dailyTotal | Format:'###,###,###' | WithFallback:'', '0' }} + {% if dailyTotalChange > 0 %}+{% endif %}{{ dailyTotalChange | Format:'###,###,###' }}

    +
    + + {[ endrockCard ]} +
    + {[ rockCard title:'Adult Attendance' iconclass:'' ]} + +
    +
    9:15 Gathering
    +

    {{ current915Adults | Format:'###,###,###' | WithFallback:'', '0' }} + {% if AdultsChange915 > 0 %}+{% endif %}{{ AdultsChange915 | Format:'###,###,###' }}

    +
    +
    +
    11:15 Gathering
    +

    {{ current1115Adults | Format:'###,###,###' | WithFallback:'', '0' }} + {% if AdultsChange1115 > 0 %}+{% endif %}{{ AdultsChange1115 | Format:'###,###,###' }}

    +
    + +
    + + {% assign dailyTotalAdults = current915Adults | Plus:current1115Adults %} + {% assign dailyTotalChangeAdults = AdultsChange915 | Plus:AdultsChange1115 %} +
    +
    Daily Total
    +

    {{ dailyTotalAdults | Format:'###,###,###' | WithFallback:'', '0' }} + {% if dailyTotalChangeAdults > 0 %}+{% endif %}{{ dailyTotalChangeAdults | Format:'###,###,###' }}

    +
    + + {[ endrockCard ]} +
    + {[ rockCard title:'KidSpring Attendance' iconclass:'' ]} + +
    +
    9:15 Gathering
    +

    {{ current915Kids | Format:'###,###,###' | WithFallback:'', '0' }} + {% if kidsPercentage915 %} + {{ kidsPercentage915 }}% + {% endif %} +

    +
    + +
    +
    11:15 Gathering
    +

    {{ current1115Kids | Format:'###,###,###' | WithFallback:'', '0' }} + {% if kidsPercentage1115 %} + {{ kidsPercentage1115 }}% + {% endif %} +

    +
    + +
    + + {% assign dailyTotalKids = current915Kids | Plus:current1115Kids %} + {% assign dailyTotalAdults = current915Adults | Plus:current1115Adults %} + {% assign dailyTotalChangeKids = dailyTotalKids | DividedBy:dailyTotal,4 | Times:100 | Format:'###.##' %} +
    +
    Daily Total
    +

    {{ dailyTotalKids | Format:'###,###,###' | WithFallback:'', '0' }} + {% if dailyTotalChangeKids %} + {{ dailyTotalChangeKids }}% + {% endif %} +

    + + {[ endrockCard ]} +
    + {[ rockCard title:'Volunteer Attendance' iconclass:'' ]} + +
    +
    9:15 Gathering
    +

    {{ current915Vols | Format:'###,###,###' | WithFallback:'', '0' }} + {% if VolsChange915 > 0 %}+{% endif %}{{ VolsChange915 | Format:'###,###,###' }}

    +
    + +
    +
    11:15 Gathering
    +

    {{ current1115Vols | Format:'###,###,###' | WithFallback:'', '0' }} + {% if VolsChange1115 > 0 %}+{% endif %}{{ VolsChange1115 | Format:'###,###,###' }}

    +
    + +
    + + {% assign dailyTotalVols = current915Vols | Plus:current1115Vols %} + {% assign dailyTotalChangeVols = VolsChange915 | Plus:VolsChange1115 %} +
    +
    Daily Total
    +

    {{ dailyTotalVols | Format:'###,###,###' | WithFallback:'', '0' }} + {% if dailyTotalChangeVols > 0 %}+{% endif %}{{ dailyTotalChangeVols | Format:'###,###,###' }}

    +
    + + {[ endrockCard ]} +
    +
    + +{% if currentCampus == empty %} + {[ rockCard title:'Attendance Totals By Campus' iconclass:'' ]} +
    + + + + + + + + + + + + {% for campus in campuses %} + {% assign adultCampusValues = adultAttendanceValues | Where:'Date',currentWeekString | Where:'CampusId',campus.Id %} + {% assign schedules = valuesObject | Where:'Date',currentWeekString | First | Property:'Schedules' %} + + {% assign campusAdultTotal = 0 %} + {% assign campusKidSpringTotal = 0 %} + + {% for value in adultCampusValues %} + {% assign campusAdultTotal = campusAdultTotal | Plus:value.AdultAttendance %} + {% endfor %} + + {% for schedule in schedules %} + {% assign ksvalue = schedule.Campuses | Where:'Name',campus.Name | First | Property:'KidSpringAttendance' %} + {% assign campusKidSpringTotal = campusKidSpringTotal | Plus:ksvalue %} + {% endfor %} + + + + + + + + + {% endfor %} + +
    CampusServicesAdult AttendanceKidSpringDaily Total
    {{ campus.ShortCode }}{{ adultAttendanceValues | Where:'Date',currentWeekString | Where:'CampusId',campus.Id | Size }}{{ campusAdultTotal | Format:'###,###,###' }}{{ campusKidSpringTotal | Format:'###,###,###' }}{{ campusAdultTotal | Plus:campusKidSpringTotal | Format:'###,###,###' }}
    +
    + {[ endrockCard ]} +{% endif %} + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/MODAL/navigation-modal.lava b/RockWeb/Themes/NewSpring/assets/Lava/MODAL/navigation-modal.lava new file mode 100644 index 00000000000..bddaea300ff --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/MODAL/navigation-modal.lava @@ -0,0 +1,118 @@ +{% assign useNewStyles = CurrentPage | Attribute:'UseNewStyles' %} +{% if useNewStyles == 'Yes' %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/MODAL/share-modal.lava b/RockWeb/Themes/NewSpring/assets/Lava/MODAL/share-modal.lava new file mode 100644 index 00000000000..8595eec0967 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/MODAL/share-modal.lava @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/NoteViewItem.lava b/RockWeb/Themes/NewSpring/assets/Lava/NoteViewItem.lava new file mode 100644 index 00000000000..6671e7693ea --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/NoteViewItem.lava @@ -0,0 +1,213 @@ +{%- comment -%} +##Important Notes when customizing## +any CSS Classes that are prefixed with 'js-' are hooks that are required for editing notes (see noteEditor.js and NoteContainer.cs) +{%- endcomment -%} +{%- assign viewableChildNotesCount = note.ViewableDescendentsCount -%} +{%- if note.IsAlert -%} + {%- assign wrapperClass = 'is-alert' -%} +{%- elsif note.IsPrivateNote -%} + {%- assign wrapperClass = 'is-personal' -%} +{%- else -%} + {%- assign wrapperClass = '' -%} +{%- endif -%} +{%- assign noteTypeName = note.NoteType.Name | ToCssClass | Prepend:' note-type-' -%} +{%- assign wrapperClass = wrapperClass | Append:noteTypeName -%} +{%- assign wrapperStyle = '' -%} +{%- if noteReplyDepth == '0' -%} +{%- capture fontStyle -%}{%- if note.NoteType.FontColor and note.NoteType.FontColor != '' -%}color: {{ note.NoteType.FontColor }};{%- endif -%}{%- endcapture -%} +{%- capture borderStyle -%}{%- if note.NoteType.BorderColor and note.NoteType.BorderColor != '' -%}box-shadow: inset 5px 0 0 0 {{ note.NoteType.BorderColor }};{%- endif -%}{%- endcapture -%} +{%- capture backgroundStyle -%}{%- if note.NoteType.BackgroundColor and note.NoteType.BackgroundColor != '' -%}background-color: {{ note.NoteType.BackgroundColor }};{%- endif -%}{%- endcapture -%} +{%- capture wrapperStyle -%}{{ borderStyle }}{{ fontStyle }}{{ backgroundStyle }}{%- endcapture -%} +{%- if wrapperStyle != '' -%}{%- capture wrapperStyle -%}style="{{ wrapperStyle }}"{%- endcapture -%}{%- endif -%} +{%- endif -%} + +{%- assign noteDateTime = note.CreatedDateTime -%} +{%- assign noteDateTimeText = note.CreatedDateTime | HumanizeDateTime -%} +{%- if note.EditedDateTime > note.CreatedDateTime -%} + {%- assign noteDateTime = note.EditedDateTime -%} + {%- capture editedLabel -%}edited {{ note.EditedDateTime | HumanizeDateTime }}{%- endcapture -%} + {%- if note.EditedByPersonName != note.CreatedByPersonName -%} + {%- assign editedLabel = editedLabel | Append:' by ' | Append:note.EditedByPersonName -%} + {%- endif -%} + {%- assign noteDateTimeText = noteDateTimeText | Append:' (' | Append:editedLabel | Append:')'%} +{%- endif -%} + +{%- assign allowsWatching = note.NoteType.AllowsWatching -%} + +{%- assign canReply = note.NoteType.AllowsReplies -%} +{%- if canReply and note.NoteType.MaxReplyDepth -%} + {%- if noteReplyDepth >= note.NoteType.MaxReplyDepth -%} + {%- assign canReply = false -%} + {%- endif -%} +{%- endif -%} + +{%- assign noteText = note.Text | Escape | Linkify | FromMarkdown | NewlineToBr -%} +{%- comment -%}If this note requires approval and is not yet approved, we might see it if the current person created the note or is an approver, so render its approval status and approval actions{%- endcomment -%} +{%- assign approvalStatusHtml = '' -%} +{%- assign approvalActionsHtml = '' -%} +{%- if note.NoteType.RequiresApprovals and.ApprovalStatus != 'Approved' -%} + {%- assign canApprove = note | HasRightsTo:'Approve' -%} + + {%- capture approvalStatusHtml -%} + {%- if note.ApprovalStatus == 'Denied' -%} + {%- assign approver = note.ApprovedByPersonAliasId | PersonByAliasId -%} + Approval denied By {{ approver.FullName }} on {{ note.ApprovedDateTime }} + {%- elsif note.ApprovalStatus == 'PendingApproval' -%} + Pending Approval + {%- endif -%} + {%- endcapture -%} + + {%- capture approvalActionsHtml -%} + {%- if canApprove -%} + + {%- endif -%} + {%- endcapture -%} +{%- endif -%} + +{%- if noteReplyDepth == 0 -%} + {%- assign avatarSize = "lg" -%} + {%- assign noteClass = "" -%} +{%- else -%} + {%- assign avatarSize = "md" -%} + {%- assign noteClass = "note-nested" -%} +{%- endif -%} + +
  • +
    + {% if note.IsAlert %} +
    + Alert: {{ note.NoteType.Name }} +
    + {% endif %} + {%- if approvalStatusHtml != '' -%} +
    + {{ approvalStatusHtml }} + {{ approvalActionsHtml }} +
    + {%- endif -%} + +
    +
    + {%- if NoteOptions.DisplayType == "Light" or NoteOptions.UsePersonIcon and note.CreatedByPersonId -%} + {{ note.CreatedByPersonName }} + {%- else -%} +
    + {%- endif -%} +
    +
    + +
    +

    + {%- if NoteOptions.DisplayNoteTypeHeading -%} + {{ note.NoteType.Name }} · + {%- endif -%} + {%- comment -%}Private notes always have a caption, so go by the person instead.{%- endcomment -%} + {%- if note.Caption == '' or note.IsPrivateNote -%} + {%- if note.CreatedByPersonId -%} + {{ note.CreatedByPersonName }} + {%- else -%} + {{ note.NoteType.Name }} + {%- endif -%} + {% else %} + {{ note.Caption }} + {%- endif -%} +

    + + {%- assign canEdit = note | HasRightsTo:'Edit' -%} + {%- if canEdit or canReply or allowsWatching -%} + + {%- endif -%} +
    + +
    + {%- if note.NoteType.RequiresApprovals and note.ApprovalStatus == 'Approved' -%} + {%- assign approver = note.ApprovedByPersonAliasId | PersonByAliasId -%} + + + + {%- else -%} + + + + {%- endif -%} + + {%- unless NoteOptions.DisplayType == 'Light' -%} + {%- if note.NoteType.Name != 'Personal Note' and note.NoteType.Name != 'Prayer Comment' -%}{%- if note.NoteType.BorderColor != '' -%}{%- endif -%}{{ note.NoteType.Name }}{%- endif -%} + {%- endunless -%} + +
    + + {% if note.IsPrivateNote %}

    Private Note


    {% endif %} + +
    + +
    +
    + {{ noteText }} +
    +
    + {% comment %} {% endcomment %} + +
    +
    + + {%- comment -%} + Maintain the noteReplyDepth by incrementing here (for every note), and then decrementing after each child to indicate we are at the same level + {%- endcomment -%} + {%- assign noteReplyDepth = noteReplyDepth | Plus:1 -%} + {%- assign childNotesStyle = '' -%} + {%- if viewableChildNotesCount > 0 -%} + {%- assign expandNote = ExpandedNoteIds | Contains:note.Id -%} + {%- if noteReplyDepth == 1 -%} + {%- unless NoteOptions.ExpandReplies or expandNote -%} + {%- assign childNotesStyle = 'display: none;' -%} + {%- endunless -%} + {{- -}}
    + {%- endif -%} + +
      + {%- for note in note.ViewableChildNotes -%} + {%- include '~/Themes/NewSpring/assets/Lava/NoteViewItem.lava' -%} + {%- assign noteReplyDepth = noteReplyDepth | Minus:1 -%} + {%- endfor -%} +
    + {%- if noteReplyDepth == 1 -%} + {{- -}}
    + {%- endif -%} + {%- endif -%} +
  • diff --git a/RockWeb/Themes/NewSpring/assets/Lava/NoteViewList.lava b/RockWeb/Themes/NewSpring/assets/Lava/NoteViewList.lava new file mode 100644 index 00000000000..292ad4f7e46 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/NoteViewList.lava @@ -0,0 +1,6 @@ +
      + {% for note in NoteList %} + {% assign noteReplyDepth = 0 %} + {% include '~/Themes/NewSpring/assets/Lava/NoteViewItem.lava' %} + {% endfor %} +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/accordion.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/accordion.lava new file mode 100644 index 00000000000..fcdfec09870 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/accordion.lava @@ -0,0 +1,39 @@ +{%- assign wrapperId = uniqueid -%} +
    + + {%- for item in items -%} + {% if item.cssclasses and item.cssclasses != empty and item.cssclasses != '' %}
    {% endif %} +
    + + {{ item.title }} + +
    +
    + {{ item.content | Replace:"'","’" | Trim }} +
    +
    +
    + {% if item.cssclasses and item.cssclasses != empty and item.cssclasses != '' %}
    {% endif %} + {%- endfor -%} + +
    + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/ad-unit.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/ad-unit.lava new file mode 100644 index 00000000000..a5b1c8748e9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/ad-unit.lava @@ -0,0 +1,149 @@ +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + +{%- assign modalid = uniqueid -%} +{% assign textalignment = textalignment | Trim %} + +{% if id != null and id != '' %} + +{% endif %} + +{% if linkurl != empty or linkedpageid != empty %} + {% capture linkurl %} + {% if linkedpageroute != empty and linkedpageroute != '' and linkedpageroute != null %} + /{{ linkedpageroute }} + {% elseif linkedpageid != empty and linkedpageid != '' and linkedpageid != null %} + /page/{{ linkedpageid }} + {% else %} + {{ linkurl }} + {% endif %} + {% endcapture %} +{% endif %} +{% assign linkurl = linkurl | Trim %} + +
    + + {% if ratio and ratio != empty %} + {% assign trimcopy = 'Yes' %} +
    +
    + {% endif %} + + {% if imageurl != null and imageurl != '' %} + + {% endif %} + +
    + + {% if hideforegroundelements == 'Yes' %}{% endif %} + +
    + + {% if hideforegroundelements == 'Yes' %}{% endif %} + + {% if lava != null and lava != '' %} + {% if hideforegroundelements == 'Yes' %}
    {% endif %} + {{ lava | HtmlDecode }} + {% if hideforegroundelements == 'Yes' %}
    {% endif %} + {% endif %} +
    + +
    + + {% if ratio and ratio != empty %} +
    +
    + {% endif %} + +
    + +{% if trimcopy == 'Yes' %} + {% if length > 140 %} + + {% endif %} +{% endif %} + +{[ endscripturize ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/button.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/button.lava new file mode 100644 index 00000000000..c4d80d5b099 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/button.lava @@ -0,0 +1 @@ +{{ linktext }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/call-to-action.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/call-to-action.lava new file mode 100644 index 00000000000..59f5105eb6f --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/call-to-action.lava @@ -0,0 +1,36 @@ +{# + +{% set blockData = { + title: "", + imageUrl: '', + typeIcon: '', + linkUrl: '', +} %}{% include "call-to-action.html" %} + +#} + +
    + + {% if blockData.imageUrl %} + + {% else %} +
    + +
    + {% endif %} + + + +
    \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/card-action.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/card-action.lava new file mode 100644 index 00000000000..8abec8b09bf --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/card-action.lava @@ -0,0 +1,25 @@ +
    +
    +
    +
    + {% if linkurl and linkurl != empty %}{% endif %} +
    + {% if linkurl and linkurl != empty %}
    {% endif %} +
    +
    + +
    +
    +
    +
    + +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/card-block.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/card-block.lava new file mode 100644 index 00000000000..55e7dddccd1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/card-block.lava @@ -0,0 +1,11 @@ +
    + + {% if type and type != empty %} +
    + {% endif %} + +
    + {{ blockContent }} +
    + +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/card.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/card.lava new file mode 100644 index 00000000000..cc391e7b6c0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/card.lava @@ -0,0 +1,118 @@ +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' ]} + +{%- assign modalid = uniqueid -%} +{% if linkurl != empty or linkedpageid != empty %} + {% capture cardlinkurl %} + {% if linkedpageroute != empty and linkedpageroute != '' and linkedpageroute != null %} + /{{ linkedpageroute }} + {% elseif linkedpageid != empty and linkedpageid != '' and linkedpageid != null %} + /page/{{ linkedpageid }} + {% else %} + {{ linkurl }} + {% endif %} + {% endcapture %} +{% endif %} + +{% assign cardlinkurl = cardlinkurl | Trim %} + +
    + + {% if video and video != empty %} + +
    +   +
    + {% elseif imageurl != null and imageurl != '' %} + {% if cardlinkurl != empty %}{% else %}{% endif %} + {% endif %} + +
    + + {% if label and label != empty %} +

    {{ label }}

    + {% endif %} + + {% if title != null and title != empty %} +

    + {% if cardlinkurl != empty %}{% endif %} + {{ title }} + {% if cardlinkurl != empty %}{% endif %} +

    + {% endif %} + + {% if collectiontext != null and collectiontext != empty %} + From {% if collectionurl != empty %}{% endif %}{{ collectiontext }}{% if collectionurl != empty %}{% endif %} + {% endif %} + + {% assign subtitle = subtitle | Trim %} + {% if subtitle and subtitle != empty %} +

    {{ subtitle }}

    + {% endif %} + + {% if showtags != 'false' %} + {[ tags dataset:'{{ dataset }}' cciid:'{{ cciid }}' ]} + {% endif %} + + {% if content != null and content != '' %} + {% if trimcopy != null and trimcopy != '' %} + {% assign length = content | Size %} + {{ content | HtmlDecode | Truncate:140,'...' }}{% if length > 140 %} read more{% endif %} + {% else %} + {{ content | HtmlDecode }} + {% endif %} + {% endif %} + + {% if lava != empty %} + {{ lava | HtmlDecode }} + {% endif %} + + {% if cardlinkurl and cardlinkurl != empty %} +

    + {[ button linkurl:'{{ cardlinkurl }}' linktext:'{{ linktext }}' buttontype:'' buttonsize:'sm' linktarget:'{{ target }}' ]} +

    + {% endif %} + +
    +
    + +{% if trimcopy != null and trimcopy != '' %} + {% if length > 140 %} + + {% endif %} +{% endif %} + +{[ endscripturize ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/child-items-swiper.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/child-items-swiper.lava new file mode 100644 index 00000000000..ebb848ed655 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/child-items-swiper.lava @@ -0,0 +1,125 @@ +{% if dataset and dataset != empty and cciid and cciid != empty %} + + {% assign cciid = cciid | AsInteger %} + {% assign Item = dataset | PersistedDataset | Where:'Id', cciid | First %} + {% assign now = 'Now' | Date:'yyyyMMddHHmmss' %} + {% assign startDate = Item.PublishDateTime | Date:'yyyyMMddHHmmss' %} + {% assign endDate = Item.EndDateTime | Date:'yyyyMMddHHmmss' %} + + {% comment %} + Set current item slug so we can determine what the active slide should be + {% endcomment %} + {% assign currentSlug = 'Global' | Page:'Path' | Split:'/' | Last %} + {% assign children = Item.Children %} + + {% if showfuturecontent != 'true' %} + + {% comment %} + This loops through the items from the parent's children and strips out anything that is future-dated or expired. + {% endcomment %} + {%- capture displayItemsString -%} + {%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} + [{%- for child in children -%} + {%- assign status = child.Status %} + {%- assign publishDateTime = child.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = child.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {%- if status == 2 and publishDateTime <= now and expireDateTime == null or status == 2 and publishDateTime <= now and expireDateTime > now -%} + {{ child | ToJSON }}, + {%- endif -%} + {%- endfor -%}] + {%- endcapture -%} + + {% comment %} + This reassigns the results of the above filtered loop to the "children" object that is used by the card list below. + {% endcomment %} + {% assign children = displayItemsString | ReplaceLast:',', '' | StripNewlines | FromJSON %} + + {% endif %} + + {% if children and children != empty %} + + {% comment %} + If we're between the beginning/ending dates of this collection, make the latest item in the swiper active, otherwise make the first active + {% endcomment %} + + {% if now >= startDate and now < endDate %} + {% assign initialslide = children | Size | Minus:1 %} + {% else %} + {% assign initialslide = children | Where:'Slug', currentSlug | First | Property:'Index' %} + {% endif %} + + {[ swiper id:'entries' initialslide:'{{ initialslide }}' ]} + {% for child in children %} + + {% assign Item = child.Dataset | PersistedDataset | Where:'Slug',child.Slug | First %} + {% if Item and Item != empty %} + + [[ item data:'' ]] + {% assign parentId = Item.Parents | First | Property:'Id' | AsInteger %} + {% assign parentDataset = Item.Parents | First | Property:'Dataset' %} + {% assign parent = parentDataset | PersistedDataset | Where:'Id',parentId | First %} + + {% assign dataset = Item.Dataset %} + {% assign type = Item.ChannelName | Split:' - ' | Index:1 | Singularize %} + {% assign childChannelId = Item.ChannelId %} + {% assign guid = Item.Guid %} + {% assign id = Item.Id %} + {% assign cciid = Item.Id %} + {% assign title = Item.Title | Replace:"'","’" %} + {% assign titlesize = 'h4' %} + {% capture content %} + {% if Item.Summary != empty %} +

    + {{ Item.Summary | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }} +

    + {% elseif Item.Content != empty %} +

    + {{ Item.Content | HtmlDecode | StripHtml | Replace:"'","’" | Truncate:140,'...' }} +

    + {% endif %} + {% endcapture %} + + {% capture subtitle %} + {% if Item.IsDateVisible == 'Yes' %} + {% if Item.ActualDate != empty %} + {[ formatDate date:'{{ Item.ActualDate }}' ]} + {% else %} + {[ formatDate date:'{{ Item.PublishDateTime }}' ]} + {% endif %} + {% endif %} + {% endcapture %} + + {% capture video %}{% endcapture %} + {% if type contains "Devotional" %} + {% assign sessionNumber = child.Index | Plus:1 %} + {% assign label = 'Session ' | Append:sessionNumber %} + {% else %} + {% if Item.VideoImageLandscape and Item.VideoImageLandscape != empty %} + {% assign imageurl = Item.VideoImageLandscape | Trim %} + {% elseif Item.ImageLandscape and Item.ImageLandscape != empty %} + {% assign imageurl = Item.ImageLandscape %} + {% elseif parent.ImageLandscape and parent.ImageLandscape != empty %} + {% assign imageurl = parent.ImageLandscape %} + {% endif %} + {% endif %} + + {% capture linkurl %}{[ getPermalink urlprefix:'{{ urlprefix }}' cciid:'{{ Item.Id }}' ]}{% endcapture %} + + {% assign linktext = type | Singularize | Prepend:' ' | Prepend:Item.ChannelVerb %} + + {[ card id:'{{ id }}' dataset:'{{ dataset }}' cciid:'{{ cciid }}' guid:'{{ guid }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + + [[ enditem ]] + {% endif %} + + {% endfor %} + {[ endswiper ]} + {% endif %} + +{% else %} + +
    +

    Either the dataset, cciid, or both parameters were not provided.

    +
    + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/content-component-template.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/content-component-template.lava new file mode 100644 index 00000000000..6762d7cc014 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/content-component-template.lava @@ -0,0 +1,46 @@ +{% if component and component != empty %} + {%- for item in Items -%} + + {% capture title %}{{ item.Title | Replace:"'","’" }}{% endcapture %} + {% capture content %}{{ item.Content | Replace:"'","’" }}{% endcapture %} + {% capture id %}{{ item | Attribute:'SectionID' }}{% endcapture %} + {% capture textalignment %}{{ item | Attribute:'TextAlignment' | Trim }}{% endcapture %} + {% capture label %}{{ item | Attribute:'Label' }}{% endcapture %} + {% capture subtitle %}{{ item | Attribute:'Subtitle' }}{% endcapture %} + {% capture imageurl %}{{ item | Attribute:'Image','Url' }}{% endcapture %} + {% capture imageoverlayurl %}{{ item | Attribute:'OverlayImage','Url' }}{% endcapture %} + {% capture imagealignment %}{{ item | Attribute:'ImageAlignment' }}{% endcapture %} + {% capture imageopacity %}{{ item | Attribute:'ImageOpacity' | DividedBy: 100 }}{% endcapture %} + {% capture imageflip %}{{ item | Attribute:'ImageFlip' }}{% endcapture %} + {% capture imageblur %}{{ item | Attribute:'ImageBlur' }}{% endcapture %} + {% capture grayscale %}{{ item | Attribute:'Grayscale' }}{% endcapture %} + {% capture backgroundvideourl %}{{ item | Attribute:'BackgroundVideo' }}{% endcapture %} + {% capture linkurl %}{{ item | Attribute:'LinkUrl','RawValue' }}{% endcapture %} + {% capture linktext %}{{ item | Attribute:'LinkText' }}{% endcapture %} + {% capture video %}{{ item | Attribute:'Video','RawValue' }}{% endcapture %} + {% capture ratio %}{{ item | Attribute:'Ratio','Value' | Downcase }}{% endcapture %} + {% capture mobileratio %}{{ item | Attribute:'MobileRatio','Value' | Downcase }}{% endcapture %} + {% capture hideforegroundelements %}{{ item | Attribute:'HideForegroundElements' }}{% endcapture %} + {% capture trimcopy %}{{ item | Attribute:'TrimCopy' }}{% endcapture %} + {% capture lava %}{{ item | Attribute:'Lava' | Escape }}{% endcapture %} + {% capture contentalignment %}{{ item | Attribute:'ContentAlignment','RawValue' }}{% endcapture %} + {% capture backgroundcolor %}{{ item | Attribute:'BackgroundColor' }}{% endcapture %} + {% capture foregroundcolor %}{{ item | Attribute:'ForegroundColor' | Replace:' ','-' | Downcase }}{% endcapture %} + {% capture blockwidth %}{{ item | Attribute:'BlockWidth','Value' }}{% endcapture %} + {% capture fullheight %}{{ item | Attribute:'FullHeight','Value' }}{% endcapture %} + {% capture gradientamount %}{{ item | Attribute:'GradientAmount' }}{% endcapture %} + + {% if component == 'hero' %} + {[ hero title:'{{ title }}' content:'{{ content }}' id:'{{ id }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' linkurl:'{{ linkurl }}' linktext:'{{ linktext }}' video:'{{ video }}' ratio:'{{ ratio }}' mobileratio:'{{ mobileratio }}' hideforegroundelements:'{{ hideforegroundelements }}' trimcopy:'{{ trimcopy }}' lava:'{{ lava }}' contentalignment:'{{ contentalignment }}' backgroundcolor:'{{ backgroundcolor }}' foregroundcolor:'{{ foregroundcolor }}' blockwidth:'{{ blockwidth }}' fullheight:'{{ fullheight }}' gradientamount:'{{ gradientamount }}' ]} + {% elseif component == 'adUnit' %} + {[ adUnit title:'{{ title }}' content:'{{ content }}' id:'{{ id }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' linkurl:'{{ linkurl }}' linktext:'{{ linktext }}' video:'{{ video }}' ratio:'{{ ratio }}' mobileratio:'{{ mobileratio }}' hideforegroundelements:'{{ hideforegroundelements }}' trimcopy:'{{ trimcopy }}' lava:'{{ lava }}' contentalignment:'{{ contentalignment }}' backgroundcolor:'{{ backgroundcolor }}' foregroundcolor:'{{ foregroundcolor }}' blockwidth:'{{ blockwidth }}' fullheight:'{{ fullheight }}' gradientamount:'{{ gradientamount }}' ]} + {% elseif component == 'sideBySide' %} + {[ sideBySide title:'{{ title }}' content:'{{ content }}' id:'{{ id }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' linkurl:'{{ linkurl }}' linktext:'{{ linktext }}' video:'{{ video }}' ratio:'{{ ratio }}' mobileratio:'{{ mobileratio }}' hideforegroundelements:'{{ hideforegroundelements }}' trimcopy:'{{ trimcopy }}' lava:'{{ lava }}' contentalignment:'{{ contentalignment }}' backgroundcolor:'{{ backgroundcolor }}' foregroundcolor:'{{ foregroundcolor }}' blockwidth:'{{ blockwidth }}' fullheight:'{{ fullheight }}' gradientamount:'{{ gradientamount }}' ]} + {% elseif component == 'card' %} + {[ card title:'{{ title }}' content:'{{ content }}' id:'{{ id }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' linkurl:'{{ linkurl }}' linktext:'{{ linktext }}' video:'{{ video }}' ratio:'{{ ratio }}' mobileratio:'{{ mobileratio }}' hideforegroundelements:'{{ hideforegroundelements }}' trimcopy:'{{ trimcopy }}' lava:'{{ lava }}' contentalignment:'{{ contentalignment }}' backgroundcolor:'{{ backgroundcolor }}' foregroundcolor:'{{ foregroundcolor }}' blockwidth:'{{ blockwidth }}' fullheight:'{{ fullheight }}' gradientamount:'{{ gradientamount }}' ]} + {% elseif component == 'image' %} + {[ image title:'{{ title }}' content:'{{ content }}' id:'{{ id }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' linkurl:'{{ linkurl }}' linktext:'{{ linktext }}' video:'{{ video }}' ratio:'{{ ratio }}' mobileratio:'{{ mobileratio }}' hideforegroundelements:'{{ hideforegroundelements }}' trimcopy:'{{ trimcopy }}' lava:'{{ lava }}' contentalignment:'{{ contentalignment }}' backgroundcolor:'{{ backgroundcolor }}' foregroundcolor:'{{ foregroundcolor }}' blockwidth:'{{ blockwidth }}' fullheight:'{{ fullheight }}' gradientamount:'{{ gradientamount }}' ]} + {% endif %} + + {%- endfor -%} +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/dynamic-select.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/dynamic-select.lava new file mode 100644 index 00000000000..3e7ec337cda --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/dynamic-select.lava @@ -0,0 +1,50 @@ +{%- assign id = uniqueid -%} +{% assign optionParts = options | Split:',' %} + +

    +

    + +
    +

    + +

    {{ linktext }}

    + + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list-campus.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list-campus.lava new file mode 100644 index 00000000000..f5f77c5af06 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list-campus.lava @@ -0,0 +1,9 @@ +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} + +
    +

    Upcoming Events

    + + {[ eventsList limit:'{{ limit }}' ]} + +

    See All Events

    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list.lava new file mode 100644 index 00000000000..08361e68bad --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/events-list.lava @@ -0,0 +1,162 @@ +{% assign limit = limit | AsInteger %} +{% assign fallbackImage = 'Global' | Attribute:'ImageLandscape' %} +{% assign currentUrl = 'Global' | Page:'Url' %} +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} +{% assign campus = campusSlug %} +{% if campus == empty %} + {% assign campus = 'Global' | PageParameter:'Campus' %} +{% endif %} +{% assign campusName = campus | Capitalize | Replace:'-',' ' %} +{% assign campusId = 'All' | FromCache:'Campus' | Where:'Name',campusName | Select:'Id' | First | AsInteger %} + +{%- comment -%} + Generate an array of event Ids to iterate through so we can omit events that don't have occurrences with a NextStartDateTime. +{%- endcomment -%} +{% capture eventsString %}[ + {% eventcalendaritem where:'EventCalendarId == 1' iterator:'items' %} + {% for item in items %} + {% assign event = item.EventItem %} + {% assign occurrences = event.EventItemOccurrences %} + + {% assign occurrenceStartTimes = occurrences | Map:'NextStartDateTime' %} + {% assign occurrencesWithNextStartDateTime = 0 %} + {% assign nextStartDateTime = null %} + + {%- comment -%} + Loop through occurrences and add up the ones that have a startTime. + {%- endcomment -%} + {% for startTime in occurrenceStartTimes %} + {% if startTime and startTime != '' %} + {% assign occurrencesWithNextStartDateTime = occurrencesWithNextStartDateTime | Plus:1 %} + {% if nextStartDateTime == null %} + {% assign nextStartDateTime = startTime %} + {% endif %} + {% endif %} + {% endfor %} + {% if event.IsActive and event.IsApproved and occurrencesWithNextStartDateTime >= 1 %}{ + "EventItemId":{{ event.Id | ToJSON }}, + "EventName":{{ event.Name | ToJSON }}, + "NextStartDateTime":{{ nextStartDateTime | ToJSON }}, + "OccurrencesWithNextStartDateTime":{{ occurrencesWithNextStartDateTime | ToJSON }} + },{% endif %} + {% endfor %} + {% endeventcalendaritem %} +]{% endcapture %} + +{% assign eventsObject = eventsString | FromJSON | OrderBy:'NextStartDateTime' %} + + +{%- comment -%} + We have to call entity for each event Id individually, otherwise we lose our sort on NextStartDateTime. +{%- endcomment -%} +
    + {% for eventItem in eventsObject %} + + {% eventitem id:'{{ eventItem.EventItemId }}' iterator:'events' %} + {% assign event = events | First %} + {% assign eventName = event.Name | Replace:"'","’" %} + {% assign eventCampusNames = event.EventItemOccurrences | Map:'Campus' | Select:'Name' | Uniq %} + {% assign eventCampusCount = eventCampusNames | Size %} + {% assign occurrences = event.EventItemOccurrences %} + + {%- comment -%} + If we're on a campus filter - we want to look at occurrences that have a campusId that matches OR is null (all campuses). + {%- endcomment -%} + + {% for occurrence in occurrences %} + {%- comment -%} + This conditional is way more complex than probably necessary, and I know i'm repeating the occurrence loop, but because of the fact that you can't use paranthesis for complex conditionals, this was the only way I knew how to do it. BK + {%- endcomment -%} + {% if campus and campus != empty %} + {% if occurrence.CampusId == campusId or occurrence.CampusId == null %} + + {% assign occurrenceStartDateTime = occurrence | Property:'NextStartDateTime' %} + {% if occurrenceStartDateTime and occurrenceStartDateTime != empty %} + {% assign nextOccurrence = occurrence %} + {% assign nextStartDateTime = occurrence | Property:'NextStartDateTime' %} + {% break %} + {% endif %} + + {% endif %} + {% else %} + + {% assign occurrenceStartDateTime = occurrence | Property:'NextStartDateTime' %} + {% if occurrenceStartDateTime and occurrenceStartDateTime != empty %} + {% assign nextOccurrence = occurrence %} + {% assign nextStartDateTime = occurrence | Property:'NextStartDateTime' %} + {% break %} + {% endif %} + + {% endif %} + {% endfor %} + {% endeventitem %} + + {% capture eventCampusClasses %}{% for campus in eventCampusNames %}campus-{{ campus | Downcase | Replace:' ','-' }} {% endfor %}{% if eventCampusCount == 0 %}campus-all{% endif %}{% endcapture %} + +
    + {% assign title = event.Name | Replace:"'","’" %} + {% assign imageurl = event | Attribute:'ImageLandscape' | WithFallback:'',fallbackImage %} + {% capture type %}{% if eventCampusCount == 0 or eventCampusCount > 1 %}Multiple Campuses{% else %}{{ nextOccurrence.Campus.Name }}{% endif %}{% endcapture %} + {% capture content %} + {% if nextStartDateTime and nextStartDateTime != empty %} +

    {% if campus and campus == empty %}Next Date: {% endif %}{[ formatDate date:'{{ nextStartDateTime }}' ]} @ {{ nextStartDateTime | Date:'h:mmtt' | Downcase | Replace:':00','' }}

    + {% endif %} + {% endcapture %} + {% capture linktext %}{% if campus and campus != empty %}See Event Details{% else %}See All Times & Locations{% endif %}{% endcapture %} + + {[ card title:'{{ title }}' titlesize:'h4' type:'{{ type }}' content:'{{ content }}' imageurl:'{{ imageurl }}' linktext:'{{ linktext }}' linkurl:'/events/detail?EventItemId={{ event.Id }}' ]} + +
    {% endfor %} +
    + + + +{% assign campusString = campusName | Downcase | Replace:' ','-' %} + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-network.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-network.lava new file mode 100644 index 00000000000..1a2aa13c495 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-network.lava @@ -0,0 +1,62 @@ + + +{% assign orgEmail = 'Global' | Attribute:'OrganizationEmailNetwork' %} +{% assign orgPhone = 'Global' | Attribute:'OrganizationPhone' %} + + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-simple.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-simple.lava new file mode 100644 index 00000000000..be135f217a4 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer-simple.lava @@ -0,0 +1 @@ +© {{ 'Now' | Date:'yyyy' }} {{ 'Global' | Attribute:'OrganizationName' }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/footer.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer.lava new file mode 100644 index 00000000000..80231a1d101 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/footer.lava @@ -0,0 +1,137 @@ +{% assign useNewStyles = CurrentPage | Attribute:'UseNewStyles' %} +{% assign orgAddress = 'Global' | Attribute:'OrganizationAddress','Object' %} +{% assign orgPhone = 'Global' | Attribute:'OrganizationPhone' %} + +{% if useNewStyles == 'Yes' %} + +{% else %} + + + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/group-attendance-chart.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/group-attendance-chart.lava new file mode 100644 index 00000000000..c393996b81a --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/group-attendance-chart.lava @@ -0,0 +1,66 @@ +{% if groupid and groupid != empty %} + + {% sql return:'occurrences' %} + SELECT TOP 12 + ao.Id, + ao.OccurrenceDate, + CASE + WHEN ao.DidNotOccur = 1 THEN 'true' + ELSE 'false' + END 'DidNotOccur', + ( + SELECT COUNT(*) + FROM Attendance a + WHERE a.OccurrenceId = ao.Id + AND a.DidAttend = 1 + ) 'Attended', + ( + SELECT COUNT(*) + FROM Attendance a + WHERE a.OccurrenceId = ao.Id + ) 'Total' + FROM AttendanceOccurrence ao + WHERE ao.GroupId = {{ groupid }} + ORDER BY ao.OccurrenceDateKey DESC + {% endsql %} + + {% assign occurrencesWithAttendance = occurrences | Where:'DidNotOccur','false' | Size %} + {% if occurrencesWithAttendance and occurrencesWithAttendance != empty %} + {% assign totalMembers = 0 %} + {% assign totalAttendees = 0 %} + {% for occurrence in occurrences %} + {% assign totalMembers = totalMembers | Plus:occurrence.Total %} + {% assign totalAttendees = totalAttendees | Plus:occurrence.Attended %} + {% endfor %} + {% assign attendanceAvg = totalAttendees | DividedBy:totalMembers,2 | Times:100 | Format:'###' %} + {% endif %} + + {% if occurrencesWithAttendance >= 1 %} + {% if showaverage == 'true' %} +

    Your group's average attendance for the past {{ occurrencesWithAttendance }} meetings is {{ attendanceAvg | Append:'%' }}.

    + {% endif %} + +
    + {% for occurrence in occurrences reversed %}
    + + {% assign attendancePercentage = null %} + {% if occurrence.DidNotOccur == 'false' %} + {% assign attendancePercentage = occurrence.Attended | DividedBy:occurrence.Total | Times:100 | Format:'###' | AsInteger %} + {% endif %} + {% capture attendanceClass %}{% if attendancePercentage > groupAttendanceSuccessThreshold %}primary{% elseif attendancePercentage > groupAttendanceWarningThreshold %}warning{% else %}danger{% endif %}{% endcapture %} + +
    + {% if occurrence.DidNotOccur == 'false' %} +
    + {% endif %} + +
    {{ occurrence.OccurrenceDate | Date:'M/d' }}
    +
    +
    {% endfor %} +
    + + {% else %} +

    There is no recorded attendance data for your group.

    + {% endif %} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/hero.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/hero.lava new file mode 100644 index 00000000000..5f4287cf9ae --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/hero.lava @@ -0,0 +1,112 @@ +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + +{% if linkurl != empty or linkedpageid != empty %} + {% capture linkurl %} + {% if linkedpageroute != empty and linkedpageroute != '' and linkedpageroute != null %} + /{{ linkedpageroute }} + {% elseif linkedpageid != empty and linkedpageid != '' and linkedpageid != null %} + /page/{{ linkedpageid }} + {% else %} + {{ linkurl }} + {% endif %} + {% endcapture %} +{% endif %} + +{% assign linkurl = linkurl | Trim %} + +
    + + {% if backgroundvideourl != null and backgroundvideourl != '' %} + + + + + {% endif %} + + + {% if imageurl != null and imageurl != '' and backgroundvideourl == '' %} + + {% endif %} + + {% if mobileimageurl != null and mobileimageurl != '' and backgroundvideourl == '' %} + + {% endif %} + + {% if ratio != null and ratio != '' %}
    {% endif %} + +
    + + {% if imageoverlayurl != null and imageoverlayurl != '' %} + +
    + {% endif %} + + {% if hideforegroundelements == 'Yes' %}{% endif %} + + {% if video != null and video != '' %} + {[ wistiaButton id:'{{ video }}' buttontext:'' buttonclasses:'' contentchannelitemid:'' entitytypeid:'' entityid:'' ]} + {% endif %} + + {% if lava and lava != empty %} + {{ lava | HtmlDecode }} + {% endif %} + +
    + + {% if ratio != null and ratio != '' %}
    {% endif %} + +
    + +
    + + + +{% assign url = 'Global' | Page:'Url' %} + +{% assign pagemetatitle = CurrentPage | Attribute:'PageMetaTitle' %} +{% assign pagemetadescription = CurrentPage | Attribute:'PageMetaDescription' %} +{% assign pagemetaimage = CurrentPage | Attribute:'PageMetaImage','Url' %} + +{% capture metatitle %}{% if pagemetatitle and pagemetatitle != empty %}{{ pagemetatitle }}{% else %}{{ title }}{% endif %}{% endcapture %} +{% capture metadescription %}{% if pagemetadescription and pagemetadescription != empty %}{{ pagemetadescription }}{% else %}{{ content | StripHtml | StripNewlines | Truncate:160,'...' }}{% endif %}{% endcapture %} +{% capture metaimage %}{% if pagemetaimage and pagemetaimage != empty %}{{ pagemetaimage }}{% else %}{{ imageurl }}{% endif %}{% endcapture %} + +{[ metaTags url:'{{ url | Trim }}' title:'{{ metatitle }}' description:'{{ metadescription }}' image:'{{ metaimage }}' ]} + +{[ endscripturize ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/image.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/image.lava new file mode 100644 index 00000000000..4bbc04212d7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/image.lava @@ -0,0 +1,65 @@ +{%- assign id = id | Default:uniqueid -%} +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'YouVersion' cssclass:'scripture' ]} + +{% assign gradientamount = gradientamount | DividedBy:100 %} + +{% if linkurl != empty or linkedpageid != empty %} + {% capture url %} + {% if linkedpageroute != empty and linkedpageroute != '' and linkedpageroute != null %} + /{{ linkedpageroute }} + {% elseif linkedpageid != empty and linkedpageid != '' and linkedpageid != null %} + /page/{{ linkedpageid }} + {% else %} + {{ linkurl }} + {% endif %} + {% endcapture %} +{% endif %} + +{% assign url = url | Trim %} + +
    + + {% if url != empty and hideforegroundelements == 'Yes' %}{% endif %} + + + + {% if url != empty and hideforegroundelements == 'Yes' %}{% endif %} + +
    + +{[ endscripturize ]} + +{% if gradientamount > 0 and contentalignment == 'start' or contentalignment == 'end' and backgroundcolor != '' %} + {% assign gradientorientation = contentalignment | Replace:'start','0' | Replace:'end','180' %} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/live-bar.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/live-bar.lava new file mode 100644 index 00000000000..e24fcb6f0ab --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/live-bar.lava @@ -0,0 +1,11 @@ +{% assign useNewStyles = CurrentPage | Attribute:'UseNewStyles' %} + +{% if useNewStyles == 'Yes' %} + + {{ text }} + +{% else %} + + {{ text }} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/location-finder.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/location-finder.lava new file mode 100644 index 00000000000..4103b712745 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/location-finder.lava @@ -0,0 +1,40 @@ +
    + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-events.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-events.lava new file mode 100644 index 00000000000..3ede6a45bd8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-events.lava @@ -0,0 +1,81 @@ +{% assign path = 'Global' | Page:'Path' %} +{% assign page = 'Global' | PageParameter:'Page' %} +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} +{% assign campusName = campusSlug | Replace:'-',' ' | Capitalize %} +{% assign campusEntity = 'All' | FromCache:'Campus' | Where:'Name',campusName | First %} +{% assign campusId = campusEntity.Id | AsInteger %} +{% assign fallbackImage = 'Global' | Attribute:'EventsImageSquare','Url' %} +{% assign Items = 'events' | PersistedDataset | OrderBy:'StartDateTime' %} +{% capture featuredItems %}[]{% endcapture %} +{% assign featuredItems = featuredItems | FromJSON %} + +//- Filter events by campus +{% for item in Items %} + {% if item.Campus.Id == null or item.Campus.Id == campusId %} + {% else %} + {% assign Items = Items | RemoveFromArray:item %} + {% endif %} +{% endfor %} + +//- Generate featured events array +{% for event in Items %} + {% if event.IsFeatured == 'Yes' or event.IsFeaturedOccurrence == 'Yes' %} + {% assign featuredItems = featuredItems | AddToArray:event %} + {% endif %} +{% endfor %} + +//- Group featured event occurrences by event item +{% assign featuredEvents = featuredItems | GroupBy:'EventItemId' %} +{% assign featuredEventsByEventItem = '' %} +{% for featuredEventGroup in featuredEvents %} + {% assign featuredEvent = featuredEventGroup | Property:'Value' | First %} + {% assign featuredEventsByEventItem = featuredEventsByEventItem | AddToArray:featuredEvent %} +{% endfor %} + +{% assign featuredEventsByEventItem = featuredEventsByEventItem | OrderBy:'IsFeatured desc, StartDateTime' %} + +//- Remove any blank items from the array +{% for item in featuredEventsByEventItem %} + {% if item == '' %} + {% assign featuredEventsByEventItem = featuredEventsByEventItem | RemoveFromArray:item %} + {% endif %} +{% endfor %} + +//- Reorder by StartDateTime +{% assign featuredEventsByEventItem = featuredEventsByEventItem | OrderBy:'StartDateTime' %} + +
    +
    + {% if path contains 'events' %} + + //- Full campus events layout + {% if featuredEventsByEventItem != empty %} + {% assign Items = featuredEventsByEventItem %} +

    Featured Events

    + {[ eventsCards campusid:'{{ campusEntity.Id }}' ]} + {% endif %} + + {% assign Items = Items %} + {[ eventsList campusid:'{{ campusEntity.Id }}' ]} + + {% else %} + + //- Campus events preview on locations pages +
    +
    +

    Events

    +
    +
    + + //- If there are featured items, display those, otherwise go chronological + {% assign featuredCount = featuredEventsByEventItem | Size %} + {% if featuredCount >= 1 %} + {% assign Items = featuredEventsByEventItem %} + {% endif %} + {[ eventsCards campusid:'{{ campusEntity.Id }}' ]} + + {% endif %} +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-hero.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-hero.lava new file mode 100644 index 00000000000..881fe3eb157 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-hero.lava @@ -0,0 +1,72 @@ +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' | Replace:'-',' ' | Capitalize %} +{% assign campus = 'campuses' | PersistedDataset | Where:'Name', campusSlug | First %} + +{% if campus == null %} + {{ '/page-not-found' | PageRedirect }} +{% endif %} + +{% capture title %}{% if servicetype == 'Fuse' %}Fuse Student Ministry{% else %}{{ 'Global' | Attribute:'OrganizationName' }}{% endif %}{% if campus.Name != 'Eastlan' %} in {{ campus.Name }}, SC{% else %} - {{ campus.Name }}{% endif %} | Locations{% if servicetype == 'Fuse' %} | Fuse{% endif %} | {{ 'Global' | Attribute:'OrganizationName' }}{% endcapture %} +{{ title | SetPageTitle }} + +{% assign fuseImageUrl = campus.FuseLandscapeImage %} +{% assign nsImageUrl = campus.LandscapeImage %} + +{% capture id %}{% endcapture %} +{% capture title %}{{ campus.Name }}{% endcapture %} +{% capture titlesize %}display-2 uppercase{% endcapture %} +{% capture content %}{% endcapture %} +{% capture textalignment %}left{% endcapture %} +{% capture label %}{% endcapture %} +{% capture subtitle %}{% endcapture %} +{% capture imageurl %}{% if fuseImageUrl and fuseImageUrl != empty and servicetype == 'Fuse' %}{{ fuseImageUrl }}{% else %}{{ nsImageUrl }}{% endif %}{% endcapture %} +{% capture imageoverlayurl %}{% endcapture %} +{% capture imagealignment %}{% endcapture %} +{% capture imageopacity %}.8{% endcapture %} +{% capture imageflip %}{% endcapture %} +{% capture imageblur %}{% endcapture %} +{% capture grayscale %}{% endcapture %} +{% capture backgroundvideourl %}{% endcapture %} +{% capture lava %}{% endcapture %} +{% capture video %}{% endcapture %} +{% capture ratio %}landscape{% endcapture %} +{% capture trimcopy %}{% endcapture %} +{% capture linkcolor %}{% endcapture %} +{% capture backgroundcolor %}#1c1c1c{% endcapture %} +{% assign linkurl = "" %} +{% assign linktext = "" %} +{% capture hideforegroundelements %}{% endcapture %} + +
    +
    +
    +
    +
    +
    +

    NewSpring {{ campus.Name }}

    +
    +
    +
    +
    +
    + +
    + + + +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-information.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-information.lava new file mode 100644 index 00000000000..1261ee30ae8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-information.lava @@ -0,0 +1,188 @@ +{% assign getInvolvedDefinedTypeId = 2141 %} + +
    +
    +
    + {% assign campusSlug = 'Global' | PageParameter:'CampusSlug' | Replace:'-',' ' | Capitalize %} + {% assign getInvolvedOptions = 'All' | FromCache:'DefinedValue' | Where:'DefinedTypeId',getInvolvedDefinedTypeId | OrderBy:'Order' %} + {% assign campus = 'campuses' | PersistedDataset | Where:'Name', campusSlug | First %} + {% assign campusEntity = 'All' | FromCache:'Campus' | Where:'Id',campus.Id | First %} + {% assign mailingAddress = campus.MailingAddress %} + {% assign officeAddress = campus.OfficeAddress %} + {% assign getDirections = campus.GetDirectionsURL %} + {% assign fuseGetDirections = campus.FuseGetDirectionsURL %} + + {% capture serviceTimes %}{[ serviceTimes campusid:'{{ campus.Id }}' servicetype:'NewSpring' ]}{% endcapture %} + {% capture fuseServiceTimes %}{[ serviceTimes campusid:'{{ campus.Id }}' servicetype:'Fuse' ]}{% endcapture %} + + {% assign serviceTimes = serviceTimes | Trim %} + {% assign fuseServiceTimes = fuseServiceTimes | Trim %} + + +
    +
    + +

    Sunday Gatherings

    + + + {% assign fuseDetails = campusEntity | Attribute:'FuseDetails' | Trim %} + {% if fuseDetails and fuseDetails != '' %} +

    Students

    + + {% endif %} + + + +
    +
    + + + + {% if servicetype == 'NewSpring' %} + + {% endif %} + +
    + {% assign servicetype = 'NewSpring' %} + + {% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} + {% assign campusName = campusSlug | Replace:'-',' ' | Capitalize %} + {% assign campus = 'campuses' | PersistedDataset | Where:'Name', campusName | First %} + + {% if servicetype == 'Fuse' %} + {% assign leader = campus.FusePastorPersonId | PersonById %} + {% else %} + {% assign leader = campus.CampusPastorPersonId | PersonById %} + {% endif %} + + {% if leader != null %} +
    +
    +
    +
    +
    + {% assign staffImage = leader | Attribute:'StaffImage','Url' %} +
    +
    +

    {{ leader | Attribute:'StaffTitle' }}

    +

    {{ leader.FullName }}

    +

    {{ leader | Attribute:'StaffBio' }}

    +

    Meet the {{ campus.Name }} Team

    +
    +
    +
    +
    +
    + {% endif %} + +
    +
    +
    + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-leader.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-leader.lava new file mode 100644 index 00000000000..81f3294b7ea --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-leader.lava @@ -0,0 +1,30 @@ +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} +{% assign campusName = campusSlug | Replace:'-',' ' | Capitalize %} +{% assign campus = 'campuses' | PersistedDataset | Where:'Name', campusName | First %} + +{% if servicetype == 'Fuse' %} + {% assign leader = campus.FusePastorPersonId | PersonById %} +{% else %} + {% assign leader = campus.CampusPastorPersonId | PersonById %} +{% endif %} + +{% if leader != null %} +
    +
    +
    +
    +
    + {% assign staffFamilyImage = leader | Attribute:'StaffFamilyImage','Url' %} + {% assign staffImage = leader | Attribute:'StaffImage','Url' %} +
    +
    +

    {{ leader | Attribute:'StaffTitle' }}

    +

    {{ leader.FullName }}

    +

    {{ leader | Attribute:'StaffBio' }}

    +

    Meet the {{ campus.Name }} Staff

    +
    +
    +
    +
    +
    +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-missions-partners.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-missions-partners.lava new file mode 100644 index 00000000000..25cb5856235 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-missions-partners.lava @@ -0,0 +1,16 @@ +{% assign campusName = 'Global' | PageParameter:'CampusSlug' | Replace:'-',' ' | Capitalize %} +{% assign Items = 'newspring_missions_giving' | PersistedDataset | Where:'Campuses', campusName %} + +
    +
    +
    +
    +

    Missions Partners

    +
    +
    +
    + + {[ cardList itemcount:'{{ Items | Size }}' type:'Organization' pagesize:'12' target:'_blank' disablecampuses:'true' ]} +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-news.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-news.lava new file mode 100644 index 00000000000..2ac4b3f9c0e --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-news.lava @@ -0,0 +1,61 @@ +{% assign path = 'Global' | Page:'Path' %} +{% assign campusSlug = 'Global' | PageParameter:'CampusSlug' %} +{% assign campusName = campusSlug | Replace:'-',' ' | Capitalize %} +{% assign datasetItems = 'newspring_news' | PersistedDataset %} + +//- This loops through the items from the dataset and strips out anything that is future-dated or expired. +{%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} +{%- for item in datasetItems -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {% if publishDateTime > now or expireDateTime < now or status != 2 %} + {% assign datasetItems = datasetItems | RemoveFromArray:item %} + {% endif %} +{%- endfor -%} + +//- Filter news by campus +{% for item in datasetItems %} + + {% assign campusesArray = item.Campuses | Split:',' | RemoveFromArray:'' %} + {% assign campusCount = campusesArray | Size %} + {% if campusCount == 0 or campusesArray contains campusName %} + {% else %} + {% assign datasetItems = datasetItems | RemoveFromArray:item %} + {% endif %} +{% endfor %} + +{% if path contains 'news' %} + + //- Full campus news layout + {% assign Items = datasetItems %} +
    + {[ cardList itemcount:'{{ Items | Size }}' type:'' pagesize:'12' target:'' disablecampuses:'true' ]} +
    + +{% else %} + + //- Campus news preview for locations pages + + //- Limit to three items + {% for item in datasetItems %} + {% if forloop.index < 4 %} + {% assign Items = Items | AddToArray:item %} + {% endif %} + {% endfor %} + +
    +
    +
    +
    +

    News

    +
    +
    +
    + + {[ cardList itemcount:'{{ Items | Size }}' type:'' pagesize:'12' target:'' disablecampuses:'true' ]} +
    + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-swiper.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-swiper.lava new file mode 100644 index 00000000000..76d2bfb5bce --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/locations-swiper.lava @@ -0,0 +1,34 @@ +
    + + + {% assign campuses = 'campuses' | PersistedDataset %} +
    + {% for campus in campuses %}
    + + {% assign nsImageUrl = campus.LandscapeImage %} + {% assign fuseImageUrl = campus.FuseLandscapeImage %} + {% capture campusImageUrl %}{% if fuseImageUrl and fuseImageUrl != empty and servicetype == 'Fuse' %}{{ fuseImageUrl }}{% else %}{{ nsImageUrl }}{% endif %}{% endcapture %} + + {% capture content %} +

    {[ serviceTimes campusid:'{{ campus.Id }}' servicetype:'{{ servicetype }}' ]}

    + {% endcapture %} + + {% capture directionsLink -%} + {%- if servicetype == 'Fuse' -%} + {{ campus.FuseGetDirectionsURL }} + {%- else -%} + {{ campus.GetDirectionsURL }} + {%- endif -%} + {%- endcapture %} + + {% capture lava %} +

    Get Directions

    + {% endcapture %} + + {[ card type:'Location' title:'{{ campus.Name | Replace:'Eastlan','Greenville' }}' titlesize:'h3' linktext:'Campus Details' linkurl:'/locations/{{ campus.Name | Replace:' ','-' | Downcase | Replace:'eastlan','greenville' }}' imageurl:'{{ campusImageUrl | Trim }}' content:'{% if content and content != empty %}{{ content }}{% endif %}' lava:'{{ lava }}' ]} + +
    {% endfor %} +
    + + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-secondary.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-secondary.lava new file mode 100644 index 00000000000..a02263035d2 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-secondary.lava @@ -0,0 +1,118 @@ +{% assign useNewStyles = CurrentPage | Attribute:'UseNewStyles' %} + +{% if Page.DisplayChildPages == 'true' and Page.Pages != empty %} + + {% if useNewStyles == 'Yes' %} + + {% else %} + + + + + + {% endif %} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-simple.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-simple.lava new file mode 100644 index 00000000000..28ec7c5d0fc --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation-simple.lava @@ -0,0 +1,40 @@ +{% assign personPhoto = CurrentPerson.PhotoUrl %} + + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation.lava new file mode 100644 index 00000000000..f3bb9578317 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/navigation.lava @@ -0,0 +1,132 @@ +{% assign useNewStyles = CurrentPage | Attribute:'UseNewStyles' %} +{% assign hideNav = 'Global' | Page:'QueryString' | Property:'hidenav' %} +{% assign navItemCount = 0 %} + +{% if useNewStyles == 'Yes' %} +
    +
    + + NewSpring Church Logo + +
    +
    + + + + + + {% assign personPhoto = CurrentPerson.PhotoUrl %} + {% if CurrentPerson != null %} + + {% if personPhoto != null %} + + + {% else %} + + {% endif %} + + {% else %} + + + + {% endif %} +
    +
    + + +{% else %} + +{% assign navItemCountDesk = navItemCount | Plus:1 %} +{% assign navItemCountMobile = navItemCount %} +{% assign navItemWidthDesk = 100 | DividedBy:navItemCountDesk,3 %} +{% assign navItemWidthMobile = 100 | DividedBy:navItemCountMobile,3 %} + + + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/page-header.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/page-header.lava new file mode 100644 index 00000000000..9619dfd8a33 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/page-header.lava @@ -0,0 +1,3 @@ +
    +

    {{ title | Replace:"'","’" }}

    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/page-menu-table.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/page-menu-table.lava new file mode 100644 index 00000000000..084ab23c8ec --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/page-menu-table.lava @@ -0,0 +1,71 @@ + + +
    +
    +
    + + + + + + + {% for childPage in Page.Pages %} + + + + + + {% endfor %} + + {% for page in IncludePageList %} + {% assign path = 'Global' | Page:'Path' %} + {% assign parts = page | PropertyToKeyValue %} + {% if parts.Value contains '#' %} + {% capture value %}{% assign valueparts = parts.Value | Split:'#' %}#{{ valueparts[1] }}{% endcapture %} + {% else %} + {% assign value = parts.Value %} + {% endif %} + + + + + + {% endfor %} + +
    TitleDescriptionAction
    + + {% if childPage.IconCssClass != ' %} + + {% endif %} + {{ childPage.Title }} + + + {{ childPage.Description }} + + View Report +
    + + {% if page.IconCssClass != ' %} + + {% endif %} + {{ parts.Key }} + + + + View Report +
    +
    +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/pagination.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/pagination.lava new file mode 100644 index 00000000000..f528de29ea0 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/pagination.lava @@ -0,0 +1,62 @@ +{% assign totalpages = itemcount | DividedBy:pagesize | Ceiling | AsInteger %} +{% assign currentpage = 'Global' | PageParameter:'Page' | WithFallback:'', '1' | AsInteger %} + +{% if totalpages > 0 and currentpage > totalpages %}{{ '/page-not-found' | PageRedirect }}{% endif %} + +{% capture paginationJSON %}{ + "ItemCount": {{ itemcount }}, + "PageSize": {{ pagesize }}, + "CurrentPage": {{ currentpage }}, + "PreviousPage": {% if currentpage == 1 %}-1{% else %}{{ currentpage | Minus:1 }}{% endif %}, + "NextPage": {{ currentpage | Plus:1 }}, + "TotalPages": {{ totalpages }}, + "UrlTemplate": "{{ 'Global' | Page:'Path' }}?Page=PageNum", + "Pages": [ + {% for i in (0..totalpages) %} + { + "PageNumber": {{ i }}, + "PageUrl": "{{ i }}", + "Context": null + }{% if forloop.last != true %},{% endif %} + {% endfor %} + ] + }{% endcapture %} + +{% assign paginationObject = paginationJSON | FromJSON %} + +{% if paginationObject.TotalPages > 1 %} +{% assign startingPage = paginationObject.CurrentPage | Minus: 2 %} +{% assign endingPage = paginationObject.CurrentPage | Plus:2 %} + +{% assign nextPageString = paginationObject.NextPage | ToString %} +{% assign prevPageString = paginationObject.PreviousPage | ToString %} + +
    + +
    +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/progress-bar.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/progress-bar.lava new file mode 100644 index 00000000000..14f4992decd --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/progress-bar.lava @@ -0,0 +1,6 @@ +{% assign percent = percent | AsInteger %} +
    +
    + {{ percent }}% Complete +
    +
    diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/related-items-swiper.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/related-items-swiper.lava new file mode 100644 index 00000000000..1e32d3d38b8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/related-items-swiper.lava @@ -0,0 +1,86 @@ +{% assign relatedItems = Item.RelatedItems %} + +{% comment %} + This loops through the related items from the Item object and strips out anything that is future-dated or expired. +{% endcomment %} +{%- capture displayItemsString -%} + {%- assign now = 'Now' | Date:'yyyyMMddHHmmss' -%} + [{%- for item in relatedItems -%} + {%- assign status = item.Status %} + {%- assign publishDateTime = item.PublishDateTime | Date:'yyyyMMddHHmmss' -%} + {%- assign expireDateTime = item.ExpireDateTime | Date:'yyyyMMddHHmmss' -%} + {%- if status == 2 and publishDateTime <= now and expireDateTime == null or status == 2 and publishDateTime <= now and expireDateTime > now -%} + {{ item | ToJSON }}, + {%- endif -%} + {%- endfor -%}] +{%- endcapture -%} + +{% comment %} + This reassigns the results of the above filtered loop to the "relatedItems" object that is used by the card list below. +{% endcomment %} +{% assign relatedItems = displayItemsString | ReplaceLast:',', '' | StripNewlines | FromJSON %} + +{% if relatedItems and relatedItems != empty %} + + {[ swiper title:'{{ title }}' ]} + + {% for item in relatedItems %} + {% assign relatedItem = item.Dataset | PersistedDataset | Where:'Id',item.Id | First %} + {% if relatedItem and relatedItem != empty %} + [[ item ]] + + {% assign showDate = relatedItem.IsDateVisible %} + {% assign slug = relatedItem.Slug %} + {% assign id = relatedItem.Id %} + {% assign guid = relatedItem.Guid %} + {% assign title = relatedItem.Title | Escape %} + {% assign titlesize = 'h4' %} + {% assign type = relatedItem.ChannelName | Split:' - ' | Index:1 | Singularize %} + {% assign imageurl = relatedItem.ImageLandscape %} + {% assign video = relatedItem.Video %} + {% assign trimcopy = 'y' %} + {% assign linkurl = relatedItem.Permalink %} + {% assign linktext = type | Prepend:' ' | Prepend:relatedItem.ChannelVerb %} + {% assign startDateTime = relatedItem.StartDateTime %} + {% assign endDateTime = relatedItem.EndDateTime %} + + {% if relatedItem.Summary != empty %} + {% capture content %}

    {{ relatedItem.Summary | HtmlDecode | StripHtml | Truncate:200,'...' }}

    {% endcapture %} + {% else %} + {% capture content %}

    {{ relatedItem.Content | HtmlDecode | StripHtml | Truncate:200,'...' }}

    {% endcapture %} + {% endif %} + + {% capture subtitle %} + {%- comment -%}Check this item's channel to see if dates should be visible{%- endcomment -%} + {% if showDate == 'Yes' %} + {%- comment -%}If item has a date range, display it - otherwise display the item start date{%- endcomment -%} + {% if startDateTime != empty %} + {[ formatDate date:'{{ startDateTime }}' ]}{% if startDateTime != endDateTime %} - {[ formatDate date:'{{ endDateTime }}' ]}{% endif %} + {% endif %} + {% endif %} + {% endcapture %} + + {%- comment -%}Reset collection text/url so it doesn't show the previous item's values{%- endcomment -%} + {% assign collectiontext = '' %} + {% assign collectionurl = '' %} + + {%- comment -%}Set parent item so we can get values from it{%- endcomment -%} + {% assign parentChannelId = relatedItem.ParentChannelId | AsInteger %} + {% if parentChannelId and parentChannelId != empty %} + {% assign parent = relatedItem.Parents | Where:'ChannelId',parentChannelId | First %} + {% assign parentItem = parent.Dataset | PersistedDataset | Where:'Id',parent.Id %} + + {% if parentItem and parentItem != empty %} + {% assign collectiontext = parentItem.Title %} + {% assign collectionurl = parentItem.Permalink %} + {% endif %} + {% endif %} + + {[ card guid:'{{ item.Guid }}' dataset:'{{ relatedItem.Dataset }}' cciid:'{{ id }}' id:'{{ id }}' title:'{{ title }}' content:'{{ content }}' textalignment:'{{ textalignment }}' label:'{{ label }}' subtitle:'{{ subtitle }}' imageurl:'{{ imageurl }}' imageoverlayurl:'{{ imageoverlayurl }}' imagealignment:'{{ imagealignment }}' imageopacity:'{{ imageopacity }}' imageflip:'{{ imageflip }}' imageblur:'{{ imageblur }}' grayscale:'{{ grayscale }}' backgroundvideourl:'{{ backgroundvideourl }}' lava:'{{ lava }}' video:'{{ video }}' ratio:'{{ ratio }}' trimcopy:'{{ trimcopy }}' linkcolor:'{{ linkcolor }}' backgroundcolor:'{{ backgroundcolor }}' linktext:'{{ linktext }}' linkurl:'{{ linkurl }}' hideforegroundelements:'{{ hideforegroundelements }}' linkedpageid:'{{ linkedpageid }}' linkedpageroute:'{{ linkedpageroute }}' ]} + + [[ enditem ]] + {% endif %} + {% endfor %} + {[ endswiper ]} + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/section.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/section.lava new file mode 100644 index 00000000000..38197286ad8 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/section.lava @@ -0,0 +1,53 @@ +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + +
    + + {% if linkcolor and linkcolor != empty %} + + {% endif %} + + {% if imageurl and imageurl != empty %} +
    +
    + {% endif %} + +
    + {% if title and title != empty %} +

    {{ title }}

    + {% endif %} + + {% if subtitle and subtitle != empty %} +

    {{ subtitle }}

    + {% endif %} +
    + + {{ blockContent }} + + {% if imageurl and imageurl != empty %} +
    + {% endif %} + +
    + +{[ endscripturize ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/share-buttons.html b/RockWeb/Themes/NewSpring/assets/Lava/UI/share-buttons.html new file mode 100644 index 00000000000..49a190f3b1f --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/share-buttons.html @@ -0,0 +1,18 @@ +{# + +{% set blockData = { + id: '', + orientation: '', + copy: '', + linkUrl: '' +} %}{% include "share-buttons.html" %} + +#} + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/side-by-side-new.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/side-by-side-new.lava new file mode 100644 index 00000000000..7c66f518459 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/side-by-side-new.lava @@ -0,0 +1,119 @@ +{% assign defaultTranslation = 'Global' | Attribute:'BibleTranslation','Value' %} +{[ scripturize defaulttranslation:'{{ defaultTranslation }}' landingsite:'BibleGateway' cssclass:'scripture' openintab:'true' ]} + +{%- assign modalid = uniqueid -%} +{% if linkurl != empty or linkedpageid != empty %} + {% capture linkurl %} + {% if linkedpageroute != empty and linkedpageroute != '' and linkedpageroute != null %} + /{{ linkedpageroute }} + {% elseif linkedpageid != empty and linkedpageid != '' and linkedpageid != null %} + /page/{{ linkedpageid }} + {% else %} + {{ linkurl }} + {% endif %} + {% endcapture %} +{% endif %} + +{% assign linkurl = linkurl | Trim %} + +
    + +
    +
    + + + + {% if linkurl != empty %}{% endif %} +
    +
    +
    + {% if linkurl != empty %}
    {% endif %} +
    +
    + + + + {% if subtitle != null and subtitle != '' %} +

    {{ subtitle }}

    + {% endif %} + + {% if dataset and dataset != empty and cciid and cciid != empty %} + {[ tags dataset:'{{ dataset }}' cciid:'{{ cciid }}' ]} + {% endif %} + + {% if content != null and content != '' %} +
    + {% if trimcopy == 'Yes' %} + {% assign length = content | Size %} +

    {{ content | StripHtml | Truncate:200,'...' }}{% if length > 200 %} Read More{% endif %}

    + {% else %} + {{ content }} + {% endif %} +
    + {% endif %} + + + + {% if linkurl and linkurl != empty %} +

    + {[ button linkurl:'{{ linkurl | Trim }}' linktext:'{{ linktext }}' buttontype:'primary xs-btn-block' buttonsize:'' ]} + + {% if video != null and video != '' %} + {[ wistiaButton id:'{{ video }}' buttontext:'' buttonclasses:'xs-btn-block xs-push-half-top' contentchannelitemid:'' entitytypeid:'' entityid:'' ]} + {% endif %} +

    + {% endif %} + + {% if lava and lava != empty %} + {{ lava | HtmlDecode }} + {% endif %} +
    +
    +
    + +
    + +{% if trimcopy == 'Yes' and length > 200 %} + +{% endif %} + +{[ endscripturize ]} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/swiper.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/swiper.lava new file mode 100644 index 00000000000..2ffbe944713 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/swiper.lava @@ -0,0 +1,90 @@ +{%- assign swiperid = uniqueid -%} + + +
    + +
    + + {%- for item in items -%} +
    + {{ item.content }} +
    + {%- endfor -%} +
    + + {% if navigation != 'false' %} + + + {% endif %} + + +
    +
    + + diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/tags.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/tags.lava new file mode 100644 index 00000000000..4dc07ef5172 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/tags.lava @@ -0,0 +1,7 @@ +{%- if dataset and dataset != empty and cciid and cciid != empty -%} + {%- assign cciid = cciid | AsInteger -%} + {%- assign tags = dataset | PersistedDataset | Where:'Id',cciid | First | Property:'Tags' -%} +{%- endif -%} +{%- if tags and tags != empty %}

    +{%- for tag in tags -%} {{ tag.Name | Downcase }}{%- endfor -%} +

    {%- endif -%} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/user.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/user.lava new file mode 100644 index 00000000000..ce0ba8994ff --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/user.lava @@ -0,0 +1,17 @@ +{% if imageurl and imageurl != empty %} +
    +{% endif %} + +{% if title and title != empty %} +

    {{ title }}

    +{% endif %} + +{% if subtitle and subtitle != empty %} +

    {{ subtitle }}

    +{% endif %} + +{{ blockContent }} + +{% if linkurl and linkurl != empty %} +

    {{ linktext }}

    +{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-button.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-button.lava new file mode 100644 index 00000000000..5f59add6234 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-button.lava @@ -0,0 +1,15 @@ +{%- assign modalId = uniqueid -%} +{{ buttontext }}   + + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-embed.lava b/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-embed.lava new file mode 100644 index 00000000000..263dbdc7d44 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/UI/wistia-embed.lava @@ -0,0 +1,52 @@ +{% if id and id != '' %} + +
    +
    +
     
    +
    +
    + +{% assign personAliasId = CurrentPerson.PrimaryAliasId %} +{% if personAliasId == null %} + {% assign personAliasId = 0 %} +{% endif %} +{% if contentchannelitemid == null or contentchannelitemid == '' %} + {% assign contentchannelitemid = 0 %} +{% endif %} +{% if entitytypeid == null or entitytypeid == '' %} + {% assign entitytypeid = 0 %} +{% endif %} +{% if entityid == null or entityid == '' %} + {% assign entityid = 0 %} +{% endif %} + +{% assign currenthost = 'Global' | Page:'Url' | Url:'Host' %} +{% if currenthost != 'newspring.cc' and currenthost != 'newspringnetwork.com' and currenthost != 'rock.newspring.cc' %} + {% assign donottrack = 'true' %} +{% endif %} + +{% javascript id:'wistiaapi' url:'//fast.wistia.com/assets/external/E-v1.js' %}{% endjavascript %} + + +{% endif %} diff --git a/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-parent-slug-from-child-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-parent-slug-from-child-id.lava new file mode 100644 index 00000000000..61263611833 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-parent-slug-from-child-id.lava @@ -0,0 +1,11 @@ +{% if id and id != empty and parentccid and parentccid != empty %} +{% sql %} +SELECT TOP 1 ccis.Slug +FROM ContentChannelItemAssociation ccia +JOIN ContentChannelItem pcci +ON ccia.ContentChannelItemId = pcci.Id +JOIN ContentChannelItemSlug ccis +ON pcci.Id = ccis.ContentChannelItemId +WHERE ccia.ChildContentChannelItemId = {{ id }} +AND pcci.ContentChannelId = {{ parentccid }} +{% endsql %}{% for result in results %}{{ result.Slug }}{% endfor %}{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-slug-from-id.lava b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-slug-from-id.lava new file mode 100644 index 00000000000..ef0875d9983 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/get-slug-from-id.lava @@ -0,0 +1,7 @@ +{% capture slug %} +{% contentchannelitemslug where:'ContentChannelItemId == {{ id }}' iterator:'slugs' limit:'1' %} + {% for slug in slugs %} + {{ slug.Slug }} + {% endfor %} +{% endcontentchannelitemslug %} +{% endcapture %}{{ slug | Trim }} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/scripture-references.lava b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/scripture-references.lava new file mode 100644 index 00000000000..8021bb9143d --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/_DEPRECATED/DATA/scripture-references.lava @@ -0,0 +1,29 @@ +{% if guid != null %} +{% sql %} +SELECT + CASE + WHEN av.AttributeId = 68247 THEN ( + SELECT TOP 1 Value + FROM DefinedValue + WHERE Guid = av.Value + ) + ELSE Value + END "Value" +FROM AttributeMatrix am +INNER JOIN AttributeMatrixItem ami +ON ami.AttributeMatrixId = am.Id +INNER JOIN AttributeValue av +ON av.EntityId = ami.Id +WHERE am.Guid = '{{ guid }}' AND +av.Value != '' AND +av.AttributeId IN ( + SELECT a1.Id + FROM AttributeMatrix am1 + INNER JOIN Attribute a1 + ON a1.EntityTypeQualifierValue = am1.AttributeMatrixTemplateId + WHERE am1.Guid = '{{ guid }}' AND a1.EntityTypeQualifierColumn = 'AttributeMatrixTemplateId' +) +ORDER BY ami.Id, av.AttributeId +{% endsql %} +{% for item in results %}{% assign evenodd = forloop.index | Modulo:2 %}{{ item.Value }}{% if evenodd == 0 and forloop.last != true%}, {% else %} {% endif %}{% endfor %} +{% endif %} \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Lava/_test.html b/RockWeb/Themes/NewSpring/assets/Lava/_test.html new file mode 100644 index 00000000000..278f65d7e97 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/Lava/_test.html @@ -0,0 +1,25 @@ +{% comment %} + {% include '~~/Assets/Lava/_test.html' %} +{% endcomment %} + +
    +
    +
    + {[ image imageurl:'{{ imageurl }}' hideforegroundelements:'Yes' ]} +
    +
    +

    Today's Devotional

    + +

    + + {{ item.Title }} + +

    + +

    {{ content | StripHtml | Truncate:850,"..." }}

    + +

    Read Devotional

    +
    +
    +
    +
    \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/1.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/1.svg new file mode 100644 index 00000000000..8e617c89d18 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/1.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/10.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/10.svg new file mode 100644 index 00000000000..72a12625ba5 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/10.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/11.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/11.svg new file mode 100644 index 00000000000..302fe31e8dc --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/11.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/12.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/12.svg new file mode 100644 index 00000000000..36bfcc46e62 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/12.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/13.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/13.svg new file mode 100644 index 00000000000..88fd2e16bde --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/13.svg @@ -0,0 +1,3 @@ + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/14.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/14.svg new file mode 100644 index 00000000000..43dd6afdbda --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/14.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/15.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/15.svg new file mode 100644 index 00000000000..c60d9c5dcec --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/15.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/16.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/16.svg new file mode 100644 index 00000000000..e19f62d5435 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/16.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/17.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/17.svg new file mode 100644 index 00000000000..3334078cb7e --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/17.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/18.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/18.svg new file mode 100644 index 00000000000..c80f7428368 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/18.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/19.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/19.svg new file mode 100644 index 00000000000..eb726938115 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/19.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/2.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/2.svg new file mode 100644 index 00000000000..e72387a3156 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/20.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/20.svg new file mode 100644 index 00000000000..6222be9eb9f --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/20.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/21.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/21.svg new file mode 100644 index 00000000000..9ac678230b3 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/21.svg @@ -0,0 +1,3 @@ + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/22.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/22.svg new file mode 100644 index 00000000000..f0173de1ad9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/22.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/23.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/23.svg new file mode 100644 index 00000000000..d989d5f219c --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/23.svg @@ -0,0 +1,3 @@ + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/24.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/24.svg new file mode 100644 index 00000000000..ef84723a4d7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/24.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/25.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/25.svg new file mode 100644 index 00000000000..1c4a3fe7c3c --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/25.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/26.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/26.svg new file mode 100644 index 00000000000..6e90d944a15 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/26.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/27.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/27.svg new file mode 100644 index 00000000000..26bbc803fce --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/27.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/28.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/28.svg new file mode 100644 index 00000000000..a9b5bed6a02 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/28.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/3.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/3.svg new file mode 100644 index 00000000000..93f5474ee84 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/3.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/4.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/4.svg new file mode 100644 index 00000000000..3ecc93c5085 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/4.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/5.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/5.svg new file mode 100644 index 00000000000..759acb317c7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/5.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/6.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/6.svg new file mode 100644 index 00000000000..4ca51229df9 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/6.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/7.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/7.svg new file mode 100644 index 00000000000..ddbacc00fd6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/7.svg @@ -0,0 +1,4 @@ + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/8.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/8.svg new file mode 100644 index 00000000000..d08ee2b0593 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/8.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/9.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/9.svg new file mode 100644 index 00000000000..1d45c299c0b --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/9.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/easter/lockup.svg b/RockWeb/Themes/NewSpring/assets/SVG/easter/lockup.svg new file mode 100644 index 00000000000..c907b1f0cf3 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/easter/lockup.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/assets/SVG/logo.svg b/RockWeb/Themes/NewSpring/assets/SVG/logo.svg new file mode 100644 index 00000000000..7840f88126c --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/logo.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/SVG/mark.svg b/RockWeb/Themes/NewSpring/assets/SVG/mark.svg new file mode 100644 index 00000000000..3c74cd9fe02 --- /dev/null +++ b/RockWeb/Themes/NewSpring/assets/SVG/mark.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1125-2436.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1125-2436.jpg new file mode 100644 index 00000000000..29fdbe06128 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1125-2436.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1136-640.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1136-640.jpg new file mode 100644 index 00000000000..ac77e7936c3 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1136-640.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1170-2532.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1170-2532.jpg new file mode 100644 index 00000000000..f1880ef9077 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1170-2532.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1179-2556.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1179-2556.jpg new file mode 100644 index 00000000000..553e333586f Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1179-2556.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2208.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2208.jpg new file mode 100644 index 00000000000..24516089103 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2208.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2688.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2688.jpg new file mode 100644 index 00000000000..8f277c61c28 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1242-2688.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1284-2778.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1284-2778.jpg new file mode 100644 index 00000000000..b3428420180 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1284-2778.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1290-2796.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1290-2796.jpg new file mode 100644 index 00000000000..dd8b62a5f70 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1290-2796.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1334-750.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1334-750.jpg new file mode 100644 index 00000000000..9c3377ca371 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1334-750.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1536-2048.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1536-2048.jpg new file mode 100644 index 00000000000..4689838a7ae Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1536-2048.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1620-2160.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1620-2160.jpg new file mode 100644 index 00000000000..f911d8506bb Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1620-2160.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2224.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2224.jpg new file mode 100644 index 00000000000..80b785c0f4d Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2224.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2388.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2388.jpg new file mode 100644 index 00000000000..194daf73057 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1668-2388.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1792-828.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1792-828.jpg new file mode 100644 index 00000000000..38165ef232d Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-1792-828.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-1536.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-1536.jpg new file mode 100644 index 00000000000..821d5363646 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-1536.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-2732.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-2732.jpg new file mode 100644 index 00000000000..cdf603c23b3 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2048-2732.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2160-1620.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2160-1620.jpg new file mode 100644 index 00000000000..5c02a92257f Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2160-1620.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2208-1242.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2208-1242.jpg new file mode 100644 index 00000000000..0c58a31698d Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2208-1242.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2224-1668.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2224-1668.jpg new file mode 100644 index 00000000000..74e9cfa0fae Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2224-1668.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2388-1668.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2388-1668.jpg new file mode 100644 index 00000000000..a6549475b92 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2388-1668.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2436-1125.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2436-1125.jpg new file mode 100644 index 00000000000..b112da965ed Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2436-1125.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2532-1170.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2532-1170.jpg new file mode 100644 index 00000000000..686b4132013 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2532-1170.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2556-1179.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2556-1179.jpg new file mode 100644 index 00000000000..c4cddc02592 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2556-1179.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2688-1242.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2688-1242.jpg new file mode 100644 index 00000000000..4d52f5d5086 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2688-1242.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2732-2048.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2732-2048.jpg new file mode 100644 index 00000000000..3c3253a60d0 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2732-2048.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2778-1284.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2778-1284.jpg new file mode 100644 index 00000000000..44f79a8220f Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2778-1284.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2796-1290.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2796-1290.jpg new file mode 100644 index 00000000000..1c0b2a6f0f8 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-2796-1290.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-640-1136.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-640-1136.jpg new file mode 100644 index 00000000000..ef53219d52b Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-640-1136.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-750-1334.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-750-1334.jpg new file mode 100644 index 00000000000..745ad0c713d Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-750-1334.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-828-1792.jpg b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-828-1792.jpg new file mode 100644 index 00000000000..98045707827 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-splash-828-1792.jpg differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/apple-touch-icon.png b/RockWeb/Themes/NewSpring/assets/Splash/apple-touch-icon.png new file mode 100644 index 00000000000..2aca9337b12 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/apple-touch-icon.png differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/favicon-196.png b/RockWeb/Themes/NewSpring/assets/Splash/favicon-196.png new file mode 100644 index 00000000000..8d281bb4727 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/favicon-196.png differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-192.maskable.png b/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-192.maskable.png new file mode 100644 index 00000000000..0db2dfa21da Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-192.maskable.png differ diff --git a/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-512.maskable.png b/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-512.maskable.png new file mode 100644 index 00000000000..1820768b363 Binary files /dev/null and b/RockWeb/Themes/NewSpring/assets/Splash/manifest-icon-512.maskable.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/mary-and-joseph.png b/RockWeb/Themes/NewSpring/christmas/assets/mary-and-joseph.png new file mode 100644 index 00000000000..a9ccb7f2973 Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/mary-and-joseph.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/moon.png b/RockWeb/Themes/NewSpring/christmas/assets/moon.png new file mode 100644 index 00000000000..d59004e464f Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/moon.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/star-1.png b/RockWeb/Themes/NewSpring/christmas/assets/star-1.png new file mode 100644 index 00000000000..5942e41baf4 Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/star-1.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/star-2.png b/RockWeb/Themes/NewSpring/christmas/assets/star-2.png new file mode 100644 index 00000000000..5b43731658f Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/star-2.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/star-3.png b/RockWeb/Themes/NewSpring/christmas/assets/star-3.png new file mode 100644 index 00000000000..2363e2c3324 Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/star-3.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/star-4.png b/RockWeb/Themes/NewSpring/christmas/assets/star-4.png new file mode 100644 index 00000000000..2897fc241a6 Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/star-4.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/star-blur.png b/RockWeb/Themes/NewSpring/christmas/assets/star-blur.png new file mode 100644 index 00000000000..59148a0b3e6 Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/star-blur.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/assets/strokes.png b/RockWeb/Themes/NewSpring/christmas/assets/strokes.png new file mode 100644 index 00000000000..cdbc7e62a3d Binary files /dev/null and b/RockWeb/Themes/NewSpring/christmas/assets/strokes.png differ diff --git a/RockWeb/Themes/NewSpring/christmas/christmas.css b/RockWeb/Themes/NewSpring/christmas/christmas.css new file mode 100644 index 00000000000..9e5ab40b9ea --- /dev/null +++ b/RockWeb/Themes/NewSpring/christmas/christmas.css @@ -0,0 +1,270 @@ +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + float: left; +} +/* Background Color */ +.bg-brand-blue-dark { + background-color: #1b203a; +} +.bg-brand-blue { + background-color: #263570; +} +.bg-brand-blue-light { + background-color: #b6bade; +} +.bg-brand-blue-bright { + background-color: #3b4fa1; +} +.bg-brand-red-dark { + background-color: #3d2823; +} +.bg-brand-red-light { + background-color: #d7847f; +} +.bg-brand-red-bright { + background-color: #cc5648; +} +.bg-brand-pink { + background-color: #e0a7b4; +} +.bg-brand-yellow-dark { + background-color: #9c7a30; +} +.bg-brand-yellow { + background-color: #d9b057; +} +.bg-brand-yellow-light { + background-color: #f3f1ea; +} +.bg-brand-green-dark { + background-color: #283f23; +} +.bg-brand-green { + background-color: #4a6338; +} +/* Text Color */ +.text-brand-blue-dark { + color: #1b203a; +} +.text-brand-blue { + color: #263570; +} +.text-brand-blue-light { + color: #b6bade; +} +.text-brand-blue-bright { + color: #3b4fa1; +} +.text-brand-red-dark { + color: #3d2823; +} +.text-brand-red-light { + color: #d7847f; +} +.text-brand-red-bright { + color: #cc5648; +} +.text-brand-pink { + color: #e0a7b4; +} +.text-brand-yellow-dark { + color: #9c7a30; +} +.text-brand-yellow { + color: #d9b057; +} +.text-brand-yellow-light { + color: #f3f1ea; +} +.text-brand-green-dark { + color: #283f23; +} +.text-brand-green { + color: #4a6338; +} +/* LINKS */ +.links-brand-red-bright a, +.links-brand-red-bright a:hover, +.links-brand-red-bright a:active, +.links-brand-red-bright a:focus { + color: #cc5648; +} +.directions-link, +.directions-link:hover { + text-decoration: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.4); +} +.directions-link:hover { + border-color: #d9b057; +} +section { + font-size: 21px; +} +#christmas_lockup path { + fill: #fff; +} +#christmas_lockup .cls-1 { + fill: transparent; +} +#christmas_subtitle path { + fill: #fff; +} +.texture { + fill: #263570; +} +.text-decoration-none { + text-decoration: none; +} +.text-quincy p, +.text-quincy li { + font-family: quincy-cf, serif; + letter-spacing: 0.5px; +} +.btn { + letter-spacing: 0; +} +.text-quincy h1, +.text-quincy .h1, +.text-quincy h2, +.text-quincy .h2, +.text-quincy h3, +.text-quincy .h3, +.text-quincy h4, +.text-quincy .h4, +.text-quincy h5, +.text-quincy .h5, +.text-quincy h6, +.text-quincy .h6 { + font-family: quincy-cf, serif; + font-style: italic; +} +.gradient { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #000000; + background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0) 100%); + opacity: 0.7; +} +.shortcode { + z-index: -1; + font-size: 160px; + opacity: 0.1; +} +.star-1 { + width: 20px; + height: 20px; + background: url("https://dg0ddngxdz549.cloudfront.net/newspring/christmas/2022/assets/star-1.png") center no-repeat; + opacity: 0.2; +} +.star-2 { + width: 10px; + height: 8px; + background: url("https://dg0ddngxdz549.cloudfront.net/newspring/christmas/2022/assets/star-2.png") center no-repeat; + opacity: 0.9; +} +.star-3 { + width: 15px; + height: 16px; + background: url("https://dg0ddngxdz549.cloudfront.net/newspring/christmas/2022/assets/star-3.png") center no-repeat; + opacity: 0.9; +} +.star-4 { + width: 8px; + height: 8px; + background: url("https://dg0ddngxdz549.cloudfront.net/newspring/christmas/2022/assets/star-4.png") center no-repeat; + opacity: 1; +} +.star-blur { + width: 122px; + height: 132px; + background: url("https://dg0ddngxdz549.cloudfront.net/newspring/christmas/2022/assets/star-blur.png") center no-repeat; + opacity: 0.15; +} +.particle-plane { + position: absolute; +} +.moon { + position: absolute; + top: 50px; + right: 60px; + max-width: 60px; +} +.mary-and-joseph { + margin-top: -100px; +} +.overflow-hidden { + -webkit-transform: none; +} +.text-constrained { + max-width: 900px; +} +.fa-lg { + font-size: 2em; +} +@media only screen and (min-width: 992px) { + .streams-1 { + top: 600px; + } + .moon { + top: 130px; + right: 250px; + max-width: 100px; + } + .shortcode { + top: -20px; + font-size: 200px; + opacity: 0.1; + } + .mary-and-joseph { + margin-top: -200px; + } +} diff --git a/RockWeb/Themes/NewSpring/christmas/christmas.less b/RockWeb/Themes/NewSpring/christmas/christmas.less new file mode 100644 index 00000000000..53a48608c32 --- /dev/null +++ b/RockWeb/Themes/NewSpring/christmas/christmas.less @@ -0,0 +1,304 @@ +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + float: left; +} + +/* Background Color */ + +// Blue +.bg-brand-blue-dark { + background-color: #1b203a; +} +.bg-brand-blue { + background-color: #263570; +} +.bg-brand-blue-light { + background-color: #b6bade; +} +.bg-brand-blue-bright { + background-color: #3b4fa1; +} +// Red +.bg-brand-red-dark { + background-color: #3d2823; +} +.bg-brand-red-light { + background-color: #d7847f; +} +.bg-brand-red-bright { + background-color: #cc5648; +} +// Pink +.bg-brand-pink { + background-color: #e0a7b4; +} +// Yellow +.bg-brand-yellow-dark { + background-color: #9c7a30; +} +.bg-brand-yellow { + background-color: #d9b057; // D2A23A +} +.bg-brand-yellow-light { + background-color: #f3f1ea; // efe5cb +} +// Green +.bg-brand-green-dark { + background-color: #283f23; +} +.bg-brand-green { + background-color: #4a6338; +} + +/* Text Color */ + +// Blue +.text-brand-blue-dark { + color: #1b203a; +} +.text-brand-blue { + color: #263570; +} +.text-brand-blue-light { + color: #b6bade; +} +.text-brand-blue-bright { + color: #3b4fa1; +} +// Red +.text-brand-red-dark { + color: #3d2823; +} +.text-brand-red-light { + color: #d7847f; +} +.text-brand-red-bright { + color: #cc5648; +} +// Pink +.text-brand-pink { + color: #e0a7b4; +} +// Yellow +.text-brand-yellow-dark { + color: #9c7a30; +} +.text-brand-yellow { + color: #d9b057; // D2A23A +} +.text-brand-yellow-light { + color: #f3f1ea; // efe5cb +} +// Green +.text-brand-green-dark { + color: #283f23; +} +.text-brand-green { + color: #4a6338; +} + +/* LINKS */ +.links-brand-red-bright { + a, + a:hover, + a:active, + a:focus { + color: #cc5648; + } +} + +section { + font-size: 21px; +} + +#christmas_lockup path { + fill: #fff; +} + +#christmas_lockup .cls-1 { + fill: transparent; +} + +#christmas_subtitle path { + fill: #fff; +} + +.texture { + fill: #263570; +} + +.text-decoration-none { + text-decoration: none; +} + +.text-quincy p, +.text-quincy li { + font-family: quincy-cf, serif; + letter-spacing: 0.5px; +} + +.btn { + letter-spacing: 0; +} + +.text-quincy h1, +.text-quincy .h1, +.text-quincy h2, +.text-quincy .h2, +.text-quincy h3, +.text-quincy .h3, +.text-quincy h4, +.text-quincy .h4, +.text-quincy h5, +.text-quincy .h5, +.text-quincy h6, +.text-quincy .h6 { + font-family: quincy-cf, serif; + font-style: italic; +} + +.gradient { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgb(0, 0, 0); + background: linear-gradient( + 180deg, + rgba(0, 0, 0, 1) 0%, + rgba(0, 0, 0, 0) 100% + ); + opacity: 0.7; +} + +.shortcode { + z-index: -1; + font-size: 160px; + opacity: 0.1; +} + +.star-1 { + width: 20px; + height: 20px; + background: url("./assets/star-1.png") center no-repeat; + opacity: 0.2; +} + +.star-2 { + width: 10px; + height: 8px; + background: url("./assets/star-2.png") center no-repeat; + opacity: 0.9; +} + +.star-3 { + width: 15px; + height: 16px; + background: url("./assets/star-3.png") center no-repeat; + opacity: 0.9; +} + +.star-4 { + width: 8px; + height: 8px; + background: url("./assets/star-4.png") center no-repeat; + opacity: 1; +} + +.star-blur { + width: 122px; + height: 132px; + background: url("./assets/star-blur.png") center no-repeat; + opacity: 0.15; +} + +.particle-plane { + position: absolute; +} + +.moon { + position: absolute; + top: 50px; + right: 60px; + max-width: 60px; +} + +.mary-and-joseph { + margin-top: -100px; +} + +.overflow-hidden { + -webkit-transform: none; +} + +.text-constrained { + max-width: 900px; +} + +@media only screen and (min-width: 992px) { + .streams-1 { + top: 600px; + } + .moon { + top: 130px; + right: 250px; + max-width: 100px; + } + + .shortcode { + top: -20px; + font-size: 200px; + opacity: 0.1; + } + + .mary-and-joseph { + margin-top: -200px; + } +} diff --git a/RockWeb/Themes/NewSpring/gauntlet/Gauntlet2023_Hero_v1Site.mp4 b/RockWeb/Themes/NewSpring/gauntlet/Gauntlet2023_Hero_v1Site.mp4 new file mode 100644 index 00000000000..58553b2571a Binary files /dev/null and b/RockWeb/Themes/NewSpring/gauntlet/Gauntlet2023_Hero_v1Site.mp4 differ diff --git a/RockWeb/Themes/NewSpring/gauntlet/content.lava b/RockWeb/Themes/NewSpring/gauntlet/content.lava new file mode 100644 index 00000000000..55194d557cb --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/content.lava @@ -0,0 +1,28 @@ +
    +
    + + +
    + + + Gauntlet 2023 Logo + + +
    +
    +
    diff --git a/RockWeb/Themes/NewSpring/gauntlet/divider.lava b/RockWeb/Themes/NewSpring/gauntlet/divider.lava new file mode 100644 index 00000000000..b73a54b5990 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/divider.lava @@ -0,0 +1,2 @@ + + diff --git a/RockWeb/Themes/NewSpring/gauntlet/logo-desktop.svg b/RockWeb/Themes/NewSpring/gauntlet/logo-desktop.svg new file mode 100644 index 00000000000..94f3077603f --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/logo-desktop.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/gauntlet/logo-mark.svg b/RockWeb/Themes/NewSpring/gauntlet/logo-mark.svg new file mode 100644 index 00000000000..c30e5147e79 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/logo-mark.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/gauntlet/logo-mobile.svg b/RockWeb/Themes/NewSpring/gauntlet/logo-mobile.svg new file mode 100644 index 00000000000..ee7583020d7 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/logo-mobile.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/gauntlet/mark-pattern.svg b/RockWeb/Themes/NewSpring/gauntlet/mark-pattern.svg new file mode 100644 index 00000000000..ea98fb4c17d --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/mark-pattern.svg @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RockWeb/Themes/NewSpring/gauntlet/section-divider-desktop.svg b/RockWeb/Themes/NewSpring/gauntlet/section-divider-desktop.svg new file mode 100644 index 00000000000..095c455639e --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/section-divider-desktop.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/gauntlet/section-divider-mobile.svg b/RockWeb/Themes/NewSpring/gauntlet/section-divider-mobile.svg new file mode 100644 index 00000000000..31411186ae1 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/section-divider-mobile.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/gauntlet/sounds.js b/RockWeb/Themes/NewSpring/gauntlet/sounds.js new file mode 100644 index 00000000000..0060924d755 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/sounds.js @@ -0,0 +1,21 @@ +document.addEventListener('DOMContentLoaded', function () { + + function play(id) { + let audio = document.getElementById(id); + audio.play(); + } + + const buttons = $('.gauntlet .btn'); + buttons.each(function(e){ + let button = buttons[e]; + + button.addEventListener('mouseenter', (e) => { + play('audioDown'); + }); + + button.addEventListener('mouseleave', (e) => { + play('audioUp'); + }); + }) + +}, false); diff --git a/RockWeb/Themes/NewSpring/gauntlet/styles.css b/RockWeb/Themes/NewSpring/gauntlet/styles.css new file mode 100644 index 00000000000..c5067a530b6 --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/styles.css @@ -0,0 +1,429 @@ +:root { + --bible-page: #ede4df; + --lakeside: #3333cc; + --riggs-field: #5f8c46; + --prayers-up: #de6588; + --tiger-paw: #de7840; + --group-hug: #645ca0; + --new-wave: #63aece; + --dandy-lion: #daba4d; + --not-quite-black: #302e35; + --gatorade: #c0d164; + --heat-stroke: #da5e56; + --lakeside-darker: #262698; + --riggs-field-darker: #3c592c; + --prayers-up-darker: #ab4e69; + --tiger-paw-darker: #ab5c31; + --group-hug-darker: #443f6d; + --new-wave-darker: #4b849d; + --dandy-lion-darker: #a58d3a; + --gatorade-darker: #929e4c; + --heat-stroke-darker: #8b3c37; +} + +body { + font-family: "colfax-web"; + letter-spacing: -0.5px; +} + +.container-fluid { + padding: 0 !important; +} + +/* + + Utility Classes + +*/ + +.text-geminis { + font-family: bd-geminis, sans-serif !important; + font-weight: 400; + font-style: normal; + letter-spacing: normal !important; +} + +.lead { + font-weight: 400; +} + +.h-full { + height: 100%; +} + +.w-full { + width: 100%; +} + +.h-screen { + height: 100vh; +} + +.w-screen { + width: 100vw; +} + +.max-w-full { + max-width: 100%; +} + +.max-h-full { + max-height: 100%; +} + +.min-w-full { + min-width: 100%; +} + +.min-h-full { + min-height: 100%; +} + +.flex { + display: flex; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.opacity-20 { + opacity: 0.2; +} + +.opacity-10 { + opacity: 0.1; +} + +.opacity-5 { + opacity: 0.05; +} + +.object-cover { + object-fit: cover; +} + +.page-constrained { + max-width: 1200px; +} + +/* + + COLORS + +*/ + +.text-bible-page { + color: var(--bible-page); +} +.bg-bible-page { + background-color: var(--bible-page); +} +.fill-bible-page { + fill: var(--bible-page); +} + +.text-lakeside { + color: var(--lakeside); +} +.bg-lakeside { + background-color: var(--lakeside); +} +.bg-lakeside-darker { + background-color: var(--lakeside-darker); +} +.fill-lakeside { + fill: var(--lakeside); +} + +.text-riggs-field { + color: var(--riggs-field); +} +.bg-riggs-field { + background-color: var(--riggs-field); +} +.bg-riggs-field-darker { + background-color: var(--riggs-field-darker); +} +.fill-riggs-field { + fill: var(--riggs-field); +} + +.text-prayers-up { + color: var(--prayers-up); +} +.bg-prayers-up { + background-color: var(--prayers-up); +} +.fill-prayers-up { + fill: var(--prayers-up); +} + +.text-tiger-paw { + color: var(--tiger-paw); +} +.bg-tiger-paw { + background-color: var(--tiger-paw); +} +.bg-tiger-paw-darker { + background-color: var(--tiger-paw-darker); +} +.fill-tiger-paw { + fill: var(--tiger-paw); +} + +.text-group-hug { + color: var(--group-hug); +} +.bg-group-hug { + background-color: var(--group-hug); +} +.bg-group-hug-darker { + background-color: var(--group-hug-darker); +} +.fill-group-hug { + fill: var(--group-hug); +} + +.text-new-wave { + color: var(--new-wave); +} +.bg-new-wave { + background-color: var(--new-wave); +} +.bg-new-wave-darker { + background-color: var(--new-wave-darker); +} +.fill-new-wave { + fill: var(--new-wave); +} + +.text-dandy-lion { + color: var(--dandy-lion); +} +.bg-dandy-lion { + background-color: var(--dandy-lion); +} +.bg-dandy-lion-darker { + background-color: var(--dandy-lion-darker); +} +.fill-dandy-lion { + fill: var(--dandy-lion); +} + +.text-black { + color: var(--not-quite-black); +} +.bg-black { + background-color: var(--not-quite-black); +} +.fill-black { + fill: var(--not-quite-black); +} + +.text-gatorade { + color: var(--gatorade); +} +.bg-gatorade { + background-color: var(--gatorade); +} +.bg-gatorade-darker { + background-color: var(--gatorade-darker); +} +.fill-gatorade { + fill: var(--gatorade); +} + +.text-heat-stroke { + color: var(--heat-stroke); +} +.bg-heat-stroke { + background-color: var(--heat-stroke); +} +.bg-heat-stroke-darker { + background-color: var(--heat-stroke-darker); +} +.fill-heat-stroke { + fill: var(--heat-stroke); +} + +/* + + Button Overrides + +*/ +.btn-primary { + background-color: var(--heat-stroke) !important; + border-color: var(--heat-stroke) !important; + box-shadow: 1px 1px var(--heat-stroke-darker), 2px 2px var(--heat-stroke-darker), 3px 3px var(--heat-stroke-darker), 4px 4px var(--heat-stroke-darker), + 5px 5px var(--heat-stroke-darker); + transition: none; +} + +.btn-primary:hover, +.btn-primary:active, +.btn-primary:focus { + background-color: var(--heat-stroke) !important; + border-color: var(--heat-stroke) !important; + /* box-shadow: none; */ +} + +.btn-secondary { + background-color: var(--group-hug) !important; + border-color: var(--group-hug) !important; + box-shadow: 1px 1px var(--group-hug-darker), 2px 2px var(--group-hug-darker), 3px 3px var(--group-hug-darker), 4px 4px var(--group-hug-darker), + 5px 5px var(--group-hug-darker); + transition: none; +} + +.btn-secondary:hover, +.btn-secondary:active, +.btn-secondary:focus { + background-color: var(--group-hug) !important; + border-color: var(--group-hug) !important; + /* box-shadow: none; */ +} + +/* + + Text Shadows + +*/ +.text-shadow-lakeside { + text-shadow: 1px 1px var(--lakeside), 2px 2px var(--lakeside), 3px 3px var(--lakeside), 4px 4px var(--lakeside), 5px 5px var(--lakeside), + 6px 6px var(--lakeside), 7px 7px var(--lakeside), 8px 8px var(--lakeside); +} + +.text-shadow-riggs-field { + text-shadow: 1px 1px var(--riggs-field), 2px 2px var(--riggs-field), 3px 3px var(--riggs-field), 4px 4px var(--riggs-field), 5px 5px var(--riggs-field), + 6px 6px var(--riggs-field), 7px 7px var(--riggs-field), 8px 8px var(--riggs-field); +} + +.text-shadow-prayers-up { + text-shadow: 1px 1px var(--prayers-up), 2px 2px var(--prayers-up), 3px 3px var(--prayers-up), 4px 4px var(--prayers-up), 5px 5px var(--prayers-up), + 6px 6px var(--prayers-up), 7px 7px var(--prayers-up), 8px 8px var(--prayers-up); +} + +.text-shadow-tiger-paw { + text-shadow: 1px 1px var(--tiger-paw), 2px 2px var(--tiger-paw), 3px 3px var(--tiger-paw), 4px 4px var(--tiger-paw), 5px 5px var(--tiger-paw), + 6px 6px var(--tiger-paw), 7px 7px var(--tiger-paw), 8px 8px var(--tiger-paw); +} + +.text-shadow-group-hug { + text-shadow: 1px 1px var(--group-hug), 2px 2px var(--group-hug), 3px 3px var(--group-hug), 4px 4px var(--group-hug), 5px 5px var(--group-hug), + 6px 6px var(--group-hug), 7px 7px var(--group-hug), 8px 8px var(--group-hug); +} + +.text-shadow-new-wave { + text-shadow: 1px 1px var(--new-wave), 2px 2px var(--new-wave), 3px 3px var(--new-wave), 4px 4px var(--new-wave), 5px 5px var(--new-wave), + 6px 6px var(--new-wave), 7px 7px var(--new-wave), 8px 8px var(--new-wave); +} + +.text-shadow-dandy-lion { + text-shadow: 1px 1px var(--dandy-lion), 2px 2px var(--dandy-lion), 3px 3px var(--dandy-lion), 4px 4px var(--dandy-lion), 5px 5px var(--dandy-lion), + 6px 6px var(--dandy-lion), 7px 7px var(--dandy-lion), 8px 8px var(--dandy-lion); +} + +.text-shadow-gatorade { + text-shadow: 1px 1px var(--gatorade), 2px 2px var(--gatorade), 3px 3px var(--gatorade), 4px 4px var(--gatorade), 5px 5px var(--gatorade), + 6px 6px var(--gatorade), 7px 7px var(--gatorade), 8px 8px var(--gatorade); +} + +.text-shadow-heat-stroke { + text-shadow: 1px 1px var(--heat-stroke), 2px 2px var(--heat-stroke), 3px 3px var(--heat-stroke), 4px 4px var(--heat-stroke), 5px 5px var(--heat-stroke), + 6px 6px var(--heat-stroke), 7px 7px var(--heat-stroke), 8px 8px var(--heat-stroke); +} + +.mark-pattern { + background-image: url("./mark-pattern.svg"); +} + +section, +#content { + max-width: 100%; + overflow: hidden; +} + +.col-md-12 { + width: 100%; +} + +/* + + Overrides for Workflow Entry Form + +*/ + +#bid_20689 .panel-block .panel-heading { + display: none; +} + +#bid_20689 div[id$="pnlPersonEntrySection"] > .row:first-child, +#bid_20689 div[id$="pnlPersonEntryRow2"], +#bid_20689 div[id$="pnlPersonEntryRow1Column2"], +#bid_20689 div[id$="pePerson1_pnlRow"] { + display: none; +} + +#bid_20689 div[id$="pnlPersonEntryRow1Column1"] { + width: 100%; +} + +#bid_20689 .panel-body { + padding: 0; +} + +#bid_20689 .panel { + background-color: transparent; +} + +#bid_20689 div[id$="pnlPersonEntrySection"] + .actions .btn { + background-color: var(--group-hug) !important; + border-color: var(--group-hug) !important; + box-shadow: 1px 1px var(--group-hug-darker), 2px 2px var(--group-hug-darker), 3px 3px var(--group-hug-darker), 4px 4px var(--group-hug-darker), + 5px 5px var(--group-hug-darker); + transition: none; +} + +#bid_20689 div[id$="pnlPersonEntrySection"] + .actions .btn:hover, +#bid_20689 div[id$="pnlPersonEntrySection"] + .actions .btn:active, +#bid_20689 div[id$="pnlPersonEntrySection"] + .actions .btn:focus { + background-color: var(--group-hug) !important; + border-color: var(--group-hug) !important; + /* box-shadow: none; */ +} + +#bid_20689 label.control-label { + color: #ede4df; +} + +#bid_20689 span[id$="pePerson1"] .form-group { + width: 100%; +} + +/* + + Larger Screens + +*/ +@media only screen and (min-width: 768px) { + .hidden-desktop { + display: none; + } + .block-desktop { + display: block !important; + } + + #bid_20689 span[id$="pePerson1"] .form-group { + width: 50%; + float: left; + } + + #bid_20689 span[id$="pePerson1"] .form-group:nth-child(2n + 1) { + padding-right: 15px; + } +} diff --git a/RockWeb/Themes/NewSpring/gauntlet/styles2.css b/RockWeb/Themes/NewSpring/gauntlet/styles2.css new file mode 100644 index 00000000000..bae7e7d8ebf --- /dev/null +++ b/RockWeb/Themes/NewSpring/gauntlet/styles2.css @@ -0,0 +1,571 @@ +/* + + Variables + +*/ + +:root { + --bible-page: #ede4df; + --lakeside: #3333cc; + --riggs-field: #5f8c46; + --prayers-up: #de6588; + --tiger-paw: #de7840; + --group-hug: #645ca0; + --new-wave: #63aece; + --dandy-lion: #daba4d; + --not-quite-black: #302e35; + --gatorade: #c0d164; + --heat-stroke: #da5e56; + --lakeside-darker: #262698; + --riggs-field-darker: #3c592c; + --prayers-up-darker: #612c3b; + --tiger-paw-darker: #ab5c31; + --group-hug-darker: #2d2852; + --new-wave-darker: #265467; + --dandy-lion-darker: #a58d3a; + --gatorade-darker: #5c642e; + --heat-stroke-darker: #622723; +} + +/* + + Page Overrides + +*/ + +#zone-main > .zone-content > .js-container { + padding: 0 !important; +} + +#zone-main > .zone-content > .js-container .js-row { + margin: 0 !important; +} + +#zone-main > .zone-content > .js-container .js-col { + padding: 0 !important; +} + +section { + padding: 90px 30px; +} + +.hero .bring-forward { + margin-top: -100px; +} + +.alert+.position-absolute { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Combined.png); + background-color: transparent !important; + background-repeat: repeat; + background-size: 65%; + opacity: .1; + background-attachment: fixed; +} + +.gauntlet:not(.btn) { + font-family: "colfax-web"; + letter-spacing: -0.5px; + color: var(--not-quite-black); +} + +.gauntlet h1, +.gauntlet h2, +.gauntlet h3, +.gauntlet h4, +.gauntlet h5, +.gauntlet h6 { + font-family: bd-geminis, sans-serif !important; + font-weight: 400; + font-style: normal; + letter-spacing: normal !important; +} + +.gauntlet h2, +.gauntlet .h2 { + font-size: 52px; +} + +.gauntlet h3, +.gauntlet .h3 { + font-size: 42px; +} + +.gauntlet h4, +.gauntlet .h4 { + font-size: 36px; +} + +.gauntlet .accordion > .panel { + margin-bottom: 10px; +} + +/* + + Utility Classes + +*/ + +.text-geminis { + font-family: bd-geminis, sans-serif !important; + font-weight: 400; + font-style: normal; + letter-spacing: normal !important; +} + +.lead { + font-weight: 500; + font-style: italic; +} + +.h-full { + height: 100%; +} + +.w-full { + width: 100%; +} + +.h-screen { + height: 100vh; +} + +.w-screen { + width: 100vw; +} + +.max-w-full { + max-width: 100%; +} + +.max-h-full { + max-height: 100%; +} + +.min-w-full { + min-width: 100%; +} + +.min-h-full { + min-height: 100%; +} + +.negative-top-100 { + top: -100%; +} + +.negative-bottom-100 { + bottom: -100%; +} + +.flex { + display: flex; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.opacity-20 { + opacity: 0.2; +} + +.opacity-10 { + opacity: 0.1; +} + +.opacity-5 { + opacity: 0.05; +} + +.object-cover { + object-fit: cover; +} + +.page-constrained { + max-width: 1200px; +} + +.section-divider { + position: relative; + top: 3px; +} +.section-divider.flip { + position: relative; + top: -3px; + transform: rotate(180deg); +} + +/* + + COLORS + +*/ + +.text-bible-page { + color: var(--bible-page); +} +a.text-bible-page:hover { + color: var(--bible-page-darker); +} +.bg-bible-page { + background-color: var(--bible-page); +} +.fill-bible-page { + fill: var(--bible-page); +} + +.text-lakeside { + color: var(--lakeside); +} +a.text-lakeside:hover { + color: var(--lakeside-darker); +} +.bg-lakeside { + background-color: var(--lakeside); +} +.bg-lakeside-darker { + background-color: var(--lakeside-darker); +} +.fill-lakeside { + fill: var(--lakeside); +} + +.text-riggs-field { + color: var(--riggs-field); +} +a.text-riggs-field:hover { + color: var(--riggs-field-darker); +} +.bg-riggs-field { + background-color: var(--riggs-field); +} +.bg-riggs-field-darker { + background-color: var(--riggs-field-darker); +} +.fill-riggs-field { + fill: var(--riggs-field); +} + +.text-prayers-up { + color: var(--prayers-up); +} +a.text-prayers-up:hover { + color: var(--prayers-up-darker); +} +.bg-prayers-up { + background-color: var(--prayers-up); +} +.fill-prayers-up { + fill: var(--prayers-up); +} + +.text-tiger-paw { + color: var(--tiger-paw); +} +a.text-tiger-paw:hover { + color: var(--tiger-paw-darker); +} +.bg-tiger-paw { + background-color: var(--tiger-paw); +} +.bg-tiger-paw-darker { + background-color: var(--tiger-paw-darker); +} +.fill-tiger-paw { + fill: var(--tiger-paw); +} + +.text-group-hug { + color: var(--group-hug); +} +a.text-group-hug:hover { + color: var(--group-hug-darker); +} + +.text-group-hug-darker { + color: var(--group-hug-darker); +} +a.text-group-hug-darker:hover { + color: var(--group-hug-darker-darker); +} + +.bg-group-hug { + background-color: var(--group-hug); +} +.bg-group-hug-darker { + background-color: var(--group-hug-darker); +} +.fill-group-hug { + fill: var(--group-hug); +} + +.text-new-wave { + color: var(--new-wave); +} +a.text-new-wave:hover { + color: var(--new-wave-darker); +} +.bg-new-wave { + background-color: var(--new-wave); +} +.bg-new-wave-darker { + background-color: var(--new-wave-darker); +} +.fill-new-wave { + fill: var(--new-wave); +} + +.text-dandy-lion { + color: var(--dandy-lion); +} +a.text-dandy-lion:hover { + color: var(--dandy-lion-darker); +} +.bg-dandy-lion { + background-color: var(--dandy-lion); +} +.bg-dandy-lion-darker { + background-color: var(--dandy-lion-darker); +} +.fill-dandy-lion { + fill: var(--dandy-lion); +} + +.text-black { + color: var(--not-quite-black); +} +.bg-black { + background-color: var(--not-quite-black); +} +.fill-black { + fill: var(--not-quite-black); +} + +.text-gatorade { + color: var(--gatorade); +} +a.text-gatorade:hover { + color: var(--gatorade-darker); +} +.bg-gatorade { + background-color: var(--gatorade); +} +.bg-gatorade-darker { + background-color: var(--gatorade-darker); +} +.fill-gatorade { + fill: var(--gatorade); +} + +.text-heat-stroke { + color: var(--heat-stroke); +} +a.text-heat-stroke:hover { + color: var(--heat-stroke-darker); +} +.bg-heat-stroke { + background-color: var(--heat-stroke); +} +.bg-heat-stroke-darker { + background-color: var(--heat-stroke-darker); +} +.fill-heat-stroke { + fill: var(--heat-stroke); +} + +/* + + Buttons + +*/ + +.btn-heat-stroke, +.btn-heat-stroke:hover, +.btn-heat-stroke:focus { + background-color: var(--heat-stroke); + color: #fff; + box-shadow: 1px 1px 0 var(--heat-stroke-darker), 2px 2px 0 var(--heat-stroke-darker), 3px 3px 0 var(--heat-stroke-darker), 4px 4px 0 var(--heat-stroke-darker), + 5px 5px 0 var(--heat-stroke-darker); +} + +.btn-group-hug, +.btn-group-hug:hover, +.btn-group-hug:focus { + background-color: var(--group-hug); + color: #fff; + box-shadow: 1px 1px 0 var(--group-hug-darker), 2px 2px 0 var(--group-hug-darker), 3px 3px 0 var(--group-hug-darker), 4px 4px 0 var(--group-hug-darker), + 5px 5px 0 var(--group-hug-darker); +} + +.btn-prayers-up, +.btn-prayers-up:hover, +.btn-prayers-up:focus { + background-color: var(--prayers-up); + color: #fff; + box-shadow: 1px 1px 0 var(--prayers-up-darker), 2px 2px 0 var(--prayers-up-darker), 3px 3px 0 var(--prayers-up-darker), 4px 4px 0 var(--prayers-up-darker), + 5px 5px 0 var(--prayers-up-darker); +} + +.btn-new-wave, +.btn-new-wave:hover, +.btn-new-wave:focus { + background-color: var(--new-wave); + color: #fff; + box-shadow: 1px 1px 0 var(--new-wave-darker), 2px 2px 0 var(--new-wave-darker), 3px 3px 0 var(--new-wave-darker), 4px 4px 0 var(--new-wave-darker), + 5px 5px 0 var(--new-wave-darker); +} + +.btn-gatorade, +.btn-gatorade:hover, +.btn-gatorade:focus { + background-color: var(--gatorade); + color: #fff; + box-shadow: 1px 1px 0 var(--gatorade-darker), 2px 2px 0 var(--gatorade-darker), 3px 3px 0 var(--gatorade-darker), 4px 4px 0 var(--gatorade-darker), + 5px 5px 0 var(--gatorade-darker); +} + +/* + + Backgrounds + +*/ + +.bg-pattern { + background-color: transparent !important; + background-repeat: repeat; + background-size: 45%; + background-attachment: fixed; +} + +.bg-pattern-combined { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Combined.png); +} + +.bg-pattern-bolts { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Bolts2.png); +} + +.bg-pattern-exclamation { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Exclamation2.png); +} + +.bg-pattern-flowers { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Flowers2.png); +} + +.bg-pattern-stars { + background-image: url(https://dg0ddngxdz549.cloudfront.net/newspring/Gauntlet/2023/patterns/Stars2.png); +} + +@media only screen and (min-width: 500px) { + .alert+.position-absolute { + background-size: 50%; + } + .bg-pattern { + background-size: 35%; + } +} + +@media only screen and (min-width: 768px) { + .alert+.position-absolute { + background-size: 25%; + } + .bg-pattern { + background-size: 25%; + } +} + +@media only screen and (min-width: 1200px) { + .alert+.position-absolute { + background-size: 20%; + } + .bg-pattern { + background-size: 15%; + } +} + +/* + + + + + + + MEDIA QUERIES + + + + + + +*/ + +@media only screen and (min-width: 768px) { + section { + padding: 90px 30px; + } + + .hero .bring-forward { + margin-top: 0px; + } + + .md-btn-inline { + display: inline-block; + width: auto; + } + + .md-push-half-right { + margin-right: 15px; + } + + .md-text-center { + text-align: center; + } + + .btn-shadowed { + transition-duration: 60ms; + } + + .gauntlet .btn:hover, + .gauntlet .btn-shadowed:hover { + box-shadow: none !important; + transform: translate(5px, 5px); + transition-duration: 60ms; + transition-timing-function: ease-in-out; + } + + .gauntlet:not(.btn) { + font-size: 20px; + } + + .gauntlet h2, + .gauntlet .h2 { + font-size: 62px; + } + + .gauntlet h3, + .gauntlet .h3 { + font-size: 52px; + } + + .gauntlet h4, + .gauntlet .h4 { + font-size: 42px; + } + + .btn-lg { + font-size: 20px; + padding: 12px 18px 11px; + } +} + +@media only screen and (min-width: 1024px) { + section { + padding: 150px 30px; + } +} + diff --git a/RockWeb/Themes/NewSpring/overflow/anime-min.js b/RockWeb/Themes/NewSpring/overflow/anime-min.js new file mode 100644 index 00000000000..a138b5c8521 --- /dev/null +++ b/RockWeb/Themes/NewSpring/overflow/anime-min.js @@ -0,0 +1 @@ +!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):n.anime=e()}(this,(function(){"use strict";var n={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},e={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},t=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],r={CSS:{},springs:{}};function a(n,e,t){return Math.min(Math.max(n,e),t)}function o(n,e){return n.indexOf(e)>-1}function u(n,e){return n.apply(null,e)}var i={arr:function(n){return Array.isArray(n)},obj:function(n){return o(Object.prototype.toString.call(n),"Object")},pth:function(n){return i.obj(n)&&n.hasOwnProperty("totalLength")},svg:function(n){return n instanceof SVGElement},inp:function(n){return n instanceof HTMLInputElement},dom:function(n){return n.nodeType||i.svg(n)},str:function(n){return"string"==typeof n},fnc:function(n){return"function"==typeof n},und:function(n){return void 0===n},nil:function(n){return i.und(n)||null===n},hex:function(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)},rgb:function(n){return/^rgb/.test(n)},hsl:function(n){return/^hsl/.test(n)},col:function(n){return i.hex(n)||i.rgb(n)||i.hsl(n)},key:function(t){return!n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&"targets"!==t&&"keyframes"!==t}};function c(n){var e=/\(([^)]+)\)/.exec(n);return e?e[1].split(",").map((function(n){return parseFloat(n)})):[]}function s(n,e){var t=c(n),o=a(i.und(t[0])?1:t[0],.1,100),u=a(i.und(t[1])?100:t[1],.1,100),s=a(i.und(t[2])?10:t[2],.1,100),f=a(i.und(t[3])?0:t[3],.1,100),l=Math.sqrt(u/o),d=s/(2*Math.sqrt(u*o)),p=d<1?l*Math.sqrt(1-d*d):0,h=d<1?(d*l-f)/p:-f+l;function v(n){var t=e?e*n/1e3:n;return t=d<1?Math.exp(-t*d*l)*(1*Math.cos(p*t)+h*Math.sin(p*t)):(1+h*t)*Math.exp(-t*l),0===n||1===n?n:1-t}return e?v:function(){var e=r.springs[n];if(e)return e;for(var t=0,a=0;;)if(1===v(t+=1/6)){if(++a>=16)break}else a=0;var o=t*(1/6)*1e3;return r.springs[n]=o,o}}function f(n){return void 0===n&&(n=10),function(e){return Math.ceil(a(e,1e-6,1)*n)*(1/n)}}var l,d,p=function(){var n=.1;function e(n,e){return 1-3*e+3*n}function t(n,e){return 3*e-6*n}function r(n){return 3*n}function a(n,a,o){return((e(a,o)*n+t(a,o))*n+r(a))*n}function o(n,a,o){return 3*e(a,o)*n*n+2*t(a,o)*n+r(a)}return function(e,t,r,u){if(0<=e&&e<=1&&0<=r&&r<=1){var i=new Float32Array(11);if(e!==t||r!==u)for(var c=0;c<11;++c)i[c]=a(c*n,e,r);return function(n){return e===t&&r===u||0===n||1===n?n:a(s(n),t,u)}}function s(t){for(var u=0,c=1;10!==c&&i[c]<=t;++c)u+=n;var s=u+(t-i[--c])/(i[c+1]-i[c])*n,f=o(s,e,r);return f>=.001?function(n,e,t,r){for(var u=0;u<4;++u){var i=o(e,t,r);if(0===i)return e;e-=(a(e,t,r)-n)/i}return e}(t,s,e,r):0===f?s:function(n,e,t,r,o){for(var u,i,c=0;(u=a(i=e+(t-e)/2,r,o)-n)>0?t=i:e=i,Math.abs(u)>1e-7&&++c<10;);return i}(t,u,u+n,e,r)}}}(),h=(l={linear:function(){return function(n){return n}}},d={Sine:function(){return function(n){return 1-Math.cos(n*Math.PI/2)}},Circ:function(){return function(n){return 1-Math.sqrt(1-n*n)}},Back:function(){return function(n){return n*n*(3*n-2)}},Bounce:function(){return function(n){for(var e,t=4;n<((e=Math.pow(2,--t))-1)/11;);return 1/Math.pow(4,3-t)-7.5625*Math.pow((3*e-2)/22-n,2)}},Elastic:function(n,e){void 0===n&&(n=1),void 0===e&&(e=.5);var t=a(n,1,10),r=a(e,.1,2);return function(n){return 0===n||1===n?n:-t*Math.pow(2,10*(n-1))*Math.sin((n-1-r/(2*Math.PI)*Math.asin(1/t))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach((function(n,e){d[n]=function(){return function(n){return Math.pow(n,e+2)}}})),Object.keys(d).forEach((function(n){var e=d[n];l["easeIn"+n]=e,l["easeOut"+n]=function(n,t){return function(r){return 1-e(n,t)(1-r)}},l["easeInOut"+n]=function(n,t){return function(r){return r<.5?e(n,t)(2*r)/2:1-e(n,t)(-2*r+2)/2}},l["easeOutIn"+n]=function(n,t){return function(r){return r<.5?(1-e(n,t)(1-2*r))/2:(e(n,t)(2*r-1)+1)/2}}})),l);function v(n,e){if(i.fnc(n))return n;var t=n.split("(")[0],r=h[t],a=c(n);switch(t){case"spring":return s(n,e);case"cubicBezier":return u(p,a);case"steps":return u(f,a);default:return u(r,a)}}function g(n){try{return document.querySelectorAll(n)}catch(n){return}}function m(n,e){for(var t=n.length,r=arguments.length>=2?e:void 0,a=[],o=0;o1&&(t-=1),t<1/6?n+6*(e-n)*t:t<.5?e:t<2/3?n+(e-n)*(2/3-t)*6:n}if(0==u)e=t=r=i;else{var f=i<.5?i*(1+u):i+u-i*u,l=2*i-f;e=s(l,f,o+1/3),t=s(l,f,o),r=s(l,f,o-1/3)}return"rgba("+255*e+","+255*t+","+255*r+","+c+")"}(n):void 0;var e,t,r,a}(n);if(/\s/g.test(n))return n;var t=O(n),r=t?n.substr(0,n.length-t.length):n;return e?r+e:r}function N(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function S(n){for(var e,t=n.points,r=0,a=0;a0&&(r+=N(e,o)),e=o}return r}function L(n){if(n.getTotalLength)return n.getTotalLength();switch(n.tagName.toLowerCase()){case"circle":return o=n,2*Math.PI*P(o,"r");case"rect":return 2*P(a=n,"width")+2*P(a,"height");case"line":return N({x:P(r=n,"x1"),y:P(r,"y1")},{x:P(r,"x2"),y:P(r,"y2")});case"polyline":return S(n);case"polygon":return t=(e=n).points,S(e)+N(t.getItem(t.numberOfItems-1),t.getItem(0))}var e,t,r,a,o}function j(n,e){var t=e||{},r=t.el||function(n){for(var e=n.parentNode;i.svg(e)&&i.svg(e.parentNode);)e=e.parentNode;return e}(n),a=r.getBoundingClientRect(),o=P(r,"viewBox"),u=a.width,c=a.height,s=t.viewBox||(o?o.split(" "):[0,0,u,c]);return{el:r,viewBox:s,x:s[0]/1,y:s[1]/1,w:u,h:c,vW:s[2],vH:s[3]}}function q(n,e,t){function r(t){void 0===t&&(t=0);var r=e+t>=1?e+t:0;return n.el.getPointAtLength(r)}var a=j(n.el,n.svg),o=r(),u=r(-1),i=r(1),c=t?1:a.w/a.vW,s=t?1:a.h/a.vH;switch(n.property){case"x":return(o.x-a.x)*c;case"y":return(o.y-a.y)*s;case"angle":return 180*Math.atan2(i.y-u.y,i.x-u.x)/Math.PI}}function $(n,e){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=A(i.pth(n)?n.totalLength:n,e)+"";return{original:r,numbers:r.match(t)?r.match(t).map(Number):[0],strings:i.str(n)||e?r.split(t):[]}}function H(n){return m(n?y(i.arr(n)?n.map(b):b(n)):[],(function(n,e,t){return t.indexOf(n)===e}))}function V(n){var e=H(n);return e.map((function(n,t){return{target:n,id:t,total:e.length,transforms:{list:T(n)}}}))}function W(n,e){var t=x(e);if(/^spring/.test(t.easing)&&(t.duration=s(t.easing)),i.arr(n)){var r=n.length;2!==r||i.obj(n[0])?i.fnc(e.duration)||(t.duration=e.duration/r):n={value:n}}var a=i.arr(n)?n:[n];return a.map((function(n,t){var r=i.obj(n)&&!i.pth(n)?n:{value:n};return i.und(r.delay)&&(r.delay=t?0:e.delay),i.und(r.endDelay)&&(r.endDelay=t===a.length-1?e.endDelay:0),r})).map((function(n){return k(n,t)}))}function X(n,e){var t=[],r=e.keyframes;for(var a in r&&(e=k(function(n){for(var e=m(y(n.map((function(n){return Object.keys(n)}))),(function(n){return i.key(n)})).reduce((function(n,e){return n.indexOf(e)<0&&n.push(e),n}),[]),t={},r=function(r){var a=e[r];t[a]=n.map((function(n){var e={};for(var t in n)i.key(t)?t==a&&(e.value=n[t]):e[t]=n[t];return e}))},a=0;a0?requestAnimationFrame(e):void 0}return"undefined"!=typeof document&&document.addEventListener("visibilitychange",(function(){K.suspendWhenDocumentHidden&&(J()?n=cancelAnimationFrame(n):(_.forEach((function(n){return n._onDocumentVisibility()})),R()))})),function(){n||J()&&K.suspendWhenDocumentHidden||!(_.length>0)||(n=requestAnimationFrame(e))}}();function J(){return!!document&&document.hidden}function K(t){void 0===t&&(t={});var r,o=0,u=0,i=0,c=0,s=null;function f(n){var e=window.Promise&&new Promise((function(n){return s=n}));return n.finished=e,e}var l,d,p,h,v,g,y,b,M=(d=w(n,l=t),h=X(p=w(e,l),l),y=Q(g=G(v=V(l.targets),h),p),b=z,z++,k(d,{id:b,children:[],animatables:v,animations:g,duration:y.duration,delay:y.delay,endDelay:y.endDelay}));function x(){var n=M.direction;"alternate"!==n&&(M.direction="normal"!==n?"normal":"reverse"),M.reversed=!M.reversed,r.forEach((function(n){return n.reversed=M.reversed}))}function O(n){return M.reversed?M.duration-n:n}function C(){o=0,u=O(M.currentTime)*(1/K.speed)}function P(n,e){e&&e.seek(n-e.timelineOffset)}function I(n){for(var e=0,t=M.animations,r=t.length;e2||(b=Math.round(b*p)/p)),h.push(b)}var k=d.length;if(k){g=d[0];for(var O=0;O0&&(M.began=!0,D("begin")),!M.loopBegan&&M.currentTime>0&&(M.loopBegan=!0,D("loopBegin")),d<=t&&0!==M.currentTime&&I(0),(d>=l&&M.currentTime!==e||!e)&&I(e),d>t&&d=e&&(u=0,M.remaining&&!0!==M.remaining&&M.remaining--,M.remaining?(o=i,D("loopComplete"),M.loopBegan=!1,"alternate"===M.direction&&x()):(M.paused=!0,M.completed||(M.completed=!0,D("loopComplete"),D("complete"),!M.passThrough&&"Promise"in window&&(s(),f(M)))))}return f(M),M.reset=function(){var n=M.direction;M.passThrough=!1,M.currentTime=0,M.progress=0,M.paused=!0,M.began=!1,M.loopBegan=!1,M.changeBegan=!1,M.completed=!1,M.changeCompleted=!1,M.reversePlayback=!1,M.reversed="reverse"===n,M.remaining=M.loop,r=M.children;for(var e=c=r.length;e--;)M.children[e].reset();(M.reversed&&!0!==M.loop||"alternate"===n&&1===M.loop)&&M.remaining++,I(M.reversed?M.duration:0)},M._onDocumentVisibility=C,M.set=function(n,e){return Z(n,e),M},M.tick=function(n){i=n,o||(o=i),B((i+(u-o))*K.speed)},M.seek=function(n){B(O(n))},M.pause=function(){M.paused=!0,C()},M.play=function(){M.paused&&(M.completed&&M.reset(),M.paused=!1,_.push(M),C(),R())},M.reverse=function(){x(),M.completed=!M.reversed,C()},M.restart=function(){M.reset(),M.play()},M.remove=function(n){nn(H(n),M)},M.reset(),M.autoplay&&M.play(),M}function U(n,e){for(var t=e.length;t--;)M(n,e[t].animatable.target)&&e.splice(t,1)}function nn(n,e){var t=e.animations,r=e.children;U(n,t);for(var a=r.length;a--;){var o=r[a],u=o.animations;U(n,u),u.length||o.children.length||r.splice(a,1)}t.length||r.length||e.pause()}return K.version="3.2.1",K.speed=1,K.suspendWhenDocumentHidden=!0,K.running=_,K.remove=function(n){for(var e=H(n),t=_.length;t--;)nn(e,_[t])},K.get=E,K.set=Z,K.convertPx=I,K.path=function(n,e){var t=i.str(n)?g(n)[0]:n,r=e||100;return function(n){return{property:n,el:t,svg:j(t),totalLength:L(t)*(r/100)}}},K.setDashoffset=function(n){var e=L(n);return n.setAttribute("stroke-dasharray",e),e},K.stagger=function(n,e){void 0===e&&(e={});var t=e.direction||"normal",r=e.easing?v(e.easing):null,a=e.grid,o=e.axis,u=e.from||0,c="first"===u,s="center"===u,f="last"===u,l=i.arr(n),d=l?parseFloat(n[0]):parseFloat(n),p=l?parseFloat(n[1]):0,h=O(l?n[1]:n)||0,g=e.start||0+(l?d:0),m=[],y=0;return function(n,e,i){if(c&&(u=0),s&&(u=(i-1)/2),f&&(u=i-1),!m.length){for(var v=0;v-1&&_.splice(o,1);for(var s=0;se.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r={};for(var n in e)if(t=={}||t.hasOwnProperty(n)){var o=c(e[n]);r[n]=o,n.match(/duration|pulse/)&&(r[n]="boolean"!=typeof o?1e3*o:o)}return Object.assign({},t,r)}function i(e,t){var r=(t.end-t.start)/(t.duration/t.delay),n="inc";t.start>t.end&&(n="dec",r*=-1);var o=c(t.start);e.innerHTML=u(o,t),!0===t.once&&e.setAttribute("data-purecounter-duration",0);var i=setInterval((function(){var a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"inc";return e=c(e),t=c(t),parseFloat("inc"===r?e+t:e-t)}(o,r,n);e.innerHTML=u(a,t),((o=a)>=t.end&&"inc"==n||o<=t.end&&"dec"==n)&&(e.innerHTML=u(t.end,t),t.pulse&&(e.setAttribute("data-purecounter-duration",0),setTimeout((function(){e.setAttribute("data-purecounter-duration",t.duration/1e3)}),t.pulse)),clearInterval(i))}),t.delay)}function a(e,t){return Math.pow(e,t)}function u(e,t){var r={minimumFractionDigits:t.decimals,maximumFractionDigits:t.decimals},n="string"==typeof t.formater?t.formater:void 0;return e=function(e,t){if(t.filesizing||t.currency){e=Math.abs(Number(e));var r=1e3,n=t.currency&&"string"==typeof t.currency?t.currency:"",o=t.decimals||1,i=["","K","M","B","T"],u="";t.filesizing&&(r=1024,i=["bytes","KB","MB","GB","TB"]);for(var c=4;c>=0;c--)if(0===c&&(u="".concat(e.toFixed(o)," ").concat(i[c])),e>=a(r,c)){u="".concat((e/a(r,c)).toFixed(o)," ").concat(i[c]);break}return n+u}return parseFloat(e)}(e,t),function(e,t){if(t.formater){var r=t.separator?"string"==typeof t.separator?t.separator:",":"";return"en-US"!==t.formater&&!0===t.separator?e:(n=r,e.replace(/^(?:(\d{1,3},(?:\d{1,3},?)*)|(\d{1,3}\.(?:\d{1,3}\.?)*)|(\d{1,3}(?:\s\d{1,3})*))([\.,]?\d{0,2}?)$/gi,(function(e,t,r,o,i){var a="",u="";if(void 0!==t?(a=t.replace(new RegExp(/,/gi,"gi"),n),u=","):void 0!==r?a=r.replace(new RegExp(/\./gi,"gi"),n):void 0!==o&&(a=o.replace(new RegExp(/ /gi,"gi"),n)),void 0!==i){var c=","!==u&&","!==n?",":".";a+=void 0!==i?i.replace(new RegExp(/\.|,/gi,"gi"),c):""}return a})))}var n;return e}(e=t.formater?e.toLocaleString(n,r):parseInt(e).toString(),t)}function c(e){return/^[0-9]+\.[0-9]+$/.test(e)?parseFloat(e):/^[0-9]+$/.test(e)?parseInt(e):/^true|false/i.test(e)?/^true/i.test(e):e}function f(e){for(var t=e.offsetTop,r=e.offsetLeft,n=e.offsetWidth,o=e.offsetHeight;e.offsetParent;)t+=(e=e.offsetParent).offsetTop,r+=e.offsetLeft;return t>=window.pageYOffset&&r>=window.pageXOffset&&t+o<=window.pageYOffset+window.innerHeight&&r+n<=window.pageXOffset+window.innerWidth}function s(){return"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype}e.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n={start:0,end:100,duration:2e3,delay:10,once:!0,pulse:!1,decimals:0,legacy:!0,filesizing:!1,currency:!1,separator:!1,formater:"us-US",selector:".purecounter"},a=o(e,n);function d(){var e=document.querySelectorAll(a.selector);if(0!==e.length)if(s()){var t=new IntersectionObserver(p.bind(this),{root:null,rootMargin:"20px",threshold:.5});e.forEach((function(e){t.observe(e)}))}else window.addEventListener&&(l(e),window.addEventListener("scroll",(function(t){l(e)}),{passive:!0}))}function l(e){e.forEach((function(e){!0===v(e).legacy&&f(e)&&p([e])}))}function p(e,t){e.forEach((function(e){var r=e.target||e,n=v(r);if(n.duration<=0)return r.innerHTML=u(n.end,n);if(!t&&!f(e)||t&&e.intersectionRatio<.5){var o=n.start>n.end?n.end:n.start;return r.innerHTML=u(o,n)}setTimeout((function(){return i(r,n)}),n.delay)}))}function v(e){var n=a,i=[].filter.call(e.attributes,(function(e){return/^data-purecounter-/.test(e.name)}));return o(0!=i.length?Object.assign.apply(Object,[{}].concat(r(i.map((function(e){var r=e.name,n=e.value;return t({},r.replace("data-purecounter-","").toLowerCase(),c(n))}))))):{},n)}d()}}},t={},r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(638),r;var e,t,r})); +//# sourceMappingURL=purecounter_vanilla.js.map \ No newline at end of file diff --git a/RockWeb/Themes/NewSpring/overflow/overflow.js b/RockWeb/Themes/NewSpring/overflow/overflow.js new file mode 100644 index 00000000000..c840a824bd4 --- /dev/null +++ b/RockWeb/Themes/NewSpring/overflow/overflow.js @@ -0,0 +1,127 @@ +document.addEventListener("DOMContentLoaded", function () { + // Counters + new PureCounter({ + selector: ".purecounter", + duration: 2, + delay: 10, + once: true, + repeat: false, + legacy: true, + currency: false, + separator: true, + }); + + // Give Controls + const giveInput = $(".js-give-input"), + giveLinks = $(".js-give-link"), + giveButton = $(".js-give-btn"), + totalGiven = $(".js-total-given"), + totalGivenAmount = parseInt(totalGiven.data("purecounter-end")), + debtRemaining = $(".js-debt-remaining"), + debtRemainingAmount = parseInt(debtRemaining.data("purecounter-end")), + progressBar = $(".js-progress-bar"), + percentGiven = progressBar[0].getAttribute("aria-valuenow"), + progressBarLabel = $(".js-progress-bar-label"); + + $(giveInput).keyup(function (e) { + let giveAmount = giveInput.val(), + updatedTotalGivenAmount = totalGivenAmount + parseInt(giveAmount), + updatedDebtRemainingAmount = debtRemainingAmount - parseInt(giveAmount), + updatedPercentGiven = Math.floor( + (updatedTotalGivenAmount / debtRemainingAmount) * 100 + ); + + // don't let the debt remaining go negative + if (updatedDebtRemainingAmount < 0) { + updatedDebtRemainingAmount = 0; + } + + // don't let the updatedPercentGiven go over 100 + if (updatedPercentGiven > 100) { + updatedPercentGiven = 100; + } + + if (giveAmount >= 1) { + // If there's an amount, update the values to count to for purecounter + $(totalGiven).attr("data-purecounter-end", updatedTotalGivenAmount); + $(debtRemaining).attr("data-purecounter-end", updatedDebtRemainingAmount); + $(giveButton).removeAttr("disabled"); + + // Update progress bar width + progressBar.css("width", updatedPercentGiven + "%"); + progressBarLabel.text(updatedPercentGiven + "%"); + } else { + // If there isn't an amount, update the values to count back to their original state + $(totalGiven).attr("data-purecounter-end", totalGivenAmount); + $(debtRemaining).attr("data-purecounter-end", debtRemainingAmount); + $(giveButton).attr("disabled", "true"); + + // Update progress bar width + progressBar.css("width", percentGiven + "%"); + progressBarLabel.text(percentGiven + "%"); + } + + // make 'em count + new PureCounter({ + selector: ".purecounter", + duration: 20, + delay: 10, + once: true, + repeat: false, + legacy: true, + // filesizing: false, + currency: false, + separator: true, + }); + }); + + // When give links are clicked, focus on input (this only works on desktop) + giveLinks.on("click", function (e) { + e.preventDefault(); + + setTimeout(function () { + $(giveInput).focus(); + }, 500); + }); + + // give button click handler + $(giveButton).on("click", function (e) { + e.preventDefault(); + let giveAmount = giveInput.val(); + let newLocation = + "https://newspring.cc/give/now?AccountIds=307^" + + giveAmount + + "&utm_source=Overflow%202022%20Page&utm_medium=Hero%20CTA%20-%20Give%20Now&utm_campaign=Overflow%202022"; + + // send browser to give page with amount populated + window.location = newLocation; + }); + + // Watch bar graph and animate when in view + var observer = new IntersectionObserver( + function (entries) { + if (entries[0].isIntersecting === true) { + anime({ + targets: ".bar", + duration: 800, + height: function (el, i, l) { + return el.dataset.amount + "%"; + }, + delay: anime.stagger(100), // increase delay by 100ms for each elements. + }); + } + }, + { threshold: [1] } + ); + + observer.observe(document.querySelector("#chart")); + + // AOS + AOS.init({ + once: false, + duration: 500, + easing: "ease-in-out-cubic", + // This disables AOS on mobile chrome because it's dumb + disable: navigator.userAgent.includes("CriOS"), + }); +}); diff --git a/RockWeb/Themes/NewSpring/overflow/spacing.css b/RockWeb/Themes/NewSpring/overflow/spacing.css new file mode 100644 index 00000000000..223eec49222 --- /dev/null +++ b/RockWeb/Themes/NewSpring/overflow/spacing.css @@ -0,0 +1,3046 @@ +.m-0 { + margin: 0 !important; +} +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mr-0 { + margin-right: 0 !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.ml-0 { + margin-left: 0 !important; +} +.m-1 { + margin: 0.5rem !important; +} +.mx-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} +.my-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.mt-1 { + margin-top: 0.5rem !important; +} +.mr-1 { + margin-right: 0.5rem !important; +} +.mb-1 { + margin-bottom: 0.5rem !important; +} +.ml-1 { + margin-left: 0.5rem !important; +} +.m-2 { + margin: 1rem !important; +} +.mx-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} +.my-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.mt-2 { + margin-top: 1rem !important; +} +.mr-2 { + margin-right: 1rem !important; +} +.mb-2 { + margin-bottom: 1rem !important; +} +.ml-2 { + margin-left: 1rem !important; +} +.m-3 { + margin: 2rem !important; +} +.mx-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} +.my-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} +.mt-3 { + margin-top: 2rem !important; +} +.mr-3 { + margin-right: 2rem !important; +} +.mb-3 { + margin-bottom: 2rem !important; +} +.ml-3 { + margin-left: 2rem !important; +} +.m-4 { + margin: 4rem !important; +} +.mx-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; +} +.my-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} +.mt-4 { + margin-top: 4rem !important; +} +.mr-4 { + margin-right: 4rem !important; +} +.mb-4 { + margin-bottom: 4rem !important; +} +.ml-4 { + margin-left: 4rem !important; +} +.m-5 { + margin: 6rem !important; +} +.mx-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; +} +.my-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; +} +.mt-5 { + margin-top: 6rem !important; +} +.mr-5 { + margin-right: 6rem !important; +} +.mb-5 { + margin-bottom: 6rem !important; +} +.ml-5 { + margin-left: 6rem !important; +} +.m-6 { + margin: 7rem !important; +} +.mx-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; +} +.my-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; +} +.mt-6 { + margin-top: 7rem !important; +} +.mr-6 { + margin-right: 7rem !important; +} +.mb-6 { + margin-bottom: 7rem !important; +} +.ml-6 { + margin-left: 7rem !important; +} +.m-7 { + margin: 8rem !important; +} +.mx-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; +} +.my-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; +} +.mt-7 { + margin-top: 8rem !important; +} +.mr-7 { + margin-right: 8rem !important; +} +.mb-7 { + margin-bottom: 8rem !important; +} +.ml-7 { + margin-left: 8rem !important; +} +.m-8 { + margin: 12rem !important; +} +.mx-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; +} +.my-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; +} +.mt-8 { + margin-top: 12rem !important; +} +.mr-8 { + margin-right: 12rem !important; +} +.mb-8 { + margin-bottom: 12rem !important; +} +.ml-8 { + margin-left: 12rem !important; +} +.m-9 { + margin: 16rem !important; +} +.mx-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; +} +.my-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; +} +.mt-9 { + margin-top: 16rem !important; +} +.mr-9 { + margin-right: 16rem !important; +} +.mb-9 { + margin-bottom: 16rem !important; +} +.ml-9 { + margin-left: 16rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mt-auto { + margin-top: auto !important; +} +.mr-auto { + margin-right: auto !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ml-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pr-0 { + padding-right: 0 !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pl-0 { + padding-left: 0 !important; +} +.p-1 { + padding: 0.5rem !important; +} +.px-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} +.py-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.pt-1 { + padding-top: 0.5rem !important; +} +.pr-1 { + padding-right: 0.5rem !important; +} +.pb-1 { + padding-bottom: 0.5rem !important; +} +.pl-1 { + padding-left: 0.5rem !important; +} +.p-2 { + padding: 1rem !important; +} +.px-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} +.py-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.pt-2 { + padding-top: 1rem !important; +} +.pr-2 { + padding-right: 1rem !important; +} +.pb-2 { + padding-bottom: 1rem !important; +} +.pl-2 { + padding-left: 1rem !important; +} +.p-3 { + padding: 2rem !important; +} +.px-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} +.py-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} +.pt-3 { + padding-top: 2rem !important; +} +.pr-3 { + padding-right: 2rem !important; +} +.pb-3 { + padding-bottom: 2rem !important; +} +.pl-3 { + padding-left: 2rem !important; +} +.p-4 { + padding: 4rem !important; +} +.px-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; +} +.py-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} +.pt-4 { + padding-top: 4rem !important; +} +.pr-4 { + padding-right: 4rem !important; +} +.pb-4 { + padding-bottom: 4rem !important; +} +.pl-4 { + padding-left: 4rem !important; +} +.p-5 { + padding: 6rem !important; +} +.px-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; +} +.py-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; +} +.pt-5 { + padding-top: 6rem !important; +} +.pr-5 { + padding-right: 6rem !important; +} +.pb-5 { + padding-bottom: 6rem !important; +} +.pl-5 { + padding-left: 6rem !important; +} +.p-6 { + padding: 7rem !important; +} +.px-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; +} +.py-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; +} +.pt-6 { + padding-top: 7rem !important; +} +.pr-6 { + padding-right: 7rem !important; +} +.pb-6 { + padding-bottom: 7rem !important; +} +.pl-6 { + padding-left: 7rem !important; +} +.p-7 { + padding: 8rem !important; +} +.px-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; +} +.py-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; +} +.pt-7 { + padding-top: 8rem !important; +} +.pr-7 { + padding-right: 8rem !important; +} +.pb-7 { + padding-bottom: 8rem !important; +} +.pl-7 { + padding-left: 8rem !important; +} +.p-8 { + padding: 12rem !important; +} +.px-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; +} +.py-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; +} +.pt-8 { + padding-top: 12rem !important; +} +.pr-8 { + padding-right: 12rem !important; +} +.pb-8 { + padding-bottom: 12rem !important; +} +.pl-8 { + padding-left: 12rem !important; +} +.p-9 { + padding: 16rem !important; +} +.px-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; +} +.py-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; +} +.pt-9 { + padding-top: 16rem !important; +} +.pr-9 { + padding-right: 16rem !important; +} +.pb-9 { + padding-bottom: 16rem !important; +} +.pl-9 { + padding-left: 16rem !important; +} +.p-auto { + padding: auto !important; +} +.px-auto { + padding-right: auto !important; + padding-left: auto !important; +} +.py-auto { + padding-top: auto !important; + padding-bottom: auto !important; +} +.pt-auto { + padding-top: auto !important; +} +.pr-auto { + padding-right: auto !important; +} +.pb-auto { + padding-bottom: auto !important; +} +.pl-auto { + padding-left: auto !important; +} +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.5rem !important; + } + .mx-sm-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-sm-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mt-sm-1 { + margin-top: 0.5rem !important; + } + .mr-sm-1 { + margin-right: 0.5rem !important; + } + .mb-sm-1 { + margin-bottom: 0.5rem !important; + } + .ml-sm-1 { + margin-left: 0.5rem !important; + } + .m-sm-2 { + margin: 1rem !important; + } + .mx-sm-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-sm-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mt-sm-2 { + margin-top: 1rem !important; + } + .mr-sm-2 { + margin-right: 1rem !important; + } + .mb-sm-2 { + margin-bottom: 1rem !important; + } + .ml-sm-2 { + margin-left: 1rem !important; + } + .m-sm-3 { + margin: 2rem !important; + } + .mx-sm-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-sm-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mt-sm-3 { + margin-top: 2rem !important; + } + .mr-sm-3 { + margin-right: 2rem !important; + } + .mb-sm-3 { + margin-bottom: 2rem !important; + } + .ml-sm-3 { + margin-left: 2rem !important; + } + .m-sm-4 { + margin: 4rem !important; + } + .mx-sm-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-sm-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mt-sm-4 { + margin-top: 4rem !important; + } + .mr-sm-4 { + margin-right: 4rem !important; + } + .mb-sm-4 { + margin-bottom: 4rem !important; + } + .ml-sm-4 { + margin-left: 4rem !important; + } + .m-sm-5 { + margin: 6rem !important; + } + .mx-sm-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; + } + .my-sm-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .mt-sm-5 { + margin-top: 6rem !important; + } + .mr-sm-5 { + margin-right: 6rem !important; + } + .mb-sm-5 { + margin-bottom: 6rem !important; + } + .ml-sm-5 { + margin-left: 6rem !important; + } + .m-sm-6 { + margin: 7rem !important; + } + .mx-sm-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; + } + .my-sm-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .mt-sm-6 { + margin-top: 7rem !important; + } + .mr-sm-6 { + margin-right: 7rem !important; + } + .mb-sm-6 { + margin-bottom: 7rem !important; + } + .ml-sm-6 { + margin-left: 7rem !important; + } + .m-sm-7 { + margin: 8rem !important; + } + .mx-sm-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .my-sm-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-sm-7 { + margin-top: 8rem !important; + } + .mr-sm-7 { + margin-right: 8rem !important; + } + .mb-sm-7 { + margin-bottom: 8rem !important; + } + .ml-sm-7 { + margin-left: 8rem !important; + } + .m-sm-8 { + margin: 12rem !important; + } + .mx-sm-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; + } + .my-sm-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; + } + .mt-sm-8 { + margin-top: 12rem !important; + } + .mr-sm-8 { + margin-right: 12rem !important; + } + .mb-sm-8 { + margin-bottom: 12rem !important; + } + .ml-sm-8 { + margin-left: 12rem !important; + } + .m-sm-9 { + margin: 16rem !important; + } + .mx-sm-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; + } + .my-sm-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; + } + .mt-sm-9 { + margin-top: 16rem !important; + } + .mr-sm-9 { + margin-right: 16rem !important; + } + .mb-sm-9 { + margin-bottom: 16rem !important; + } + .ml-sm-9 { + margin-left: 16rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.5rem !important; + } + .px-sm-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-sm-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .pt-sm-1 { + padding-top: 0.5rem !important; + } + .pr-sm-1 { + padding-right: 0.5rem !important; + } + .pb-sm-1 { + padding-bottom: 0.5rem !important; + } + .pl-sm-1 { + padding-left: 0.5rem !important; + } + .p-sm-2 { + padding: 1rem !important; + } + .px-sm-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-sm-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .pt-sm-2 { + padding-top: 1rem !important; + } + .pr-sm-2 { + padding-right: 1rem !important; + } + .pb-sm-2 { + padding-bottom: 1rem !important; + } + .pl-sm-2 { + padding-left: 1rem !important; + } + .p-sm-3 { + padding: 2rem !important; + } + .px-sm-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-sm-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .pt-sm-3 { + padding-top: 2rem !important; + } + .pr-sm-3 { + padding-right: 2rem !important; + } + .pb-sm-3 { + padding-bottom: 2rem !important; + } + .pl-sm-3 { + padding-left: 2rem !important; + } + .p-sm-4 { + padding: 4rem !important; + } + .px-sm-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-sm-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .pt-sm-4 { + padding-top: 4rem !important; + } + .pr-sm-4 { + padding-right: 4rem !important; + } + .pb-sm-4 { + padding-bottom: 4rem !important; + } + .pl-sm-4 { + padding-left: 4rem !important; + } + .p-sm-5 { + padding: 6rem !important; + } + .px-sm-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; + } + .py-sm-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .pt-sm-5 { + padding-top: 6rem !important; + } + .pr-sm-5 { + padding-right: 6rem !important; + } + .pb-sm-5 { + padding-bottom: 6rem !important; + } + .pl-sm-5 { + padding-left: 6rem !important; + } + .p-sm-6 { + padding: 7rem !important; + } + .px-sm-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; + } + .py-sm-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .pt-sm-6 { + padding-top: 7rem !important; + } + .pr-sm-6 { + padding-right: 7rem !important; + } + .pb-sm-6 { + padding-bottom: 7rem !important; + } + .pl-sm-6 { + padding-left: 7rem !important; + } + .p-sm-7 { + padding: 8rem !important; + } + .px-sm-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-sm-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-sm-7 { + padding-top: 8rem !important; + } + .pr-sm-7 { + padding-right: 8rem !important; + } + .pb-sm-7 { + padding-bottom: 8rem !important; + } + .pl-sm-7 { + padding-left: 8rem !important; + } + .p-sm-8 { + padding: 12rem !important; + } + .px-sm-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; + } + .py-sm-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; + } + .pt-sm-8 { + padding-top: 12rem !important; + } + .pr-sm-8 { + padding-right: 12rem !important; + } + .pb-sm-8 { + padding-bottom: 12rem !important; + } + .pl-sm-8 { + padding-left: 12rem !important; + } + .p-sm-9 { + padding: 16rem !important; + } + .px-sm-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; + } + .py-sm-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; + } + .pt-sm-9 { + padding-top: 16rem !important; + } + .pr-sm-9 { + padding-right: 16rem !important; + } + .pb-sm-9 { + padding-bottom: 16rem !important; + } + .pl-sm-9 { + padding-left: 16rem !important; + } + .p-sm-auto { + padding: auto !important; + } + .px-sm-auto { + padding-right: auto !important; + padding-left: auto !important; + } + .py-sm-auto { + padding-top: auto !important; + padding-bottom: auto !important; + } + .pt-sm-auto { + padding-top: auto !important; + } + .pr-sm-auto { + padding-right: auto !important; + } + .pb-sm-auto { + padding-bottom: auto !important; + } + .pl-sm-auto { + padding-left: auto !important; + } +} +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mr-md-0 { + margin-right: 0 !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.5rem !important; + } + .mx-md-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-md-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mt-md-1 { + margin-top: 0.5rem !important; + } + .mr-md-1 { + margin-right: 0.5rem !important; + } + .mb-md-1 { + margin-bottom: 0.5rem !important; + } + .ml-md-1 { + margin-left: 0.5rem !important; + } + .m-md-2 { + margin: 1rem !important; + } + .mx-md-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-md-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mt-md-2 { + margin-top: 1rem !important; + } + .mr-md-2 { + margin-right: 1rem !important; + } + .mb-md-2 { + margin-bottom: 1rem !important; + } + .ml-md-2 { + margin-left: 1rem !important; + } + .m-md-3 { + margin: 2rem !important; + } + .mx-md-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-md-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mt-md-3 { + margin-top: 2rem !important; + } + .mr-md-3 { + margin-right: 2rem !important; + } + .mb-md-3 { + margin-bottom: 2rem !important; + } + .ml-md-3 { + margin-left: 2rem !important; + } + .m-md-4 { + margin: 4rem !important; + } + .mx-md-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-md-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mt-md-4 { + margin-top: 4rem !important; + } + .mr-md-4 { + margin-right: 4rem !important; + } + .mb-md-4 { + margin-bottom: 4rem !important; + } + .ml-md-4 { + margin-left: 4rem !important; + } + .m-md-5 { + margin: 6rem !important; + } + .mx-md-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; + } + .my-md-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .mt-md-5 { + margin-top: 6rem !important; + } + .mr-md-5 { + margin-right: 6rem !important; + } + .mb-md-5 { + margin-bottom: 6rem !important; + } + .ml-md-5 { + margin-left: 6rem !important; + } + .m-md-6 { + margin: 7rem !important; + } + .mx-md-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; + } + .my-md-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .mt-md-6 { + margin-top: 7rem !important; + } + .mr-md-6 { + margin-right: 7rem !important; + } + .mb-md-6 { + margin-bottom: 7rem !important; + } + .ml-md-6 { + margin-left: 7rem !important; + } + .m-md-7 { + margin: 8rem !important; + } + .mx-md-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .my-md-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-md-7 { + margin-top: 8rem !important; + } + .mr-md-7 { + margin-right: 8rem !important; + } + .mb-md-7 { + margin-bottom: 8rem !important; + } + .ml-md-7 { + margin-left: 8rem !important; + } + .m-md-8 { + margin: 12rem !important; + } + .mx-md-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; + } + .my-md-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; + } + .mt-md-8 { + margin-top: 12rem !important; + } + .mr-md-8 { + margin-right: 12rem !important; + } + .mb-md-8 { + margin-bottom: 12rem !important; + } + .ml-md-8 { + margin-left: 12rem !important; + } + .m-md-9 { + margin: 16rem !important; + } + .mx-md-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; + } + .my-md-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; + } + .mt-md-9 { + margin-top: 16rem !important; + } + .mr-md-9 { + margin-right: 16rem !important; + } + .mb-md-9 { + margin-bottom: 16rem !important; + } + .ml-md-9 { + margin-left: 16rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .mr-md-auto { + margin-right: auto !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pr-md-0 { + padding-right: 0 !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.5rem !important; + } + .px-md-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-md-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .pt-md-1 { + padding-top: 0.5rem !important; + } + .pr-md-1 { + padding-right: 0.5rem !important; + } + .pb-md-1 { + padding-bottom: 0.5rem !important; + } + .pl-md-1 { + padding-left: 0.5rem !important; + } + .p-md-2 { + padding: 1rem !important; + } + .px-md-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-md-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .pt-md-2 { + padding-top: 1rem !important; + } + .pr-md-2 { + padding-right: 1rem !important; + } + .pb-md-2 { + padding-bottom: 1rem !important; + } + .pl-md-2 { + padding-left: 1rem !important; + } + .p-md-3 { + padding: 2rem !important; + } + .px-md-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-md-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .pt-md-3 { + padding-top: 2rem !important; + } + .pr-md-3 { + padding-right: 2rem !important; + } + .pb-md-3 { + padding-bottom: 2rem !important; + } + .pl-md-3 { + padding-left: 2rem !important; + } + .p-md-4 { + padding: 4rem !important; + } + .px-md-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-md-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .pt-md-4 { + padding-top: 4rem !important; + } + .pr-md-4 { + padding-right: 4rem !important; + } + .pb-md-4 { + padding-bottom: 4rem !important; + } + .pl-md-4 { + padding-left: 4rem !important; + } + .p-md-5 { + padding: 6rem !important; + } + .px-md-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; + } + .py-md-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .pt-md-5 { + padding-top: 6rem !important; + } + .pr-md-5 { + padding-right: 6rem !important; + } + .pb-md-5 { + padding-bottom: 6rem !important; + } + .pl-md-5 { + padding-left: 6rem !important; + } + .p-md-6 { + padding: 7rem !important; + } + .px-md-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; + } + .py-md-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .pt-md-6 { + padding-top: 7rem !important; + } + .pr-md-6 { + padding-right: 7rem !important; + } + .pb-md-6 { + padding-bottom: 7rem !important; + } + .pl-md-6 { + padding-left: 7rem !important; + } + .p-md-7 { + padding: 8rem !important; + } + .px-md-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-md-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-md-7 { + padding-top: 8rem !important; + } + .pr-md-7 { + padding-right: 8rem !important; + } + .pb-md-7 { + padding-bottom: 8rem !important; + } + .pl-md-7 { + padding-left: 8rem !important; + } + .p-md-8 { + padding: 12rem !important; + } + .px-md-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; + } + .py-md-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; + } + .pt-md-8 { + padding-top: 12rem !important; + } + .pr-md-8 { + padding-right: 12rem !important; + } + .pb-md-8 { + padding-bottom: 12rem !important; + } + .pl-md-8 { + padding-left: 12rem !important; + } + .p-md-9 { + padding: 16rem !important; + } + .px-md-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; + } + .py-md-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; + } + .pt-md-9 { + padding-top: 16rem !important; + } + .pr-md-9 { + padding-right: 16rem !important; + } + .pb-md-9 { + padding-bottom: 16rem !important; + } + .pl-md-9 { + padding-left: 16rem !important; + } + .p-md-auto { + padding: auto !important; + } + .px-md-auto { + padding-right: auto !important; + padding-left: auto !important; + } + .py-md-auto { + padding-top: auto !important; + padding-bottom: auto !important; + } + .pt-md-auto { + padding-top: auto !important; + } + .pr-md-auto { + padding-right: auto !important; + } + .pb-md-auto { + padding-bottom: auto !important; + } + .pl-md-auto { + padding-left: auto !important; + } +} +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.5rem !important; + } + .mx-lg-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-lg-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mt-lg-1 { + margin-top: 0.5rem !important; + } + .mr-lg-1 { + margin-right: 0.5rem !important; + } + .mb-lg-1 { + margin-bottom: 0.5rem !important; + } + .ml-lg-1 { + margin-left: 0.5rem !important; + } + .m-lg-2 { + margin: 1rem !important; + } + .mx-lg-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-lg-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mt-lg-2 { + margin-top: 1rem !important; + } + .mr-lg-2 { + margin-right: 1rem !important; + } + .mb-lg-2 { + margin-bottom: 1rem !important; + } + .ml-lg-2 { + margin-left: 1rem !important; + } + .m-lg-3 { + margin: 2rem !important; + } + .mx-lg-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-lg-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mt-lg-3 { + margin-top: 2rem !important; + } + .mr-lg-3 { + margin-right: 2rem !important; + } + .mb-lg-3 { + margin-bottom: 2rem !important; + } + .ml-lg-3 { + margin-left: 2rem !important; + } + .m-lg-4 { + margin: 4rem !important; + } + .mx-lg-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-lg-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mt-lg-4 { + margin-top: 4rem !important; + } + .mr-lg-4 { + margin-right: 4rem !important; + } + .mb-lg-4 { + margin-bottom: 4rem !important; + } + .ml-lg-4 { + margin-left: 4rem !important; + } + .m-lg-5 { + margin: 6rem !important; + } + .mx-lg-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; + } + .my-lg-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .mt-lg-5 { + margin-top: 6rem !important; + } + .mr-lg-5 { + margin-right: 6rem !important; + } + .mb-lg-5 { + margin-bottom: 6rem !important; + } + .ml-lg-5 { + margin-left: 6rem !important; + } + .m-lg-6 { + margin: 7rem !important; + } + .mx-lg-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; + } + .my-lg-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .mt-lg-6 { + margin-top: 7rem !important; + } + .mr-lg-6 { + margin-right: 7rem !important; + } + .mb-lg-6 { + margin-bottom: 7rem !important; + } + .ml-lg-6 { + margin-left: 7rem !important; + } + .m-lg-7 { + margin: 8rem !important; + } + .mx-lg-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .my-lg-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-lg-7 { + margin-top: 8rem !important; + } + .mr-lg-7 { + margin-right: 8rem !important; + } + .mb-lg-7 { + margin-bottom: 8rem !important; + } + .ml-lg-7 { + margin-left: 8rem !important; + } + .m-lg-8 { + margin: 12rem !important; + } + .mx-lg-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; + } + .my-lg-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; + } + .mt-lg-8 { + margin-top: 12rem !important; + } + .mr-lg-8 { + margin-right: 12rem !important; + } + .mb-lg-8 { + margin-bottom: 12rem !important; + } + .ml-lg-8 { + margin-left: 12rem !important; + } + .m-lg-9 { + margin: 16rem !important; + } + .mx-lg-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; + } + .my-lg-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; + } + .mt-lg-9 { + margin-top: 16rem !important; + } + .mr-lg-9 { + margin-right: 16rem !important; + } + .mb-lg-9 { + margin-bottom: 16rem !important; + } + .ml-lg-9 { + margin-left: 16rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.5rem !important; + } + .px-lg-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-lg-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .pt-lg-1 { + padding-top: 0.5rem !important; + } + .pr-lg-1 { + padding-right: 0.5rem !important; + } + .pb-lg-1 { + padding-bottom: 0.5rem !important; + } + .pl-lg-1 { + padding-left: 0.5rem !important; + } + .p-lg-2 { + padding: 1rem !important; + } + .px-lg-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-lg-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .pt-lg-2 { + padding-top: 1rem !important; + } + .pr-lg-2 { + padding-right: 1rem !important; + } + .pb-lg-2 { + padding-bottom: 1rem !important; + } + .pl-lg-2 { + padding-left: 1rem !important; + } + .p-lg-3 { + padding: 2rem !important; + } + .px-lg-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-lg-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .pt-lg-3 { + padding-top: 2rem !important; + } + .pr-lg-3 { + padding-right: 2rem !important; + } + .pb-lg-3 { + padding-bottom: 2rem !important; + } + .pl-lg-3 { + padding-left: 2rem !important; + } + .p-lg-4 { + padding: 4rem !important; + } + .px-lg-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-lg-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .pt-lg-4 { + padding-top: 4rem !important; + } + .pr-lg-4 { + padding-right: 4rem !important; + } + .pb-lg-4 { + padding-bottom: 4rem !important; + } + .pl-lg-4 { + padding-left: 4rem !important; + } + .p-lg-5 { + padding: 6rem !important; + } + .px-lg-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; + } + .py-lg-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .pt-lg-5 { + padding-top: 6rem !important; + } + .pr-lg-5 { + padding-right: 6rem !important; + } + .pb-lg-5 { + padding-bottom: 6rem !important; + } + .pl-lg-5 { + padding-left: 6rem !important; + } + .p-lg-6 { + padding: 7rem !important; + } + .px-lg-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; + } + .py-lg-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .pt-lg-6 { + padding-top: 7rem !important; + } + .pr-lg-6 { + padding-right: 7rem !important; + } + .pb-lg-6 { + padding-bottom: 7rem !important; + } + .pl-lg-6 { + padding-left: 7rem !important; + } + .p-lg-7 { + padding: 8rem !important; + } + .px-lg-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-lg-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-lg-7 { + padding-top: 8rem !important; + } + .pr-lg-7 { + padding-right: 8rem !important; + } + .pb-lg-7 { + padding-bottom: 8rem !important; + } + .pl-lg-7 { + padding-left: 8rem !important; + } + .p-lg-8 { + padding: 12rem !important; + } + .px-lg-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; + } + .py-lg-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; + } + .pt-lg-8 { + padding-top: 12rem !important; + } + .pr-lg-8 { + padding-right: 12rem !important; + } + .pb-lg-8 { + padding-bottom: 12rem !important; + } + .pl-lg-8 { + padding-left: 12rem !important; + } + .p-lg-9 { + padding: 16rem !important; + } + .px-lg-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; + } + .py-lg-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; + } + .pt-lg-9 { + padding-top: 16rem !important; + } + .pr-lg-9 { + padding-right: 16rem !important; + } + .pb-lg-9 { + padding-bottom: 16rem !important; + } + .pl-lg-9 { + padding-left: 16rem !important; + } + .p-lg-auto { + padding: auto !important; + } + .px-lg-auto { + padding-right: auto !important; + padding-left: auto !important; + } + .py-lg-auto { + padding-top: auto !important; + padding-bottom: auto !important; + } + .pt-lg-auto { + padding-top: auto !important; + } + .pr-lg-auto { + padding-right: auto !important; + } + .pb-lg-auto { + padding-bottom: auto !important; + } + .pl-lg-auto { + padding-left: auto !important; + } +} +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.5rem !important; + } + .mx-xl-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xl-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mt-xl-1 { + margin-top: 0.5rem !important; + } + .mr-xl-1 { + margin-right: 0.5rem !important; + } + .mb-xl-1 { + margin-bottom: 0.5rem !important; + } + .ml-xl-1 { + margin-left: 0.5rem !important; + } + .m-xl-2 { + margin: 1rem !important; + } + .mx-xl-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xl-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mt-xl-2 { + margin-top: 1rem !important; + } + .mr-xl-2 { + margin-right: 1rem !important; + } + .mb-xl-2 { + margin-bottom: 1rem !important; + } + .ml-xl-2 { + margin-left: 1rem !important; + } + .m-xl-3 { + margin: 2rem !important; + } + .mx-xl-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xl-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mt-xl-3 { + margin-top: 2rem !important; + } + .mr-xl-3 { + margin-right: 2rem !important; + } + .mb-xl-3 { + margin-bottom: 2rem !important; + } + .ml-xl-3 { + margin-left: 2rem !important; + } + .m-xl-4 { + margin: 4rem !important; + } + .mx-xl-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xl-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mt-xl-4 { + margin-top: 4rem !important; + } + .mr-xl-4 { + margin-right: 4rem !important; + } + .mb-xl-4 { + margin-bottom: 4rem !important; + } + .ml-xl-4 { + margin-left: 4rem !important; + } + .m-xl-5 { + margin: 6rem !important; + } + .mx-xl-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; + } + .my-xl-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .mt-xl-5 { + margin-top: 6rem !important; + } + .mr-xl-5 { + margin-right: 6rem !important; + } + .mb-xl-5 { + margin-bottom: 6rem !important; + } + .ml-xl-5 { + margin-left: 6rem !important; + } + .m-xl-6 { + margin: 7rem !important; + } + .mx-xl-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; + } + .my-xl-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .mt-xl-6 { + margin-top: 7rem !important; + } + .mr-xl-6 { + margin-right: 7rem !important; + } + .mb-xl-6 { + margin-bottom: 7rem !important; + } + .ml-xl-6 { + margin-left: 7rem !important; + } + .m-xl-7 { + margin: 8rem !important; + } + .mx-xl-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .my-xl-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-xl-7 { + margin-top: 8rem !important; + } + .mr-xl-7 { + margin-right: 8rem !important; + } + .mb-xl-7 { + margin-bottom: 8rem !important; + } + .ml-xl-7 { + margin-left: 8rem !important; + } + .m-xl-8 { + margin: 12rem !important; + } + .mx-xl-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; + } + .my-xl-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; + } + .mt-xl-8 { + margin-top: 12rem !important; + } + .mr-xl-8 { + margin-right: 12rem !important; + } + .mb-xl-8 { + margin-bottom: 12rem !important; + } + .ml-xl-8 { + margin-left: 12rem !important; + } + .m-xl-9 { + margin: 16rem !important; + } + .mx-xl-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; + } + .my-xl-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; + } + .mt-xl-9 { + margin-top: 16rem !important; + } + .mr-xl-9 { + margin-right: 16rem !important; + } + .mb-xl-9 { + margin-bottom: 16rem !important; + } + .ml-xl-9 { + margin-left: 16rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.5rem !important; + } + .px-xl-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xl-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .pt-xl-1 { + padding-top: 0.5rem !important; + } + .pr-xl-1 { + padding-right: 0.5rem !important; + } + .pb-xl-1 { + padding-bottom: 0.5rem !important; + } + .pl-xl-1 { + padding-left: 0.5rem !important; + } + .p-xl-2 { + padding: 1rem !important; + } + .px-xl-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xl-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .pt-xl-2 { + padding-top: 1rem !important; + } + .pr-xl-2 { + padding-right: 1rem !important; + } + .pb-xl-2 { + padding-bottom: 1rem !important; + } + .pl-xl-2 { + padding-left: 1rem !important; + } + .p-xl-3 { + padding: 2rem !important; + } + .px-xl-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xl-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .pt-xl-3 { + padding-top: 2rem !important; + } + .pr-xl-3 { + padding-right: 2rem !important; + } + .pb-xl-3 { + padding-bottom: 2rem !important; + } + .pl-xl-3 { + padding-left: 2rem !important; + } + .p-xl-4 { + padding: 4rem !important; + } + .px-xl-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xl-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .pt-xl-4 { + padding-top: 4rem !important; + } + .pr-xl-4 { + padding-right: 4rem !important; + } + .pb-xl-4 { + padding-bottom: 4rem !important; + } + .pl-xl-4 { + padding-left: 4rem !important; + } + .p-xl-5 { + padding: 6rem !important; + } + .px-xl-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; + } + .py-xl-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .pt-xl-5 { + padding-top: 6rem !important; + } + .pr-xl-5 { + padding-right: 6rem !important; + } + .pb-xl-5 { + padding-bottom: 6rem !important; + } + .pl-xl-5 { + padding-left: 6rem !important; + } + .p-xl-6 { + padding: 7rem !important; + } + .px-xl-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; + } + .py-xl-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .pt-xl-6 { + padding-top: 7rem !important; + } + .pr-xl-6 { + padding-right: 7rem !important; + } + .pb-xl-6 { + padding-bottom: 7rem !important; + } + .pl-xl-6 { + padding-left: 7rem !important; + } + .p-xl-7 { + padding: 8rem !important; + } + .px-xl-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-xl-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xl-7 { + padding-top: 8rem !important; + } + .pr-xl-7 { + padding-right: 8rem !important; + } + .pb-xl-7 { + padding-bottom: 8rem !important; + } + .pl-xl-7 { + padding-left: 8rem !important; + } + .p-xl-8 { + padding: 12rem !important; + } + .px-xl-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; + } + .py-xl-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; + } + .pt-xl-8 { + padding-top: 12rem !important; + } + .pr-xl-8 { + padding-right: 12rem !important; + } + .pb-xl-8 { + padding-bottom: 12rem !important; + } + .pl-xl-8 { + padding-left: 12rem !important; + } + .p-xl-9 { + padding: 16rem !important; + } + .px-xl-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; + } + .py-xl-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; + } + .pt-xl-9 { + padding-top: 16rem !important; + } + .pr-xl-9 { + padding-right: 16rem !important; + } + .pb-xl-9 { + padding-bottom: 16rem !important; + } + .pl-xl-9 { + padding-left: 16rem !important; + } + .p-xl-auto { + padding: auto !important; + } + .px-xl-auto { + padding-right: auto !important; + padding-left: auto !important; + } + .py-xl-auto { + padding-top: auto !important; + padding-bottom: auto !important; + } + .pt-xl-auto { + padding-top: auto !important; + } + .pr-xl-auto { + padding-right: auto !important; + } + .pb-xl-auto { + padding-bottom: auto !important; + } + .pl-xl-auto { + padding-left: auto !important; + } +} +@media (min-width: 1400px) { + .m-xxl-0 { + margin: 0 !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mr-xxl-0 { + margin-right: 0 !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .ml-xxl-0 { + margin-left: 0 !important; + } + .m-xxl-1 { + margin: 0.5rem !important; + } + .mx-xxl-1 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .my-xxl-1 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .mt-xxl-1 { + margin-top: 0.5rem !important; + } + .mr-xxl-1 { + margin-right: 0.5rem !important; + } + .mb-xxl-1 { + margin-bottom: 0.5rem !important; + } + .ml-xxl-1 { + margin-left: 0.5rem !important; + } + .m-xxl-2 { + margin: 1rem !important; + } + .mx-xxl-2 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .my-xxl-2 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .mt-xxl-2 { + margin-top: 1rem !important; + } + .mr-xxl-2 { + margin-right: 1rem !important; + } + .mb-xxl-2 { + margin-bottom: 1rem !important; + } + .ml-xxl-2 { + margin-left: 1rem !important; + } + .m-xxl-3 { + margin: 2rem !important; + } + .mx-xxl-3 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .my-xxl-3 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .mt-xxl-3 { + margin-top: 2rem !important; + } + .mr-xxl-3 { + margin-right: 2rem !important; + } + .mb-xxl-3 { + margin-bottom: 2rem !important; + } + .ml-xxl-3 { + margin-left: 2rem !important; + } + .m-xxl-4 { + margin: 4rem !important; + } + .mx-xxl-4 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + .my-xxl-4 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .mt-xxl-4 { + margin-top: 4rem !important; + } + .mr-xxl-4 { + margin-right: 4rem !important; + } + .mb-xxl-4 { + margin-bottom: 4rem !important; + } + .ml-xxl-4 { + margin-left: 4rem !important; + } + .m-xxl-5 { + margin: 6rem !important; + } + .mx-xxl-5 { + margin-right: 6rem !important; + margin-left: 6rem !important; + } + .my-xxl-5 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .mt-xxl-5 { + margin-top: 6rem !important; + } + .mr-xxl-5 { + margin-right: 6rem !important; + } + .mb-xxl-5 { + margin-bottom: 6rem !important; + } + .ml-xxl-5 { + margin-left: 6rem !important; + } + .m-xxl-6 { + margin: 7rem !important; + } + .mx-xxl-6 { + margin-right: 7rem !important; + margin-left: 7rem !important; + } + .my-xxl-6 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .mt-xxl-6 { + margin-top: 7rem !important; + } + .mr-xxl-6 { + margin-right: 7rem !important; + } + .mb-xxl-6 { + margin-bottom: 7rem !important; + } + .ml-xxl-6 { + margin-left: 7rem !important; + } + .m-xxl-7 { + margin: 8rem !important; + } + .mx-xxl-7 { + margin-right: 8rem !important; + margin-left: 8rem !important; + } + .my-xxl-7 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-xxl-7 { + margin-top: 8rem !important; + } + .mr-xxl-7 { + margin-right: 8rem !important; + } + .mb-xxl-7 { + margin-bottom: 8rem !important; + } + .ml-xxl-7 { + margin-left: 8rem !important; + } + .m-xxl-8 { + margin: 12rem !important; + } + .mx-xxl-8 { + margin-right: 12rem !important; + margin-left: 12rem !important; + } + .my-xxl-8 { + margin-top: 12rem !important; + margin-bottom: 12rem !important; + } + .mt-xxl-8 { + margin-top: 12rem !important; + } + .mr-xxl-8 { + margin-right: 12rem !important; + } + .mb-xxl-8 { + margin-bottom: 12rem !important; + } + .ml-xxl-8 { + margin-left: 12rem !important; + } + .m-xxl-9 { + margin: 16rem !important; + } + .mx-xxl-9 { + margin-right: 16rem !important; + margin-left: 16rem !important; + } + .my-xxl-9 { + margin-top: 16rem !important; + margin-bottom: 16rem !important; + } + .mt-xxl-9 { + margin-top: 16rem !important; + } + .mr-xxl-9 { + margin-right: 16rem !important; + } + .mb-xxl-9 { + margin-bottom: 16rem !important; + } + .ml-xxl-9 { + margin-left: 16rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .mr-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ml-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pr-xxl-0 { + padding-right: 0 !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pl-xxl-0 { + padding-left: 0 !important; + } + .p-xxl-1 { + padding: 0.5rem !important; + } + .px-xxl-1 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .py-xxl-1 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .pt-xxl-1 { + padding-top: 0.5rem !important; + } + .pr-xxl-1 { + padding-right: 0.5rem !important; + } + .pb-xxl-1 { + padding-bottom: 0.5rem !important; + } + .pl-xxl-1 { + padding-left: 0.5rem !important; + } + .p-xxl-2 { + padding: 1rem !important; + } + .px-xxl-2 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .py-xxl-2 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .pt-xxl-2 { + padding-top: 1rem !important; + } + .pr-xxl-2 { + padding-right: 1rem !important; + } + .pb-xxl-2 { + padding-bottom: 1rem !important; + } + .pl-xxl-2 { + padding-left: 1rem !important; + } + .p-xxl-3 { + padding: 2rem !important; + } + .px-xxl-3 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .py-xxl-3 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .pt-xxl-3 { + padding-top: 2rem !important; + } + .pr-xxl-3 { + padding-right: 2rem !important; + } + .pb-xxl-3 { + padding-bottom: 2rem !important; + } + .pl-xxl-3 { + padding-left: 2rem !important; + } + .p-xxl-4 { + padding: 4rem !important; + } + .px-xxl-4 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + .py-xxl-4 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .pt-xxl-4 { + padding-top: 4rem !important; + } + .pr-xxl-4 { + padding-right: 4rem !important; + } + .pb-xxl-4 { + padding-bottom: 4rem !important; + } + .pl-xxl-4 { + padding-left: 4rem !important; + } + .p-xxl-5 { + padding: 6rem !important; + } + .px-xxl-5 { + padding-right: 6rem !important; + padding-left: 6rem !important; + } + .py-xxl-5 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .pt-xxl-5 { + padding-top: 6rem !important; + } + .pr-xxl-5 { + padding-right: 6rem !important; + } + .pb-xxl-5 { + padding-bottom: 6rem !important; + } + .pl-xxl-5 { + padding-left: 6rem !important; + } + .p-xxl-6 { + padding: 7rem !important; + } + .px-xxl-6 { + padding-right: 7rem !important; + padding-left: 7rem !important; + } + .py-xxl-6 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .pt-xxl-6 { + padding-top: 7rem !important; + } + .pr-xxl-6 { + padding-right: 7rem !important; + } + .pb-xxl-6 { + padding-bottom: 7rem !important; + } + .pl-xxl-6 { + padding-left: 7rem !important; + } + .p-xxl-7 { + padding: 8rem !important; + } + .px-xxl-7 { + padding-right: 8rem !important; + padding-left: 8rem !important; + } + .py-xxl-7 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xxl-7 { + padding-top: 8rem !important; + } + .pr-xxl-7 { + padding-right: 8rem !important; + } + .pb-xxl-7 { + padding-bottom: 8rem !important; + } + .pl-xxl-7 { + padding-left: 8rem !important; + } + .p-xxl-8 { + padding: 12rem !important; + } + .px-xxl-8 { + padding-right: 12rem !important; + padding-left: 12rem !important; + } + .py-xxl-8 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; + } + .pt-xxl-8 { + padding-top: 12rem !important; + } + .pr-xxl-8 { + padding-right: 12rem !important; + } + .pb-xxl-8 { + padding-bottom: 12rem !important; + } + .pl-xxl-8 { + padding-left: 12rem !important; + } + .p-xxl-9 { + padding: 16rem !important; + } + .px-xxl-9 { + padding-right: 16rem !important; + padding-left: 16rem !important; + } + .py-xxl-9 { + padding-top: 16rem !important; + padding-bottom: 16rem !important; + } + .pt-xxl-9 { + padding-top: 16rem !important; + } + .pr-xxl-9 { + padding-right: 16rem !important; + } + .pb-xxl-9 { + padding-bottom: 16rem !important; + } + .pl-xxl-9 { + padding-left: 16rem !important; + } + .p-xxl-auto { + padding: auto !important; + } + .px-xxl-auto { + padding-right: auto !important; + padding-left: auto !important; + } + .py-xxl-auto { + padding-top: auto !important; + padding-bottom: auto !important; + } + .pt-xxl-auto { + padding-top: auto !important; + } + .pr-xxl-auto { + padding-right: auto !important; + } + .pb-xxl-auto { + padding-bottom: auto !important; + } + .pl-xxl-auto { + padding-left: auto !important; + } +} diff --git a/RockWeb/Themes/NewSpring/overflow/style.css b/RockWeb/Themes/NewSpring/overflow/style.css new file mode 100644 index 00000000000..3c5e5aea84d --- /dev/null +++ b/RockWeb/Themes/NewSpring/overflow/style.css @@ -0,0 +1,178 @@ +#overflow-logo { + max-width: 100px; +} +.bg-brand { + background-color: #3a64af; +} +.bg-brand-dark { + background-color: #1d3362; +} +.bg-brand-light { + background-color: #a9c2e6; +} +.bg-brand-bright { + background-color: #0c41bf; +} +.text-brand { + color: #3a64af; +} +.text-brand-dark { + color: #1d3362; +} +.text-brand-light { + color: #a9c2e6; +} +.text-brand-bright { + color: #0c41bf; +} +.display-1, +.display-2 { + letter-spacing: -2px !important; +} +.wave-top { + position: absolute; + bottom: -2px; + left: -1px; + width: 100.5%; +} +.wave-bottom { + position: absolute; + top: -2px; + left: -1px; + width: 100.5%; +} +.give-input { + border: 0; + padding: 9px 12px; + letter-spacing: -0.5px; + color: #1c1c1c; + font-size: 22px; + outline: none; +} +.give-input::placeholder { + color: #bbb; +} +.js-give-btn { + padding-top: 10px; + padding-bottom: 9px; +} +.form-control:focus { + box-shadow: none; +} +.overflow-progress .progress { + height: 50px; + border-radius: 5px; + line-height: 3; +} +.overflow-progress .progress-bar.active { + animation: progress-bar-stripes 1.5s linear infinite; +} +.chart-bar { + width: 100%; + height: 320px; + gap: 10px; +} +.chart-bar > div { + flex-basis: 0; + flex: 1 1 0px; + height: 100%; +} +.chart-bar .bar { + position: relative; + height: 0; + overflow: hidden; +} +.chart-bar .bar h3 { + position: absolute; + transform: rotate(-90deg); + letter-spacing: 0; +} +.labels { + width: 100%; + gap: 10px; +} +.labels > div { + flex: 1 1 0px; +} +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + float: left !important; +} +.badge { + font-family: "colfax-web", sans-serif; +} +@media screen and (min-width: 669px) { + .display-1, + .display-2 { + line-height: 0.95; + } +} +@media screen and (min-width: 1200px) { + .display-1, + .display-2 { + letter-spacing: -3px !important; + line-height: 1; + } + .give-input { + font-size: 32px; + letter-spacing: -1.5px; + } + .js-give-btn { + padding-top: 16px; + padding-bottom: 15px; + font-size: 20px; + } + .chart-bar { + height: 450px; + gap: 15px; + } + .labels { + gap: 15px; + } +} diff --git a/RockWeb/Themes/NewSpring/site.webmanifest b/RockWeb/Themes/NewSpring/site.webmanifest new file mode 100644 index 00000000000..b433c4874fa --- /dev/null +++ b/RockWeb/Themes/NewSpring/site.webmanifest @@ -0,0 +1,33 @@ +{ + "display": "standalone", + "short_name": "NewSpring", + "name": "NewSpring Church", + "background_color": "#1c1c1c", + "theme_color": "#6bac43", + "icons": [ + { + "src": "/Themes/NewSpring/Assets/Splash/manifest-icon-192.maskable.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/Themes/NewSpring/Assets/Splash/manifest-icon-192.maskable.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/Themes/NewSpring/Assets/Splash/manifest-icon-512.maskable.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/Themes/NewSpring/Assets/Splash/manifest-icon-512.maskable.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/RockWeb/Themes/Rock/Assets/Lava/MyWorkflowsSortable.lava b/RockWeb/Themes/Rock/Assets/Lava/MyWorkflowsSortable.lava index 4266e21373e..0bcf6a2945b 100644 --- a/RockWeb/Themes/Rock/Assets/Lava/MyWorkflowsSortable.lava +++ b/RockWeb/Themes/Rock/Assets/Lava/MyWorkflowsSortable.lava @@ -24,7 +24,7 @@ {% if Role == '0' %} {% comment %}Role is 'Assigned To', go to WorkflowEntry page {% endcomment %} - {{ action.Activity.Workflow.Name }} ({{ action.Activity.ActivityType.Name }}) + {{ action.Activity.Workflow.Name }} {% else %} {% comment %}Role is 'Initiated', go to Workflow Detail page {% endcomment %} {{ action.Activity.Workflow.Name }} diff --git a/RockWeb/Themes/Rock/Styles/_css-overrides.less b/RockWeb/Themes/Rock/Styles/_css-overrides.less index c458d9b8d3c..5a09f6a22ed 100644 --- a/RockWeb/Themes/Rock/Styles/_css-overrides.less +++ b/RockWeb/Themes/Rock/Styles/_css-overrides.less @@ -1 +1,655 @@ -//@import "../../../Styles/bootstrap-utilities/_display.less"; +@brand-color: #ee7725; +@brand-secondary: #783609; +@brand-tertiary: #401D05; +@text-color: @gray-dark; +@link-color: @brand-color; +@link-hover-color: #1C683E; +@brand-success: @brand-color; +@brand-warning: #f7a828; + +.in-columns .radio-inline+.radio-inline, .in-columns .checkbox-inline+.checkbox-inline { + position: relative; + display: inline-block; + width: 100%; +} + +select { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +// Variables +@base-spacing-unit: 30px; + +@gray-darker: #1c1c1c; +@gray-dark: #303030; +@gray: #858585; +@white: #fff; + +@font-family-sans-serif: ff-meta-serif-web-pro,serif; +@colfax: colfax-web,sans-serif; + +@side-navigation-background-color: @gray-dark; +@side-navigation-open-background-color: @gray-darker; +@side-navigation-text-color: @white; + + +// Helpers +.position-absolute { position: absolute; } +.position-relative { position: relative; } +.background-cover { background-size: cover; } +.rounded { border-radius: 5px !important; } +.shadowed { box-shadow: 0 3px 0 rgba(0,0,0,.05), 0 0 15px rgba(0,0,0,.05); } +.outlined { border: 1px solid rgba(0,0,0,0.1); } +.overflow-hidden { overflow: hidden; } + +.text-white { color: #fff; } +.text-gray-lighter { color: #ccc; } +.text-sans-serif { font-family: @colfax !important; } +.bg-white { background-color: #fff; } +.bg-secondary { background-color: #1C683E; } +.bg-tertiary { background-color: #2a4930; } + +.top-zero { top: 0; } +.right-zero { right: 0; } +.bottom-zero { bottom: 0; } +.left-zero { left: 0; } + +.soft { padding: @base-spacing-unit; } +.soft-sides { padding-left: @base-spacing-unit; padding-right: @base-spacing-unit; } +.soft-ends { padding-top: @base-spacing-unit; padding-bottom: @base-spacing-unit; } +.soft-top { padding-top: @base-spacing-unit; } +.soft-right { padding-right: @base-spacing-unit; } +.soft-bottom { padding-bottom: @base-spacing-unit; } +.soft-left { padding-left: @base-spacing-unit; } + +.soft-half { padding: @base-spacing-unit/2; } +.soft-half-sides { padding-left: @base-spacing-unit/2; padding-right: @base-spacing-unit/2; } +.soft-half-ends { padding-top: @base-spacing-unit/2; padding-bottom: @base-spacing-unit/2; } +.soft-half-top { padding-top: @base-spacing-unit/2; } +.soft-half-right { padding-right: @base-spacing-unit/2; } +.soft-half-bottom { padding-bottom: @base-spacing-unit/2; } +.soft-half-left { padding-left: @base-spacing-unit/2; } + +.soft-quarter { padding: @base-spacing-unit/4; } +.soft-quarter-sides { padding-left: @base-spacing-unit/4; padding-right: @base-spacing-unit/4; } +.soft-quarter-ends { padding-top: @base-spacing-unit/4; padding-bottom: @base-spacing-unit/4; } +.soft-quarter-top { padding-top: @base-spacing-unit/4; } +.soft-quarter-right { padding-right: @base-spacing-unit/4; } +.soft-quarter-bottom { padding-bottom: @base-spacing-unit/4; } +.soft-quarter-left { padding-left: @base-spacing-unit/4; } + +.push-top { margin-top: @base-spacing-unit; } +.push-right { margin-right: @base-spacing-unit; } +.push-bottom { margin-bottom: @base-spacing-unit; } +.push-left { margin-left: @base-spacing-unit; } + +.push-half-top { margin-top: @base-spacing-unit/2; } +.push-half-right { margin-right: @base-spacing-unit/2; } +.push-half-bottom { margin-bottom: @base-spacing-unit/2; } +.push-half-left { margin-left: @base-spacing-unit/2; } + +.push-quarter-top { margin-top: @base-spacing-unit/4; } +.push-quarter-right { margin-right: @base-spacing-unit/4; } +.push-quarter-bottom { margin-bottom: @base-spacing-unit/4; } +.push-quarter-left { margin-left: @base-spacing-unit/4; } + +.flush { margin: 0; } +.flush-sides { margin-left: 0; margin-right: 0; } +.flush-ends { margin-top: 0; margin-bottom: 0; } +.flush-top { margin-top: 0; } +.flush-right { margin-right: 0; } +.flush-bottom { margin-bottom: 0; } +.flush-left { margin-left: 0; } + +.hard { padding: 0; } +.hard-sides { padding-left: 0; padding-right: 0; } +.hard-ends { padding-top: 0; padding-bottom: 0; } +.hard-top { padding-top: 0; } +.hard-right { padding-right: 0; } +.hard-bottom { padding-bottom: 0; } +.hard-left { padding-left: 0; } + +// Profile square fix +.profile-squish { + padding-bottom: 100%; +} + +// Logo +.rock-top-header .navbar-brand-corner.no-logo::after, +.navbar-brand-side.no-logo::after { + background-image: url('//dg0ddngxdz549.cloudfront.net/newspring/icons/newspring_mark_light.png'); + background-size: 36px; +} + +// Person Profile +.action-wrapper { + background-color: #fff; +} + +// Headings +h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + font-family: colfax-web, sans-serif; + font-weight: 700; + letter-spacing: -.5px; + margin-top: 0px; +} + + +// Links +a:hover { + text-decoration: none; +} + + +// Containers +.container { + width: auto; + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; + + &.modal { + padding-left: 0; + padding-right: 0; + } +} + + +// Grids +.grid-condensed { + margin: 0 -15px; +} + +.col-md-fifth { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; + float: left; + width: 20%; +} + +.grid-table > tbody > tr > .grid-bool-field { + vertical-align: middle; +} + + +// Panels +.panel-dashboard { + height: auto; + margin: 0; +} + +.panel-heading { + padding: 16px 24px 14px; +} + +.panel-title { + font-weight: 700; +} + +.panel-dashboard > .panel-body { + padding: 0; +} + +// Labels +.ratio-item .label-primary { + background-color: #6bac43; + color: #fff; +} + +// Navigation +.navbar-fixed-top, +.navbar-fixed-bottom, +.navbar-static-side { + z-index: 1040; +} + +.navbar-static-side .navbar-side > li .nav-childpages { + -webkit-overflow-scrolling: touch; +} + +.navbar-static-side .navbar-side > li .nav-childpages li.title { + font-family: colfax-web, sans-serif; + font-weight: 700; + letter-spacing: -.5px; +} + +.navbar-static-side .navbar-side > li .nav-childpages li.header { + font-family: colfax-web, sans-serif; + color: @brand-color; + border-color: @brand-color; +} + +.navbar-static-side .navbar-side > li .nav-childpages li a { + font-family: colfax-web, sans-serif; + font-weight: 500; + line-height: 2; +} + +.navbar-static-side .navbar-side > li .nav-childpages { + width: 340px; +} + +.nav-pills.nav-stacked>li+li { + margin-left: 0; +} + + +// Breadcrumbs +.main-content .page-title .breadcrumb { + font-family: colfax-web, sans-serif; + font-size: @font-size-base; + font-weight: 500; +} + +.breadcrumb > .active { + color: @white; +} + +.breadcrumb > li + li:before { + color: @white; +} + +.main-content .page-title .breadcrumb a:hover { + text-decoration: none; + color: @white; +} + +// List as Blocks +.list-as-blocks h3 { + font-weight: 700; +} + +// Buttons +.btn { + font-family: colfax-web, sans-serif; + border-radius: 5px; + font-weight: 500; +} + +.btn-sm, .btn-xs { + border-radius: 3px; +} + +.btn:not(.btn-lg):not(.btn-sm):not(.btn-xs) { + padding: 7px 12px 5px; +} + +.btn-primary { + border-color: @brand-color; +} + +.btn-warning { + background-color: @brand-warning; + border-color: @brand-warning; + color: #fff; +} + +.btn-danger { + background-color: @brand-danger; + border-color: @brand-danger; + color: #fff; +} + +.grid-columncommand .btn-danger { + border-color: @brand-danger; + color: @brand-danger; +} + +.grid-columncommand .btn-danger:hover { + background-color: @brand-danger; + color: #fff; +} + + +// Toggles +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-color: @brand-color; + border-color: @brand-color; + color: #fff; +} + + +// Labels +.label { + font-family: colfax-web, sans-serif; + padding-top: .5em; + border-radius: 3px; + font-weight: 500; +} + +td .label { + position: relative; + top: -2px; + margin-left: 5px; +} + + +// Badges +.badge { + font-family: colfax-web, sans-serif; + background-color: @gray; +} + +// Tags +.taglist .tag { + font-family: colfax-web, sans-serif; +} + +// Page Title +.main-content .page-title { + background-color: @brand-secondary; + color: @white; + margin-left: -@base-spacing-unit/2; + margin-right: -@base-spacing-unit/2; + padding: 30px 35px; + + h1.title { + margin-bottom: 4px; + } +} + + +// Workflow Notifications +.workflowNotifications { + margin-top: 12px; +} + +.workflowNotifications, +.workflowNotifications .badge { + width: 43px !important; + height: 43px !important; + line-height: 47px !important; + border-radius: 43px !important; +} + + +// Login Status +.rock-top-header .loginstatus > li > a { + padding: 0 15px; +} + + +// Smart Search +.smartsearch { + background-color: @white; + border-radius: 3px; +} + +.rock-top-header .smartsearch i { + margin-left: 14px; + color: @gray-darker; + opacity: 1; +} + +.rock-top-header .smartsearch input.searchinput, +.rock-top-header .smartsearch input.tt-hint { + padding-left: 40px; + font-weight: 500; + color: @gray-dark; +} + +.rock-top-header .smartsearch .dropdown .navbar-link { + color: @gray-dark; + font-weight: 500; +} + +.smartsearch:focus-within { + background-color: #fff; +} + + +// Actions Menu +.personprofilebar-bio .action-wrapper { + z-index: 501; +} + + +// Dropdowns +.dropdown-menu > li > a { + font-weight: 500; +} + + +// Selects +select { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.select-wrapper { + display: inline-block; + position: relative; +} + +.select-wrapper select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #6bac43; + border: 0; + padding: 6px 10px 5px; + padding-right: 30px; + font-family: colfax-web,sans-serif; + font-weight: 500; + color: #fff; + outline: none; + cursor: pointer; +} + +.select-wrapper i { + position: absolute; + top: 50%; + right: 10px; + margin-top: -7px; + color: #fff; + z-index: 1; +} + + +// Workflows +.workflow-activity > .panel-heading { + background-color: @gray-light; + border-color: @gray-light; + color: @gray-darker; + + .filter-toggle { + margin-top: 2px; + } + + a.btn-link { + color: @gray-darker; + } +} + + +// Fixed Ratios +.ratio-thin, .ratio-landscape, .ratio-shuare, .ratio-square, .ratio-portrait { + position: relative; + display: block; + + .ratio-item { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + &:before{ + content: ""; + display: block; + } +} + +.ratio-thin:before{ padding-top: 40%; } +.ratio-landscape:before{ padding-top: 50%; } +.ratio-shuare:before{ padding-top: 70%; } +.ratio-square:before{ padding-top: 100%; } +.ratio-portrait:before{ padding-top: 150%; } + + +// Breakpoint Overrides +@media only screen and (min-width: 992px) { + .main-content .page-title { + margin-left: -@base-spacing-unit - 5; + margin-right: -@base-spacing-unit - 5; + } + + .workflowNotifications { + margin-top: -8px; + } +} + +@media only screen and (max-width: 1200px) { + .col-md-fifth { + width: 50%; + } +} + +@media (max-width: 768px) { + // Smart Search + .rock-top-header .smartsearch { + width: 100%; + border-radius: 0; + margin-bottom: 0; + margin-top: 0; + border-bottom: 1px solid @gray-light; + } + + + // Nav Tabs + .nav-tabs > li { + width: 100%; + + a { + padding: @base-spacing-unit/2 !important; + border-radius: 3px; + font-weight: 500; + + &:after { + display: none; + } + + &:hover { + background-color: @gray-lighter; + } + } + + &.active, &:focus { + a { + background-color: @brand-color; + color: @white; + + &:hover { + background-color: @brand-color; + color: @white; + } + } + } + } + + + // Login Status + .rock-top-header .loginstatus > li .dropdown-menu { + background-color: @white; + + & > li > a { + color: @gray-dark; + + &:hover { + color: @white; + } + } + } + + + // Helpers + .xs-soft { padding: @base-spacing-unit; } + .xs-soft-sides { padding-left: @base-spacing-unit; padding-right: @base-spacing-unit; } + .xs-soft-ends { padding-top: @base-spacing-unit; padding-bottom: @base-spacing-unit; } + .xs-soft-top { padding-top: @base-spacing-unit; } + .xs-soft-right { padding-right: @base-spacing-unit; } + .xs-soft-bottom { padding-bottom: @base-spacing-unit; } + .xs-soft-left { padding-left: @base-spacing-unit; } + + .xs-soft-half { padding: @base-spacing-unit/2; } + .xs-soft-half-sides { padding-left: @base-spacing-unit/2; padding-right: @base-spacing-unit/2; } + .xs-soft-half-ends { padding-top: @base-spacing-unit/2; padding-bottom: @base-spacing-unit/2; } + .xs-soft-half-top { padding-top: @base-spacing-unit/2; } + .xs-soft-half-right { padding-right: @base-spacing-unit/2; } + .xs-soft-half-bottom { padding-bottom: @base-spacing-unit/2; } + .xs-soft-half-left { padding-left: @base-spacing-unit/2; } + + .xs-soft-quarter { padding: @base-spacing-unit/4; } + .xs-soft-quarter-sides { padding-left: @base-spacing-unit/4; padding-right: @base-spacing-unit/4; } + .xs-soft-quarter-ends { padding-top: @base-spacing-unit/4; padding-bottom: @base-spacing-unit/4; } + .xs-soft-quarter-top { padding-top: @base-spacing-unit/4; } + .xs-soft-quarter-right { padding-right: @base-spacing-unit/4; } + .xs-soft-quarter-bottom { padding-bottom: @base-spacing-unit/4; } + .xs-soft-quarter-left { padding-left: @base-spacing-unit/4; } + + .xs-push-top { margin-top: @base-spacing-unit; } + .xs-push-right { margin-right: @base-spacing-unit; } + .xs-push-bottom { margin-bottom: @base-spacing-unit; } + .xs-push-left { margin-left: @base-spacing-unit; } + + .xs-push-half-top { margin-top: @base-spacing-unit/2; } + .xs-push-half-right { margin-right: @base-spacing-unit/2; } + .xs-push-half-bottom { margin-bottom: @base-spacing-unit/2; } + .xs-push-half-left { margin-left: @base-spacing-unit/2; } + + .xs-push-quarter-top { margin-top: @base-spacing-unit/4; } + .xs-push-quarter-right { margin-right: @base-spacing-unit/4; } + .xs-push-quarter-bottom { margin-bottom: @base-spacing-unit/4; } + .xs-push-quarter-left { margin-left: @base-spacing-unit/4; } + + .xs-flush { margin: 0; } + .xs-flush-sides { margin-left: 0; margin-right: 0; } + .xs-flush-ends { margin-top: 0; margin-bottom: 0; } + .xs-flush-top { margin-top: 0; } + .xs-flush-right { margin-right: 0; } + .xs-flush-bottom { margin-bottom: 0; } + .xs-flush-left { margin-left: 0; } + + .xs-hard { padding: 0; } + .xs-hard-sides { padding-left: 0; padding-right: 0; } + .xs-hard-ends { padding-top: 0; padding-bottom: 0; } + .xs-hard-top { padding-top: 0; } + .xs-hard-right { padding-right: 0; } + .xs-hard-bottom { padding-bottom: 0; } + .xs-hard-left { padding-left: 0; } +} + +@media only screen and (max-width: 500px) { + .col-md-fifth { + width: 100%; + } + + .xs-btn-block { + display: inline-block; + width: 100%; + } +} + +@media only screen and (max-width: 768px) { + .rock-top-header .smartsearch { + margin-top:20px; + } +} + +@media only screen and (max-width: 992px) { + .workflowNotifications { + margin-top: 0px; + } +} + +.main-content .page-title { + margin-top: -20px; + margin-bottom: -20px; + } \ No newline at end of file diff --git a/RockWeb/app_offline-template.htm b/RockWeb/app_offline-template.htm index 6a934c60ebd..31de790c5a5 100644 --- a/RockWeb/app_offline-template.htm +++ b/RockWeb/app_offline-template.htm @@ -1,48 +1,87 @@  - - - - + + + + + Temporarily Unavailable | NewSpring Church + + + .container { + padding: 30px; + max-width: 850px; + margin: 0 auto; + text-align: center; + } + @media screen and (max-width: 600px) { + h1 { + font-size: 32px; + letter-spacing: -1px; + } + } + - -
    -
    -
    - -
    -
    -

    Updates in Progress...

    -

    Our website is unavailable for the moment. We'll be back and running before long so please try again soon.

    -

    Thanks for your patience!

    - - -
    -
    - +
    + NewSpring Church +

    The old has passed away.
    Behold, the new has come!

    +

    The application you are trying to reach is currently down for scheduled maintenance or is temporarily unavailable. We apologize for any inconvenience and if you have any further questions please feel free to reach out.

    - - diff --git a/RockWeb/before-deploy.ps1 b/RockWeb/before-deploy.ps1 new file mode 100644 index 00000000000..436d48f9d77 --- /dev/null +++ b/RockWeb/before-deploy.ps1 @@ -0,0 +1,94 @@ +# This script is run by AppVeyor's deploy agent before the deploy +Import-Module WebAdministration + + +$rootfolder = "$env:application_path\..\" +$webroot = "$env:application_path" + +Write-Output "Running pre-deploy script" +Write-Output "--------------------------------------------------" +Write-Output "Root folder: $rootfolder" +Write-Output "Web root folder: $webroot" +Write-Output "Running script as: $env:userdomain\$env:username" + +# stop execution of the deploy if the moves fail +$ErrorActionPreference = "Stop" + +# backup web.config file +If (Test-Path "$webroot\web.config"){ + Write-Host "Moving web.config to temp dir" + Copy-Item "$webroot\web.config" "$rootfolder\temp" -force +} + +# backup connection string file +If (Test-Path "$webroot\web.connectionstrings.config"){ + Write-Host "Moving web.connectionstrings.config to temp dir" + Copy-Item "$webroot\web.connectionstrings.config" "$rootfolder\temp" -force +} + +# backup RedirectorRules +If (Test-Path "$webroot\App_Data\TriumphTech-WebAgility\RedirectorRules.json"){ + Write-Host "Moving RedirectorRules.json to temp dir" + Copy-Item "$webroot\App_Data\TriumphTech-WebAgility\RedirectorRules.json" "$rootfolder\temp" -force +} + +# backup RequestHeaderRules +If (Test-Path "$webroot\App_Data\TriumphTech-WebAgility\RequestHeaderRules.json"){ + Write-Host "Moving RequestHeaderRules.json to temp dir" + Copy-Item "$webroot\App_Data\TriumphTech-WebAgility\RequestHeaderRules.json" "$rootfolder\temp" -force +} + +# backup ResponseHeaderRules +If (Test-Path "$webroot\App_Data\TriumphTech-WebAgility\ResponseHeaderRules.json"){ + Write-Host "Moving ResponseHeaderRules.json to temp dir" + Copy-Item "$webroot\App_Data\TriumphTech-WebAgility\ResponseHeaderRules.json" "$rootfolder\temp" -force +} + +# backup css overrides for core Rock theme +If (Test-Path "$webroot\Themes\Rock\Styles\_css-overrides.less"){ + Write-Host "Moving _css-overrides.less to temp dir" + Copy-Item "$webroot\Themes\Rock\Styles\_css-overrides.less" "$rootfolder\temp" -force +} + +# backup css overrides for Rock Manager theme +If (Test-Path "$webroot\Themes\RockManager\Styles\_css-overrides.less"){ + Write-Host "Moving _css-overrides.less to temp dir" + Copy-Item "$webroot\Themes\RockManager\Styles\_css-overrides.less" "$rootfolder\temp\RockManager" -force +} + +# load the app offline template +If (Test-Path "$webroot\app_offline-template.htm"){ + Write-Host "Loading the app offline template" + Copy-Item "$webroot\app_offline-template.htm" "$webroot\app_offline.htm" -force +} + +# stop web publishing service - needed to allow the deploy to overwrite the sql server spatial types +#Write-Host "Stopping Web Publishing Service" +#Stop-Service -ServiceName w3logsvc +#Stop-Service -ServiceName w3svc + +# delete the content directory in temp +#If (Test-Path "$rootfolder\temp\Content"){ +# Remove-Item "$rootfolder\temp\Content" -Force -Confirm:$False -Recurse +#} + +# move content folder to temp +If (Test-Path "$webroot\Content"){ + Write-Host "Moving content folder to temp directory" + Move-Item "$webroot\Content" "$rootfolder\temp\Content" +} + +If (Test-Path "$webroot\checks"){ + Write-Host "Moving checks folder to temp directory" + Move-Item "$webroot\checks" "$rootfolder\temp\checks" +} + +If (Test-Path "$webroot\documents"){ + Write-Host "Moving documents folder to temp directory" + Move-Item "$webroot\documents" "$rootfolder\temp\documents" +} + +If (Test-Path "$webroot\profiles"){ + Write-Host "Moving profiles folder to temp directory" + Move-Item "$webroot\profiles" "$rootfolder\temp\profiles" +} diff --git a/RockWeb/deploy.ps1 b/RockWeb/deploy.ps1 new file mode 100644 index 00000000000..fcfcef75141 --- /dev/null +++ b/RockWeb/deploy.ps1 @@ -0,0 +1,114 @@ +# This script is run by AppVeyor's deploy agent after the deploy +Import-Module WebAdministration + + +$rootfolder = "$env:application_path\..\" +$webroot = "$env:application_path" + +Write-Output "Running post-deploy script" +Write-Output "--------------------------------------------------" +Write-Output "Root folder: $rootfolder" +Write-Output "Web root folder: $webroot" +Write-Output "Running script as: $env:userdomain\$env:username" + +# delete the content directory if it exists as it was added by the deploy +If (Test-Path "$webroot\Content"){ + Remove-Item "$webroot\Content" -Force -Confirm:$False -Recurse +} + +# move content directory back from temp +If (Test-Path "$rootfolder\temp\Content"){ + Write-Host "Moving Contents folder back from temp directory" + Move-Item "$rootfolder\temp\Content" "$webroot" +} + +If (Test-Path "$rootfolder\temp\checks"){ + Write-Host "Moving checks folder back from temp directory" + Move-Item "$rootfolder\temp\checks" "$webroot" +} + +If (Test-Path "$rootfolder\temp\documents"){ + Write-Host "Moving documents folder back from temp directory" + Move-Item "$rootfolder\temp\documents" "$webroot" +} + +If (Test-Path "$rootfolder\temp\profiles"){ + Write-Host "Moving profiles folder back from temp directory" + Move-Item "$rootfolder\temp\profiles" "$webroot" +} + +# start web publishing service +#Write-Host "Starting Web Publishing Service" +#Start-Service -ServiceName w3svc +#Start-Service -ServiceName w3logsvc + +# create empty migration flag +New-Item "$webroot\App_Data\Run.Migration" -type file -force + +# set acl on migration flag file so the app has permissions to delete it +$acl = Get-ACL "$webroot\App_Data\Run.Migration" +$accessRule= New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","FullControl","Allow") +$acl.AddAccessRule($accessRule) +Set-Acl "$webroot\App_Data\Run.Migration" $acl + +# delete deploy scripts +If (Test-Path "$webroot\deploy.ps1"){ + Remove-Item "$webroot\deploy.ps1" +} + +If (Test-Path "$webroot\before-deploy.ps1"){ + Remove-Item "$webroot\before-deploy.ps1" +} + +# delete the appveyor deploy cache +# If (Test-Path c:\appveyor){ +# Remove-Item c:\appveyor -Force -Confirm:$False -Recurse +# } + +# move connection string file back from temp +If (Test-Path "$rootfolder\temp\web.connectionstrings.config"){ + Write-Host "Moving web.connectionstrings.config from temp dir" + Copy-Item "$rootfolder\temp\web.connectionstrings.config" "$webroot" -force +} + +# move RedirectorRules file back from temp +If (Test-Path "$rootfolder\temp\RedirectorRules.json"){ + Write-Host "Moving RedirectorRules.json from temp dir" + Copy-Item "$rootfolder\temp\RedirectorRules.json" "$webroot\App_Data\TriumphTech-WebAgility" -force +} + +# move RequestHeaderRules file back from temp +If (Test-Path "$rootfolder\temp\RequestHeaderRules.json"){ + Write-Host "Moving RequestHeaderRules.json from temp dir" + Copy-Item "$rootfolder\temp\RequestHeaderRules.json" "$webroot\App_Data\TriumphTech-WebAgility" -force +} + +# move ResponseHeaderRules file back from temp +If (Test-Path "$rootfolder\temp\ResponseHeaderRules.json"){ + Write-Host "Moving ResponseHeaderRules.json from temp dir" + Copy-Item "$rootfolder\temp\ResponseHeaderRules.json" "$webroot\App_Data\TriumphTech-WebAgility" -force +} + +# move core Rock css overrides file back from temp +If (Test-Path "$rootfolder\temp\_css-overrides.less"){ + Write-Host "Moving _css-overrides.less from temp dir" + Copy-Item "$rootfolder\temp\_css-overrides.less" "$webroot\Themes\Rock\Styles" -force +} + +# move core Rock css overrides file back from temp +If (Test-Path "$rootfolder\temp\_css-overrides.less"){ + Write-Host "Moving _css-overrides.less from temp dir" + Copy-Item "$rootfolder\temp\RockManager\_css-overrides.less" "$webroot\Themes\RockManager\Styles" -force +} + +# remove the app offline flag +If (Test-Path "$webroot\app_offline.htm"){ + Write-Host "Removing app offline template" + Remove-Item "$webroot\app_offline.htm" +} + +# move web.config file back from temp (restarts the app pool) +If (Test-Path "$rootfolder\temp\web.config"){ + Write-Host "Moving web.config from temp dir" + Copy-Item "$rootfolder\temp\web.config" "$webroot" -force +} diff --git a/RockWeb/web.config b/RockWeb/web.config index b48ec279104..b7d7bc771a6 100644 --- a/RockWeb/web.config +++ b/RockWeb/web.config @@ -1,4 +1,4 @@ - +
    @@ -36,7 +36,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -126,6 +126,8 @@ + + @@ -145,14 +147,34 @@ + + + + + + + + + + + + + + + + + + + - + + diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000000..69b6a2cbb61 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,95 @@ +#---------------------------------# +# Rock RMS # +#---------------------------------# + +# version format +version: 1.3.{build} + +# increment flag +pull_requests: + do_not_increment_build_number: true + +# branches to build +branches: + only: + - master + - beta + - alpha + - pre-alpha-release + +# Do not build on tags (GitHub only) +skip_tags: true + +# operating system (build VM template) +image: Visual Studio 2019 +configuration: Release +platform: Any CPU + +# clone directory and depth +clone_depth: 1 +clone_folder: C:\projects\Rock + +# scripts that run after cloning repository +install: +- ps: >- + $fileContent = "-----BEGIN RSA PRIVATE KEY-----`n" + + $fileContent += $env:priv_key.Replace(' ', "`n") + + $fileContent += "`n-----END RSA PRIVATE KEY-----`n" + + Set-Content c:\users\appveyor\.ssh\id_rsa $fileContent + + git clone -q --depth=1 https://github.com/NewSpring/rock-f1.git c:\projects\rock-f1 + + git clone -q --depth=1 https://github.com/NewSpring/rock-cache-sync.git c:\projects\rock-cache-sync + + git clone -q --depth=1 https://github.com/NewSpring/apollos-onesignal.git c:\projects\apollos-onesignal + + +# directories to preserve between builds +cache: +#- node_modules +#- packages + +# scripts to run before build +# (New-Object Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/v3.4.4/nuget.exe', "$nugetDir\NuGet.exe") +before_build: +- ps: >- + (Get-Content "C:\projects\Rock\RockWeb\web.config").Replace('- + nuget restore + + "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv" + "c:\projects\Rock\rock.sln" /build Release + +# flag to stop building if an error throws +matrix: + fast_finish: true + +# test +test: + assemblies: + only: + - Rock.Tests.dll + +# IIS artifact configuration +artifacts: +- path: RockWeb + name: NewSpringRockKit + +# deployment configuration +deploy: +- provider: Environment + name: Alpha (alpha-rock.newspring.cc) + on: + branch: alpha \ No newline at end of file