Repository: johnwarne/reddit-top-rss
Branch: master
Commit: 5e38bfd2e671
Files: 21
Total size: 213.4 KB
Directory structure:
gitextract_89y497d5/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── auth.php
├── cache-clear.php
├── cache.php
├── config-default.php
├── dist/
│ └── css/
│ └── main.css
├── functions.php
├── gulpfile.js
├── html.php
├── index.php
├── js/
│ └── script.js
├── package.json
├── postlist.php
├── rss.php
├── scss/
│ ├── _variables.scss
│ └── main.scss
└── sort-and-filter.php
================================================
FILE CONTENTS
================================================
================================================
FILE: .dockerignore
================================================
.git
.vscode
cache
js
node_modules
scss
================================================
FILE: .gitignore
================================================
#------------------------
# Main ignored files
#------------------------
/.vscode
/cache
/config.php
/env.php
/node_modules
/package-lock.json
#------------------------
# OS files
#------------------------
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
*[Tt]humbs.db
*.Trashes
================================================
FILE: Dockerfile
================================================
FROM trafex/alpine-nginx-php7:latest
COPY --chown=nobody dist ./dist
COPY --chown=nobody auth.php cache-clear.php cache.php config-default.php functions.php html.php index.php postlist.php rss.php sort-and-filter.php ./
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2019 John Warne
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Update!
This project has been superseded by [Upvote RSS](https://github.com/johnwarne/upvote-rss), my newer project that adds feed support for article content, summaries, comments, media embeds, additional platforms (Lemmy and Hacker News), and others. Check it out!
https://github.com/johnwarne/upvote-rss
# Reddit Top RSS
Reddit Top RSS is a set of scripts for [Reddit's API](https://www.reddit.com/dev/api/) that generates RSS feeds for specified subreddits with score thresholds. To preview your outputted feed items there is a front end that utilizes the Bootstrap v4 framework.
## Preview

## Motivation
I prefer to interact with Reddit in a low-volume way, so I let Reddit Top RSS surface the most popular posts per subreddit in my [RSS reader of choice](https://reederapp.com/). I usually use the `averagePostsPerDay` filter so I can expect a certain amount of posts in my feeds per day.
## Installation and usage
### Reddit app setup
**Due to Reddit's 2023 updated API policies it is now required to first set up an app in your Reddit account that Reddit Top RSS will authenticate through.**
1. First, log into your Reddit account.
1. Navigate to the Reddit app preferences page: [https://www.reddit.com/prefs/apps](https://www.reddit.com/prefs/apps)
1. Click the `create app` or `create another app` button, depending on whether you’ve already created an app before.
1. Choose any name for the app. I've chosen `Top RSS`. Reddit will not allow you to use `Reddit` in the name.
1. Set the type of app to `web app`.
1. You can leave `description` and `about url` fields blank.
1. Enter in any valid URI in the `redirect uri` field. I've used `http://reddit-top-rss.test`.
1. Click the `create app` button when you’re done.
1. Your app’s client ID and client secret will be displayed. You'll need to add these to either your `config.php` or Docker environment variables.
### Manual
To install this repository manually:
1. Clone this repository somewhere with PHP >= 5.6 installed.
1. Copy `config-default.php` to `config.php`.
1. Enter your Reddit user, app ID, and secret into lines 49, 56, and 63, respectively.
1. Open `index.php` in a browser to view the front end.
1. Enter your parameters into the fields to get a preview of the posts that the filters will output. Click the `RSS` button at top to open a new tab with the rendered RSS XML output of the specified filters. This is the URL you subscribe to in your RSS aggregator.
### Docker
A docker image is available at [https://hub.docker.com/r/johnny5w/reddit-top-rss](https://hub.docker.com/r/johnny5w/reddit-top-rss).
#### Command line
```docker
docker run -p 80:8080 -e REDDIT_USER=your_reddit_user -e REDDIT_CLIENT_ID=your_app_id -e REDDIT_CLIENT_SECRET=your_app_secret johnny5w/reddit-top-rss:latest
```
#### docker-compose
```yaml
version: '3'
services:
reddit-top-rss:
image: johnny5w/reddit-top-rss
container_name: reddit-top-rss
restart: unless-stopped
ports:
- 80:8080
environment:
- REDDIT_USER=your_reddit_user
- REDDIT_CLIENT_ID=your_app_id
- REDDIT_CLIENT_SECRET=your_app_secret
- DEFAULT_SUBREDDIT=news
```
#### Docker environment variables
The following required environment variables must be set, or you will not be authorized with Reddit's API:
| Parameter | Function |
| --------------------- | ------------------------------------------------------------------------------ |
| REDDIT_USER | Your Reddit user account with which you've created an app |
| REDDIT_CLIENT_ID | The client ID of the app you've created |
| REDDIT_CLIENT_SECRET | The secret for the app you've created |
The following optional environment variables can be used to override the application defaults:
| Parameter | Function |
| --------------------- | ------------------------------------------------------------------------------ |
| DEFAULT_SUBREDDIT | This sets the initial subreddit on the first page load.
Default: `pics` |
| MERCURY_URL | URL of your Mercury parser instance. See below. |
| MERCURY_API_KEY | API key for your Mercury parser instance. |
| CACHE_REDDIT_JSON | Whether to cache the JSON responses from Reddit.
Default: `true` |
| CACHE_MERCURY_CONTENT | Whether to cache the responses from your Mercury instance.
Default: `true` |
| CACHE_RSS_FEEDS | Whether to cache the outputted XML from Reddit Top RSS.
Default: `true` |
## Supported URL parameters
There are five URL paramenters supported:
### subreddit
The exact string of the subreddit as it appears in the Reddit URL. Only one subreddit may be chosen.
### score
Items below the desired score will be filtered out.
### threshold
This parameter will get the average score for the past month's hot posts and will filter out items that fall below this percentage. This is helpful for volatile subreddits — and subreddits in general — since more people are using the service and causing posts to be scored higher and higher. Since this is a percentage, the number of items in the outputted feed should be more consistent than when using the `score` parameter.
### averagePostsPerDay
Reddit Top RSS will attempt to output an average number of posts per day by looking at a subreddit's recent history to determine the score below which posts will be filtered out. This is the filter I find most useful.
### view
Accepted values are `html` and `rss`:
- `html` shows the front end preview.
- `rss` shows the rendered RSS XML feed. Use this for the URL to subscribe to in your RSS aggregator.
- If the `view` parameter is left blank or omitted, the front end is shown.
## URI examples
- `https://www.example.com?subreddit=funny&threshold=10000`
- `https://www.example.com?subreddit=worldnews&score=1000&view=rss`
- `https://www.example.com?subreddit=coolgithubprojects&averagePostsPerDay=3`
## Configuration
Reddit Top RSS comes with a default configuration. If you'd like to turn caching off, set a different default subreddit, or use a self-hosted [Mercury parser](#mercury-parser), just enter your desired values in `config.php`.
## Mercury parser
If you'd like to include parsed article content in your outputted feed items, set a self-hosted [Mercury parser](https://github.com/postlight/mercury-parser) URL and optional API key in `config.php`. An easy to install, Dockerized version of the Mercury parser can be found here: [https://www.github.com/HenryQW/mercury-parser-api](https://www.github.com/HenryQW/mercury-parser-api).
## Caching
By default Reddit Top RSS will cache Reddit JSON files, rendered RSS XML files, and Mercury parsed content to speed up the application. To clear the cache, click the `Clear cached results` link in the footer. To disable caching for any of the above items, set the appropriate values to `false` in `config.php`.
## License
This project is released under the [MIT License].
[MIT License]: http://www.opensource.org/licenses/MIT
## Buy me a coffee
[![BuyMeCoffee][buymecoffeebadge]][buymecoffee]
---
[buymecoffee]: https://www.buymeacoffee.com/johnwarne
[buymecoffeebadge]: https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg?style=for-the-badge
================================================
FILE: auth.php
================================================
60 * 60 ) {
unlink('cache/token/token.txt');
$tokenFile = fopen('cache/token/token.txt', 'w');
fclose($tokenFile);
}
$accessToken = file_get_contents('cache/token/token.txt');
if(empty($accessToken)) {
$authString = base64_encode(REDDIT_CLIENT_ID . ':' . REDDIT_CLIENT_SECRET);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.reddit.com/api/v1/access_token');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'web:toprss:1.0 (by /u/' . REDDIT_USER . ')');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic ' . $authString));
$response = curl_exec($ch);
curl_close($ch);
if(strpos($response, 'error') !== false) {
die("There was an error authenticating with Reddit. Please check your username, client ID, and client secret.");
}
$accessToken = json_decode($response)->access_token;
$tokenFile = fopen('cache/token/token.txt', 'w');
fwrite($tokenFile, $accessToken);
fclose($tokenFile);
}
================================================
FILE: cache-clear.php
================================================
60 * 5) {
unlink($file);
}
}
if (!file_exists("cache/scores")) {
mkdir("cache/scores", 0755, true);
}
// Remove score files older than 1 hour
$dir = "cache/scores/";
foreach (glob($dir . "*") as $file) {
if(time() - filectime($file) > 60 * 60) {
unlink($file);
}
}
}
if(CACHE_MERCURY_CONTENT == true) {
if (!file_exists("cache/mercury")) {
mkdir("cache/mercury", 0755, true);
}
// Remove Mercury JSON files older than 7 days
$dir = "cache/mercury/";
foreach (glob($dir . "*") as $file) {
if(time() - filectime($file) > 60 * 60 * 24 * 7) {
unlink($file);
}
}
}
if(CACHE_RSS_FEEDS == true) {
if (!file_exists("cache/rss")) {
mkdir("cache/rss", 0755, true);
}
// Remove RSS feed files older than 1 hour
$dir = "cache/rss/";
foreach (glob($dir . "*") as $file) {
if(time() - filectime($file) > 60 * 60 ) {
unlink($file);
}
}
}
================================================
FILE: config-default.php
================================================
.col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0; }
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .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, .col-sm,
.col-sm-auto, .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, .col-md,
.col-md-auto, .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, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
position: relative;
width: 100%;
padding-right: 15px;
padding-left: 15px; }
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%; }
.col-auto {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%; }
.col-1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 8.33333%;
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 16.66667%;
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%; }
.col-4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 33.33333%;
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 41.66667%;
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-6 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%; }
.col-7 {
-webkit-box-flex: 0;
-ms-flex: 0 0 58.33333%;
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-8 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.66667%;
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-9 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%; }
.col-10 {
-webkit-box-flex: 0;
-ms-flex: 0 0 83.33333%;
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-11 {
-webkit-box-flex: 0;
-ms-flex: 0 0 91.66667%;
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-12 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%; }
.order-first {
-webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1; }
.order-last {
-webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13; }
.order-0 {
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0; }
.order-1 {
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1; }
.order-2 {
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2; }
.order-3 {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3; }
.order-4 {
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4; }
.order-5 {
-webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5; }
.order-6 {
-webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6; }
.order-7 {
-webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7; }
.order-8 {
-webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8; }
.order-9 {
-webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9; }
.order-10 {
-webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10; }
.order-11 {
-webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11; }
.order-12 {
-webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12; }
.offset-1 {
margin-left: 8.33333%; }
.offset-2 {
margin-left: 16.66667%; }
.offset-3 {
margin-left: 25%; }
.offset-4 {
margin-left: 33.33333%; }
.offset-5 {
margin-left: 41.66667%; }
.offset-6 {
margin-left: 50%; }
.offset-7 {
margin-left: 58.33333%; }
.offset-8 {
margin-left: 66.66667%; }
.offset-9 {
margin-left: 75%; }
.offset-10 {
margin-left: 83.33333%; }
.offset-11 {
margin-left: 91.66667%; }
@media (min-width: 576px) {
.col-sm {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%; }
.col-sm-auto {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%; }
.col-sm-1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 8.33333%;
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-sm-2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 16.66667%;
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-sm-3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%; }
.col-sm-4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 33.33333%;
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-sm-5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 41.66667%;
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-sm-6 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%; }
.col-sm-7 {
-webkit-box-flex: 0;
-ms-flex: 0 0 58.33333%;
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-sm-8 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.66667%;
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-sm-9 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%; }
.col-sm-10 {
-webkit-box-flex: 0;
-ms-flex: 0 0 83.33333%;
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-sm-11 {
-webkit-box-flex: 0;
-ms-flex: 0 0 91.66667%;
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-sm-12 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%; }
.order-sm-first {
-webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1; }
.order-sm-last {
-webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13; }
.order-sm-0 {
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0; }
.order-sm-1 {
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1; }
.order-sm-2 {
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2; }
.order-sm-3 {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3; }
.order-sm-4 {
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4; }
.order-sm-5 {
-webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5; }
.order-sm-6 {
-webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6; }
.order-sm-7 {
-webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7; }
.order-sm-8 {
-webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8; }
.order-sm-9 {
-webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9; }
.order-sm-10 {
-webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10; }
.order-sm-11 {
-webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11; }
.order-sm-12 {
-webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12; }
.offset-sm-0 {
margin-left: 0; }
.offset-sm-1 {
margin-left: 8.33333%; }
.offset-sm-2 {
margin-left: 16.66667%; }
.offset-sm-3 {
margin-left: 25%; }
.offset-sm-4 {
margin-left: 33.33333%; }
.offset-sm-5 {
margin-left: 41.66667%; }
.offset-sm-6 {
margin-left: 50%; }
.offset-sm-7 {
margin-left: 58.33333%; }
.offset-sm-8 {
margin-left: 66.66667%; }
.offset-sm-9 {
margin-left: 75%; }
.offset-sm-10 {
margin-left: 83.33333%; }
.offset-sm-11 {
margin-left: 91.66667%; } }
@media (min-width: 768px) {
.col-md {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%; }
.col-md-auto {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%; }
.col-md-1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 8.33333%;
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-md-2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 16.66667%;
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-md-3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%; }
.col-md-4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 33.33333%;
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-md-5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 41.66667%;
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-md-6 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%; }
.col-md-7 {
-webkit-box-flex: 0;
-ms-flex: 0 0 58.33333%;
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-md-8 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.66667%;
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-md-9 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%; }
.col-md-10 {
-webkit-box-flex: 0;
-ms-flex: 0 0 83.33333%;
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-md-11 {
-webkit-box-flex: 0;
-ms-flex: 0 0 91.66667%;
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-md-12 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%; }
.order-md-first {
-webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1; }
.order-md-last {
-webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13; }
.order-md-0 {
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0; }
.order-md-1 {
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1; }
.order-md-2 {
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2; }
.order-md-3 {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3; }
.order-md-4 {
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4; }
.order-md-5 {
-webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5; }
.order-md-6 {
-webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6; }
.order-md-7 {
-webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7; }
.order-md-8 {
-webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8; }
.order-md-9 {
-webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9; }
.order-md-10 {
-webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10; }
.order-md-11 {
-webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11; }
.order-md-12 {
-webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12; }
.offset-md-0 {
margin-left: 0; }
.offset-md-1 {
margin-left: 8.33333%; }
.offset-md-2 {
margin-left: 16.66667%; }
.offset-md-3 {
margin-left: 25%; }
.offset-md-4 {
margin-left: 33.33333%; }
.offset-md-5 {
margin-left: 41.66667%; }
.offset-md-6 {
margin-left: 50%; }
.offset-md-7 {
margin-left: 58.33333%; }
.offset-md-8 {
margin-left: 66.66667%; }
.offset-md-9 {
margin-left: 75%; }
.offset-md-10 {
margin-left: 83.33333%; }
.offset-md-11 {
margin-left: 91.66667%; } }
@media (min-width: 992px) {
.col-lg {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%; }
.col-lg-auto {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%; }
.col-lg-1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 8.33333%;
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-lg-2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 16.66667%;
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-lg-3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%; }
.col-lg-4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 33.33333%;
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-lg-5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 41.66667%;
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-lg-6 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%; }
.col-lg-7 {
-webkit-box-flex: 0;
-ms-flex: 0 0 58.33333%;
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-lg-8 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.66667%;
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-lg-9 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%; }
.col-lg-10 {
-webkit-box-flex: 0;
-ms-flex: 0 0 83.33333%;
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-lg-11 {
-webkit-box-flex: 0;
-ms-flex: 0 0 91.66667%;
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-lg-12 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%; }
.order-lg-first {
-webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1; }
.order-lg-last {
-webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13; }
.order-lg-0 {
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0; }
.order-lg-1 {
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1; }
.order-lg-2 {
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2; }
.order-lg-3 {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3; }
.order-lg-4 {
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4; }
.order-lg-5 {
-webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5; }
.order-lg-6 {
-webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6; }
.order-lg-7 {
-webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7; }
.order-lg-8 {
-webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8; }
.order-lg-9 {
-webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9; }
.order-lg-10 {
-webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10; }
.order-lg-11 {
-webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11; }
.order-lg-12 {
-webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12; }
.offset-lg-0 {
margin-left: 0; }
.offset-lg-1 {
margin-left: 8.33333%; }
.offset-lg-2 {
margin-left: 16.66667%; }
.offset-lg-3 {
margin-left: 25%; }
.offset-lg-4 {
margin-left: 33.33333%; }
.offset-lg-5 {
margin-left: 41.66667%; }
.offset-lg-6 {
margin-left: 50%; }
.offset-lg-7 {
margin-left: 58.33333%; }
.offset-lg-8 {
margin-left: 66.66667%; }
.offset-lg-9 {
margin-left: 75%; }
.offset-lg-10 {
margin-left: 83.33333%; }
.offset-lg-11 {
margin-left: 91.66667%; } }
@media (min-width: 1200px) {
.col-xl {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%; }
.col-xl-auto {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%; }
.col-xl-1 {
-webkit-box-flex: 0;
-ms-flex: 0 0 8.33333%;
flex: 0 0 8.33333%;
max-width: 8.33333%; }
.col-xl-2 {
-webkit-box-flex: 0;
-ms-flex: 0 0 16.66667%;
flex: 0 0 16.66667%;
max-width: 16.66667%; }
.col-xl-3 {
-webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%; }
.col-xl-4 {
-webkit-box-flex: 0;
-ms-flex: 0 0 33.33333%;
flex: 0 0 33.33333%;
max-width: 33.33333%; }
.col-xl-5 {
-webkit-box-flex: 0;
-ms-flex: 0 0 41.66667%;
flex: 0 0 41.66667%;
max-width: 41.66667%; }
.col-xl-6 {
-webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%; }
.col-xl-7 {
-webkit-box-flex: 0;
-ms-flex: 0 0 58.33333%;
flex: 0 0 58.33333%;
max-width: 58.33333%; }
.col-xl-8 {
-webkit-box-flex: 0;
-ms-flex: 0 0 66.66667%;
flex: 0 0 66.66667%;
max-width: 66.66667%; }
.col-xl-9 {
-webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%; }
.col-xl-10 {
-webkit-box-flex: 0;
-ms-flex: 0 0 83.33333%;
flex: 0 0 83.33333%;
max-width: 83.33333%; }
.col-xl-11 {
-webkit-box-flex: 0;
-ms-flex: 0 0 91.66667%;
flex: 0 0 91.66667%;
max-width: 91.66667%; }
.col-xl-12 {
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%; }
.order-xl-first {
-webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1; }
.order-xl-last {
-webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13; }
.order-xl-0 {
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0; }
.order-xl-1 {
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1; }
.order-xl-2 {
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2; }
.order-xl-3 {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3; }
.order-xl-4 {
-webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4; }
.order-xl-5 {
-webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5; }
.order-xl-6 {
-webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6; }
.order-xl-7 {
-webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7; }
.order-xl-8 {
-webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8; }
.order-xl-9 {
-webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9; }
.order-xl-10 {
-webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10; }
.order-xl-11 {
-webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11; }
.order-xl-12 {
-webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12; }
.offset-xl-0 {
margin-left: 0; }
.offset-xl-1 {
margin-left: 8.33333%; }
.offset-xl-2 {
margin-left: 16.66667%; }
.offset-xl-3 {
margin-left: 25%; }
.offset-xl-4 {
margin-left: 33.33333%; }
.offset-xl-5 {
margin-left: 41.66667%; }
.offset-xl-6 {
margin-left: 50%; }
.offset-xl-7 {
margin-left: 58.33333%; }
.offset-xl-8 {
margin-left: 66.66667%; }
.offset-xl-9 {
margin-left: 75%; }
.offset-xl-10 {
margin-left: 83.33333%; }
.offset-xl-11 {
margin-left: 91.66667%; } }
.form-control {
display: block;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 0.25rem;
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
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, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
.form-control {
-webkit-transition: none;
transition: none; } }
.form-control::-ms-expand {
background-color: transparent;
border: 0; }
.form-control:focus {
color: #495057;
background-color: #fff;
border-color: #6acdfd;
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.form-control::-webkit-input-placeholder {
color: #6c757d;
opacity: 1; }
.form-control::-moz-placeholder {
color: #6c757d;
opacity: 1; }
.form-control::-ms-input-placeholder {
color: #6c757d;
opacity: 1; }
.form-control::placeholder {
color: #6c757d;
opacity: 1; }
.form-control:disabled, .form-control[readonly] {
background-color: #e9ecef;
opacity: 1; }
select.form-control:focus::-ms-value {
color: #495057;
background-color: #fff; }
.form-control-file,
.form-control-range {
display: block;
width: 100%; }
.col-form-label {
padding-top: calc(0.375rem + 1px);
padding-bottom: calc(0.375rem + 1px);
margin-bottom: 0;
font-size: inherit;
line-height: 1.5; }
.col-form-label-lg {
padding-top: calc(0.5rem + 1px);
padding-bottom: calc(0.5rem + 1px);
font-size: 1.25rem;
line-height: 1.5; }
.col-form-label-sm {
padding-top: calc(0.25rem + 1px);
padding-bottom: calc(0.25rem + 1px);
font-size: 0.875rem;
line-height: 1.5; }
.form-control-plaintext {
display: block;
width: 100%;
padding-top: 0.375rem;
padding-bottom: 0.375rem;
margin-bottom: 0;
line-height: 1.5;
color: #212529;
background-color: transparent;
border: solid transparent;
border-width: 1px 0; }
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
padding-right: 0;
padding-left: 0; }
.form-control-sm {
height: calc(1.5em + 0.5rem + 2px);
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
line-height: 1.5;
border-radius: 0.2rem; }
.form-control-lg {
height: calc(1.5em + 1rem + 2px);
padding: 0.5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: 0.3rem; }
select.form-control[size], select.form-control[multiple] {
height: auto; }
textarea.form-control {
height: auto; }
.form-group {
margin-bottom: 1rem; }
.form-text {
display: block;
margin-top: 0.25rem; }
.form-row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -5px;
margin-left: -5px; }
.form-row > .col,
.form-row > [class*="col-"] {
padding-right: 5px;
padding-left: 5px; }
.form-check {
position: relative;
display: block;
padding-left: 1.25rem; }
.form-check-input {
position: absolute;
margin-top: 0.3rem;
margin-left: -1.25rem; }
.form-check-input:disabled ~ .form-check-label {
color: #6c757d; }
.form-check-label {
margin-bottom: 0; }
.form-check-inline {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding-left: 0;
margin-right: 0.75rem; }
.form-check-inline .form-check-input {
position: static;
margin-top: 0;
margin-right: 0.3125rem;
margin-left: 0; }
.valid-feedback {
display: none;
width: 100%;
margin-top: 0.25rem;
font-size: 80%;
color: #28a745; }
.valid-tooltip {
position: absolute;
top: 100%;
z-index: 5;
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
margin-top: .1rem;
font-size: 0.875rem;
line-height: 1.5;
color: #fff;
background-color: rgba(40, 167, 69, 0.9);
border-radius: 0.25rem; }
.was-validated .form-control:valid, .form-control.is-valid {
border-color: #28a745;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: center right calc(0.375em + 0.1875rem);
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
border-color: #28a745;
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
.was-validated .form-control:valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
.form-control.is-valid ~ .valid-tooltip {
display: block; }
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }
.was-validated .custom-select:valid, .custom-select.is-valid {
border-color: #28a745;
padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
border-color: #28a745;
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
.was-validated .custom-select:valid ~ .valid-feedback,
.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
.custom-select.is-valid ~ .valid-tooltip {
display: block; }
.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
display: block; }
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
color: #28a745; }
.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
display: block; }
.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
color: #28a745; }
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
border-color: #28a745; }
.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
display: block; }
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
border-color: #34ce57;
background-color: #34ce57; }
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
border-color: #28a745; }
.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
border-color: #28a745; }
.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
display: block; }
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
border-color: #28a745;
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
.invalid-feedback {
display: none;
width: 100%;
margin-top: 0.25rem;
font-size: 80%;
color: #dc3545; }
.invalid-tooltip {
position: absolute;
top: 100%;
z-index: 5;
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
margin-top: .1rem;
font-size: 0.875rem;
line-height: 1.5;
color: #fff;
background-color: rgba(220, 53, 69, 0.9);
border-radius: 0.25rem; }
.was-validated .form-control:invalid, .form-control.is-invalid {
border-color: #dc3545;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
background-repeat: no-repeat;
background-position: center right calc(0.375em + 0.1875rem);
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
border-color: #dc3545;
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }
.was-validated .custom-select:invalid, .custom-select.is-invalid {
border-color: #dc3545;
padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
border-color: #dc3545;
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
.was-validated .custom-select:invalid ~ .invalid-feedback,
.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
.custom-select.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
color: #dc3545; }
.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
color: #dc3545; }
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
border-color: #dc3545; }
.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
border-color: #e4606d;
background-color: #e4606d; }
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
border-color: #dc3545; }
.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
border-color: #dc3545; }
.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
display: block; }
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
border-color: #dc3545;
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
.form-inline {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }
.form-inline .form-check {
width: 100%; }
@media (min-width: 576px) {
.form-inline label {
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-bottom: 0; }
.form-inline .form-group {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0; }
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle; }
.form-inline .form-control-plaintext {
display: inline-block; }
.form-inline .input-group,
.form-inline .custom-select {
width: auto; }
.form-inline .form-check {
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;
width: auto;
padding-left: 0; }
.form-inline .form-check-input {
position: relative;
-ms-flex-negative: 0;
flex-shrink: 0;
margin-top: 0;
margin-right: 0.25rem;
margin-left: 0; }
.form-inline .custom-control {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center; }
.form-inline .custom-control-label {
margin-bottom: 0; } }
.btn {
display: inline-block;
font-weight: 400;
color: #212529;
text-align: center;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
padding: 0.375rem 0.75rem;
font-size: 1rem;
line-height: 1.5;
border-radius: 0.25rem;
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
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;
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, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
.btn {
-webkit-transition: none;
transition: none; } }
.btn:hover {
color: #212529;
text-decoration: none; }
.btn:focus, .btn.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.btn.disabled, .btn:disabled {
opacity: 0.65; }
a.btn.disabled,
fieldset:disabled a.btn {
pointer-events: none; }
.btn-primary {
color: #fff;
background-color: #039BE5;
border-color: #039BE5; }
.btn-primary:hover {
color: #fff;
background-color: #0381bf;
border-color: #0279b3; }
.btn-primary:focus, .btn-primary.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(41, 170, 233, 0.5);
box-shadow: 0 0 0 0.2rem rgba(41, 170, 233, 0.5); }
.btn-primary.disabled, .btn-primary:disabled {
color: #fff;
background-color: #039BE5;
border-color: #039BE5; }
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
background-color: #0279b3;
border-color: #0270a6; }
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(41, 170, 233, 0.5);
box-shadow: 0 0 0 0.2rem rgba(41, 170, 233, 0.5); }
.btn-secondary {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
.btn-secondary:hover {
color: #fff;
background-color: #5a6268;
border-color: #545b62; }
.btn-secondary:focus, .btn-secondary.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
.btn-secondary.disabled, .btn-secondary:disabled {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
color: #fff;
background-color: #545b62;
border-color: #4e555b; }
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
.btn-success {
color: #fff;
background-color: #28a745;
border-color: #28a745; }
.btn-success:hover {
color: #fff;
background-color: #218838;
border-color: #1e7e34; }
.btn-success:focus, .btn-success.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #28a745;
border-color: #28a745; }
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
background-color: #1e7e34;
border-color: #1c7430; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
.btn-info {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8; }
.btn-info:hover {
color: #fff;
background-color: #138496;
border-color: #117a8b; }
.btn-info:focus, .btn-info.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
.btn-info.disabled, .btn-info:disabled {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8; }
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #117a8b;
border-color: #10707f; }
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
.btn-warning {
color: #212529;
background-color: #ffc107;
border-color: #ffc107; }
.btn-warning:hover {
color: #212529;
background-color: #e0a800;
border-color: #d39e00; }
.btn-warning:focus, .btn-warning.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
.btn-warning.disabled, .btn-warning:disabled {
color: #212529;
background-color: #ffc107;
border-color: #ffc107; }
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
color: #212529;
background-color: #d39e00;
border-color: #c69500; }
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
.btn-danger {
color: #fff;
background-color: #dc3545;
border-color: #dc3545; }
.btn-danger:hover {
color: #fff;
background-color: #c82333;
border-color: #bd2130; }
.btn-danger:focus, .btn-danger.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
.btn-danger.disabled, .btn-danger:disabled {
color: #fff;
background-color: #dc3545;
border-color: #dc3545; }
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
color: #fff;
background-color: #bd2130;
border-color: #b21f2d; }
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
.btn-light {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa; }
.btn-light:hover {
color: #212529;
background-color: #e2e6ea;
border-color: #dae0e5; }
.btn-light:focus, .btn-light.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
.btn-light.disabled, .btn-light:disabled {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa; }
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
color: #212529;
background-color: #dae0e5;
border-color: #d3d9df; }
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
.btn-dark {
color: #fff;
background-color: #343a40;
border-color: #343a40; }
.btn-dark:hover {
color: #fff;
background-color: #23272b;
border-color: #1d2124; }
.btn-dark:focus, .btn-dark.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
.btn-dark.disabled, .btn-dark:disabled {
color: #fff;
background-color: #343a40;
border-color: #343a40; }
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
color: #fff;
background-color: #1d2124;
border-color: #171a1d; }
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
.btn-outline-primary {
color: #039BE5;
border-color: #039BE5; }
.btn-outline-primary:hover {
color: #fff;
background-color: #039BE5;
border-color: #039BE5; }
.btn-outline-primary:focus, .btn-outline-primary.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5); }
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
color: #039BE5;
background-color: transparent; }
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #039BE5;
border-color: #039BE5; }
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5); }
.btn-outline-secondary {
color: #6c757d;
border-color: #6c757d; }
.btn-outline-secondary:hover {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
color: #6c757d;
background-color: transparent; }
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #6c757d;
border-color: #6c757d; }
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
.btn-outline-success {
color: #28a745;
border-color: #28a745; }
.btn-outline-success:hover {
color: #fff;
background-color: #28a745;
border-color: #28a745; }
.btn-outline-success:focus, .btn-outline-success.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
.btn-outline-success.disabled, .btn-outline-success:disabled {
color: #28a745;
background-color: transparent; }
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #28a745;
border-color: #28a745; }
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
.btn-outline-info {
color: #17a2b8;
border-color: #17a2b8; }
.btn-outline-info:hover {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8; }
.btn-outline-info:focus, .btn-outline-info.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
.btn-outline-info.disabled, .btn-outline-info:disabled {
color: #17a2b8;
background-color: transparent; }
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8; }
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
.btn-outline-warning {
color: #ffc107;
border-color: #ffc107; }
.btn-outline-warning:hover {
color: #212529;
background-color: #ffc107;
border-color: #ffc107; }
.btn-outline-warning:focus, .btn-outline-warning.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
color: #ffc107;
background-color: transparent; }
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
color: #212529;
background-color: #ffc107;
border-color: #ffc107; }
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
.btn-outline-danger {
color: #dc3545;
border-color: #dc3545; }
.btn-outline-danger:hover {
color: #fff;
background-color: #dc3545;
border-color: #dc3545; }
.btn-outline-danger:focus, .btn-outline-danger.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
color: #dc3545;
background-color: transparent; }
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #dc3545;
border-color: #dc3545; }
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
.btn-outline-light {
color: #f8f9fa;
border-color: #f8f9fa; }
.btn-outline-light:hover {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa; }
.btn-outline-light:focus, .btn-outline-light.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
.btn-outline-light.disabled, .btn-outline-light:disabled {
color: #f8f9fa;
background-color: transparent; }
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa; }
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
.btn-outline-dark {
color: #343a40;
border-color: #343a40; }
.btn-outline-dark:hover {
color: #fff;
background-color: #343a40;
border-color: #343a40; }
.btn-outline-dark:focus, .btn-outline-dark.focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
color: #343a40;
background-color: transparent; }
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
color: #fff;
background-color: #343a40;
border-color: #343a40; }
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
-webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
.btn-link {
font-weight: 400;
color: #039BE5;
text-decoration: none; }
.btn-link:hover {
color: #026899;
text-decoration: underline; }
.btn-link:focus, .btn-link.focus {
text-decoration: underline;
-webkit-box-shadow: none;
box-shadow: none; }
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
pointer-events: none; }
.btn-lg {
padding: 0.5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: 0.3rem; }
.btn-sm {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
line-height: 1.5;
border-radius: 0.2rem; }
.btn-block {
display: block;
width: 100%; }
.btn-block + .btn-block {
margin-top: 0.5rem; }
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%; }
.fade {
-webkit-transition: opacity 0.15s linear;
transition: opacity 0.15s linear; }
@media (prefers-reduced-motion: reduce) {
.fade {
-webkit-transition: none;
transition: none; } }
.fade:not(.show) {
opacity: 0; }
.collapse:not(.show) {
display: none; }
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
transition: height 0.35s ease; }
@media (prefers-reduced-motion: reduce) {
.collapsing {
-webkit-transition: none;
transition: none; } }
.input-group {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
width: 100%; }
.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
position: relative;
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
margin-bottom: 0; }
.input-group > .form-control + .form-control,
.input-group > .form-control + .custom-select,
.input-group > .form-control + .custom-file,
.input-group > .form-control-plaintext + .form-control,
.input-group > .form-control-plaintext + .custom-select,
.input-group > .form-control-plaintext + .custom-file,
.input-group > .custom-select + .form-control,
.input-group > .custom-select + .custom-select,
.input-group > .custom-select + .custom-file,
.input-group > .custom-file + .form-control,
.input-group > .custom-file + .custom-select,
.input-group > .custom-file + .custom-file {
margin-left: -1px; }
.input-group > .form-control:focus,
.input-group > .custom-select:focus,
.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
z-index: 3; }
.input-group > .custom-file .custom-file-input:focus {
z-index: 4; }
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.input-group > .custom-file {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }
.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.input-group > .custom-file:not(:first-child) .custom-file-label {
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.input-group-prepend,
.input-group-append {
display: -webkit-box;
display: -ms-flexbox;
display: flex; }
.input-group-prepend .btn,
.input-group-append .btn {
position: relative;
z-index: 2; }
.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
z-index: 3; }
.input-group-prepend .btn + .btn,
.input-group-prepend .btn + .input-group-text,
.input-group-prepend .input-group-text + .input-group-text,
.input-group-prepend .input-group-text + .btn,
.input-group-append .btn + .btn,
.input-group-append .btn + .input-group-text,
.input-group-append .input-group-text + .input-group-text,
.input-group-append .input-group-text + .btn {
margin-left: -1px; }
.input-group-prepend {
margin-right: -1px; }
.input-group-append {
margin-left: -1px; }
.input-group-text {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 0.375rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
text-align: center;
white-space: nowrap;
background-color: #e9ecef;
border: 1px solid #ced4da;
border-radius: 0.25rem; }
.input-group-text input[type="radio"],
.input-group-text input[type="checkbox"] {
margin-top: 0; }
.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
height: calc(1.5em + 1rem + 2px); }
.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: 0.3rem; }
.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
height: calc(1.5em + 0.5rem + 2px); }
.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
line-height: 1.5;
border-radius: 0.2rem; }
.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
padding-right: 1.75rem; }
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.custom-control {
position: relative;
display: block;
min-height: 1.5rem;
padding-left: 1.5rem; }
.custom-control-inline {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
margin-right: 1rem; }
.custom-control-input {
position: absolute;
z-index: -1;
opacity: 0; }
.custom-control-input:checked ~ .custom-control-label::before {
color: #fff;
border-color: #039BE5;
background-color: #039BE5; }
.custom-control-input:focus ~ .custom-control-label::before {
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
border-color: #6acdfd; }
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
color: #fff;
background-color: #9ddefe;
border-color: #9ddefe; }
.custom-control-input:disabled ~ .custom-control-label {
color: #6c757d; }
.custom-control-input:disabled ~ .custom-control-label::before {
background-color: #e9ecef; }
.custom-control-label {
position: relative;
margin-bottom: 0;
vertical-align: top; }
.custom-control-label::before {
position: absolute;
top: 0.25rem;
left: -1.5rem;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
content: "";
background-color: #fff;
border: #adb5bd solid 1px; }
.custom-control-label::after {
position: absolute;
top: 0.25rem;
left: -1.5rem;
display: block;
width: 1rem;
height: 1rem;
content: "";
background: no-repeat 50% / 50% 50%; }
.custom-checkbox .custom-control-label::before {
border-radius: 0.25rem; }
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); }
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
border-color: #039BE5;
background-color: #039BE5; }
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
background-color: rgba(3, 155, 229, 0.5); }
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
background-color: rgba(3, 155, 229, 0.5); }
.custom-radio .custom-control-label::before {
border-radius: 50%; }
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
background-color: rgba(3, 155, 229, 0.5); }
.custom-switch {
padding-left: 2.25rem; }
.custom-switch .custom-control-label::before {
left: -2.25rem;
width: 1.75rem;
pointer-events: all;
border-radius: 0.5rem; }
.custom-switch .custom-control-label::after {
top: calc(0.25rem + 2px);
left: calc(-2.25rem + 2px);
width: calc(1rem - 4px);
height: calc(1rem - 4px);
background-color: #adb5bd;
border-radius: 0.5rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
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;
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, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
.custom-switch .custom-control-label::after {
-webkit-transition: none;
transition: none; } }
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
background-color: #fff;
-webkit-transform: translateX(0.75rem);
transform: translateX(0.75rem); }
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
background-color: rgba(3, 155, 229, 0.5); }
.custom-select {
display: inline-block;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 1.75rem 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
vertical-align: middle;
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
background-color: #fff;
border: 1px solid #ced4da;
border-radius: 0.25rem;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
.custom-select:focus {
border-color: #6acdfd;
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-select:focus::-ms-value {
color: #495057;
background-color: #fff; }
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
height: auto;
padding-right: 0.75rem;
background-image: none; }
.custom-select:disabled {
color: #6c757d;
background-color: #e9ecef; }
.custom-select::-ms-expand {
display: none; }
.custom-select-sm {
height: calc(1.5em + 0.5rem + 2px);
padding-top: 0.25rem;
padding-bottom: 0.25rem;
padding-left: 0.5rem;
font-size: 0.875rem; }
.custom-select-lg {
height: calc(1.5em + 1rem + 2px);
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 1rem;
font-size: 1.25rem; }
.custom-file {
position: relative;
display: inline-block;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
margin-bottom: 0; }
.custom-file-input {
position: relative;
z-index: 2;
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
margin: 0;
opacity: 0; }
.custom-file-input:focus ~ .custom-file-label {
border-color: #6acdfd;
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-file-input:disabled ~ .custom-file-label {
background-color: #e9ecef; }
.custom-file-input:lang(en) ~ .custom-file-label::after {
content: "Browse"; }
.custom-file-input ~ .custom-file-label[data-browse]::after {
content: attr(data-browse); }
.custom-file-label {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
border: 1px solid #ced4da;
border-radius: 0.25rem; }
.custom-file-label::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
z-index: 3;
display: block;
height: calc(1.5em + 0.75rem);
padding: 0.375rem 0.75rem;
line-height: 1.5;
color: #495057;
content: "Browse";
background-color: #e9ecef;
border-left: inherit;
border-radius: 0 0.25rem 0.25rem 0; }
.custom-range {
width: 100%;
height: calc(1rem + 0.4rem);
padding: 0;
background-color: transparent;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; }
.custom-range:focus {
outline: none; }
.custom-range:focus::-webkit-slider-thumb {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(3, 155, 229, 0.25);
box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-range:focus::-moz-range-thumb {
box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-range:focus::-ms-thumb {
box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(3, 155, 229, 0.25); }
.custom-range::-moz-focus-outer {
border: 0; }
.custom-range::-webkit-slider-thumb {
width: 1rem;
height: 1rem;
margin-top: -0.25rem;
background-color: #039BE5;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-webkit-appearance: none;
appearance: none; }
@media (prefers-reduced-motion: reduce) {
.custom-range::-webkit-slider-thumb {
-webkit-transition: none;
transition: none; } }
.custom-range::-webkit-slider-thumb:active {
background-color: #9ddefe; }
.custom-range::-webkit-slider-runnable-track {
width: 100%;
height: 0.5rem;
color: transparent;
cursor: pointer;
background-color: #dee2e6;
border-color: transparent;
border-radius: 1rem; }
.custom-range::-moz-range-thumb {
width: 1rem;
height: 1rem;
background-color: #039BE5;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-moz-appearance: none;
appearance: none; }
@media (prefers-reduced-motion: reduce) {
.custom-range::-moz-range-thumb {
-webkit-transition: none;
transition: none; } }
.custom-range::-moz-range-thumb:active {
background-color: #9ddefe; }
.custom-range::-moz-range-track {
width: 100%;
height: 0.5rem;
color: transparent;
cursor: pointer;
background-color: #dee2e6;
border-color: transparent;
border-radius: 1rem; }
.custom-range::-ms-thumb {
width: 1rem;
height: 1rem;
margin-top: 0;
margin-right: 0.2rem;
margin-left: 0.2rem;
background-color: #039BE5;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
appearance: none; }
@media (prefers-reduced-motion: reduce) {
.custom-range::-ms-thumb {
-webkit-transition: none;
transition: none; } }
.custom-range::-ms-thumb:active {
background-color: #9ddefe; }
.custom-range::-ms-track {
width: 100%;
height: 0.5rem;
color: transparent;
cursor: pointer;
background-color: transparent;
border-color: transparent;
border-width: 0.5rem; }
.custom-range::-ms-fill-lower {
background-color: #dee2e6;
border-radius: 1rem; }
.custom-range::-ms-fill-upper {
margin-right: 15px;
background-color: #dee2e6;
border-radius: 1rem; }
.custom-range:disabled::-webkit-slider-thumb {
background-color: #adb5bd; }
.custom-range:disabled::-webkit-slider-runnable-track {
cursor: default; }
.custom-range:disabled::-moz-range-thumb {
background-color: #adb5bd; }
.custom-range:disabled::-moz-range-track {
cursor: default; }
.custom-range:disabled::-ms-thumb {
background-color: #adb5bd; }
.custom-control-label::before,
.custom-file-label,
.custom-select {
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
.custom-control-label::before,
.custom-file-label,
.custom-select {
-webkit-transition: none;
transition: none; } }
.badge {
display: inline-block;
padding: 0.25em 0.4em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25rem;
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
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;
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, -webkit-box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
.badge {
-webkit-transition: none;
transition: none; } }
a.badge:hover, a.badge:focus {
text-decoration: none; }
.badge:empty {
display: none; }
.btn .badge {
position: relative;
top: -1px; }
.badge-pill {
padding-right: 0.6em;
padding-left: 0.6em;
border-radius: 10rem; }
.badge-primary {
color: #fff;
background-color: #039BE5; }
a.badge-primary:hover, a.badge-primary:focus {
color: #fff;
background-color: #0279b3; }
a.badge-primary:focus, a.badge-primary.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5);
box-shadow: 0 0 0 0.2rem rgba(3, 155, 229, 0.5); }
.badge-secondary {
color: #fff;
background-color: #6c757d; }
a.badge-secondary:hover, a.badge-secondary:focus {
color: #fff;
background-color: #545b62; }
a.badge-secondary:focus, a.badge-secondary.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
.badge-success {
color: #fff;
background-color: #28a745; }
a.badge-success:hover, a.badge-success:focus {
color: #fff;
background-color: #1e7e34; }
a.badge-success:focus, a.badge-success.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
.badge-info {
color: #fff;
background-color: #17a2b8; }
a.badge-info:hover, a.badge-info:focus {
color: #fff;
background-color: #117a8b; }
a.badge-info:focus, a.badge-info.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
.badge-warning {
color: #212529;
background-color: #ffc107; }
a.badge-warning:hover, a.badge-warning:focus {
color: #212529;
background-color: #d39e00; }
a.badge-warning:focus, a.badge-warning.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
.badge-danger {
color: #fff;
background-color: #dc3545; }
a.badge-danger:hover, a.badge-danger:focus {
color: #fff;
background-color: #bd2130; }
a.badge-danger:focus, a.badge-danger.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
.badge-light {
color: #212529;
background-color: #f8f9fa; }
a.badge-light:hover, a.badge-light:focus {
color: #212529;
background-color: #dae0e5; }
a.badge-light:focus, a.badge-light.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
.badge-dark {
color: #fff;
background-color: #343a40; }
a.badge-dark:hover, a.badge-dark:focus {
color: #fff;
background-color: #1d2124; }
a.badge-dark:focus, a.badge-dark.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: rgba(73, 131, 159, 0.1);
border-radius: 0.3rem; }
@media (min-width: 576px) {
.jumbotron {
padding: 4rem 2rem; } }
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0; }
.alert {
position: relative;
padding: 0.75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: 0.25rem; }
.alert-heading {
color: inherit; }
.alert-link {
font-weight: 700; }
.alert-dismissible {
padding-right: 4rem; }
.alert-dismissible .close {
position: absolute;
top: 0;
right: 0;
padding: 0.75rem 1.25rem;
color: inherit; }
.alert-primary {
color: #025177;
background-color: #cdebfa;
border-color: #b8e3f8; }
.alert-primary hr {
border-top-color: #a1daf6; }
.alert-primary .alert-link {
color: #012f45; }
.alert-secondary {
color: #383d41;
background-color: #e2e3e5;
border-color: #d6d8db; }
.alert-secondary hr {
border-top-color: #c8cbcf; }
.alert-secondary .alert-link {
color: #202326; }
.alert-success {
color: #155724;
background-color: #d4edda;
border-color: #c3e6cb; }
.alert-success hr {
border-top-color: #b1dfbb; }
.alert-success .alert-link {
color: #0b2e13; }
.alert-info {
color: #0c5460;
background-color: #d1ecf1;
border-color: #bee5eb; }
.alert-info hr {
border-top-color: #abdde5; }
.alert-info .alert-link {
color: #062c33; }
.alert-warning {
color: #856404;
background-color: #fff3cd;
border-color: #ffeeba; }
.alert-warning hr {
border-top-color: #ffe8a1; }
.alert-warning .alert-link {
color: #533f03; }
.alert-danger {
color: #721c24;
background-color: #f8d7da;
border-color: #f5c6cb; }
.alert-danger hr {
border-top-color: #f1b0b7; }
.alert-danger .alert-link {
color: #491217; }
.alert-light {
color: #818182;
background-color: #fefefe;
border-color: #fdfdfe; }
.alert-light hr {
border-top-color: #ececf6; }
.alert-light .alert-link {
color: #686868; }
.alert-dark {
color: #1b1e21;
background-color: #d6d8d9;
border-color: #c6c8ca; }
.alert-dark hr {
border-top-color: #b9bbbe; }
.alert-dark .alert-link {
color: #040505; }
.media {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start; }
.media-body {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1; }
.tooltip {
position: absolute;
z-index: 1070;
display: block;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
white-space: normal;
line-break: auto;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0; }
.tooltip.show {
opacity: 0.9; }
.tooltip .arrow {
position: absolute;
display: block;
width: 0.8rem;
height: 0.4rem; }
.tooltip .arrow::before {
position: absolute;
content: "";
border-color: transparent;
border-style: solid; }
.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
padding: 0.4rem 0; }
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
bottom: 0; }
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
top: 0;
border-width: 0.4rem 0.4rem 0;
border-top-color: #000; }
.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
padding: 0 0.4rem; }
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
left: 0;
width: 0.4rem;
height: 0.8rem; }
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
right: 0;
border-width: 0.4rem 0.4rem 0.4rem 0;
border-right-color: #000; }
.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
padding: 0.4rem 0; }
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
top: 0; }
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
bottom: 0;
border-width: 0 0.4rem 0.4rem;
border-bottom-color: #000; }
.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
padding: 0 0.4rem; }
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
right: 0;
width: 0.4rem;
height: 0.8rem; }
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
left: 0;
border-width: 0.4rem 0 0.4rem 0.4rem;
border-left-color: #000; }
.tooltip-inner {
max-width: 200px;
padding: 0.25rem 0.5rem;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 0.25rem; }
.align-baseline {
vertical-align: baseline !important; }
.align-top {
vertical-align: top !important; }
.align-middle {
vertical-align: middle !important; }
.align-bottom {
vertical-align: bottom !important; }
.align-text-bottom {
vertical-align: text-bottom !important; }
.align-text-top {
vertical-align: text-top !important; }
.bg-primary {
background-color: #039BE5 !important; }
a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
background-color: #0279b3 !important; }
.bg-secondary {
background-color: #6c757d !important; }
a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
background-color: #545b62 !important; }
.bg-success {
background-color: #28a745 !important; }
a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
background-color: #1e7e34 !important; }
.bg-info {
background-color: #17a2b8 !important; }
a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
background-color: #117a8b !important; }
.bg-warning {
background-color: #ffc107 !important; }
a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
background-color: #d39e00 !important; }
.bg-danger {
background-color: #dc3545 !important; }
a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
background-color: #bd2130 !important; }
.bg-light {
background-color: #f8f9fa !important; }
a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
background-color: #dae0e5 !important; }
.bg-dark {
background-color: #343a40 !important; }
a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
background-color: #1d2124 !important; }
.bg-white {
background-color: #fff !important; }
.bg-transparent {
background-color: transparent !important; }
.border {
border: 1px solid #dee2e6 !important; }
.border-top {
border-top: 1px solid #dee2e6 !important; }
.border-right {
border-right: 1px solid #dee2e6 !important; }
.border-bottom {
border-bottom: 1px solid #dee2e6 !important; }
.border-left {
border-left: 1px solid #dee2e6 !important; }
.border-0 {
border: 0 !important; }
.border-top-0 {
border-top: 0 !important; }
.border-right-0 {
border-right: 0 !important; }
.border-bottom-0 {
border-bottom: 0 !important; }
.border-left-0 {
border-left: 0 !important; }
.border-primary {
border-color: #039BE5 !important; }
.border-secondary {
border-color: #6c757d !important; }
.border-success {
border-color: #28a745 !important; }
.border-info {
border-color: #17a2b8 !important; }
.border-warning {
border-color: #ffc107 !important; }
.border-danger {
border-color: #dc3545 !important; }
.border-light {
border-color: #f8f9fa !important; }
.border-dark {
border-color: #343a40 !important; }
.border-white {
border-color: #fff !important; }
.rounded-sm {
border-radius: 0.2rem !important; }
.rounded {
border-radius: 0.25rem !important; }
.rounded-top {
border-top-left-radius: 0.25rem !important;
border-top-right-radius: 0.25rem !important; }
.rounded-right {
border-top-right-radius: 0.25rem !important;
border-bottom-right-radius: 0.25rem !important; }
.rounded-bottom {
border-bottom-right-radius: 0.25rem !important;
border-bottom-left-radius: 0.25rem !important; }
.rounded-left {
border-top-left-radius: 0.25rem !important;
border-bottom-left-radius: 0.25rem !important; }
.rounded-lg {
border-radius: 0.3rem !important; }
.rounded-circle {
border-radius: 50% !important; }
.rounded-pill {
border-radius: 50rem !important; }
.rounded-0 {
border-radius: 0 !important; }
.clearfix::after {
display: block;
clear: both;
content: ""; }
.d-none {
display: none !important; }
.d-inline {
display: inline !important; }
.d-inline-block {
display: inline-block !important; }
.d-block {
display: block !important; }
.d-table {
display: table !important; }
.d-table-row {
display: table-row !important; }
.d-table-cell {
display: table-cell !important; }
.d-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; }
@media (min-width: 576px) {
.d-sm-none {
display: none !important; }
.d-sm-inline {
display: inline !important; }
.d-sm-inline-block {
display: inline-block !important; }
.d-sm-block {
display: block !important; }
.d-sm-table {
display: table !important; }
.d-sm-table-row {
display: table-row !important; }
.d-sm-table-cell {
display: table-cell !important; }
.d-sm-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; } }
@media (min-width: 768px) {
.d-md-none {
display: none !important; }
.d-md-inline {
display: inline !important; }
.d-md-inline-block {
display: inline-block !important; }
.d-md-block {
display: block !important; }
.d-md-table {
display: table !important; }
.d-md-table-row {
display: table-row !important; }
.d-md-table-cell {
display: table-cell !important; }
.d-md-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; } }
@media (min-width: 992px) {
.d-lg-none {
display: none !important; }
.d-lg-inline {
display: inline !important; }
.d-lg-inline-block {
display: inline-block !important; }
.d-lg-block {
display: block !important; }
.d-lg-table {
display: table !important; }
.d-lg-table-row {
display: table-row !important; }
.d-lg-table-cell {
display: table-cell !important; }
.d-lg-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; } }
@media (min-width: 1200px) {
.d-xl-none {
display: none !important; }
.d-xl-inline {
display: inline !important; }
.d-xl-inline-block {
display: inline-block !important; }
.d-xl-block {
display: block !important; }
.d-xl-table {
display: table !important; }
.d-xl-table-row {
display: table-row !important; }
.d-xl-table-cell {
display: table-cell !important; }
.d-xl-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; } }
@media print {
.d-print-none {
display: none !important; }
.d-print-inline {
display: inline !important; }
.d-print-inline-block {
display: inline-block !important; }
.d-print-block {
display: block !important; }
.d-print-table {
display: table !important; }
.d-print-table-row {
display: table-row !important; }
.d-print-table-cell {
display: table-cell !important; }
.d-print-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important; }
.d-print-inline-flex {
display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important; } }
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden; }
.embed-responsive::before {
display: block;
content: ""; }
.embed-responsive .embed-responsive-item,
.embed-responsive 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-21by9::before {
padding-top: 42.85714%; }
.embed-responsive-16by9::before {
padding-top: 56.25%; }
.embed-responsive-4by3::before {
padding-top: 75%; }
.embed-responsive-1by1::before {
padding-top: 100%; }
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important; }
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important; }
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important; }
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important; }
.flex-wrap {
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important; }
.flex-nowrap {
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important; }
.flex-wrap-reverse {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; }
.flex-fill {
-webkit-box-flex: 1 !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important; }
.flex-grow-0 {
-webkit-box-flex: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important; }
.flex-grow-1 {
-webkit-box-flex: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important; }
.flex-shrink-0 {
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important; }
.flex-shrink-1 {
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important; }
.justify-content-start {
-webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important; }
.justify-content-end {
-webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important; }
.justify-content-center {
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important; }
.justify-content-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important; }
.justify-content-around {
-ms-flex-pack: distribute !important;
justify-content: space-around !important; }
.align-items-start {
-webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important; }
.align-items-end {
-webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important; }
.align-items-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important; }
.align-items-baseline {
-webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important; }
.align-items-stretch {
-webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important; }
.align-content-start {
-ms-flex-line-pack: start !important;
align-content: flex-start !important; }
.align-content-end {
-ms-flex-line-pack: end !important;
align-content: flex-end !important; }
.align-content-center {
-ms-flex-line-pack: center !important;
align-content: center !important; }
.align-content-between {
-ms-flex-line-pack: justify !important;
align-content: space-between !important; }
.align-content-around {
-ms-flex-line-pack: distribute !important;
align-content: space-around !important; }
.align-content-stretch {
-ms-flex-line-pack: stretch !important;
align-content: stretch !important; }
.align-self-auto {
-ms-flex-item-align: auto !important;
align-self: auto !important; }
.align-self-start {
-ms-flex-item-align: start !important;
align-self: flex-start !important; }
.align-self-end {
-ms-flex-item-align: end !important;
align-self: flex-end !important; }
.align-self-center {
-ms-flex-item-align: center !important;
align-self: center !important; }
.align-self-baseline {
-ms-flex-item-align: baseline !important;
align-self: baseline !important; }
.align-self-stretch {
-ms-flex-item-align: stretch !important;
align-self: stretch !important; }
@media (min-width: 576px) {
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important; }
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important; }
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important; }
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important; }
.flex-sm-wrap {
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important; }
.flex-sm-nowrap {
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important; }
.flex-sm-wrap-reverse {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; }
.flex-sm-fill {
-webkit-box-flex: 1 !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important; }
.flex-sm-grow-0 {
-webkit-box-flex: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important; }
.flex-sm-grow-1 {
-webkit-box-flex: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important; }
.flex-sm-shrink-0 {
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important; }
.flex-sm-shrink-1 {
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important; }
.justify-content-sm-start {
-webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important; }
.justify-content-sm-end {
-webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important; }
.justify-content-sm-center {
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important; }
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important; }
.justify-content-sm-around {
-ms-flex-pack: distribute !important;
justify-content: space-around !important; }
.align-items-sm-start {
-webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important; }
.align-items-sm-end {
-webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important; }
.align-items-sm-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important; }
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important; }
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important; }
.align-content-sm-start {
-ms-flex-line-pack: start !important;
align-content: flex-start !important; }
.align-content-sm-end {
-ms-flex-line-pack: end !important;
align-content: flex-end !important; }
.align-content-sm-center {
-ms-flex-line-pack: center !important;
align-content: center !important; }
.align-content-sm-between {
-ms-flex-line-pack: justify !important;
align-content: space-between !important; }
.align-content-sm-around {
-ms-flex-line-pack: distribute !important;
align-content: space-around !important; }
.align-content-sm-stretch {
-ms-flex-line-pack: stretch !important;
align-content: stretch !important; }
.align-self-sm-auto {
-ms-flex-item-align: auto !important;
align-self: auto !important; }
.align-self-sm-start {
-ms-flex-item-align: start !important;
align-self: flex-start !important; }
.align-self-sm-end {
-ms-flex-item-align: end !important;
align-self: flex-end !important; }
.align-self-sm-center {
-ms-flex-item-align: center !important;
align-self: center !important; }
.align-self-sm-baseline {
-ms-flex-item-align: baseline !important;
align-self: baseline !important; }
.align-self-sm-stretch {
-ms-flex-item-align: stretch !important;
align-self: stretch !important; } }
@media (min-width: 768px) {
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important; }
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important; }
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important; }
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important; }
.flex-md-wrap {
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important; }
.flex-md-nowrap {
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important; }
.flex-md-wrap-reverse {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; }
.flex-md-fill {
-webkit-box-flex: 1 !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important; }
.flex-md-grow-0 {
-webkit-box-flex: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important; }
.flex-md-grow-1 {
-webkit-box-flex: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important; }
.flex-md-shrink-0 {
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important; }
.flex-md-shrink-1 {
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important; }
.justify-content-md-start {
-webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important; }
.justify-content-md-end {
-webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important; }
.justify-content-md-center {
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important; }
.justify-content-md-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important; }
.justify-content-md-around {
-ms-flex-pack: distribute !important;
justify-content: space-around !important; }
.align-items-md-start {
-webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important; }
.align-items-md-end {
-webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important; }
.align-items-md-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important; }
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important; }
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important; }
.align-content-md-start {
-ms-flex-line-pack: start !important;
align-content: flex-start !important; }
.align-content-md-end {
-ms-flex-line-pack: end !important;
align-content: flex-end !important; }
.align-content-md-center {
-ms-flex-line-pack: center !important;
align-content: center !important; }
.align-content-md-between {
-ms-flex-line-pack: justify !important;
align-content: space-between !important; }
.align-content-md-around {
-ms-flex-line-pack: distribute !important;
align-content: space-around !important; }
.align-content-md-stretch {
-ms-flex-line-pack: stretch !important;
align-content: stretch !important; }
.align-self-md-auto {
-ms-flex-item-align: auto !important;
align-self: auto !important; }
.align-self-md-start {
-ms-flex-item-align: start !important;
align-self: flex-start !important; }
.align-self-md-end {
-ms-flex-item-align: end !important;
align-self: flex-end !important; }
.align-self-md-center {
-ms-flex-item-align: center !important;
align-self: center !important; }
.align-self-md-baseline {
-ms-flex-item-align: baseline !important;
align-self: baseline !important; }
.align-self-md-stretch {
-ms-flex-item-align: stretch !important;
align-self: stretch !important; } }
@media (min-width: 992px) {
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important; }
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important; }
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important; }
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important; }
.flex-lg-wrap {
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important; }
.flex-lg-nowrap {
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important; }
.flex-lg-wrap-reverse {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; }
.flex-lg-fill {
-webkit-box-flex: 1 !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important; }
.flex-lg-grow-0 {
-webkit-box-flex: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important; }
.flex-lg-grow-1 {
-webkit-box-flex: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important; }
.flex-lg-shrink-0 {
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important; }
.flex-lg-shrink-1 {
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important; }
.justify-content-lg-start {
-webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important; }
.justify-content-lg-end {
-webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important; }
.justify-content-lg-center {
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important; }
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important; }
.justify-content-lg-around {
-ms-flex-pack: distribute !important;
justify-content: space-around !important; }
.align-items-lg-start {
-webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important; }
.align-items-lg-end {
-webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important; }
.align-items-lg-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important; }
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important; }
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important; }
.align-content-lg-start {
-ms-flex-line-pack: start !important;
align-content: flex-start !important; }
.align-content-lg-end {
-ms-flex-line-pack: end !important;
align-content: flex-end !important; }
.align-content-lg-center {
-ms-flex-line-pack: center !important;
align-content: center !important; }
.align-content-lg-between {
-ms-flex-line-pack: justify !important;
align-content: space-between !important; }
.align-content-lg-around {
-ms-flex-line-pack: distribute !important;
align-content: space-around !important; }
.align-content-lg-stretch {
-ms-flex-line-pack: stretch !important;
align-content: stretch !important; }
.align-self-lg-auto {
-ms-flex-item-align: auto !important;
align-self: auto !important; }
.align-self-lg-start {
-ms-flex-item-align: start !important;
align-self: flex-start !important; }
.align-self-lg-end {
-ms-flex-item-align: end !important;
align-self: flex-end !important; }
.align-self-lg-center {
-ms-flex-item-align: center !important;
align-self: center !important; }
.align-self-lg-baseline {
-ms-flex-item-align: baseline !important;
align-self: baseline !important; }
.align-self-lg-stretch {
-ms-flex-item-align: stretch !important;
align-self: stretch !important; } }
@media (min-width: 1200px) {
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important; }
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important; }
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important; }
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important; }
.flex-xl-wrap {
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important; }
.flex-xl-nowrap {
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important; }
.flex-xl-wrap-reverse {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; }
.flex-xl-fill {
-webkit-box-flex: 1 !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important; }
.flex-xl-grow-0 {
-webkit-box-flex: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important; }
.flex-xl-grow-1 {
-webkit-box-flex: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important; }
.flex-xl-shrink-0 {
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important; }
.flex-xl-shrink-1 {
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important; }
.justify-content-xl-start {
-webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important; }
.justify-content-xl-end {
-webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important; }
.justify-content-xl-center {
-webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important; }
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important; }
.justify-content-xl-around {
-ms-flex-pack: distribute !important;
justify-content: space-around !important; }
.align-items-xl-start {
-webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important; }
.align-items-xl-end {
-webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important; }
.align-items-xl-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important; }
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important; }
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important; }
.align-content-xl-start {
-ms-flex-line-pack: start !important;
align-content: flex-start !important; }
.align-content-xl-end {
-ms-flex-line-pack: end !important;
align-content: flex-end !important; }
.align-content-xl-center {
-ms-flex-line-pack: center !important;
align-content: center !important; }
.align-content-xl-between {
-ms-flex-line-pack: justify !important;
align-content: space-between !important; }
.align-content-xl-around {
-ms-flex-line-pack: distribute !important;
align-content: space-around !important; }
.align-content-xl-stretch {
-ms-flex-line-pack: stretch !important;
align-content: stretch !important; }
.align-self-xl-auto {
-ms-flex-item-align: auto !important;
align-self: auto !important; }
.align-self-xl-start {
-ms-flex-item-align: start !important;
align-self: flex-start !important; }
.align-self-xl-end {
-ms-flex-item-align: end !important;
align-self: flex-end !important; }
.align-self-xl-center {
-ms-flex-item-align: center !important;
align-self: center !important; }
.align-self-xl-baseline {
-ms-flex-item-align: baseline !important;
align-self: baseline !important; }
.align-self-xl-stretch {
-ms-flex-item-align: stretch !important;
align-self: stretch !important; } }
.float-left {
float: left !important; }
.float-right {
float: right !important; }
.float-none {
float: none !important; }
@media (min-width: 576px) {
.float-sm-left {
float: left !important; }
.float-sm-right {
float: right !important; }
.float-sm-none {
float: none !important; } }
@media (min-width: 768px) {
.float-md-left {
float: left !important; }
.float-md-right {
float: right !important; }
.float-md-none {
float: none !important; } }
@media (min-width: 992px) {
.float-lg-left {
float: left !important; }
.float-lg-right {
float: right !important; }
.float-lg-none {
float: none !important; } }
@media (min-width: 1200px) {
.float-xl-left {
float: left !important; }
.float-xl-right {
float: right !important; }
.float-xl-none {
float: none !important; } }
.overflow-auto {
overflow: auto !important; }
.overflow-hidden {
overflow: hidden !important; }
.position-static {
position: static !important; }
.position-relative {
position: relative !important; }
.position-absolute {
position: absolute !important; }
.position-fixed {
position: fixed !important; }
.position-sticky {
position: -webkit-sticky !important;
position: sticky !important; }
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030; }
.fixed-bottom {
position: fixed;
right: 0;
bottom: 0;
left: 0;
z-index: 1030; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
.sticky-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020; } }
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0; }
.sr-only-focusable:active, .sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
overflow: visible;
clip: auto;
white-space: normal; }
.shadow-sm {
-webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }
.shadow {
-webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }
.shadow-lg {
-webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }
.shadow-none {
-webkit-box-shadow: none !important;
box-shadow: none !important; }
.w-25 {
width: 25% !important; }
.w-50 {
width: 50% !important; }
.w-75 {
width: 75% !important; }
.w-100 {
width: 100% !important; }
.w-auto {
width: auto !important; }
.h-25 {
height: 25% !important; }
.h-50 {
height: 50% !important; }
.h-75 {
height: 75% !important; }
.h-100 {
height: 100% !important; }
.h-auto {
height: auto !important; }
.mw-100 {
max-width: 100% !important; }
.mh-100 {
max-height: 100% !important; }
.min-vw-100 {
min-width: 100vw !important; }
.min-vh-100 {
min-height: 100vh !important; }
.vw-100 {
width: 100vw !important; }
.vh-100 {
height: 100vh !important; }
.stretched-link::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
pointer-events: auto;
content: "";
background-color: rgba(0, 0, 0, 0); }
.m-0 {
margin: 0 !important; }
.mt-0,
.my-0 {
margin-top: 0 !important; }
.mr-0,
.mx-0 {
margin-right: 0 !important; }
.mb-0,
.my-0 {
margin-bottom: 0 !important; }
.ml-0,
.mx-0 {
margin-left: 0 !important; }
.m-1 {
margin: 0.25rem !important; }
.mt-1,
.my-1 {
margin-top: 0.25rem !important; }
.mr-1,
.mx-1 {
margin-right: 0.25rem !important; }
.mb-1,
.my-1 {
margin-bottom: 0.25rem !important; }
.ml-1,
.mx-1 {
margin-left: 0.25rem !important; }
.m-2 {
margin: 0.5rem !important; }
.mt-2,
.my-2 {
margin-top: 0.5rem !important; }
.mr-2,
.mx-2 {
margin-right: 0.5rem !important; }
.mb-2,
.my-2 {
margin-bottom: 0.5rem !important; }
.ml-2,
.mx-2 {
margin-left: 0.5rem !important; }
.m-3 {
margin: 1rem !important; }
.mt-3,
.my-3 {
margin-top: 1rem !important; }
.mr-3,
.mx-3 {
margin-right: 1rem !important; }
.mb-3,
.my-3 {
margin-bottom: 1rem !important; }
.ml-3,
.mx-3 {
margin-left: 1rem !important; }
.m-4 {
margin: 1.5rem !important; }
.mt-4,
.my-4 {
margin-top: 1.5rem !important; }
.mr-4,
.mx-4 {
margin-right: 1.5rem !important; }
.mb-4,
.my-4 {
margin-bottom: 1.5rem !important; }
.ml-4,
.mx-4 {
margin-left: 1.5rem !important; }
.m-5 {
margin: 3rem !important; }
.mt-5,
.my-5 {
margin-top: 3rem !important; }
.mr-5,
.mx-5 {
margin-right: 3rem !important; }
.mb-5,
.my-5 {
margin-bottom: 3rem !important; }
.ml-5,
.mx-5 {
margin-left: 3rem !important; }
.p-0 {
padding: 0 !important; }
.pt-0,
.py-0 {
padding-top: 0 !important; }
.pr-0,
.px-0 {
padding-right: 0 !important; }
.pb-0,
.py-0 {
padding-bottom: 0 !important; }
.pl-0,
.px-0 {
padding-left: 0 !important; }
.p-1 {
padding: 0.25rem !important; }
.pt-1,
.py-1 {
padding-top: 0.25rem !important; }
.pr-1,
.px-1 {
padding-right: 0.25rem !important; }
.pb-1,
.py-1 {
padding-bottom: 0.25rem !important; }
.pl-1,
.px-1 {
padding-left: 0.25rem !important; }
.p-2 {
padding: 0.5rem !important; }
.pt-2,
.py-2 {
padding-top: 0.5rem !important; }
.pr-2,
.px-2 {
padding-right: 0.5rem !important; }
.pb-2,
.py-2 {
padding-bottom: 0.5rem !important; }
.pl-2,
.px-2 {
padding-left: 0.5rem !important; }
.p-3 {
padding: 1rem !important; }
.pt-3,
.py-3 {
padding-top: 1rem !important; }
.pr-3,
.px-3 {
padding-right: 1rem !important; }
.pb-3,
.py-3 {
padding-bottom: 1rem !important; }
.pl-3,
.px-3 {
padding-left: 1rem !important; }
.p-4 {
padding: 1.5rem !important; }
.pt-4,
.py-4 {
padding-top: 1.5rem !important; }
.pr-4,
.px-4 {
padding-right: 1.5rem !important; }
.pb-4,
.py-4 {
padding-bottom: 1.5rem !important; }
.pl-4,
.px-4 {
padding-left: 1.5rem !important; }
.p-5 {
padding: 3rem !important; }
.pt-5,
.py-5 {
padding-top: 3rem !important; }
.pr-5,
.px-5 {
padding-right: 3rem !important; }
.pb-5,
.py-5 {
padding-bottom: 3rem !important; }
.pl-5,
.px-5 {
padding-left: 3rem !important; }
.m-n1 {
margin: -0.25rem !important; }
.mt-n1,
.my-n1 {
margin-top: -0.25rem !important; }
.mr-n1,
.mx-n1 {
margin-right: -0.25rem !important; }
.mb-n1,
.my-n1 {
margin-bottom: -0.25rem !important; }
.ml-n1,
.mx-n1 {
margin-left: -0.25rem !important; }
.m-n2 {
margin: -0.5rem !important; }
.mt-n2,
.my-n2 {
margin-top: -0.5rem !important; }
.mr-n2,
.mx-n2 {
margin-right: -0.5rem !important; }
.mb-n2,
.my-n2 {
margin-bottom: -0.5rem !important; }
.ml-n2,
.mx-n2 {
margin-left: -0.5rem !important; }
.m-n3 {
margin: -1rem !important; }
.mt-n3,
.my-n3 {
margin-top: -1rem !important; }
.mr-n3,
.mx-n3 {
margin-right: -1rem !important; }
.mb-n3,
.my-n3 {
margin-bottom: -1rem !important; }
.ml-n3,
.mx-n3 {
margin-left: -1rem !important; }
.m-n4 {
margin: -1.5rem !important; }
.mt-n4,
.my-n4 {
margin-top: -1.5rem !important; }
.mr-n4,
.mx-n4 {
margin-right: -1.5rem !important; }
.mb-n4,
.my-n4 {
margin-bottom: -1.5rem !important; }
.ml-n4,
.mx-n4 {
margin-left: -1.5rem !important; }
.m-n5 {
margin: -3rem !important; }
.mt-n5,
.my-n5 {
margin-top: -3rem !important; }
.mr-n5,
.mx-n5 {
margin-right: -3rem !important; }
.mb-n5,
.my-n5 {
margin-bottom: -3rem !important; }
.ml-n5,
.mx-n5 {
margin-left: -3rem !important; }
.m-auto {
margin: auto !important; }
.mt-auto,
.my-auto {
margin-top: auto !important; }
.mr-auto,
.mx-auto {
margin-right: auto !important; }
.mb-auto,
.my-auto {
margin-bottom: auto !important; }
.ml-auto,
.mx-auto {
margin-left: auto !important; }
@media (min-width: 576px) {
.m-sm-0 {
margin: 0 !important; }
.mt-sm-0,
.my-sm-0 {
margin-top: 0 !important; }
.mr-sm-0,
.mx-sm-0 {
margin-right: 0 !important; }
.mb-sm-0,
.my-sm-0 {
margin-bottom: 0 !important; }
.ml-sm-0,
.mx-sm-0 {
margin-left: 0 !important; }
.m-sm-1 {
margin: 0.25rem !important; }
.mt-sm-1,
.my-sm-1 {
margin-top: 0.25rem !important; }
.mr-sm-1,
.mx-sm-1 {
margin-right: 0.25rem !important; }
.mb-sm-1,
.my-sm-1 {
margin-bottom: 0.25rem !important; }
.ml-sm-1,
.mx-sm-1 {
margin-left: 0.25rem !important; }
.m-sm-2 {
margin: 0.5rem !important; }
.mt-sm-2,
.my-sm-2 {
margin-top: 0.5rem !important; }
.mr-sm-2,
.mx-sm-2 {
margin-right: 0.5rem !important; }
.mb-sm-2,
.my-sm-2 {
margin-bottom: 0.5rem !important; }
.ml-sm-2,
.mx-sm-2 {
margin-left: 0.5rem !important; }
.m-sm-3 {
margin: 1rem !important; }
.mt-sm-3,
.my-sm-3 {
margin-top: 1rem !important; }
.mr-sm-3,
.mx-sm-3 {
margin-right: 1rem !important; }
.mb-sm-3,
.my-sm-3 {
margin-bottom: 1rem !important; }
.ml-sm-3,
.mx-sm-3 {
margin-left: 1rem !important; }
.m-sm-4 {
margin: 1.5rem !important; }
.mt-sm-4,
.my-sm-4 {
margin-top: 1.5rem !important; }
.mr-sm-4,
.mx-sm-4 {
margin-right: 1.5rem !important; }
.mb-sm-4,
.my-sm-4 {
margin-bottom: 1.5rem !important; }
.ml-sm-4,
.mx-sm-4 {
margin-left: 1.5rem !important; }
.m-sm-5 {
margin: 3rem !important; }
.mt-sm-5,
.my-sm-5 {
margin-top: 3rem !important; }
.mr-sm-5,
.mx-sm-5 {
margin-right: 3rem !important; }
.mb-sm-5,
.my-sm-5 {
margin-bottom: 3rem !important; }
.ml-sm-5,
.mx-sm-5 {
margin-left: 3rem !important; }
.p-sm-0 {
padding: 0 !important; }
.pt-sm-0,
.py-sm-0 {
padding-top: 0 !important; }
.pr-sm-0,
.px-sm-0 {
padding-right: 0 !important; }
.pb-sm-0,
.py-sm-0 {
padding-bottom: 0 !important; }
.pl-sm-0,
.px-sm-0 {
padding-left: 0 !important; }
.p-sm-1 {
padding: 0.25rem !important; }
.pt-sm-1,
.py-sm-1 {
padding-top: 0.25rem !important; }
.pr-sm-1,
.px-sm-1 {
padding-right: 0.25rem !important; }
.pb-sm-1,
.py-sm-1 {
padding-bottom: 0.25rem !important; }
.pl-sm-1,
.px-sm-1 {
padding-left: 0.25rem !important; }
.p-sm-2 {
padding: 0.5rem !important; }
.pt-sm-2,
.py-sm-2 {
padding-top: 0.5rem !important; }
.pr-sm-2,
.px-sm-2 {
padding-right: 0.5rem !important; }
.pb-sm-2,
.py-sm-2 {
padding-bottom: 0.5rem !important; }
.pl-sm-2,
.px-sm-2 {
padding-left: 0.5rem !important; }
.p-sm-3 {
padding: 1rem !important; }
.pt-sm-3,
.py-sm-3 {
padding-top: 1rem !important; }
.pr-sm-3,
.px-sm-3 {
padding-right: 1rem !important; }
.pb-sm-3,
.py-sm-3 {
padding-bottom: 1rem !important; }
.pl-sm-3,
.px-sm-3 {
padding-left: 1rem !important; }
.p-sm-4 {
padding: 1.5rem !important; }
.pt-sm-4,
.py-sm-4 {
padding-top: 1.5rem !important; }
.pr-sm-4,
.px-sm-4 {
padding-right: 1.5rem !important; }
.pb-sm-4,
.py-sm-4 {
padding-bottom: 1.5rem !important; }
.pl-sm-4,
.px-sm-4 {
padding-left: 1.5rem !important; }
.p-sm-5 {
padding: 3rem !important; }
.pt-sm-5,
.py-sm-5 {
padding-top: 3rem !important; }
.pr-sm-5,
.px-sm-5 {
padding-right: 3rem !important; }
.pb-sm-5,
.py-sm-5 {
padding-bottom: 3rem !important; }
.pl-sm-5,
.px-sm-5 {
padding-left: 3rem !important; }
.m-sm-n1 {
margin: -0.25rem !important; }
.mt-sm-n1,
.my-sm-n1 {
margin-top: -0.25rem !important; }
.mr-sm-n1,
.mx-sm-n1 {
margin-right: -0.25rem !important; }
.mb-sm-n1,
.my-sm-n1 {
margin-bottom: -0.25rem !important; }
.ml-sm-n1,
.mx-sm-n1 {
margin-left: -0.25rem !important; }
.m-sm-n2 {
margin: -0.5rem !important; }
.mt-sm-n2,
.my-sm-n2 {
margin-top: -0.5rem !important; }
.mr-sm-n2,
.mx-sm-n2 {
margin-right: -0.5rem !important; }
.mb-sm-n2,
.my-sm-n2 {
margin-bottom: -0.5rem !important; }
.ml-sm-n2,
.mx-sm-n2 {
margin-left: -0.5rem !important; }
.m-sm-n3 {
margin: -1rem !important; }
.mt-sm-n3,
.my-sm-n3 {
margin-top: -1rem !important; }
.mr-sm-n3,
.mx-sm-n3 {
margin-right: -1rem !important; }
.mb-sm-n3,
.my-sm-n3 {
margin-bottom: -1rem !important; }
.ml-sm-n3,
.mx-sm-n3 {
margin-left: -1rem !important; }
.m-sm-n4 {
margin: -1.5rem !important; }
.mt-sm-n4,
.my-sm-n4 {
margin-top: -1.5rem !important; }
.mr-sm-n4,
.mx-sm-n4 {
margin-right: -1.5rem !important; }
.mb-sm-n4,
.my-sm-n4 {
margin-bottom: -1.5rem !important; }
.ml-sm-n4,
.mx-sm-n4 {
margin-left: -1.5rem !important; }
.m-sm-n5 {
margin: -3rem !important; }
.mt-sm-n5,
.my-sm-n5 {
margin-top: -3rem !important; }
.mr-sm-n5,
.mx-sm-n5 {
margin-right: -3rem !important; }
.mb-sm-n5,
.my-sm-n5 {
margin-bottom: -3rem !important; }
.ml-sm-n5,
.mx-sm-n5 {
margin-left: -3rem !important; }
.m-sm-auto {
margin: auto !important; }
.mt-sm-auto,
.my-sm-auto {
margin-top: auto !important; }
.mr-sm-auto,
.mx-sm-auto {
margin-right: auto !important; }
.mb-sm-auto,
.my-sm-auto {
margin-bottom: auto !important; }
.ml-sm-auto,
.mx-sm-auto {
margin-left: auto !important; } }
@media (min-width: 768px) {
.m-md-0 {
margin: 0 !important; }
.mt-md-0,
.my-md-0 {
margin-top: 0 !important; }
.mr-md-0,
.mx-md-0 {
margin-right: 0 !important; }
.mb-md-0,
.my-md-0 {
margin-bottom: 0 !important; }
.ml-md-0,
.mx-md-0 {
margin-left: 0 !important; }
.m-md-1 {
margin: 0.25rem !important; }
.mt-md-1,
.my-md-1 {
margin-top: 0.25rem !important; }
.mr-md-1,
.mx-md-1 {
margin-right: 0.25rem !important; }
.mb-md-1,
.my-md-1 {
margin-bottom: 0.25rem !important; }
.ml-md-1,
.mx-md-1 {
margin-left: 0.25rem !important; }
.m-md-2 {
margin: 0.5rem !important; }
.mt-md-2,
.my-md-2 {
margin-top: 0.5rem !important; }
.mr-md-2,
.mx-md-2 {
margin-right: 0.5rem !important; }
.mb-md-2,
.my-md-2 {
margin-bottom: 0.5rem !important; }
.ml-md-2,
.mx-md-2 {
margin-left: 0.5rem !important; }
.m-md-3 {
margin: 1rem !important; }
.mt-md-3,
.my-md-3 {
margin-top: 1rem !important; }
.mr-md-3,
.mx-md-3 {
margin-right: 1rem !important; }
.mb-md-3,
.my-md-3 {
margin-bottom: 1rem !important; }
.ml-md-3,
.mx-md-3 {
margin-left: 1rem !important; }
.m-md-4 {
margin: 1.5rem !important; }
.mt-md-4,
.my-md-4 {
margin-top: 1.5rem !important; }
.mr-md-4,
.mx-md-4 {
margin-right: 1.5rem !important; }
.mb-md-4,
.my-md-4 {
margin-bottom: 1.5rem !important; }
.ml-md-4,
.mx-md-4 {
margin-left: 1.5rem !important; }
.m-md-5 {
margin: 3rem !important; }
.mt-md-5,
.my-md-5 {
margin-top: 3rem !important; }
.mr-md-5,
.mx-md-5 {
margin-right: 3rem !important; }
.mb-md-5,
.my-md-5 {
margin-bottom: 3rem !important; }
.ml-md-5,
.mx-md-5 {
margin-left: 3rem !important; }
.p-md-0 {
padding: 0 !important; }
.pt-md-0,
.py-md-0 {
padding-top: 0 !important; }
.pr-md-0,
.px-md-0 {
padding-right: 0 !important; }
.pb-md-0,
.py-md-0 {
padding-bottom: 0 !important; }
.pl-md-0,
.px-md-0 {
padding-left: 0 !important; }
.p-md-1 {
padding: 0.25rem !important; }
.pt-md-1,
.py-md-1 {
padding-top: 0.25rem !important; }
.pr-md-1,
.px-md-1 {
padding-right: 0.25rem !important; }
.pb-md-1,
.py-md-1 {
padding-bottom: 0.25rem !important; }
.pl-md-1,
.px-md-1 {
padding-left: 0.25rem !important; }
.p-md-2 {
padding: 0.5rem !important; }
.pt-md-2,
.py-md-2 {
padding-top: 0.5rem !important; }
.pr-md-2,
.px-md-2 {
padding-right: 0.5rem !important; }
.pb-md-2,
.py-md-2 {
padding-bottom: 0.5rem !important; }
.pl-md-2,
.px-md-2 {
padding-left: 0.5rem !important; }
.p-md-3 {
padding: 1rem !important; }
.pt-md-3,
.py-md-3 {
padding-top: 1rem !important; }
.pr-md-3,
.px-md-3 {
padding-right: 1rem !important; }
.pb-md-3,
.py-md-3 {
padding-bottom: 1rem !important; }
.pl-md-3,
.px-md-3 {
padding-left: 1rem !important; }
.p-md-4 {
padding: 1.5rem !important; }
.pt-md-4,
.py-md-4 {
padding-top: 1.5rem !important; }
.pr-md-4,
.px-md-4 {
padding-right: 1.5rem !important; }
.pb-md-4,
.py-md-4 {
padding-bottom: 1.5rem !important; }
.pl-md-4,
.px-md-4 {
padding-left: 1.5rem !important; }
.p-md-5 {
padding: 3rem !important; }
.pt-md-5,
.py-md-5 {
padding-top: 3rem !important; }
.pr-md-5,
.px-md-5 {
padding-right: 3rem !important; }
.pb-md-5,
.py-md-5 {
padding-bottom: 3rem !important; }
.pl-md-5,
.px-md-5 {
padding-left: 3rem !important; }
.m-md-n1 {
margin: -0.25rem !important; }
.mt-md-n1,
.my-md-n1 {
margin-top: -0.25rem !important; }
.mr-md-n1,
.mx-md-n1 {
margin-right: -0.25rem !important; }
.mb-md-n1,
.my-md-n1 {
margin-bottom: -0.25rem !important; }
.ml-md-n1,
.mx-md-n1 {
margin-left: -0.25rem !important; }
.m-md-n2 {
margin: -0.5rem !important; }
.mt-md-n2,
.my-md-n2 {
margin-top: -0.5rem !important; }
.mr-md-n2,
.mx-md-n2 {
margin-right: -0.5rem !important; }
.mb-md-n2,
.my-md-n2 {
margin-bottom: -0.5rem !important; }
.ml-md-n2,
.mx-md-n2 {
margin-left: -0.5rem !important; }
.m-md-n3 {
margin: -1rem !important; }
.mt-md-n3,
.my-md-n3 {
margin-top: -1rem !important; }
.mr-md-n3,
.mx-md-n3 {
margin-right: -1rem !important; }
.mb-md-n3,
.my-md-n3 {
margin-bottom: -1rem !important; }
.ml-md-n3,
.mx-md-n3 {
margin-left: -1rem !important; }
.m-md-n4 {
margin: -1.5rem !important; }
.mt-md-n4,
.my-md-n4 {
margin-top: -1.5rem !important; }
.mr-md-n4,
.mx-md-n4 {
margin-right: -1.5rem !important; }
.mb-md-n4,
.my-md-n4 {
margin-bottom: -1.5rem !important; }
.ml-md-n4,
.mx-md-n4 {
margin-left: -1.5rem !important; }
.m-md-n5 {
margin: -3rem !important; }
.mt-md-n5,
.my-md-n5 {
margin-top: -3rem !important; }
.mr-md-n5,
.mx-md-n5 {
margin-right: -3rem !important; }
.mb-md-n5,
.my-md-n5 {
margin-bottom: -3rem !important; }
.ml-md-n5,
.mx-md-n5 {
margin-left: -3rem !important; }
.m-md-auto {
margin: auto !important; }
.mt-md-auto,
.my-md-auto {
margin-top: auto !important; }
.mr-md-auto,
.mx-md-auto {
margin-right: auto !important; }
.mb-md-auto,
.my-md-auto {
margin-bottom: auto !important; }
.ml-md-auto,
.mx-md-auto {
margin-left: auto !important; } }
@media (min-width: 992px) {
.m-lg-0 {
margin: 0 !important; }
.mt-lg-0,
.my-lg-0 {
margin-top: 0 !important; }
.mr-lg-0,
.mx-lg-0 {
margin-right: 0 !important; }
.mb-lg-0,
.my-lg-0 {
margin-bottom: 0 !important; }
.ml-lg-0,
.mx-lg-0 {
margin-left: 0 !important; }
.m-lg-1 {
margin: 0.25rem !important; }
.mt-lg-1,
.my-lg-1 {
margin-top: 0.25rem !important; }
.mr-lg-1,
.mx-lg-1 {
margin-right: 0.25rem !important; }
.mb-lg-1,
.my-lg-1 {
margin-bottom: 0.25rem !important; }
.ml-lg-1,
.mx-lg-1 {
margin-left: 0.25rem !important; }
.m-lg-2 {
margin: 0.5rem !important; }
.mt-lg-2,
.my-lg-2 {
margin-top: 0.5rem !important; }
.mr-lg-2,
.mx-lg-2 {
margin-right: 0.5rem !important; }
.mb-lg-2,
.my-lg-2 {
margin-bottom: 0.5rem !important; }
.ml-lg-2,
.mx-lg-2 {
margin-left: 0.5rem !important; }
.m-lg-3 {
margin: 1rem !important; }
.mt-lg-3,
.my-lg-3 {
margin-top: 1rem !important; }
.mr-lg-3,
.mx-lg-3 {
margin-right: 1rem !important; }
.mb-lg-3,
.my-lg-3 {
margin-bottom: 1rem !important; }
.ml-lg-3,
.mx-lg-3 {
margin-left: 1rem !important; }
.m-lg-4 {
margin: 1.5rem !important; }
.mt-lg-4,
.my-lg-4 {
margin-top: 1.5rem !important; }
.mr-lg-4,
.mx-lg-4 {
margin-right: 1.5rem !important; }
.mb-lg-4,
.my-lg-4 {
margin-bottom: 1.5rem !important; }
.ml-lg-4,
.mx-lg-4 {
margin-left: 1.5rem !important; }
.m-lg-5 {
margin: 3rem !important; }
.mt-lg-5,
.my-lg-5 {
margin-top: 3rem !important; }
.mr-lg-5,
.mx-lg-5 {
margin-right: 3rem !important; }
.mb-lg-5,
.my-lg-5 {
margin-bottom: 3rem !important; }
.ml-lg-5,
.mx-lg-5 {
margin-left: 3rem !important; }
.p-lg-0 {
padding: 0 !important; }
.pt-lg-0,
.py-lg-0 {
padding-top: 0 !important; }
.pr-lg-0,
.px-lg-0 {
padding-right: 0 !important; }
.pb-lg-0,
.py-lg-0 {
padding-bottom: 0 !important; }
.pl-lg-0,
.px-lg-0 {
padding-left: 0 !important; }
.p-lg-1 {
padding: 0.25rem !important; }
.pt-lg-1,
.py-lg-1 {
padding-top: 0.25rem !important; }
.pr-lg-1,
.px-lg-1 {
padding-right: 0.25rem !important; }
.pb-lg-1,
.py-lg-1 {
padding-bottom: 0.25rem !important; }
.pl-lg-1,
.px-lg-1 {
padding-left: 0.25rem !important; }
.p-lg-2 {
padding: 0.5rem !important; }
.pt-lg-2,
.py-lg-2 {
padding-top: 0.5rem !important; }
.pr-lg-2,
.px-lg-2 {
padding-right: 0.5rem !important; }
.pb-lg-2,
.py-lg-2 {
padding-bottom: 0.5rem !important; }
.pl-lg-2,
.px-lg-2 {
padding-left: 0.5rem !important; }
.p-lg-3 {
padding: 1rem !important; }
.pt-lg-3,
.py-lg-3 {
padding-top: 1rem !important; }
.pr-lg-3,
.px-lg-3 {
padding-right: 1rem !important; }
.pb-lg-3,
.py-lg-3 {
padding-bottom: 1rem !important; }
.pl-lg-3,
.px-lg-3 {
padding-left: 1rem !important; }
.p-lg-4 {
padding: 1.5rem !important; }
.pt-lg-4,
.py-lg-4 {
padding-top: 1.5rem !important; }
.pr-lg-4,
.px-lg-4 {
padding-right: 1.5rem !important; }
.pb-lg-4,
.py-lg-4 {
padding-bottom: 1.5rem !important; }
.pl-lg-4,
.px-lg-4 {
padding-left: 1.5rem !important; }
.p-lg-5 {
padding: 3rem !important; }
.pt-lg-5,
.py-lg-5 {
padding-top: 3rem !important; }
.pr-lg-5,
.px-lg-5 {
padding-right: 3rem !important; }
.pb-lg-5,
.py-lg-5 {
padding-bottom: 3rem !important; }
.pl-lg-5,
.px-lg-5 {
padding-left: 3rem !important; }
.m-lg-n1 {
margin: -0.25rem !important; }
.mt-lg-n1,
.my-lg-n1 {
margin-top: -0.25rem !important; }
.mr-lg-n1,
.mx-lg-n1 {
margin-right: -0.25rem !important; }
.mb-lg-n1,
.my-lg-n1 {
margin-bottom: -0.25rem !important; }
.ml-lg-n1,
.mx-lg-n1 {
margin-left: -0.25rem !important; }
.m-lg-n2 {
margin: -0.5rem !important; }
.mt-lg-n2,
.my-lg-n2 {
margin-top: -0.5rem !important; }
.mr-lg-n2,
.mx-lg-n2 {
margin-right: -0.5rem !important; }
.mb-lg-n2,
.my-lg-n2 {
margin-bottom: -0.5rem !important; }
.ml-lg-n2,
.mx-lg-n2 {
margin-left: -0.5rem !important; }
.m-lg-n3 {
margin: -1rem !important; }
.mt-lg-n3,
.my-lg-n3 {
margin-top: -1rem !important; }
.mr-lg-n3,
.mx-lg-n3 {
margin-right: -1rem !important; }
.mb-lg-n3,
.my-lg-n3 {
margin-bottom: -1rem !important; }
.ml-lg-n3,
.mx-lg-n3 {
margin-left: -1rem !important; }
.m-lg-n4 {
margin: -1.5rem !important; }
.mt-lg-n4,
.my-lg-n4 {
margin-top: -1.5rem !important; }
.mr-lg-n4,
.mx-lg-n4 {
margin-right: -1.5rem !important; }
.mb-lg-n4,
.my-lg-n4 {
margin-bottom: -1.5rem !important; }
.ml-lg-n4,
.mx-lg-n4 {
margin-left: -1.5rem !important; }
.m-lg-n5 {
margin: -3rem !important; }
.mt-lg-n5,
.my-lg-n5 {
margin-top: -3rem !important; }
.mr-lg-n5,
.mx-lg-n5 {
margin-right: -3rem !important; }
.mb-lg-n5,
.my-lg-n5 {
margin-bottom: -3rem !important; }
.ml-lg-n5,
.mx-lg-n5 {
margin-left: -3rem !important; }
.m-lg-auto {
margin: auto !important; }
.mt-lg-auto,
.my-lg-auto {
margin-top: auto !important; }
.mr-lg-auto,
.mx-lg-auto {
margin-right: auto !important; }
.mb-lg-auto,
.my-lg-auto {
margin-bottom: auto !important; }
.ml-lg-auto,
.mx-lg-auto {
margin-left: auto !important; } }
@media (min-width: 1200px) {
.m-xl-0 {
margin: 0 !important; }
.mt-xl-0,
.my-xl-0 {
margin-top: 0 !important; }
.mr-xl-0,
.mx-xl-0 {
margin-right: 0 !important; }
.mb-xl-0,
.my-xl-0 {
margin-bottom: 0 !important; }
.ml-xl-0,
.mx-xl-0 {
margin-left: 0 !important; }
.m-xl-1 {
margin: 0.25rem !important; }
.mt-xl-1,
.my-xl-1 {
margin-top: 0.25rem !important; }
.mr-xl-1,
.mx-xl-1 {
margin-right: 0.25rem !important; }
.mb-xl-1,
.my-xl-1 {
margin-bottom: 0.25rem !important; }
.ml-xl-1,
.mx-xl-1 {
margin-left: 0.25rem !important; }
.m-xl-2 {
margin: 0.5rem !important; }
.mt-xl-2,
.my-xl-2 {
margin-top: 0.5rem !important; }
.mr-xl-2,
.mx-xl-2 {
margin-right: 0.5rem !important; }
.mb-xl-2,
.my-xl-2 {
margin-bottom: 0.5rem !important; }
.ml-xl-2,
.mx-xl-2 {
margin-left: 0.5rem !important; }
.m-xl-3 {
margin: 1rem !important; }
.mt-xl-3,
.my-xl-3 {
margin-top: 1rem !important; }
.mr-xl-3,
.mx-xl-3 {
margin-right: 1rem !important; }
.mb-xl-3,
.my-xl-3 {
margin-bottom: 1rem !important; }
.ml-xl-3,
.mx-xl-3 {
margin-left: 1rem !important; }
.m-xl-4 {
margin: 1.5rem !important; }
.mt-xl-4,
.my-xl-4 {
margin-top: 1.5rem !important; }
.mr-xl-4,
.mx-xl-4 {
margin-right: 1.5rem !important; }
.mb-xl-4,
.my-xl-4 {
margin-bottom: 1.5rem !important; }
.ml-xl-4,
.mx-xl-4 {
margin-left: 1.5rem !important; }
.m-xl-5 {
margin: 3rem !important; }
.mt-xl-5,
.my-xl-5 {
margin-top: 3rem !important; }
.mr-xl-5,
.mx-xl-5 {
margin-right: 3rem !important; }
.mb-xl-5,
.my-xl-5 {
margin-bottom: 3rem !important; }
.ml-xl-5,
.mx-xl-5 {
margin-left: 3rem !important; }
.p-xl-0 {
padding: 0 !important; }
.pt-xl-0,
.py-xl-0 {
padding-top: 0 !important; }
.pr-xl-0,
.px-xl-0 {
padding-right: 0 !important; }
.pb-xl-0,
.py-xl-0 {
padding-bottom: 0 !important; }
.pl-xl-0,
.px-xl-0 {
padding-left: 0 !important; }
.p-xl-1 {
padding: 0.25rem !important; }
.pt-xl-1,
.py-xl-1 {
padding-top: 0.25rem !important; }
.pr-xl-1,
.px-xl-1 {
padding-right: 0.25rem !important; }
.pb-xl-1,
.py-xl-1 {
padding-bottom: 0.25rem !important; }
.pl-xl-1,
.px-xl-1 {
padding-left: 0.25rem !important; }
.p-xl-2 {
padding: 0.5rem !important; }
.pt-xl-2,
.py-xl-2 {
padding-top: 0.5rem !important; }
.pr-xl-2,
.px-xl-2 {
padding-right: 0.5rem !important; }
.pb-xl-2,
.py-xl-2 {
padding-bottom: 0.5rem !important; }
.pl-xl-2,
.px-xl-2 {
padding-left: 0.5rem !important; }
.p-xl-3 {
padding: 1rem !important; }
.pt-xl-3,
.py-xl-3 {
padding-top: 1rem !important; }
.pr-xl-3,
.px-xl-3 {
padding-right: 1rem !important; }
.pb-xl-3,
.py-xl-3 {
padding-bottom: 1rem !important; }
.pl-xl-3,
.px-xl-3 {
padding-left: 1rem !important; }
.p-xl-4 {
padding: 1.5rem !important; }
.pt-xl-4,
.py-xl-4 {
padding-top: 1.5rem !important; }
.pr-xl-4,
.px-xl-4 {
padding-right: 1.5rem !important; }
.pb-xl-4,
.py-xl-4 {
padding-bottom: 1.5rem !important; }
.pl-xl-4,
.px-xl-4 {
padding-left: 1.5rem !important; }
.p-xl-5 {
padding: 3rem !important; }
.pt-xl-5,
.py-xl-5 {
padding-top: 3rem !important; }
.pr-xl-5,
.px-xl-5 {
padding-right: 3rem !important; }
.pb-xl-5,
.py-xl-5 {
padding-bottom: 3rem !important; }
.pl-xl-5,
.px-xl-5 {
padding-left: 3rem !important; }
.m-xl-n1 {
margin: -0.25rem !important; }
.mt-xl-n1,
.my-xl-n1 {
margin-top: -0.25rem !important; }
.mr-xl-n1,
.mx-xl-n1 {
margin-right: -0.25rem !important; }
.mb-xl-n1,
.my-xl-n1 {
margin-bottom: -0.25rem !important; }
.ml-xl-n1,
.mx-xl-n1 {
margin-left: -0.25rem !important; }
.m-xl-n2 {
margin: -0.5rem !important; }
.mt-xl-n2,
.my-xl-n2 {
margin-top: -0.5rem !important; }
.mr-xl-n2,
.mx-xl-n2 {
margin-right: -0.5rem !important; }
.mb-xl-n2,
.my-xl-n2 {
margin-bottom: -0.5rem !important; }
.ml-xl-n2,
.mx-xl-n2 {
margin-left: -0.5rem !important; }
.m-xl-n3 {
margin: -1rem !important; }
.mt-xl-n3,
.my-xl-n3 {
margin-top: -1rem !important; }
.mr-xl-n3,
.mx-xl-n3 {
margin-right: -1rem !important; }
.mb-xl-n3,
.my-xl-n3 {
margin-bottom: -1rem !important; }
.ml-xl-n3,
.mx-xl-n3 {
margin-left: -1rem !important; }
.m-xl-n4 {
margin: -1.5rem !important; }
.mt-xl-n4,
.my-xl-n4 {
margin-top: -1.5rem !important; }
.mr-xl-n4,
.mx-xl-n4 {
margin-right: -1.5rem !important; }
.mb-xl-n4,
.my-xl-n4 {
margin-bottom: -1.5rem !important; }
.ml-xl-n4,
.mx-xl-n4 {
margin-left: -1.5rem !important; }
.m-xl-n5 {
margin: -3rem !important; }
.mt-xl-n5,
.my-xl-n5 {
margin-top: -3rem !important; }
.mr-xl-n5,
.mx-xl-n5 {
margin-right: -3rem !important; }
.mb-xl-n5,
.my-xl-n5 {
margin-bottom: -3rem !important; }
.ml-xl-n5,
.mx-xl-n5 {
margin-left: -3rem !important; }
.m-xl-auto {
margin: auto !important; }
.mt-xl-auto,
.my-xl-auto {
margin-top: auto !important; }
.mr-xl-auto,
.mx-xl-auto {
margin-right: auto !important; }
.mb-xl-auto,
.my-xl-auto {
margin-bottom: auto !important; }
.ml-xl-auto,
.mx-xl-auto {
margin-left: auto !important; } }
.text-monospace {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }
.text-justify {
text-align: justify !important; }
.text-wrap {
white-space: normal !important; }
.text-nowrap {
white-space: nowrap !important; }
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
.text-left {
text-align: left !important; }
.text-right {
text-align: right !important; }
.text-center {
text-align: center !important; }
@media (min-width: 576px) {
.text-sm-left {
text-align: left !important; }
.text-sm-right {
text-align: right !important; }
.text-sm-center {
text-align: center !important; } }
@media (min-width: 768px) {
.text-md-left {
text-align: left !important; }
.text-md-right {
text-align: right !important; }
.text-md-center {
text-align: center !important; } }
@media (min-width: 992px) {
.text-lg-left {
text-align: left !important; }
.text-lg-right {
text-align: right !important; }
.text-lg-center {
text-align: center !important; } }
@media (min-width: 1200px) {
.text-xl-left {
text-align: left !important; }
.text-xl-right {
text-align: right !important; }
.text-xl-center {
text-align: center !important; } }
.text-lowercase {
text-transform: lowercase !important; }
.text-uppercase {
text-transform: uppercase !important; }
.text-capitalize {
text-transform: capitalize !important; }
.font-weight-light {
font-weight: 300 !important; }
.font-weight-lighter {
font-weight: lighter !important; }
.font-weight-normal {
font-weight: 400 !important; }
.font-weight-bold {
font-weight: 700 !important; }
.font-weight-bolder {
font-weight: bolder !important; }
.font-italic {
font-style: italic !important; }
.text-white {
color: #fff !important; }
.text-primary {
color: #039BE5 !important; }
a.text-primary:hover, a.text-primary:focus {
color: #026899 !important; }
.text-secondary {
color: #6c757d !important; }
a.text-secondary:hover, a.text-secondary:focus {
color: #494f54 !important; }
.text-success {
color: #28a745 !important; }
a.text-success:hover, a.text-success:focus {
color: #19692c !important; }
.text-info {
color: #17a2b8 !important; }
a.text-info:hover, a.text-info:focus {
color: #0f6674 !important; }
.text-warning {
color: #ffc107 !important; }
a.text-warning:hover, a.text-warning:focus {
color: #ba8b00 !important; }
.text-danger {
color: #dc3545 !important; }
a.text-danger:hover, a.text-danger:focus {
color: #a71d2a !important; }
.text-light {
color: #f8f9fa !important; }
a.text-light:hover, a.text-light:focus {
color: #cbd3da !important; }
.text-dark {
color: #343a40 !important; }
a.text-dark:hover, a.text-dark:focus {
color: #121416 !important; }
.text-body {
color: #212529 !important; }
.text-muted {
color: #6c757d !important; }
.text-black-50 {
color: rgba(0, 0, 0, 0.5) !important; }
.text-white-50 {
color: rgba(255, 255, 255, 0.5) !important; }
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0; }
.text-decoration-none {
text-decoration: none !important; }
.text-break {
word-break: break-word !important;
overflow-wrap: break-word !important; }
.text-reset {
color: inherit !important; }
.visible {
visibility: visible !important; }
.invisible {
visibility: hidden !important; }
html {
height: 100%; }
body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-height: 100vh; }
.container {
max-width: 740px; }
#wrap {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto; }
#wrap > .container {
margin-bottom: 4em; }
@media screen and (max-width: 767px) {
#wrap > .container {
margin-bottom: 3em; } }
.badge {
float: right; }
.jumbotron a.badge {
font-size: 0.75em;
color: white; }
.jumbotron .icon-rss {
margin-right: 0.25em;
font-size: 0.8em; }
@media screen and (max-width: 767px) {
.jumbotron .icon-rss .icon-rss {
height: 12px;
width: 12px; } }
@media screen and (max-width: 767px) {
.jumbotron h1.page-title {
margin-bottom: 0.75em;
font-size: 21px; } }
form {
margin-top: 4em;
margin-bottom: 3em; }
@media screen and (max-width: 767px) {
form {
margin-top: 0;
margin-bottom: 3em; } }
form > .row {
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end; }
form input {
width: 100%; }
#post-list {
position: relative; }
#post-list.processing > *:not(.lds-ellipsis) {
opacity: 0.1; }
.media {
padding: 1em 0;
border-bottom: 1px solid rgba(61, 135, 171, 0.3);
opacity: 1;
-webkit-transition: opacity 0.3s;
transition: opacity 0.3s; }
.media:hover {
text-decoration: none;
background: rgba(73, 131, 159, 0.05); }
.media:last-of-type {
border-bottom: 0; }
.media .badge {
margin: 0 0 1em 1em; }
@media screen and (max-width: 767px) {
.media .badge {
margin: 0 0 0.3em 0.3em; } }
.media .thumbnail {
display: inline-block;
float: left;
height: 50px;
width: 50px;
margin-right: 1rem;
overflow: hidden;
text-align: center;
background: rgba(73, 131, 159, 0.05); }
@media screen and (min-width: 1200px) {
.media .thumbnail {
width: 76px;
height: 76px;
margin-right: 1.5rem; } }
.media .thumbnail img {
height: 50px;
-o-object-fit: cover;
object-fit: cover;
margin-right: 0 !important; }
@media screen and (min-width: 1200px) {
.media .thumbnail img {
height: 76px; } }
.media h5 {
margin-bottom: 0;
font-size: 1rem;
line-height: 1.4; }
.media time {
font-size: 0.8em;
font-style: italic;
color: #999; }
footer {
color: #868e96;
background: rgba(73, 131, 159, 0.1); }
footer .container {
padding-top: 30px;
padding-bottom: 30px; }
footer p:last-of-type {
margin-bottom: 0; }
.lds-ellipsis {
display: inline-block;
position: absolute;
top: 2em;
right: 50%;
left: 50%;
width: 64px;
height: 64px;
margin-left: -32px; }
.lds-ellipsis div {
position: absolute;
top: 27px;
width: 11px;
height: 11px;
border-radius: 50%;
background: #039BE5;
-webkit-animation-timing-function: cubic-bezier(0, 1, 1, 0);
animation-timing-function: cubic-bezier(0, 1, 1, 0); }
.lds-ellipsis div:nth-child(1) {
left: 6px;
-webkit-animation: lds-ellipsis1 0.6s infinite;
animation: lds-ellipsis1 0.6s infinite; }
.lds-ellipsis div:nth-child(2) {
left: 6px;
-webkit-animation: lds-ellipsis2 0.6s infinite;
animation: lds-ellipsis2 0.6s infinite; }
.lds-ellipsis div:nth-child(3) {
left: 26px;
-webkit-animation: lds-ellipsis2 0.6s infinite;
animation: lds-ellipsis2 0.6s infinite; }
.lds-ellipsis div .lds-ellipsis div:nth-child(4) {
left: 45px;
-webkit-animation: lds-ellipsis3 0.6s infinite;
animation: lds-ellipsis3 0.6s infinite; }
@-webkit-keyframes lds-ellipsis1 {
0% {
-webkit-transform: scale(0);
transform: scale(0); }
100% {
-webkit-transform: scale(1);
transform: scale(1); } }
@keyframes lds-ellipsis1 {
0% {
-webkit-transform: scale(0);
transform: scale(0); }
100% {
-webkit-transform: scale(1);
transform: scale(1); } }
@-webkit-keyframes lds-ellipsis3 {
0% {
-webkit-transform: scale(1);
transform: scale(1); }
100% {
-webkit-transform: scale(0);
transform: scale(0); } }
@keyframes lds-ellipsis3 {
0% {
-webkit-transform: scale(1);
transform: scale(1); }
100% {
-webkit-transform: scale(0);
transform: scale(0); } }
@-webkit-keyframes lds-ellipsis2 {
0% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0); }
100% {
-webkit-transform: translate(19px, 0);
transform: translate(19px, 0); } }
@keyframes lds-ellipsis2 {
0% {
-webkit-transform: translate(0, 0);
transform: translate(0, 0); }
100% {
-webkit-transform: translate(19px, 0);
transform: translate(19px, 0); } }
@font-face {
font-family: 'icomoon';
src: url("../fonts/icomoon/icomoon.eot?26hmjc");
src: url("../fonts/icomoon/icomoon.eot?26hmjc#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?26hmjc") format("truetype"), url("../fonts/icomoon/icomoon.woff?26hmjc") format("woff"), url("../fonts/icomoon/icomoon.svg?26hmjc#icomoon") format("svg");
font-weight: normal;
font-style: normal; }
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }
.icon-info-circle:before {
content: "\f05a"; }
.icon-feed:before {
content: "\f09e"; }
.icon-rss:before {
content: "\f09e"; }
================================================
FILE: functions.php
================================================
$filename) {
if($filename != ".." && $filename != ".") {
if(is_dir($dir . "/" . $filename)) {
$newFolderSize = directorySize($dir . "/" . $filename);
$countSize = $countSize + $newFolderSize;
} elseif(is_file($dir . "/" . $filename)) {
$countSize = $countSize + filesize($dir . "/" . $filename);
$count++;
}
}
}
return $countSize;
}
// Format size in bytes
// https://www.a2zwebhelp.com/folder-size-php
function sizeFormat($bytes) {
$kb = 1024;
$mb = $kb * 1024;
$gb = $mb * 1024;
$tb = $gb * 1024;
if (($bytes >= 0) && ($bytes < $kb)) {
return $bytes . " B";
} elseif (($bytes >= $kb) && ($bytes < $mb)) {
return ceil($bytes / $kb) . " KB";
} elseif (($bytes >= $mb) && ($bytes < $gb)) {
return ceil($bytes / $mb) . " MB";
} elseif (($bytes >= $gb) && ($bytes < $tb)) {
return ceil($bytes / $gb) . " GB";
} elseif ($bytes >= $tb) {
return ceil($bytes / $tb) . " TB";
} else {
return $bytes . " B";
}
}
================================================
FILE: gulpfile.js
================================================
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var sass = require('gulp-sass');
var browserSync = require('browser-sync');
gulp.task('browser-sync', function() {
browserSync({
proxy: "https://reddit-top-rss.test",
notify: false,
open: false
});
});
gulp.task('bs-reload', function () {
browserSync.reload();
});
gulp.task('styles', function(){
gulp.src(['scss/main.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(sass())
.pipe(autoprefixer('last 2 versions'))
.pipe(gulp.dest('dist/css'))
.pipe(browserSync.stream({match: '**/*.css'}));
});
gulp.task('js', function() {
return gulp.src([
'node_modules/jquery/dist/jquery.min.js',
'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js',
'js/script.js',
])
.pipe(concat('scripts.min.js'))
.pipe(gulp.dest('dist/js'))
.pipe(rename('scripts.min.js'))
.pipe(uglify())
.pipe(gulp.dest('dist/js'));
});
gulp.task('default', ['browser-sync'], function(){
gulp.watch("scss/*.scss", ['styles']);
gulp.watch("**/*.php", ['bs-reload']);
gulp.watch("js/script.js", ['js', 'bs-reload']);
});
================================================
FILE: html.php
================================================


"; if($commentCount == 1) { $itemDescription .= "
Best comment
"; } elseif($commentCount > 1) { $itemDescription .= "Best comments
"; } $itemDescription .= ""; } } //fill description node with CDATA content $descriptionContents = $xml->createCDATASection($itemDescription); $descriptionNode->appendChild($descriptionContents); //Published date $pubDate = $xml->createElement("pubDate", date("r", $item["data"]["created_utc"])); $pubDateNode = $itemNode->appendChild($pubDate); } // Prevent CPU from spiking usleep(0.1 * 1000000); } // Cache RSS feed if(CACHE_RSS_FEEDS) { file_put_contents("cache/rss/" . $_SERVER["REQUEST_URI"] . ".xml", $xml->saveXML()); } // Echo the feed echo $xml->saveXML(); ?> ================================================ FILE: scss/_variables.scss ================================================ $color__blue: #039BE5; $color__grey-lightest: desaturate(rgba($color__blue, 0.05), 60%); $color__grey-lighter: desaturate(rgba($color__blue, 0.1), 60%); $color__grey-light: desaturate(rgba($color__blue, 0.3), 50%); $color__grey: #868e96; // Bootstrap overrides $blue: $color__blue; $jumbotron-bg: $color__grey-lighter; ================================================ FILE: scss/main.scss ================================================ // Variables @import "scss/variables"; // Bootstrap @import "node_modules/bootstrap/scss/functions"; @import "node_modules/bootstrap/scss/variables"; @import "node_modules/bootstrap/scss/mixins"; @import "node_modules/bootstrap/scss/root"; @import "node_modules/bootstrap/scss/reboot"; @import "node_modules/bootstrap/scss/type"; @import "node_modules/bootstrap/scss/images"; @import "node_modules/bootstrap/scss/grid"; @import "node_modules/bootstrap/scss/forms"; @import "node_modules/bootstrap/scss/buttons"; @import "node_modules/bootstrap/scss/transitions"; @import "node_modules/bootstrap/scss/input-group"; @import "node_modules/bootstrap/scss/custom-forms"; @import "node_modules/bootstrap/scss/badge"; @import "node_modules/bootstrap/scss/jumbotron"; @import "node_modules/bootstrap/scss/alert"; @import "node_modules/bootstrap/scss/media"; @import "node_modules/bootstrap/scss/tooltip"; @import "node_modules/bootstrap/scss/utilities"; // Main html { height: 100%; } body { display: flex; flex-direction: column; min-height: 100vh; } .container { max-width: 740px; } #wrap { flex: 1 0 auto; > .container { margin-bottom: 4em; @media screen and (max-width: 767px) { margin-bottom: 3em; } } } // Elements .badge { float: right; } // Jumbotron .jumbotron { a.badge { font-size: 0.75em; color: white; } .icon-rss { margin-right: 0.25em; font-size: 0.8em; @media screen and (max-width: 767px) { .icon-rss { height: 12px; width: 12px; } } } h1.page-title { @media screen and (max-width: 767px) { margin-bottom: 0.75em; font-size: 21px; } } } // Form form { margin-top: 4em; margin-bottom: 3em; @media screen and (max-width: 767px) { margin-top: 0; margin-bottom: 3em; } > .row { align-items: flex-end; } input { width: 100%; } } // Post List #post-list { position: relative; &.processing { > *:not(.lds-ellipsis) { opacity: 0.1; } } } // Media .media { padding: 1em 0; border-bottom: 1px solid $color__grey-light; opacity: 1; transition: opacity 0.3s; &:hover { text-decoration: none; background: $color__grey-lightest; } &:last-of-type { border-bottom: 0; } .badge { margin: 0 0 1em 1em; @media screen and (max-width: 767px) { margin: 0 0 0.3em 0.3em; } } .thumbnail { display: inline-block; float: left; height: 50px; width: 50px; margin-right: 1rem; overflow: hidden; text-align: center; background: $color__grey-lightest; @media screen and (min-width: 1200px) { width: 76px; height: 76px; margin-right: 1.5rem; } img { height: 50px; object-fit: cover; margin-right: 0 !important; @media screen and (min-width: 1200px) { height: 76px; } } } h5 { margin-bottom: 0; font-size: 1rem; line-height: 1.4; } time { font-size: 0.8em; font-style: italic; color: #999; } } // Footer footer { color: $color__grey; background: $color__grey-lighter; .container { padding-top: 30px; padding-bottom: 30px; } p:last-of-type { margin-bottom: 0; } } // Loading spinner // https://loading.io/css/ .lds-ellipsis { display: inline-block; position: absolute; top: 2em; right: 50%; left: 50%; width: 64px; height: 64px; margin-left: -32px; div { position: absolute; top: 27px; width: 11px; height: 11px; border-radius: 50%; background: $color__blue; animation-timing-function: cubic-bezier(0, 1, 1, 0); &:nth-child(1) { left: 6px; animation: lds-ellipsis1 0.6s infinite; } &:nth-child(2) { left: 6px; animation: lds-ellipsis2 0.6s infinite; } &:nth-child(3) { left: 26px; animation: lds-ellipsis2 0.6s infinite; } .lds-ellipsis div:nth-child(4) { left: 45px; animation: lds-ellipsis3 0.6s infinite; } } } @keyframes lds-ellipsis1 { 0% { transform: scale(0); } 100% { transform: scale(1); } } @keyframes lds-ellipsis3 { 0% { transform: scale(1); } 100% { transform: scale(0); } } @keyframes lds-ellipsis2 { 0% { transform: translate(0, 0); } 100% { transform: translate(19px, 0); } } // Icomoon font @font-face { font-family: 'icomoon'; src: url('../fonts/icomoon/icomoon.eot?26hmjc'); src: url('../fonts/icomoon/icomoon.eot?26hmjc#iefix') format('embedded-opentype'), url('../fonts/icomoon/icomoon.ttf?26hmjc') format('truetype'), url('../fonts/icomoon/icomoon.woff?26hmjc') format('woff'), url('../fonts/icomoon/icomoon.svg?26hmjc#icomoon') format('svg'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-info-circle:before { content: "\f05a"; } .icon-feed:before { content: "\f09e"; } .icon-rss:before { content: "\f09e"; } ================================================ FILE: sort-and-filter.php ================================================ $b["data"]["created_utc"]) { return 1; } else if ($a["data"]["created_utc"] < $b["data"]["created_utc"]) { return -1; } else { return 0; } } // Sort by Score function sortByScoreDesc($a, $b) { if ($a["data"]["score"] < $b["data"]["score"]) { return 1; } else if ($a["data"]["score"] > $b["data"]["score"]) { return -1; } else { return 0; } }