From 42b08b7ffd19d17536f3859dfd5da37217e16ba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Kr=C3=BCttli?= Date: Thu, 15 Mar 2018 13:03:10 +0100 Subject: [PATCH 01/73] Create .gitignore --- .gitignore | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c01e12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ +cmake-build-release/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties From a2d48db005913a312169addd044f90bebee0b22f Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 15 Mar 2018 13:12:11 +0100 Subject: [PATCH 02/73] test file --- test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test diff --git a/test b/test new file mode 100644 index 0000000..e69de29 From 5b052404c0c91df53c75ee47854173b822da796b Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 15 Mar 2018 13:13:40 +0100 Subject: [PATCH 03/73] removed test --- test | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test diff --git a/test b/test deleted file mode 100644 index e69de29..0000000 From 46b17b42b47cb0651841b93072cc18e898d38b2c Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 15 Mar 2018 13:56:04 +0100 Subject: [PATCH 04/73] added sql creation-file --- doc/imagedb.sql | 251 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 doc/imagedb.sql diff --git a/doc/imagedb.sql b/doc/imagedb.sql new file mode 100644 index 0000000..4897647 --- /dev/null +++ b/doc/imagedb.sql @@ -0,0 +1,251 @@ +-- phpMyAdmin SQL Dump +-- version 4.7.4 +-- https://www.phpmyadmin.net/ +-- +-- Host: 127.0.0.1 +-- Erstellungszeit: 15. Mrz 2018 um 13:54 +-- Server-Version: 10.1.30-MariaDB +-- PHP-Version: 7.2.1 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `imagedb` +-- +CREATE DATABASE IF NOT EXISTS `imagedb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; +USE `imagedb`; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `authority` +-- + +CREATE TABLE `authority` ( + `AuthorityId` int(11) NOT NULL, + `UserId` int(11) NOT NULL, + `GalleryId` int(11) NOT NULL, + `RightId` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `gallery` +-- + +CREATE TABLE `gallery` ( + `GalleryId` int(11) NOT NULL, + `OwnerId` int(11) NOT NULL, + `Title` text NOT NULL, + `Description` text, + `DirectoryPath` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `image` +-- + +CREATE TABLE `image` ( + `ImageId` int(11) NOT NULL, + `GalleryId` int(11) NOT NULL, + `Name` text NOT NULL, + `RelativePath` text NOT NULL, + `ThumbnailPath` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `imagetag` +-- + +CREATE TABLE `imagetag` ( + `ImageTagId` int(11) NOT NULL, + `TagId` int(11) NOT NULL, + `ImageId` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `right` +-- + +CREATE TABLE `right` ( + `RightId` int(11) NOT NULL, + `Role` text NOT NULL, + `Description` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `tag` +-- + +CREATE TABLE `tag` ( + `TagId` int(11) NOT NULL, + `Name` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `user` +-- + +CREATE TABLE `user` ( + `UserId` int(11) NOT NULL, + `Emailaddress` text NOT NULL, + `Password` text NOT NULL, + `Nickname` text NOT NULL, + `IsAdmin` bit(1) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `authority` +-- +ALTER TABLE `authority` + ADD PRIMARY KEY (`AuthorityId`), + ADD KEY `RightId` (`RightId`), + ADD KEY `GalleryId` (`GalleryId`), + ADD KEY `UserId` (`UserId`); + +-- +-- Indizes für die Tabelle `gallery` +-- +ALTER TABLE `gallery` + ADD PRIMARY KEY (`GalleryId`), + ADD KEY `OwnerId` (`OwnerId`); + +-- +-- Indizes für die Tabelle `image` +-- +ALTER TABLE `image` + ADD PRIMARY KEY (`ImageId`), + ADD KEY `GalleryId` (`GalleryId`); + +-- +-- Indizes für die Tabelle `imagetag` +-- +ALTER TABLE `imagetag` + ADD PRIMARY KEY (`ImageTagId`), + ADD KEY `ImageId` (`ImageId`), + ADD KEY `TagId` (`TagId`); + +-- +-- Indizes für die Tabelle `right` +-- +ALTER TABLE `right` + ADD PRIMARY KEY (`RightId`); + +-- +-- Indizes für die Tabelle `tag` +-- +ALTER TABLE `tag` + ADD PRIMARY KEY (`TagId`); + +-- +-- Indizes für die Tabelle `user` +-- +ALTER TABLE `user` + ADD PRIMARY KEY (`UserId`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `authority` +-- +ALTER TABLE `authority` + MODIFY `AuthorityId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `gallery` +-- +ALTER TABLE `gallery` + MODIFY `GalleryId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `image` +-- +ALTER TABLE `image` + MODIFY `ImageId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `imagetag` +-- +ALTER TABLE `imagetag` + MODIFY `ImageTagId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `right` +-- +ALTER TABLE `right` + MODIFY `RightId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `tag` +-- +ALTER TABLE `tag` + MODIFY `TagId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT für Tabelle `user` +-- +ALTER TABLE `user` + MODIFY `UserId` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- Constraints der exportierten Tabellen +-- + +-- +-- Constraints der Tabelle `authority` +-- +ALTER TABLE `authority` + ADD CONSTRAINT `authority_ibfk_1` FOREIGN KEY (`RightId`) REFERENCES `right` (`RightId`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `authority_ibfk_2` FOREIGN KEY (`GalleryId`) REFERENCES `gallery` (`GalleryId`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `authority_ibfk_3` FOREIGN KEY (`UserId`) REFERENCES `user` (`UserId`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Constraints der Tabelle `gallery` +-- +ALTER TABLE `gallery` + ADD CONSTRAINT `gallery_ibfk_1` FOREIGN KEY (`OwnerId`) REFERENCES `user` (`UserId`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Constraints der Tabelle `image` +-- +ALTER TABLE `image` + ADD CONSTRAINT `image_ibfk_1` FOREIGN KEY (`GalleryId`) REFERENCES `gallery` (`GalleryId`), + ADD CONSTRAINT `image_ibfk_2` FOREIGN KEY (`GalleryId`) REFERENCES `gallery` (`GalleryId`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- +-- Constraints der Tabelle `imagetag` +-- +ALTER TABLE `imagetag` + ADD CONSTRAINT `imagetag_ibfk_1` FOREIGN KEY (`ImageId`) REFERENCES `image` (`ImageId`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `imagetag_ibfk_2` FOREIGN KEY (`TagId`) REFERENCES `tag` (`TagId`) ON DELETE CASCADE ON UPDATE CASCADE; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; From 96632413e945c101669c39863eb094e00ce9393e Mon Sep 17 00:00:00 2001 From: kruettlip Date: Thu, 15 Mar 2018 13:56:50 +0100 Subject: [PATCH 05/73] added DB table-order --- doc/DBTableOrder.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/DBTableOrder.md diff --git a/doc/DBTableOrder.md b/doc/DBTableOrder.md new file mode 100644 index 0000000..c0be51f --- /dev/null +++ b/doc/DBTableOrder.md @@ -0,0 +1,10 @@ +# Database Table Order +This table order shows us, in which order the tables of the database have to be created or deleted. +Following order **has to be** implemented due to constraints: +- Tag +- User +- Gallery +- Image +- ImageTag +- Right +- Authority \ No newline at end of file From 42c321d7c0a0e816781a6bcc57ce00b484abbec1 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 15 Mar 2018 14:06:01 +0100 Subject: [PATCH 06/73] changed config --- src/php/config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/php/config.php b/src/php/config.php index 66041b7..b51859b 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -11,7 +11,7 @@ setValue("cfg_menu_list", array("login"=>"Login","registration"=>"Registration")); // Datenbankverbindung herstellen -$db = mysqli_connect("127.0.0.1", "root", "gibbiX12345", "bilderdb"); +$db = mysqli_connect("127.0.0.1", "root", "gibbiX12345", "imagedb"); if (!$db) die("Verbindungsfehler: ".mysqli_connect_error()); setValue("cfg_db", $db); ?> From f80ccb1c42ac1213783ebd8348b47ae7572554eb Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 15 Mar 2018 14:33:59 +0100 Subject: [PATCH 07/73] worked on registration --- src/php/appl_functions.php | 23 ++++++++++++++++----- src/php/db_functions.php | 9 ++++++++ src/templates/login.htm.php | 2 +- src/templates/registration.htm.php | 33 ++++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 src/templates/registration.htm.php diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index f54e253..c29525c 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -8,15 +8,28 @@ /* * Beinhaltet die Anwendungslogik zum Login */ -function login() { - // Template abfüllen und Resultat zurückgeben - setValue("phpmodule", $_SERVER['PHP_SELF']."?id=".getValue("func")); - return runTemplate( "../templates/".getValue("func").".htm.php" ); +function login() +{ + // Template abfüllen und Resultat zurückgeben + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + return runTemplate("../templates/" . getValue("func") . ".htm.php"); } /* * Beinhaltet die Anwendungslogik zur Registration */ -function registration() { +function registration() +{ + if (isset($_POST['emailaddress']) && + isset($_POST['password'])) { + if(userWithEmailaddressNotExists($_POST['emailaddress'])){ + + } + } + + + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + return runTemplate("../templates/" . getValue("func") . ".htm.php"); } + ?> \ No newline at end of file diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 533d3be..4f1ab5f 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -7,4 +7,13 @@ * sqlQuery() und sqlSelect() aus dem Modul basic_functions.php auf. */ + +function userWithEmailaddressNotExists($email) +{ + $sql = "SELECT COUNT(UserId) FROM `User` WHERE Emailaddress = '" .$email. "';"; + if(sqlSelect($sql)[0] >= 1) { + return false; + } + return true; +} ?> \ No newline at end of file diff --git a/src/templates/login.htm.php b/src/templates/login.htm.php index f4db552..0a16dd6 100644 --- a/src/templates/login.htm.php +++ b/src/templates/login.htm.php @@ -7,7 +7,7 @@
- +
diff --git a/src/templates/registration.htm.php b/src/templates/registration.htm.php new file mode 100644 index 0000000..063eba7 --- /dev/null +++ b/src/templates/registration.htm.php @@ -0,0 +1,33 @@ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
From 9af0b8e740f3cb57c31cd5555ac09c08b380d176 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Fri, 16 Mar 2018 15:30:09 +0100 Subject: [PATCH 08/73] modified login --- src/js/bootstrap.min.js | 7 - src/js/css/bootstrap-grid.css | 2050 ++++++ src/js/css/bootstrap-grid.css.map | 1 + src/js/css/bootstrap-grid.min.css | 7 + src/js/css/bootstrap-grid.min.css.map | 1 + src/js/css/bootstrap-reboot.css | 330 + src/js/css/bootstrap-reboot.css.map | 1 + src/js/css/bootstrap-reboot.min.css | 8 + src/js/css/bootstrap-reboot.min.css.map | 1 + src/js/css/bootstrap.css | 8975 +++++++++++++++++++++++ src/js/css/bootstrap.css.map | 1 + src/js/css/bootstrap.min.css | 7 + src/js/css/bootstrap.min.css.map | 1 + src/js/js/bootstrap.bundle.js | 6328 ++++++++++++++++ src/js/js/bootstrap.bundle.js.map | 1 + src/js/js/bootstrap.bundle.min.js | 7 + src/js/js/bootstrap.bundle.min.js.map | 1 + src/js/js/bootstrap.js | 3894 ++++++++++ src/js/js/bootstrap.js.map | 1 + src/js/js/bootstrap.min.js | 7 + src/js/js/bootstrap.min.js.map | 1 + src/js/registration.js | 24 + src/php/appl_functions.php | 27 +- src/php/basic_functions.php | 148 +- src/php/db_functions.php | 2 +- src/templates/index.htm.php | 41 +- src/templates/registration.htm.php | 83 +- 27 files changed, 21829 insertions(+), 126 deletions(-) delete mode 100644 src/js/bootstrap.min.js create mode 100644 src/js/css/bootstrap-grid.css create mode 100644 src/js/css/bootstrap-grid.css.map create mode 100644 src/js/css/bootstrap-grid.min.css create mode 100644 src/js/css/bootstrap-grid.min.css.map create mode 100644 src/js/css/bootstrap-reboot.css create mode 100644 src/js/css/bootstrap-reboot.css.map create mode 100644 src/js/css/bootstrap-reboot.min.css create mode 100644 src/js/css/bootstrap-reboot.min.css.map create mode 100644 src/js/css/bootstrap.css create mode 100644 src/js/css/bootstrap.css.map create mode 100644 src/js/css/bootstrap.min.css create mode 100644 src/js/css/bootstrap.min.css.map create mode 100644 src/js/js/bootstrap.bundle.js create mode 100644 src/js/js/bootstrap.bundle.js.map create mode 100644 src/js/js/bootstrap.bundle.min.js create mode 100644 src/js/js/bootstrap.bundle.min.js.map create mode 100644 src/js/js/bootstrap.js create mode 100644 src/js/js/bootstrap.js.map create mode 100644 src/js/js/bootstrap.min.js create mode 100644 src/js/js/bootstrap.min.js.map create mode 100644 src/js/registration.js diff --git a/src/js/bootstrap.min.js b/src/js/bootstrap.min.js deleted file mode 100644 index 9bcd2fc..0000000 --- a/src/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/src/js/css/bootstrap-grid.css b/src/js/css/bootstrap-grid.css new file mode 100644 index 0000000..5a71a41 --- /dev/null +++ b/src/js/css/bootstrap-grid.css @@ -0,0 +1,2050 @@ +/*! + * Bootstrap Grid v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +@-ms-viewport { + width: device-width; +} + +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-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%; + min-height: 1px; + 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: none; +} + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.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.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.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; + } +} + +.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; +} + +.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; + } + .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; + } + .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; + } + .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; + } + .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; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/js/css/bootstrap-grid.css.map b/src/js/css/bootstrap-grid.css.map new file mode 100644 index 0000000..c62a598 --- /dev/null +++ b/src/js/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.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,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' 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\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/src/js/css/bootstrap-grid.min.css b/src/js/css/bootstrap-grid.min.css new file mode 100644 index 0000000..ea073e9 --- /dev/null +++ b/src/js/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-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:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.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.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.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.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.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.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-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:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.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.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.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.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.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.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-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:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.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.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.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.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.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.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-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:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.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.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.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.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.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.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-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:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.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.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.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.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.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.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.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}}.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}.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}.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}.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}.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}.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}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/js/css/bootstrap-grid.min.css.map b/src/js/css/bootstrap-grid.min.css.map new file mode 100644 index 0000000..ed4a87d --- /dev/null +++ b/src/js/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.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,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/src/js/css/bootstrap-reboot.css b/src/js/css/bootstrap-reboot.css new file mode 100644 index 0000000..5a75a62 --- /dev/null +++ b/src/js/css/bootstrap-reboot.css @@ -0,0 +1,330 @@ +/*! + * Bootstrap Reboot v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/src/js/css/bootstrap-reboot.css.map b/src/js/css/bootstrap-reboot.css.map new file mode 100644 index 0000000..3f18406 --- /dev/null +++ b/src/js/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' 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\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/js/css/bootstrap-reboot.min.css b/src/js/css/bootstrap-reboot.min.css new file mode 100644 index 0000000..ced0468 --- /dev/null +++ b/src/js/css/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/src/js/css/bootstrap-reboot.min.css.map b/src/js/css/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..7212ab6 --- /dev/null +++ b/src/js/css/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACoBA,ECXA,QADA,SDeE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAKA,cACE,MAAA,aAMJ,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAWF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KEvBF,sBFgCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAQF,EACE,WAAA,EACA,cAAA,KChDF,0BD0DA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCrDF,GDwDA,GCzDA,GD4DE,WAAA,EACA,cAAA,KAGF,MCxDA,MACA,MAFA,MD6DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAIF,EC1DA,OD4DE,YAAA,OAIF,MACE,UAAA,IAQF,IChEA,IDkEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QG3LA,QH8LE,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGvMA,oCAAA,oCH0ME,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EClEJ,KACA,ID2EA,IC1EA,KD8EE,YAAA,SAAA,CAAA,UACA,UAAA,IAIF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OACE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC9GF,ODiHA,MC/GA,SADA,OAEA,SDmHE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OCjHA,MDmHE,SAAA,QAGF,OCjHA,ODmHE,eAAA,KC7GF,aACA,cDkHA,OCpHA,mBDwHE,mBAAA,OCjHF,gCACA,+BACA,gCDmHA,yBAIE,QAAA,EACA,aAAA,KClHF,qBDqHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCrHA,2BACA,kBAFA,iBD+HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SEnIF,yCDEA,yCDuIE,OAAA,KEpIF,cF4IE,eAAA,KACA,mBAAA,KExIF,4CDEA,yCD+IE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KErJF,SF2JE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/js/css/bootstrap.css b/src/js/css/bootstrap.css new file mode 100644 index 0000000..aa49713 --- /dev/null +++ b/src/js/css/bootstrap.css @@ -0,0 +1,8975 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014 \00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code, +kbd, +pre, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-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%; + min-height: 1px; + 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: none; +} + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.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.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -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: none; + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .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.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .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.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .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.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: transparent; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table .table { + background-color: #fff; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #212529; + border-color: #32383e; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 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::-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:not([size]):not([multiple]) { + height: calc(2.25rem + 2px); +} + +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; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, +.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, +.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, +.input-group-sm > .input-group-prepend > .form-control-plaintext.btn, +.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, +.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, +.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, +.input-group-lg > .input-group-prepend > .form-control-plaintext.btn, +.input-group-lg > .input-group-append > .form-control-plaintext.btn { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm, .input-group-sm > .form-control, +.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; +} + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), +.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px); +} + +.form-control-lg, .input-group-lg > .form-control, +.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; +} + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), +.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), +.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) { + height: calc(2.875rem + 2px); +} + +.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: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(40, 167, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:valid, .form-control.is-valid, .was-validated +.custom-select:valid, +.custom-select.is-valid { + border-color: #28a745; +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated +.custom-select:valid:focus, +.custom-select.is-valid:focus { + border-color: #28a745; + 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, .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-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 { + background-color: #71dd8a; +} + +.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 { + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.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 ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { + border-color: inherit; +} + +.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 { + 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: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated +.custom-select:invalid, +.custom-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated +.custom-select:invalid:focus, +.custom-select.is-invalid:focus { + border-color: #dc3545; + 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, .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-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 { + background-color: #efa2a9; +} + +.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 { + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.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 ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { + border-color: inherit; +} + +.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 { + 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 { + 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; + 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; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + 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; +} + +.btn:hover, .btn:focus { + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { + background-image: none; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 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 { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 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 { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 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 { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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 { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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 { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 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 { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 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 { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 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 { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 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 { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 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 { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 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 { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 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 { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 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 { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 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 { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-primary { + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + background-color: transparent; + background-image: none; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.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 { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + background-color: transparent; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + border-color: transparent; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + 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 { + opacity: 0; + transition: opacity 0.15s linear; +} + +.fade.show { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.show { + display: block; +} + +tr.collapse.show { + display: table-row; +} + +tbody.collapse.show { + display: table-row-group; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + width: 0; + height: 0; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group, +.btn-group-vertical .btn + .btn, +.btn-group-vertical .btn + .btn-group, +.btn-group-vertical .btn-group + .btn, +.btn-group-vertical .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: 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 > .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:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file:focus { + z-index: 3; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .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: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::before { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label, +.input-group > .custom-file:not(:first-child) .custom-file-label::before { + 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 + .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 > .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; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + margin-bottom: 0; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5); +} + +.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 { + opacity: 0; +} + +.custom-select-sm { + height: calc(1.8125rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; +} + +.custom-select-lg { + height: calc(2.875rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 125%; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-control { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input:focus ~ .custom-file-control::before { + border-color: #80bdff; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + 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(calc(2.25rem + 2px) - 1px * 2); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: 1px solid #ced4da; + border-radius: 0 0.25rem 0.25rem 0; +} + +.nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100%; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:first-child .card-img-top, + .card-group > .card:first-child .card-header { + border-top-right-radius: 0; + } + .card-group > .card:first-child .card-img-bottom, + .card-group > .card:first-child .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:last-child .card-img-top, + .card-group > .card:last-child .card-header { + border-top-left-radius: 0; + } + .card-group > .card:last-child .card-img-bottom, + .card-group > .card:last-child .card-footer { + border-bottom-left-radius: 0; + } + .card-group > .card:only-child { + border-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-top, + .card-group > .card:only-child .card-header { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-bottom, + .card-group > .card:only-child .card-footer { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { + border-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.breadcrumb { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-link:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.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; +} + +.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: #007bff; +} + +.badge-primary[href]:hover, .badge-primary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #0062cc; +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +.badge-secondary[href]:hover, .badge-secondary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #545b62; +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +.badge-success[href]:hover, .badge-success[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1e7e34; +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +.badge-info[href]:hover, .badge-info[href]:focus { + color: #fff; + text-decoration: none; + background-color: #117a8b; +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +.badge-warning[href]:hover, .badge-warning[href]:focus { + color: #212529; + text-decoration: none; + background-color: #d39e00; +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +.badge-danger[href]:hover, .badge-danger[href]:focus { + color: #fff; + text-decoration: none; + background-color: #bd2130; +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +.badge-light[href]:hover, .badge-light[href]:focus { + color: #212529; + text-decoration: none; + background-color: #dae0e5; +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +.badge-dark[href]:hover, .badge-dark[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + 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: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + background-color: #007bff; + transition: width 0.6s ease; +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +.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; +} + +.list-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item:hover, .list-group-item:focus { + z-index: 1; + text-decoration: none; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover, .close:focus { + color: #000; + text-decoration: none; + opacity: .75; +} + +.close:not(:disabled):not(.disabled) { + cursor: pointer; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); +} + +.modal.show .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog-centered { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - (0.5rem * 2)); +} + +.modal-content { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-centered { + min-height: calc(100% - (1.75rem * 2)); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + 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; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + 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; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, +.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { + border-width: 0.5rem 0.5rem 0; +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { + bottom: 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { + bottom: 1px; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, +.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { + border-width: 0.5rem 0.5rem 0.5rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { + left: 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { + left: 1px; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, +.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { + border-width: 0 0.5rem 0.5rem 0.5rem; +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { + top: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { + top: 1px; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, +.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { + border-width: 0.5rem 0 0.5rem 0.5rem; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { + right: 0; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { + right: 1px; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-item { + position: relative; + display: none; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; +} + +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.carousel-item-next, +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next, + .active.carousel-item-right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.carousel-item-prev, +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-prev, + .active.carousel-item-left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + 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: 15%; + color: #fff; + text-align: center; + opacity: 0.5; +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: rgba(255, 255, 255, 0.5); +} + +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !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: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded { + border-radius: 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-circle { + border-radius: 50% !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -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.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -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; +} + +.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; + } + .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; + } + .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; + } + .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; + } + .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; + } +} + +.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; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 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-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-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-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-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-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-justify { + text-align: justify !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0062cc !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #545b62 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #1e7e34 !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #117a8b !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #d39e00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #bd2130 !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #dae0e5 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #1d2124 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/src/js/css/bootstrap.css.map b/src/js/css/bootstrap.css.map new file mode 100644 index 0000000..a4532ec --- /dev/null +++ b/src/js/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","bootstrap.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AAkB;IAClB,cAAa;IACb,sBf+GwC;Ie9GxC,eAAc;GACf;EA5DL;IA+DM,0BAAmB;IAAnB,uBAAmB;IAAnB,oBAAmB;IACnB,yBAAuB;IAAvB,sBAAuB;IAAvB,wBAAuB;GACxB;EAjEL;IAmEM,iBAAgB;GACjB;ChByuDJ;;AoB7iED;EACE,sBAAqB;EACrB,iBnBsO+B;EmBrO/B,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;EAAjB,uBAAiB;EAAjB,sBAAiB;EAAjB,kBAAiB;EACjB,8BAA2C;ECsF3C,0BpBkOkC;EoBjOlC,gBpBqIgC;EoBpIhC,iBpB6I+B;EoB1I7B,uBpByGgC;EgB5M9B,sIhBoX6I;CmBxUlJ;;AlB/BC;EkBCE,sBAAqB;ClBEtB;;AkBfH;EAkBI,WAAU;EACV,iDnBWa;CmBVd;;AApBH;EAyBI,cnB8U6B;CmB5U9B;;AA3BH;EA+BI,gBAAe;CAChB;;AAhCH;EAoCI,uBAAsB;CAMvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAQC;ECzDA,YpBKa;EkBLX,0BlB8Ba;EoB5Bf,sBpB4Be;CmB6Bd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBaW;CoBXd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBKa;EoBJb,sBpBIa;CoBHd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBdS;CoBgBZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBWc;EoBThB,sBpBSgB;CmBgDf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBNY;CoBQf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBdc;EoBed,sBpBfc;CoBgBf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBjCU;CoBmCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBqCa;EoBnCf,sBpBmCe;CmBsBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBoBW;CoBlBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBYa;EoBXb,sBpBWa;CoBVd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBPS;CoBSZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBuCa;EoBrCf,sBpBqCe;CmBoBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,iDpBsBW;CoBpBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBca;EoBbb,sBpBaa;CoBZd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDpBLS;CoBOZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBoCa;EoBlCf,sBpBkCe;CmBuBd;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBmBW;CoBjBd;;AAGD;EAEE,epBVc;EoBWd,0BpBWa;EoBVb,sBpBUa;CoBTd;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBRS;CoBUZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBkCa;EoBhCf,sBpBgCe;CmByBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBiBW;CoBfd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBSa;EoBRb,sBpBQa;CoBPd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBVS;CoBYZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBMc;EoBJhB,sBpBIgB;CmBqDf;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBXY;CoBaf;;AAGD;EAEE,epBVc;EoBWd,0BpBnBc;EoBoBd,sBpBpBc;CoBqBf;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBtCU;CoBwCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBac;EoBXhB,sBpBWgB;CmB8Cf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,+CpBJY;CoBMf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBZc;EoBad,sBpBbc;CoBcf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CpB/BU;CoBiCb;;ADiBH;ECZA,epBrBe;EoBsBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBxBe;CmBmCd;;ACTD;EACE,YpBpDW;EoBqDX,0BpB5Ba;EoB6Bb,sBpB7Ba;CoB8Bd;;AAED;EAEE,gDpBlCa;CoBmCd;;AAED;EAEE,epBvCa;EoBwCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB/Ca;EoBgDb,sBpBhDa;CoB0Dd;;AARC;;EAKI,gDpBvDS;CoByDZ;;ADxBH;ECZA,epBxCgB;EoByChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpB3CgB;CmBsDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB/Cc;EoBgDd,sBpBhDc;CoBiDf;;AAED;EAEE,kDpBrDc;CoBsDf;;AAED;EAEE,epB1Dc;EoB2Dd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBlEc;EoBmEd,sBpBnEc;CoB6Ef;;AARC;;EAKI,kDpB1EU;CoB4Eb;;ADxBH;ECZA,epBde;EoBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBjBe;CmB4Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBrBa;EoBsBb,sBpBtBa;CoBuBd;;AAED;EAEE,gDpB3Ba;CoB4Bd;;AAED;EAEE,epBhCa;EoBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBxCa;EoByCb,sBpBzCa;CoBmDd;;AARC;;EAKI,gDpBhDS;CoBkDZ;;ADxBH;ECZA,epBZe;EoBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBfe;CmB0Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBnBa;EoBoBb,sBpBpBa;CoBqBd;;AAED;EAEE,iDpBzBa;CoB0Bd;;AAED;EAEE,epB9Ba;EoB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBtCa;EoBuCb,sBpBvCa;CoBiDd;;AARC;;EAKI,iDpB9CS;CoBgDZ;;ADxBH;ECZA,epBfe;EoBgBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBlBe;CmB6Bd;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBtBa;EoBuBb,sBpBvBa;CoBwBd;;AAED;EAEE,gDpB5Ba;CoB6Bd;;AAED;EAEE,epBjCa;EoBkCb,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBzCa;EoB0Cb,sBpB1Ca;CoBoDd;;AARC;;EAKI,gDpBjDS;CoBmDZ;;ADxBH;ECZA,epBjBe;EoBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBpBe;CmB+Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBxBa;EoByBb,sBpBzBa;CoB0Bd;;AAED;EAEE,gDpB9Ba;CoB+Bd;;AAED;EAEE,epBnCa;EoBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB3Ca;EoB4Cb,sBpB5Ca;CoBsDd;;AARC;;EAKI,gDpBnDS;CoBqDZ;;ADxBH;ECZA,epB7CgB;EoB8ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBhDgB;CmB2Df;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBpDc;EoBqDd,sBpBrDc;CoBsDf;;AAED;EAEE,kDpB1Dc;CoB2Df;;AAED;EAEE,epB/Dc;EoBgEd,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBvEc;EoBwEd,sBpBxEc;CoBkFf;;AARC;;EAKI,kDpB/EU;CoBiFb;;ADxBH;ECZA,epBtCgB;EoBuChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBzCgB;CmBoDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB7Cc;EoB8Cd,sBpB9Cc;CoB+Cf;;AAED;EAEE,+CpBnDc;CoBoDf;;AAED;EAEE,epBxDc;EoByDd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoB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wBhCqmBwC;EgCpmBxC,kBhCoM+B;EgCnM/B,kBhCwmBsC;EgCvmBtC,ehCwBe;EgCvBf,uBhCFa;EgCGb,0BhCAgB;CgCmBjB;;AA3BD;EAWI,ehCsIgD;EgCrIhD,sBAAqB;EACrB,0BhCNc;EgCOd,sBhCNc;CgCOf;;AAfH;EAkBI,WAAU;EACV,WAAU;EACV,iDhCUa;CgCTd;;AArBH;EAyBI,gBAAe;CAChB;;AAGH;EAGM,eAAc;E1BPhB,gCNkLgC;EMjLhC,mCNiLgC;CgCzK/B;;AALL;E1BlBI,iCNgMgC;EM/LhC,oCN+LgC;CgCpK/B;;AAVL;EAcI,WAAU;EACV,YhCvCW;EgCwCX,0BhCfa;EgCgBb,sBhChBa;CgCiBd;;AAlBH;EAqBI,ehCvCc;EgCwCd,qBAAoB;EAEpB,aAAY;EACZ,uBhCjDW;EgCkDX,sBhC/Cc;CgCgDf;;AC3DD;EACE,wBjC8mBsC;EiC7mBtC,mBjCqOkD;EiCpOlD,iBjCqM6B;CiCpM9B;;AAIG;E3BoBF,+BNmL+B;EMlL/B,kCNkL+B;CiCrM5B;;AAGD;E3BCF,gCNiM+B;EMhM/B,mCNgM+B;CiChM5B;;AAfL;EACE,wBjC4mBqC;EiC3mBrC,oBjCsOkD;EiCrOlD,iBjCsM6B;CiCrM9B;;AAIG;E3BoBF,+BNoL+B;EMnL/B,kCNmL+B;CiCtM5B;;AAGD;E3BCF,gCNkM+B;EMjM/B,mCNiM+B;CiCjM5B;;ACbP;EACE,sBAAqB;EACrB,sBlC6sBsC;EkC5sBtC,elCysBqC;EkCxsBrC,iBlCsO+B;EkCrO/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBN6MgC;CkC7LnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBlCsrBsC;EkCrrBtC,oBlCqrBsC;EMntBpC,qBNstBqC;CkCtrBxC;;AAOC;EC1CA,YnCUa;EmCTb,0BnCkCe;CkCSd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCegB;CkC4Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCyCe;CkCEd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnC2Ce;CkCAd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCwCe;CkCGd;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCsCe;CkCKd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCUgB;CkCiCf;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCiBgB;CkC0Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AmCrBH;EACE,mBAAoD;EACpD,oBpCyoBsC;EoCxoBtC,0BpCUgB;EMTd,sBN8M+B;CoCzMlC;;A1BmDG;E0B5DJ;IAOI,mBpCooBoC;GoCloBvC;CrC+yIA;;AqC7yID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBrC2vByC;EqC1vBzC,oBrC2vBsC;EqC1vBtC,8BAA6C;E/BJ3C,uBN6MgC;CqCvMnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBrC2N+B;CqC1NhC;;AAOD;EACE,oBAAwD;CAUzD;;AAXD;EAKI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBrC6tBuC;EqC5tBvC,eAAc;CACf;;AASD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;C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yCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;ACjBP;EACE,aAAY;EACZ,kB3Cq2BuD;E2Cp2BvD,iB3C4O+B;E2C3O/B,eAAc;EACd,Y3CgBa;E2Cfb,0B3CKa;E2CJb,YAAW;CAYZ;;A1CDC;E0CRE,Y3CWW;E2CVX,sBAAqB;EACrB,aAAY;C1CSb;;A0CrBH;EAiBI,gBAAe;CAChB;;AASH;EACE,WAAU;EACV,8BAA6B;EAC7B,UAAS;EACT,yBAAwB;CACzB;;ACzBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5CmiBsC;E4CliBtC,cAAa;EACb,iBAAgB;EAGhB,WAAU;CASX;;AAJC;EACE,mBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.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,\n.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,\n.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,\n.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,\n.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,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n 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;\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::before {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-control::before {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' 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\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:''}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/src/js/js/bootstrap.min.js.map b/src/js/js/bootstrap.min.js.map new file mode 100644 index 0000000..a2100fa --- /dev/null +++ b/src/js/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Util","transition","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","document","getElementById","element","selector","getAttribute","charAt","escapeSelector","substr","replace","find","err","offsetHeight","trigger","end","Boolean","obj","nodeType","componentName","config","configTypes","property","expectedTypes","value","valueType","isElement","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","window","QUnit","fn","emulateTransitionEnd","supportsTransitionEnd","event","special","is","handleObj","handler","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","closeEvent","CLOSE","removeClass","hasClass","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","noConflict","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","FOCUS_BLUR_DATA_API","Carousel","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","nextWhenVisible","hidden","css","prev","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","ACTIVE","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","reflow","_this3","action","slide","TypeError","_dataApiClickHandler","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","DATA_TOGGLE","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","SHOW","dimension","_getDimension","style","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","boundary","_getPopperConfig","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offset","offsets","flip","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","get","KEYDOWN_DATA_API","KEYUP_DATA_API","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","createElement","className","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","_TRANSITION_DURATION","_cleanTipClass","getTitle","CLASS_PREFIX","template","$tip","setElementContent","content","html","empty","append","text","title","split","forEach","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","subClass","superClass","create","__proto__","_getContent","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
@@ -39,7 +39,7 @@ class="img-thumbnail" alt="..."> src="../img/library.svg" class="img-thumbnail" alt="...">
  • - 5 +
  • From 35b7ddc341c0a0a0debdb3290c4832f456ebbfdd Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Sat, 17 Mar 2018 15:02:59 +0100 Subject: [PATCH 13/73] Add some status messages --- src/js/login.js | 18 ++++++++++++++++++ src/php/appl_functions.php | 5 +++++ src/php/basic_functions.php | 4 ++-- src/php/db_functions.php | 12 ++++++++---- src/templates/index.htm.php | 2 +- src/templates/login.htm.php | 19 ++++++++++++++++--- 6 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 src/js/login.js diff --git a/src/js/login.js b/src/js/login.js new file mode 100644 index 0000000..9a95fd1 --- /dev/null +++ b/src/js/login.js @@ -0,0 +1,18 @@ +$(document).ready(function() { + $('#login_login').prop('disabled', true); + $('#login_fieldsEmpty').hide(); + + $('.contentCheck').on('keyup', function() { + $('#login_invalidCredentials').hide(); + // $('#login_emailaddress').val() + ' ' + $('#login_password').val()); + console.log($('#login_emailaddress').val().length); + if($('#login_emailaddress').val().length > 0 && $('#login_password').val().length > 0) { + $('#login_fieldsEmpty').hide(); + $('#login_login').prop('disabled', false); + } else { + $('#login_fieldsEmpty').show(); + $('#login_login').prop('disabled', true); + } + + }); +}); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index c56fac0..993ca57 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -21,6 +21,8 @@ function login() $canLogin = true; $user = getUserByEmailaddress($email); setSessionValues($user); + }else{ + setValue("message", ""); } } @@ -88,7 +90,10 @@ function registration() function logout() { unsetSessionValues(); + setValue('isLoggedOut', true); + setValue("message", ""); echo ""; + } function overview() diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index accbdc1..8ed9cad 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -191,7 +191,7 @@ function getSessionNickname(){ if(isset($_SESSION['userNickname'])) { return $_SESSION['userNickname']; } else { - return "Nickname"; + return "{Nickname}"; } } @@ -199,7 +199,7 @@ function getSessionEmailaddress(){ if(isset($_SESSION['userEmailaddress'])) { return $_SESSION['userEmailaddress']; } else { - return "Emailaddress"; + return "{Emailaddress}"; } } diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 013f7c8..df006ee 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -25,12 +25,15 @@ function createUser($email, $nickname, $password) { sqlQuery($sql); } -function areUserCredentialsValid($email, $password) { +function areUserCredentialsValid($email, $password) +{ $sql = "SELECT Password FROM `User` WHERE Emailaddress = '" . strtolower($email) . "';"; $answer = sqlSelect($sql); - //echo ""; - if (password_verify($password, $answer[0]['Password'])) { - return true; +// echo ""; + if (!empty($answer[0]['Password'])) { + if (password_verify($password, $answer[0]['Password'])) { + return true; + } } return false; } @@ -45,6 +48,7 @@ function getImageCountByEmailaddress($emailaddress){ $sql = "SELECT COUNT(ImageId) FROM image WHERE GalleryId = (SELECT GalleryId FROM gallery WHERE OwnerId = (SELECT UserId FROM `user` WHERE Emailaddress ='" . strtolower($emailaddress) . "'))"; $answer = sqlSelect($sql); return $answer[0]["COUNT(ImageId)"]; + } function getGalleryCountByEmailaddress($emailaddress){ diff --git a/src/templates/index.htm.php b/src/templates/index.htm.php index f26f692..ee79cb5 100644 --- a/src/templates/index.htm.php +++ b/src/templates/index.htm.php @@ -21,7 +21,7 @@
    +
    + 0) { + echo getValue('message'); + } + ?> + +
    - \ No newline at end of file + + \ No newline at end of file From 8deaf6fa359d5c091f66a7fc249423c10394d8df Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 22 Mar 2018 13:15:02 +0100 Subject: [PATCH 14/73] fixed spelling failure --- src/templates/registration.htm.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/registration.htm.php b/src/templates/registration.htm.php index d8f5a39..c8b3c37 100644 --- a/src/templates/registration.htm.php +++ b/src/templates/registration.htm.php @@ -2,7 +2,7 @@

    Registration

    -

    Type in your credentials ans let's go

    +

    Type in your credentials and let's go

    From 5bfbe827b6397605110e40155bdc63e3682969a1 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 22 Mar 2018 14:32:25 +0100 Subject: [PATCH 15/73] worked on image-gallery --- src/css/own.css | 6 ++++++ src/php/appl_functions.php | 27 ++++++++++++++++++++++++++- src/php/basic_functions.php | 12 ++++++++++++ src/php/config.php | 4 ++-- src/php/db_functions.php | 9 ++++++++- src/templates/galleries.htm.php | 18 ++++++++++++++++++ src/templates/index.htm.php | 2 +- src/templates/user.htm.php | 2 +- 8 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 src/templates/galleries.htm.php diff --git a/src/css/own.css b/src/css/own.css index fc17967..c0d078a 100644 --- a/src/css/own.css +++ b/src/css/own.css @@ -1,3 +1,9 @@ +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} + .vertical-center { min-height: 80%; /* Fallback for browsers do NOT support vh unit */ min-height: 80vh; /* These two lines are counted as one :-) */ diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index 993ca57..acf9997 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -21,7 +21,7 @@ function login() $canLogin = true; $user = getUserByEmailaddress($email); setSessionValues($user); - }else{ + } else { setValue("message", ""); } } @@ -101,5 +101,30 @@ function overview() return runTemplate("../templates/" . getValue("func") . ".htm.php"); } +function galleries() +{ + return runTemplate("../templates/" . getValue("func") . ".htm.php"); +} + +function getGalleriesBySessionUser() +{ + $galleries = getGalleriesByUser(getSessionUserId()); + $html = ""; + if (!empty($galleries)) { + + foreach ($galleries as $gallery) { + $html .= "
    +
    +
    +
    " .$gallery['Title'] . "
    +

    " .$gallery['Description'] . "

    +
    +
    "; + } + windowAlert('in'); + return $html; + } + return "
    There aren't any galleries yet
    "; +} ?> \ No newline at end of file diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index 8ed9cad..665eb71 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -203,6 +203,14 @@ function getSessionEmailaddress(){ } } +function getSessionUserId(){ + if(isset($_SESSION['userId'])) { + return $_SESSION['userId']; + } else { + return "{UserID}"; + } +} + function isSessionActive(){ if(isset($_SESSION['userId'])){ if($_SESSION['userId'] > 0){ @@ -210,4 +218,8 @@ function isSessionActive(){ } } return false; +} + +function windowAlert($content){ + echo ""; } \ No newline at end of file diff --git a/src/php/config.php b/src/php/config.php index a0e8133..1b5a73e 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -10,9 +10,9 @@ // Inhalt des Menus setValue("cfg_menu_list", array("login"=>"Login","registration"=>"Registration")); -setValue("cfg_func_user_list", array("logout","overview")); +setValue("cfg_func_user_list", array("logout","overview","galleries")); // Inhalt des Menus -setValue("cfg_menu_user_list", array("logout"=>"Logout","overview"=>"Overview")); +setValue("cfg_menu_user_list", array("logout"=>"Logout","overview"=>"Overview","galleries"=>"Galleries")); // Datenbankverbindung herstellen $db = mysqli_connect("127.0.0.1", "root", "gibbiX12345", "imagedb"); diff --git a/src/php/db_functions.php b/src/php/db_functions.php index df006ee..2aa43bf 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -29,11 +29,11 @@ function areUserCredentialsValid($email, $password) { $sql = "SELECT Password FROM `User` WHERE Emailaddress = '" . strtolower($email) . "';"; $answer = sqlSelect($sql); -// echo ""; if (!empty($answer[0]['Password'])) { if (password_verify($password, $answer[0]['Password'])) { return true; } + } return false; } @@ -56,4 +56,11 @@ function getGalleryCountByEmailaddress($emailaddress){ $answer = sqlSelect($sql); return $answer[0]["COUNT(GalleryId)"]; } + +function getGalleriesByUser($userId) { + $sql = "SELECT * FROM gallery WHERE OwnerId=".$userId.";"; + $answer = sqlSelect($sql); + echo ""; + return $answer; +} ?> \ No newline at end of file diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php new file mode 100644 index 0000000..2d12962 --- /dev/null +++ b/src/templates/galleries.htm.php @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/src/templates/index.htm.php b/src/templates/index.htm.php index ee79cb5..61adb5b 100644 --- a/src/templates/index.htm.php +++ b/src/templates/index.htm.php @@ -20,7 +20,7 @@ -

    Your activities

    @@ -28,7 +65,7 @@
  • ...
  • -
  • +
  • @@ -45,4 +82,5 @@ class="img-thumbnail" alt="...">
    - \ No newline at end of file + + \ No newline at end of file From f258c2ea9601365967b5a0ceb0e88b1ba3427390 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 29 Mar 2018 14:33:25 +0200 Subject: [PATCH 17/73] Started to implement the add progress of a gallery --- src/js/galleries.js | 13 ++++++++++ src/php/appl_functions.php | 32 ++++++++++++++++++----- src/php/basic_functions.php | 2 +- src/php/config.php | 2 ++ src/php/db_functions.php | 29 ++++++++++++++++----- src/templates/galleries.htm.php | 45 +++++++++++++++++++++++++++++++-- 6 files changed, 108 insertions(+), 15 deletions(-) create mode 100644 src/js/galleries.js diff --git a/src/js/galleries.js b/src/js/galleries.js new file mode 100644 index 0000000..92f6ced --- /dev/null +++ b/src/js/galleries.js @@ -0,0 +1,13 @@ +$(document).ready(function () { + + $('#galleries_newGalleryButton').prop('disabled', true); + + $('#galleries_newGalleryName').on('keyup', function () { + if ($.trim($(this).val()).length > 3) { + $('#galleries_newGalleryButton').prop('disabled', false); + } + else { + $('#galleries_newGalleryButton').prop('disabled', true); + } + }); +}); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index a004908..5bbcf3c 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -104,7 +104,6 @@ function overview() if (isset($_POST['overview_nickname'])) { $nickName = $_POST['overview_nickname']; if ($nickName != getSessionNickname()) { - windowAlert($nickName); updateUserNicknameByUserId(getSessionUserId(), $nickName); setSessionNickname($nickName); } @@ -116,13 +115,9 @@ function overview() $currentPassword = $_POST['overview_currentPassword']; $newPassword = $_POST['overview_newPassword']; $newPasswordRepeat = $_POST['overview_newPasswordRepeat']; - windowAlert('Inside'); if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { - windowAlert('PasswordMatching'); if (isPasswortMatchingRequirements($newPassword)) { - windowAlert('MatchingRequirements'); - windowAlert($newPassword); -// updateUserPasswordByUserId(getSessionUserId(), $newPassword); + updateUserPasswordByUserId(getSessionUserId(), $newPassword); } } } @@ -134,6 +129,20 @@ function overview() function galleries() { + if (isset($_POST['galleries_newGalleryName'])) { + $galleryTitle = trim($_POST['galleries_newGalleryName']); + $galleryDescription = $_POST['galleries_newGalleryDescription']; + if (isGalleryExisting(getSessionUserId(), $galleryTitle)) { + $galleryPath = getGalleryPath($galleryTitle); + if ($galleryPath != "") { + createGallery(getSessionUserId(), $galleryTitle, $galleryDescription, $galleryPath); + setValue('message',"" ); + }else{ + setValue('message',"" ); + } + } + } + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } @@ -166,4 +175,15 @@ function isPasswortMatchingRequirements($password) return $uppercase && $lowercase && $number && strlen(trim($password)) >= 8; } + +function getGalleryPath($galleryTitle) +{ + $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); + if (!file_exists($path)) { + mkdir($path); + return $path; + } + return ""; +} + ?> \ No newline at end of file diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index 77ba5b8..c38339b 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -233,4 +233,4 @@ function isSessionActive() function windowAlert($content) { echo ""; -} \ No newline at end of file +} diff --git a/src/php/config.php b/src/php/config.php index 1b5a73e..d442f95 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -14,6 +14,8 @@ // Inhalt des Menus setValue("cfg_menu_user_list", array("logout"=>"Logout","overview"=>"Overview","galleries"=>"Galleries")); +setValue("galleryRoot", "C:\\xampp\htdocs\ImageDB\src\storage\galleries\\"); + // Datenbankverbindung herstellen $db = mysqli_connect("127.0.0.1", "root", "gibbiX12345", "imagedb"); if (!$db) die("Verbindungsfehler: ".mysqli_connect_error()); diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 3ca768f..7fbd601 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -42,8 +42,8 @@ function isUserPasswordMatching($userId, $raw) $sql = "SELECT Password FROM `User` WHERE UserId = " . $userId . ";"; $answer = sqlSelect($sql); windowAlert(json_encode($answer)); - if(!empty($answer[0]['Password'])){ - return password_verify($raw,$answer[0]['Password']); + if (!empty($answer[0]['Password'])) { + return password_verify($raw, $answer[0]['Password']); } return false; } @@ -78,18 +78,35 @@ function getGalleriesByUser($userId) return $answer; } +function createGallery($userId, $galleryTitle, $galleryDescription, $galleryPath) +{ + $sql = "INSERT INTO `gallery` (Title, Description, OwnerId, DirectoryPath) VALUES('" . $galleryTitle . "', '" . $galleryDescription . "', '" . $userId . "' , '" . $galleryPath . "')"; +} + +function isGalleryExisting($userId, $galleryTitle) +{ + $sql = "SELECT Count(GalleryId) FROM `gallery` WHERE GalleryTitle='" . $galleryTitle . "' AND OwnerId = '" . $userId . "' ;"; + $answer = sqlSelect($sql); + if ($answer[0]['Count(GalleryId)'] == 0) { + return false; + } + return true; +} + function updateUserNicknameByUserId($userId, $nickname) { - $sql = "UPDATE `User` SET Nickname = '" . $nickname ."' WHERE UserId=" . $userId . ";"; + $sql = "UPDATE `User` SET Nickname = '" . $nickname . "' WHERE UserId=" . $userId . ";"; sqlQuery($sql); } -function updateUserPasswordByUserId($userId, $password){ - $sql = "UPDATE `User` SET Password = '" . hashPassword($password) . "' WHERE UserId =" . $userId . ";"; +function updateUserPasswordByUserId($userId, $password) +{ + $sql = "UPDATE `User` SET Password = '" . hashPassword($password) . "' WHERE UserId =" . $userId . ";"; sqlQuery($sql); } -function hashPassword($password){ +function hashPassword($password) +{ $options = ['cost' => 12]; return password_hash($password, PASSWORD_BCRYPT, $options); } diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 2d12962..1769212 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -7,7 +7,8 @@ - \ No newline at end of file + + + + + + + + + From 83fbee723ba1eced9704670ef59038765c3e9262 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 29 Mar 2018 18:24:29 +0200 Subject: [PATCH 18/73] Add notification on credtentials changed --- src/php/appl_functions.php | 20 ++++++++++++++------ src/php/db_functions.php | 1 - src/templates/overview.htm.php | 6 ++++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index 5bbcf3c..288c84c 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -106,6 +106,7 @@ function overview() if ($nickName != getSessionNickname()) { updateUserNicknameByUserId(getSessionUserId(), $nickName); setSessionNickname($nickName); + setValue('message', ""); } } @@ -115,9 +116,16 @@ function overview() $currentPassword = $_POST['overview_currentPassword']; $newPassword = $_POST['overview_newPassword']; $newPasswordRepeat = $_POST['overview_newPasswordRepeat']; - if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { - if (isPasswortMatchingRequirements($newPassword)) { - updateUserPasswordByUserId(getSessionUserId(), $newPassword); + if (strlen(trim($currentPassword)) > 0) { + if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { + if (isPasswortMatchingRequirements($newPassword)) { + updateUserPasswordByUserId(getSessionUserId(), $newPassword); + setValue('message', getValue('message') . ""); + } else { + setValue('message', ""); + } + } else { + setValue('message', getValue('message') . ""); } } } @@ -136,9 +144,9 @@ function galleries() $galleryPath = getGalleryPath($galleryTitle); if ($galleryPath != "") { createGallery(getSessionUserId(), $galleryTitle, $galleryDescription, $galleryPath); - setValue('message',"" ); - }else{ - setValue('message',"" ); + setValue('message', ""); + } else { + setValue('message', ""); } } } diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 7fbd601..a135ec8 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -41,7 +41,6 @@ function isUserPasswordMatching($userId, $raw) { $sql = "SELECT Password FROM `User` WHERE UserId = " . $userId . ";"; $answer = sqlSelect($sql); - windowAlert(json_encode($answer)); if (!empty($answer[0]['Password'])) { return password_verify($raw, $answer[0]['Password']); } diff --git a/src/templates/overview.htm.php b/src/templates/overview.htm.php index 71beb7b..d1e0d2d 100644 --- a/src/templates/overview.htm.php +++ b/src/templates/overview.htm.php @@ -33,6 +33,12 @@ id="overview_deleteAccount">Delete account + " . $message .""; + } + ?> "; - } + $message = getValue('message'); + if (!empty($message)) { + echo "
    " . $message . "
    "; + } ?> diff --git a/src/templates/user.htm.php b/src/templates/user.htm.php index 5d353dd..59688ca 100644 --- a/src/templates/user.htm.php +++ b/src/templates/user.htm.php @@ -34,12 +34,5 @@ -
    -
    -
    - © Copyright gibb -
    -
    -
    From 14d0a2ad7b0b587c81aabc3006149b0a457798f3 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Wed, 25 Apr 2018 14:09:54 +0200 Subject: [PATCH 21/73] Add the functionality to add a new gallery --- src/js/galleries.js | 7 +++++++ src/templates/galleries.htm.php | 20 ++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/js/galleries.js b/src/js/galleries.js index 8e3d990..9cf6bc9 100644 --- a/src/js/galleries.js +++ b/src/js/galleries.js @@ -1,6 +1,11 @@ $(document).ready(function () { var currentGallery = null; + var deleteButton = $('#galleries_deleteGallery'); + var editButton = $('#galleries_editGallery'); + + deleteButton.hide(); + editButton.hide(); $('#galleries_newGalleryButton').prop('disabled', true); $('#galleries_newGalleryName').on('keyup', function () { @@ -13,6 +18,8 @@ $(document).ready(function () { }); $('.galleryItem').on('click', function() { + deleteButton.show(); + editButton.show(); if(currentGallery != null){ currentGallery.removeClass('bg-secondary text-white'); currentGallery.addClass('bg-light'); diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 1769212..ef58879 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -7,10 +7,18 @@ @@ -39,8 +47,8 @@
    + name="galleries_newGalleryName" aria-describedby="emailHelp" + placeholder="Enter name of the gallery"> Date: Wed, 25 Apr 2018 19:11:30 +0200 Subject: [PATCH 22/73] working on admin --- src/php/admin.php | 34 +++++++++ src/php/appl_functions.php | 19 ++++- src/php/basic_functions.php | 10 +++ src/php/config.php | 4 + src/php/db_functions.php | 23 +++++- src/templates/admin.htm.php | 38 ++++++++++ src/templates/adminGalleries.htm.php | 108 +++++++++++++++++++++++++++ src/templates/adminUsers.htm.php | 108 +++++++++++++++++++++++++++ 8 files changed, 342 insertions(+), 2 deletions(-) create mode 100644 src/php/admin.php create mode 100644 src/templates/admin.htm.php create mode 100644 src/templates/adminGalleries.htm.php create mode 100644 src/templates/adminUsers.htm.php diff --git a/src/php/admin.php b/src/php/admin.php new file mode 100644 index 0000000..4ca2328 --- /dev/null +++ b/src/php/admin.php @@ -0,0 +1,34 @@ +window.location.href='index.php?id=login'"; +} +?> diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index b1d941b..6d72217 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -30,6 +30,13 @@ function login() $canLogin = true; } + if (isSessionUserAdmin()) { + setValue("func", "adminUsers"); + setValue("phpmodule", "localhost/ImageDB/src/php/admin.php" . "?id=" . getValue("func")); + echo ""; + return null; + } + if ($canLogin) { setValue("func", "overview"); setValue("phpmodule", "localhost/ImageDB/src/php/user.php" . "?id=" . getValue("func")); @@ -208,4 +215,14 @@ function escapeString($toEscape){ return str_replace('\\', '\\\\', $toEscape); } -?> \ No newline at end of file +function adminUsers(){ + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + return runTemplate("../templates/" . getValue("func") . ".htm.php"); +} + +function adminGalleries(){ + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + return runTemplate("../templates/" . getValue("func") . ".htm.php"); +} + +?> diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index cdb1a50..6b08c70 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -230,6 +230,16 @@ function isSessionActive() return false; } +function isSessionUserAdmin() +{ + if (isset($_SESSION['userId'])) { + if (in_array($_SESSION['userId'], getAdminUserIds())) { + return true; + } + } + return false; +} + function windowAlert($content) { echo ""; diff --git a/src/php/config.php b/src/php/config.php index 2e19172..8940805 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -14,6 +14,10 @@ // Inhalt des Menus setValue("cfg_menu_user_list", array("logout"=>"Logout","overview"=>"Overview","galleries"=>"Galleries")); +setValue("cfg_func_admin_list", array("adminUsers","adminGalleries","logout")); +// Inhalt des Menus +setValue("cfg_menu_admin_list", array("adminUsers"=>"Users","adminGalleries"=>"Galleries","logout"=>"Logout")); + //setValue("galleryRoot", "C:\\xampp\htdocs\ImageDB\src\storage\galleries\\"); setValue("galleryRoot", "C:\\imagedb"); diff --git a/src/php/db_functions.php b/src/php/db_functions.php index f2dae55..c9f803a 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -116,4 +116,25 @@ function hashPassword($password) return password_hash($password, PASSWORD_BCRYPT, $options); } -?> \ No newline at end of file +function getAdminUserIds() +{ + $sql = "SELECT UserId FROM `User` WHERE IsAdmin = 1 ;"; + $answer = sqlSelect($sql); + $toReturn = array(); + foreach($answer as $row){ + array_push($toReturn, $row['UserId']); + } + return $toReturn; +} + +function getAllUsers(){ + $sql = "SELECT * FROM `User`;"; + $answer = sqlSelect($sql); + $toReturn = array(); + foreach($answer as $row){ + array_push($toReturn, $row); + } + return $toReturn; +} + +?> diff --git a/src/templates/admin.htm.php b/src/templates/admin.htm.php new file mode 100644 index 0000000..0ff9722 --- /dev/null +++ b/src/templates/admin.htm.php @@ -0,0 +1,38 @@ + + + + + + + + + + + + + Bilder-DB + + + + + + + + + + diff --git a/src/templates/adminGalleries.htm.php b/src/templates/adminGalleries.htm.php new file mode 100644 index 0000000..e080e92 --- /dev/null +++ b/src/templates/adminGalleries.htm.php @@ -0,0 +1,108 @@ +
    +
    +

    Gallery administrator

    +

    edit and delete galleries here

    +
    +
    +
    +
    +

    Galleries

    + +
    ". + $user['Emailaddress']." +
    +
      "; + foreach(getGalleriesByUser($userId) as $gallery){ + echo "
    • Title: ".$gallery['Title']."
    • +
    • Description: ".$gallery['Description']."
    • "; + } + echo "
    +
    "; + } + } + ?> + " . $message . "
    "; + } + ?> + + +
    + + + diff --git a/src/templates/adminUsers.htm.php b/src/templates/adminUsers.htm.php new file mode 100644 index 0000000..c348570 --- /dev/null +++ b/src/templates/adminUsers.htm.php @@ -0,0 +1,108 @@ +
    +
    +

    User administrator

    +

    edit and delete users here

    +
    +
    +
    +
    +

    Users

    + +
    ". + $user['Emailaddress']." +
    +
      +
    • Nickname: ". + $user['Nickname']."
    • +
    • Edit user +
      Delete user +
    • +
    +
    "; + } + ?> + " . $message . "
    "; + } + ?> + + + + + + From 7f18537a02fddcd8fc9bec8e926dc96881458aaa Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Wed, 25 Apr 2018 21:03:06 +0200 Subject: [PATCH 23/73] Add the functionality to delete a gallery in the user - and gallery-overview --- src/js/galleries.js | 6 ++++ src/php/appl_functions.php | 63 ++++++++++++++++++++++++--------- src/php/basic_functions.php | 5 +++ src/php/db_functions.php | 23 ++++++++++-- src/templates/galleries.htm.php | 49 ++++++++++++++++++------- src/templates/overview.htm.php | 2 +- 6 files changed, 116 insertions(+), 32 deletions(-) diff --git a/src/js/galleries.js b/src/js/galleries.js index 9cf6bc9..8b391c0 100644 --- a/src/js/galleries.js +++ b/src/js/galleries.js @@ -25,7 +25,13 @@ $(document).ready(function () { currentGallery.addClass('bg-light'); } currentGallery = $(this); + console.log(currentGallery.attr('name')); currentGallery.removeClass('bg-light'); currentGallery.addClass('bg-secondary text-white'); }); + + $('#gallery_deleteForm_deleteButton').on('click', function () { + $('#gallery_deleteForm_galleryId').val(currentGallery.attr('name')); + $('#gallery_deleteForm').submit(); + }); }); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index b1d941b..2e6c873 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -11,7 +11,6 @@ function login() { $canLogin = false; - $userId = 0; if (isset($_POST['login_emailaddress']) && isset($_POST['login_password'])) { $email = $_POST['login_emailaddress']; $password = $_POST['login_password']; @@ -99,11 +98,13 @@ function logout() function overview() { if (isset($_POST['overview_deleteContent'])) { + deleteUserFromPath(); deleteUserByUserId(getSessionUserId()); setValue('message', ""); unsetSessionValues(); - setValue('func','login'); + setValue('func', 'login'); setValue("phpmodule", "localhost/ImageDB/src/php/index.php" . "?id=" . getValue("func")); + echo ""; } else { if (isset($_POST['overview_nickname'])) { $nickName = $_POST['overview_nickname']; @@ -119,7 +120,6 @@ function overview() isset($_POST['overview_newPasswordRepeat'])) { $currentPassword = $_POST['overview_currentPassword']; $newPassword = $_POST['overview_newPassword']; - $newPasswordRepeat = $_POST['overview_newPasswordRepeat']; if (strlen(trim($currentPassword)) > 0) { if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { if (isPasswortMatchingRequirements($newPassword)) { @@ -133,23 +133,34 @@ function overview() } } } + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); } - - setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } function galleries() { + if (isset($_POST['gallery_deleteForm_action'])) { + $id = $_POST['gallery_deleteForm_galleryId']; +// echo $id; + $gallery = getGalleryById($id); +// echo $gallery[0]['Title']; +// echo $gallery[0]['ShowTitle']; + deleteGalleryAndImagesFromPath($gallery[0]['Title']); + deleteGallery($id); + } + if (isset($_POST['galleries_newGalleryName'])) { - $galleryTitle = trim($_POST['galleries_newGalleryName']); + $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); + $galleryShowTitle = $_POST['galleries_newGalleryName']; $galleryDescription = $_POST['galleries_newGalleryDescription']; - setValue('message', ""); + setMessage("The gallery '" . $galleryShowTitle . "' is already taken", "alert-danger"); if (!isGalleryExisting(getSessionUserId(), $galleryTitle)) { $galleryPath = getGalleryPath($galleryTitle); if ($galleryPath != "") { - createGallery(getSessionUserId(), $galleryTitle, $galleryDescription, escapeString($galleryPath)); - setValue('message', ""); + createGallery(getSessionUserId() ,$galleryTitle, $galleryShowTitle, $galleryDescription, escapeString($galleryPath)); + setValue('message', ""); + setMessage("The gallery has been created", "alert-success"); } } } @@ -164,25 +175,25 @@ function getGalleriesBySessionUser() if (!empty($galleries)) { $rowItems = 0; foreach ($galleries as $gallery) { - if($rowItems == 0){ + if ($rowItems == 0) { $html .= "
    "; } - $html .= "
    + $html .= "
    -
    " . $gallery['Title'] . "
    +
    " . $gallery['ShowTitle'] . "

    " . $gallery['Description'] . "

    "; $rowItems++; - if($rowItems == 4){ + if ($rowItems == 4) { $html .= '
    '; $rowItems = 0; } } return $html; } - return "
    There aren't any galleries yet
    "; + return ""; } function isPasswortMatchingRequirements($password) @@ -198,14 +209,34 @@ function getGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); if (!file_exists($path)) { - exec("md " . $path ); + exec("md " . $path); return $path; } return ""; } -function escapeString($toEscape){ +function deleteGalleryAndImagesFromPath($galleryTitle) +{ + $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $galleryTitle; + if (file_exists($path)) { + exec("rd /s /q " . $path); + } +} + +function deleteUserFromPath() { + $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress(); + if(file_exists($path)){ + exec("rd /s /q " . $path); + } +} + +function escapeString($toEscape) +{ return str_replace('\\', '\\\\', $toEscape); } +function setMessage($content, $bootstrapClass){ + setValue('message', ""); +} + ?> \ No newline at end of file diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index cdb1a50..6fe1ffb 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -234,3 +234,8 @@ function windowAlert($content) { echo ""; } + +function consoleLog($content) +{ + echo ""; +} diff --git a/src/php/db_functions.php b/src/php/db_functions.php index f2dae55..f3e8286 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -76,12 +76,26 @@ function getGalleriesByUser($userId) return $answer; } -function createGallery($userId, $galleryTitle, $galleryDescription, $galleryPath) +function createGallery($userId, $galleryTitle, $galleryShowTitle, $galleryDescription, $galleryPath) { - $sql = "INSERT INTO `gallery` (Title, Description, OwnerId, DirectoryPath) VALUES('" . $galleryTitle . "', '" . $galleryDescription . "', '" . $userId . "' , '" . $galleryPath . "')"; + $sql = "INSERT INTO `gallery` (Title, ShowTitle ,Description, OwnerId, DirectoryPath) VALUES('" . $galleryTitle . "', '" . $galleryShowTitle . "', '" . $galleryDescription ."', '" . $userId . "' , '" . strtolower($galleryPath). "')"; sqlQuery($sql); } +function deleteGallery($galleryId) { + $sql = "DELETE FROM `gallery` WHERE GalleryId=" . $galleryId; + sqlQuery($sql); +} + +function getImagePathsByGallery($galleryId){ + $sql = "SELECT RelativePath FROM `image` WHERE GalleryId=" . $galleryId; + $answer = sqlSelect($sql); + $back = []; + foreach ($answer['RelativePath'] as $image){ + $back.array_push($image); + } +} + function isGalleryExisting($userId, $galleryTitle) { $sql = "SELECT Count(GalleryId) FROM `gallery` WHERE Title='" . $galleryTitle . "' AND OwnerId =" . $userId . ";"; @@ -116,4 +130,9 @@ function hashPassword($password) return password_hash($password, PASSWORD_BCRYPT, $options); } +function getGalleryById($galleryId){ + $sql = "SELECT * FROM `gallery` WHERE GalleryId=" . $galleryId . ";"; + $answer = sqlSelect($sql); + return $answer; +} ?> \ No newline at end of file diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index ef58879..8d6d8c0 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -7,18 +7,18 @@ @@ -31,7 +31,6 @@ } ?> - + diff --git a/src/templates/overview.htm.php b/src/templates/overview.htm.php index 25a022d..ccdcaf7 100644 --- a/src/templates/overview.htm.php +++ b/src/templates/overview.htm.php @@ -4,7 +4,7 @@

    this is your overview

    -
    +

    Your credentials

    " method="post"> From f0afed3b1ecaa25a295ebbc1a6344d7ad0163a29 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Wed, 25 Apr 2018 21:12:13 +0200 Subject: [PATCH 24/73] Fixed merge conflicts --- src/php/appl_functions.php | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index c5fbbb0..d65a9e1 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -11,6 +11,7 @@ function login() { $canLogin = false; + $userId = 0; if (isset($_POST['login_emailaddress']) && isset($_POST['login_password'])) { $email = $_POST['login_emailaddress']; $password = $_POST['login_password']; @@ -109,7 +110,7 @@ function overview() deleteUserByUserId(getSessionUserId()); setValue('message', ""); unsetSessionValues(); - setValue('func', 'login'); + setValue('func','login'); setValue("phpmodule", "localhost/ImageDB/src/php/index.php" . "?id=" . getValue("func")); echo ""; } else { @@ -127,6 +128,7 @@ function overview() isset($_POST['overview_newPasswordRepeat'])) { $currentPassword = $_POST['overview_currentPassword']; $newPassword = $_POST['overview_newPassword']; + $newPasswordRepeat = $_POST['overview_newPasswordRepeat']; if (strlen(trim($currentPassword)) > 0) { if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { if (isPasswortMatchingRequirements($newPassword)) { @@ -140,8 +142,9 @@ function overview() } } } - setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); } + + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } @@ -158,16 +161,14 @@ function galleries() } if (isset($_POST['galleries_newGalleryName'])) { - $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); - $galleryShowTitle = $_POST['galleries_newGalleryName']; + $galleryTitle = trim($_POST['galleries_newGalleryName']); $galleryDescription = $_POST['galleries_newGalleryDescription']; - setMessage("The gallery '" . $galleryShowTitle . "' is already taken", "alert-danger"); + setValue('message', ""); if (!isGalleryExisting(getSessionUserId(), $galleryTitle)) { $galleryPath = getGalleryPath($galleryTitle); if ($galleryPath != "") { - createGallery(getSessionUserId() ,$galleryTitle, $galleryShowTitle, $galleryDescription, escapeString($galleryPath)); - setValue('message', ""); - setMessage("The gallery has been created", "alert-success"); + createGallery(getSessionUserId(), $galleryTitle, $galleryDescription, escapeString($galleryPath)); + setValue('message', ""); } } } @@ -182,25 +183,25 @@ function getGalleriesBySessionUser() if (!empty($galleries)) { $rowItems = 0; foreach ($galleries as $gallery) { - if ($rowItems == 0) { + if($rowItems == 0){ $html .= "
    "; } - $html .= "
    + $html .= "
    -
    " . $gallery['ShowTitle'] . "
    +
    " . $gallery['Title'] . "

    " . $gallery['Description'] . "

    "; $rowItems++; - if ($rowItems == 4) { + if($rowItems == 4){ $html .= '
    '; $rowItems = 0; } } return $html; } - return ""; + return ""; } function isPasswortMatchingRequirements($password) @@ -216,7 +217,7 @@ function getGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); if (!file_exists($path)) { - exec("md " . $path); + exec("md " . $path ); return $path; } return ""; @@ -242,6 +243,7 @@ function escapeString($toEscape) return str_replace('\\', '\\\\', $toEscape); } + function setMessage($content, $bootstrapClass){ setValue('message', ""); } From ba4e1590cf9f9c46e6c55a1b028b145920dd47cc Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Wed, 25 Apr 2018 21:22:11 +0200 Subject: [PATCH 25/73] Fixed merge conflicts --- src/php/appl_functions.php | 11 ++++++----- src/php/db_functions.php | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index d65a9e1..fe73b5b 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -161,14 +161,15 @@ function galleries() } if (isset($_POST['galleries_newGalleryName'])) { - $galleryTitle = trim($_POST['galleries_newGalleryName']); + $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); $galleryDescription = $_POST['galleries_newGalleryDescription']; - setValue('message', ""); + $galleryShowTitle = $_POST['galleries_newGalleryName']; + setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); if (!isGalleryExisting(getSessionUserId(), $galleryTitle)) { $galleryPath = getGalleryPath($galleryTitle); if ($galleryPath != "") { - createGallery(getSessionUserId(), $galleryTitle, $galleryDescription, escapeString($galleryPath)); - setValue('message', ""); + createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle , $galleryDescription, escapeString($galleryPath)); + setMessage("The gallery has vbeen created", "alert-success"); } } } @@ -186,7 +187,7 @@ function getGalleriesBySessionUser() if($rowItems == 0){ $html .= "
    "; } - $html .= "
    + $html .= "
    " . $gallery['Title'] . "
    diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 940e6ff..4b5163e 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -83,7 +83,7 @@ function createGallery($userId, $galleryTitle, $galleryShowTitle, $galleryDescri } function deleteGallery($galleryId) { - $sql = "DELETE FROM `gallery` WHERE GalleryId=" . $galleryId; + $sql = "DELETE FROM `gallery` WHERE GalleryId=" . $galleryId .";"; sqlQuery($sql); } From 331817c05fbfc8b4c5bffeb85cb6a0f64fc7e995 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Wed, 25 Apr 2018 21:43:29 +0200 Subject: [PATCH 26/73] Add galleries_edit file --- src/templates/galleries_edit.htm.php | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/templates/galleries_edit.htm.php diff --git a/src/templates/galleries_edit.htm.php b/src/templates/galleries_edit.htm.php new file mode 100644 index 0000000..00eb374 --- /dev/null +++ b/src/templates/galleries_edit.htm.php @@ -0,0 +1,8 @@ + \ No newline at end of file From 95821a3edc91a8f263e4114a3ee4938614325f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Kr=C3=BCttli?= Date: Thu, 26 Apr 2018 12:49:20 +0200 Subject: [PATCH 27/73] Update imagedb.sql Added "ShowTitle" in gallery-table creation. --- doc/imagedb.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/imagedb.sql b/doc/imagedb.sql index 4897647..85c68ed 100644 --- a/doc/imagedb.sql +++ b/doc/imagedb.sql @@ -47,6 +47,7 @@ CREATE TABLE `gallery` ( `GalleryId` int(11) NOT NULL, `OwnerId` int(11) NOT NULL, `Title` text NOT NULL, + `ShowTitle` text NOT NULL, `Description` text, `DirectoryPath` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; From 7c558521fe200357dacb78ba95ab53e77515cdb1 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 26 Apr 2018 13:26:14 +0200 Subject: [PATCH 28/73] Add edit model to gallery --- src/js/galleries.js | 7 +++++++ src/php/appl_functions.php | 4 ++-- src/templates/galleries.htm.php | 32 +++++++++++++++++++++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/js/galleries.js b/src/js/galleries.js index 8b391c0..a79f496 100644 --- a/src/js/galleries.js +++ b/src/js/galleries.js @@ -34,4 +34,11 @@ $(document).ready(function () { $('#gallery_deleteForm_galleryId').val(currentGallery.attr('name')); $('#gallery_deleteForm').submit(); }); + + $('#galleries_editGallery').on('click', function() { + if(currentGallery != null){ + $('#galleries_editGalleryName').val($('#title_' + currentGallery.attr('name')).text()); + $('#galleries_editGalleryDescription').val($('#description_' + currentGallery.attr('name')).text()) + } + }); }); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index fe73b5b..114c0d4 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -190,8 +190,8 @@ function getGalleriesBySessionUser() $html .= "
    -
    " . $gallery['Title'] . "
    -

    " . $gallery['Description'] . "

    +
    " . $gallery['ShowTitle'] . "
    +

    " . $gallery['Description'] . "

    "; $rowItems++; diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 8d6d8c0..5224921 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -12,7 +12,7 @@ New
    + + From aeb4c290c62e3518bf72c146f4a8483a830417a5 Mon Sep 17 00:00:00 2001 From: kruettlip Date: Thu, 26 Apr 2018 13:26:17 +0200 Subject: [PATCH 29/73] changed design of galleries in admin-view --- src/templates/adminGalleries.htm.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/templates/adminGalleries.htm.php b/src/templates/adminGalleries.htm.php index e080e92..c5d12f4 100644 --- a/src/templates/adminGalleries.htm.php +++ b/src/templates/adminGalleries.htm.php @@ -13,13 +13,18 @@ if(!empty(getGalleriesByUser($userId))){ echo "
    -
    ". +
    ". $user['Emailaddress']."
      "; foreach(getGalleriesByUser($userId) as $gallery){ - echo "
    • Title: ".$gallery['Title']."
    • -
    • Description: ".$gallery['Description']."
    • "; + echo "
    • Title: ".$gallery['Title']."
    • +
    • Description: ".$gallery['Description']."
    • +
    • Edit +
      Delete +
    • "; } echo "
    "; From 7f8765d4d416aa56307411f889fbe33051308020 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 26 Apr 2018 14:39:51 +0200 Subject: [PATCH 30/73] Add the site to show the image from a gallery --- src/js/galleries.js | 4 + src/php/appl_functions.php | 87 +++++++++++++++++---- src/php/config.php | 2 +- src/php/db_functions.php | 12 +++ src/templates/galleries.htm.php | 6 +- src/templates/galleries_edit.htm.php | 8 -- src/templates/images.htm.php | 112 +++++++++++++++++++++++++++ 7 files changed, 204 insertions(+), 27 deletions(-) delete mode 100644 src/templates/galleries_edit.htm.php create mode 100644 src/templates/images.htm.php diff --git a/src/js/galleries.js b/src/js/galleries.js index a79f496..f5e7d63 100644 --- a/src/js/galleries.js +++ b/src/js/galleries.js @@ -30,6 +30,10 @@ $(document).ready(function () { currentGallery.addClass('bg-secondary text-white'); }); + $('.galleryItem').on('dblclick', function() { + window.location.href = "user.php?id=images&gid=" + currentGallery.attr('name'); + }); + $('#gallery_deleteForm_deleteButton').on('click', function () { $('#gallery_deleteForm_galleryId').val(currentGallery.attr('name')); $('#gallery_deleteForm').submit(); diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index 114c0d4..90d823d 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -110,7 +110,7 @@ function overview() deleteUserByUserId(getSessionUserId()); setValue('message', ""); unsetSessionValues(); - setValue('func','login'); + setValue('func', 'login'); setValue("phpmodule", "localhost/ImageDB/src/php/index.php" . "?id=" . getValue("func")); echo ""; } else { @@ -156,7 +156,7 @@ function galleries() $gallery = getGalleryById($id); // echo $gallery[0]['Title']; // echo $gallery[0]['ShowTitle']; - deleteGalleryAndImagesFromPath($gallery[0]['Title']); + deleteGallery($gallery[0]['Title']); deleteGallery($id); } @@ -166,9 +166,9 @@ function galleries() $galleryShowTitle = $_POST['galleries_newGalleryName']; setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); if (!isGalleryExisting(getSessionUserId(), $galleryTitle)) { - $galleryPath = getGalleryPath($galleryTitle); + $galleryPath = createGalleryPath($galleryTitle); if ($galleryPath != "") { - createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle , $galleryDescription, escapeString($galleryPath)); + createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle, $galleryDescription, escapeString($galleryPath)); setMessage("The gallery has vbeen created", "alert-success"); } } @@ -184,10 +184,10 @@ function getGalleriesBySessionUser() if (!empty($galleries)) { $rowItems = 0; foreach ($galleries as $gallery) { - if($rowItems == 0){ + if ($rowItems == 0) { $html .= "
    "; } - $html .= "
    + $html .= "
    " . $gallery['ShowTitle'] . "
    @@ -195,7 +195,7 @@ function getGalleriesBySessionUser()
    "; $rowItems++; - if($rowItems == 4){ + if ($rowItems == 4) { $html .= '
    '; $rowItems = 0; } @@ -205,6 +205,37 @@ function getGalleriesBySessionUser() return ""; } +function getImagesByGallery() +{ + $gid = getValue('currentGalleryId'); + $images = getImagesByGalleryId($gid); + + $html = ""; + if (!empty($images)) { + $rowItems = 0; + foreach ($images as $image) { + if ($rowItems == 0) { + $html .= "
    "; + } + $html .= "
    +
    + Card image cap +
    +
    " . $image['Name'] . "
    +

    " . $image['Description'] . "

    +
    +
    "; + $rowItems++; + if ($rowItems == 4) { + $html .= '
    '; + $rowItems = 0; + } + } + return $html; + } + return ""; +} + function isPasswortMatchingRequirements($password) { $uppercase = preg_match('@[A-Z]@', $password); @@ -214,17 +245,18 @@ function isPasswortMatchingRequirements($password) } -function getGalleryPath($galleryTitle) +function createGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); if (!file_exists($path)) { - exec("md " . $path ); + exec("md " . $path); + exec("md " . $path . "\\thumbnails"); return $path; } return ""; } -function deleteGalleryAndImagesFromPath($galleryTitle) +function deleteGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $galleryTitle; if (file_exists($path)) { @@ -232,9 +264,10 @@ function deleteGalleryAndImagesFromPath($galleryTitle) } } -function deleteUserFromPath() { +function deleteUserFromPath() +{ $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress(); - if(file_exists($path)){ + if (file_exists($path)) { exec("rd /s /q " . $path); } } @@ -245,18 +278,42 @@ function escapeString($toEscape) } -function setMessage($content, $bootstrapClass){ +function setMessage($content, $bootstrapClass) +{ setValue('message', ""); } -function adminUsers(){ +function adminUsers() +{ setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } -function adminGalleries(){ +function adminGalleries() +{ setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } +function images() +{ + if (isset($_GET['gid'])) { + $gid = $_GET['gid']; + if (isGalleryIdBelongingToUser($gid, getSessionUserId())) { + setValue('currentGalleryId', $gid); + } else { + setValue('func', 'galleries'); + setMessage('You do not have the righ to access this gallery', 'alert-danger'); + } + } + + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + return runTemplate("../templates/" . getValue("func") . ".htm.php"); +} + +function getGalleryPath($galleryId){ + $gallery = getGalleryById($galleryId); + return getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; +} + ?> diff --git a/src/php/config.php b/src/php/config.php index 8940805..da491b1 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -10,7 +10,7 @@ // Inhalt des Menus setValue("cfg_menu_list", array("login"=>"Login","registration"=>"Registration")); -setValue("cfg_func_user_list", array("logout","overview","galleries")); +setValue("cfg_func_user_list", array("logout","overview","galleries", "images")); // Inhalt des Menus setValue("cfg_menu_user_list", array("logout"=>"Logout","overview"=>"Overview","galleries"=>"Galleries")); diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 4b5163e..073187e 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -156,4 +156,16 @@ function getAllUsers(){ return $toReturn; } +function isGalleryIdBelongingToUser($galleryId, $userId){ + $sql = "SELECT COUNT(GalleryId) FROM `gallery` WHERE OwnerId =" . $userId ." AND GalleryId=" . $galleryId .";"; + $answer = sqlSelect($sql); + return $answer[0]['COUNT(GalleryId)'] != 0; +} + +function getImagesByGalleryId($galleryId) { + $sql = "SELECT * FROM `image` WHERE GalleryId=" . $galleryId .";"; + $answer = sqlSelect($sql); + return $answer; +} + ?> diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 5224921..2983eec 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -98,17 +98,17 @@
    diff --git a/src/templates/galleries_edit.htm.php b/src/templates/galleries_edit.htm.php deleted file mode 100644 index 00eb374..0000000 --- a/src/templates/galleries_edit.htm.php +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/src/templates/images.htm.php b/src/templates/images.htm.php new file mode 100644 index 0000000..1996e0c --- /dev/null +++ b/src/templates/images.htm.php @@ -0,0 +1,112 @@ + + + + + + + + + + + + + From 3be290dcde88f2bc5abee97ce719b907a10df6ef Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Fri, 27 Apr 2018 11:04:10 +0200 Subject: [PATCH 31/73] Alteration: -Image add/remove/edit -Thumbnail generation out of the original image --- src/js/images.js | 98 ++++++++++++++++ src/php/appl_functions.php | 168 ++++++++++++++++++++------- src/php/basic_functions.php | 2 +- src/php/config.php | 4 +- src/php/db_functions.php | 68 +++++++---- src/templates/adminGalleries.htm.php | 8 +- src/templates/adminUsers.htm.php | 4 +- src/templates/galleries.htm.php | 2 +- src/templates/images.htm.php | 30 +++-- src/templates/overview.htm.php | 4 +- 10 files changed, 298 insertions(+), 90 deletions(-) create mode 100644 src/js/images.js diff --git a/src/js/images.js b/src/js/images.js new file mode 100644 index 0000000..4610d47 --- /dev/null +++ b/src/js/images.js @@ -0,0 +1,98 @@ +$(document).ready(function () { + + var image_fileSelected = false; + var image_nameCorrect = false; + var image_preEditName = null; + var currentImage = null; + var deleteButton = $('#images_deleteImage'); + var editButton = $('#images_editImage'); + + deleteButton.hide(); + editButton.hide(); + + $('.imageItem').on('click', function () { + deleteButton.show(); + editButton.show(); + if (currentImage != null) { + currentImage.removeClass('bg-secondary text-white'); + currentImage.addClass('bg-light'); + } + currentImage = $(this); + console.log(currentImage.attr('name')); + currentImage.removeClass('bg-light'); + currentImage.addClass('bg-secondary text-white'); + }); + + $('.imageItem').on('dblclick', function () { + //window.location.href = "user.php?id=images&gid=" + currentImage.attr('name'); + }); + + $('#images_deleteImageButton').on('click', function () { + $('#images_imageId').val(currentImage.attr('name')); + $('#image_deleteForm').submit(); + }); + + editButton.on('click', function () { + if (currentImage != null) { + var currentName = $('#title_' + currentImage.attr('name')).text(); + image_preEditName = currentName; + $('#image_editImageName').val(currentName); + $('#images_editImageButton').prop('disabled', true); + } + }); + + $('#image_editImageName').on('keyup', function () { + if ($(this).val() === image_preEditName) { + $('#images_editImageButton').prop('disabled', true); + } else { + $('#images_editImageButton').prop('disabled', false); + } + }); + + $('#images_editImageButton').on('click', function () { + editImage(); + }); + + $('#image_editImageName').on('keypress', function(e) { + if(e.which == 13){ + e.preventDefault(); + editImage(); + } + }); + + function editImage() { + $('#images_imageEditId').val(currentImage.attr('name')) + $('#image_modifyForm').submit(); + } + + $('#images_newImageButton').prop('disabled', true); + $('#image_fileName').text('No file selected'); + + $('#image_newImageFile').change(function () { + if ($(this).get(0).files.length > 0) { + image_fileSelected = true; + $('#image_fileName').text($(this)[0].files[0].name); + } else { + $('#image_fileName').text('No file selected') + image_fileSelected = false; + } + evaluate(); + }); + + $('#image_newGaleryName').on('keyup', function () { + if ($.trim($(this).val()).length > 3) { + image_nameCorrect = true; + } else { + image_nameCorrect = false; + } + evaluate(); + }); + + function evaluate() { + if (image_fileSelected && image_nameCorrect) { + $('#images_newImageButton').prop('disabled', false); + } else { + $('#images_newImageButton').prop('disabled', true); + } + } +}); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index 90d823d..dd79fa7 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -15,11 +15,11 @@ function login() if (isset($_POST['login_emailaddress']) && isset($_POST['login_password'])) { $email = $_POST['login_emailaddress']; $password = $_POST['login_password']; - $userValid = areUserCredentialsValid($email, $password); + $userValid = db_areUserCredentialsValid($email, $password); //echo ""; if ($userValid) { $canLogin = true; - $user = getUserByEmailaddress($email); + $user = db_getUserByEmailaddress($email); setSessionValues($user); } else { setValue("message", ""); @@ -79,12 +79,12 @@ function registration() } else { $nickname = $emailaddress; } - if (isPasswortMatchingRequirements($password)) { - if (userWithEmailaddressExists($emailaddress)) { + if (appl_isPasswortMatchingRequirements($password)) { + if (db_userWithEmailaddressExists($emailaddress)) { setValue("message", ""); } else { setValue("message", ""); - createUser($emailaddress, $nickname, $password); + db_createUser($emailaddress, $nickname, $password); } } else { setValue("message", ""); @@ -106,8 +106,8 @@ function logout() function overview() { if (isset($_POST['overview_deleteContent'])) { - deleteUserFromPath(); - deleteUserByUserId(getSessionUserId()); + appl_deleteUserFromPath(); + db_deleteUserByUserId(getSessionUserId()); setValue('message', ""); unsetSessionValues(); setValue('func', 'login'); @@ -117,7 +117,7 @@ function overview() if (isset($_POST['overview_nickname'])) { $nickName = $_POST['overview_nickname']; if ($nickName != getSessionNickname()) { - updateUserNicknameByUserId(getSessionUserId(), $nickName); + db_updateUserNicknameByUserId(getSessionUserId(), $nickName); setSessionNickname($nickName); setValue('message', ""); } @@ -130,9 +130,9 @@ function overview() $newPassword = $_POST['overview_newPassword']; $newPasswordRepeat = $_POST['overview_newPasswordRepeat']; if (strlen(trim($currentPassword)) > 0) { - if (isUserPasswordMatching(getSessionUserId(), $currentPassword)) { - if (isPasswortMatchingRequirements($newPassword)) { - updateUserPasswordByUserId(getSessionUserId(), $newPassword); + if (db_isUserPasswordMatching(getSessionUserId(), $currentPassword)) { + if (appl_isPasswortMatchingRequirements($newPassword)) { + db_updateUserPasswordByUserId(getSessionUserId(), $newPassword); setValue('message', getValue('message') . ""); } else { setValue('message', ""); @@ -152,24 +152,21 @@ function galleries() { if (isset($_POST['gallery_deleteForm_action'])) { $id = $_POST['gallery_deleteForm_galleryId']; -// echo $id; - $gallery = getGalleryById($id); -// echo $gallery[0]['Title']; -// echo $gallery[0]['ShowTitle']; - deleteGallery($gallery[0]['Title']); - deleteGallery($id); + $gallery = db_getGalleryById($id); + appl_deleteGalleryPath($gallery['Title']); + db_deleteGallery($id); } if (isset($_POST['galleries_newGalleryName'])) { $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); $galleryDescription = $_POST['galleries_newGalleryDescription']; $galleryShowTitle = $_POST['galleries_newGalleryName']; - setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); - if (!isGalleryExisting(getSessionUserId(), $galleryTitle)) { - $galleryPath = createGalleryPath($galleryTitle); + appl_setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); + if (!db_isGalleryExisting(getSessionUserId(), $galleryTitle)) { + $galleryPath = appl_createGalleryPath($galleryTitle); if ($galleryPath != "") { - createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle, $galleryDescription, escapeString($galleryPath)); - setMessage("The gallery has vbeen created", "alert-success"); + db_createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle, $galleryDescription, appl_escapeString($galleryPath)); + appl_setMessage("The gallery has vbeen created", "alert-success"); } } } @@ -177,9 +174,9 @@ function galleries() return runTemplate("../templates/" . getValue("func") . ".htm.php"); } -function getGalleriesBySessionUser() +function appl_getGalleriesBySessionUser() { - $galleries = getGalleriesByUser(getSessionUserId()); + $galleries = db_getGalleriesByUser(getSessionUserId()); $html = ""; if (!empty($galleries)) { $rowItems = 0; @@ -205,10 +202,11 @@ function getGalleriesBySessionUser() return ""; } -function getImagesByGallery() +function appl_getImagesByGallery() { $gid = getValue('currentGalleryId'); - $images = getImagesByGalleryId($gid); + $gallery = db_getGalleryById($gid); + $images = db_getImagesByGalleryId($gid); $html = ""; if (!empty($images)) { @@ -217,14 +215,15 @@ function getImagesByGallery() if ($rowItems == 0) { $html .= "
    "; } - $html .= "
    + $html .= "
    +
    - Card image cap + Card image cap
    -
    " . $image['Name'] . "
    -

    " . $image['Description'] . "

    -
    -
    "; +
    " . $image['Name'] . "
    +
    +
    +
    "; $rowItems++; if ($rowItems == 4) { $html .= '
    '; @@ -236,7 +235,7 @@ function getImagesByGallery() return ""; } -function isPasswortMatchingRequirements($password) +function appl_isPasswortMatchingRequirements($password) { $uppercase = preg_match('@[A-Z]@', $password); $lowercase = preg_match('@[a-z]@', $password); @@ -245,7 +244,7 @@ function isPasswortMatchingRequirements($password) } -function createGalleryPath($galleryTitle) +function appl_createGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); if (!file_exists($path)) { @@ -256,7 +255,7 @@ function createGalleryPath($galleryTitle) return ""; } -function deleteGalleryPath($galleryTitle) +function appl_deleteGalleryPath($galleryTitle) { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $galleryTitle; if (file_exists($path)) { @@ -264,7 +263,7 @@ function deleteGalleryPath($galleryTitle) } } -function deleteUserFromPath() +function appl_deleteUserFromPath() { $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress(); if (file_exists($path)) { @@ -272,13 +271,12 @@ function deleteUserFromPath() } } -function escapeString($toEscape) +function appl_escapeString($toEscape) { return str_replace('\\', '\\\\', $toEscape); } - -function setMessage($content, $bootstrapClass) +function appl_setMessage($content, $bootstrapClass) { setValue('message', ""); } @@ -297,23 +295,105 @@ function adminGalleries() function images() { + $gid = 0; if (isset($_GET['gid'])) { $gid = $_GET['gid']; - if (isGalleryIdBelongingToUser($gid, getSessionUserId())) { + if (db_isGalleryIdBelongingToUser($gid, getSessionUserId())) { setValue('currentGalleryId', $gid); + if(isset($_POST['image_formAction'])){ + $action = $_POST['image_formAction']; + if($action == 'image_add'){ + $gallery = db_getGalleryById($gid); + $info = pathinfo($_FILES['image_newImageFile']['name']); + $extentsion = $info['extension']; + $fileName = appl_createImageName($gid, $_FILES['image_newImageFile']['name'], $extentsion); + $imagePath = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\" . $fileName . "." . $extentsion; + $thumbnailPath = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\thumbnails\\" . $fileName . "." . $extentsion; + + move_uploaded_file($_FILES['image_newImageFile']['tmp_name'], $imagePath); + appl_createThumbnail($imagePath,$thumbnailPath,400, $extentsion); + + db_createImage($gid, $_POST['images_newImageName'], $fileName . "." . $extentsion, $fileName . "." . $extentsion); + }elseif ($action == 'image_delete'){ + $imageId = $_POST['images_imageId']; + $image = db_getImageById($imageId); + db_deleteImage($imageId); + app_deleteImagePath($image['RelativePath'], $gid); + }elseif ($action == 'image_edit'){ + $imageId = $_POST['images_imageId']; + db_updateImage($imageId, $_POST['image_editImageName']); + } + } } else { setValue('func', 'galleries'); - setMessage('You do not have the righ to access this gallery', 'alert-danger'); + appl_setMessage('You do not have the righ to access this gallery', 'alert-danger'); } } - setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); + setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func") . "&gid=" . $gid); return runTemplate("../templates/" . getValue("func") . ".htm.php"); } -function getGalleryPath($galleryId){ - $gallery = getGalleryById($galleryId); +function appl_getGalleryPath($galleryId){ + $gallery = db_getGalleryById($galleryId); return getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; } +function appl_createImageName($galleryId, $imageName, $imageExtension){ + $gallery = db_getGalleryById($galleryId); + $galleryNotTaken = false; + $counter = 0; + $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; + $ar = explode(".", $imageName); + $tempName = $ar[0]; + while(!$galleryNotTaken){ + $counter++; + if(file_exists($path . $tempName . "." . $imageExtension)){ + $tempName = $ar[0] . "_" . $counter; + } + else{ + $galleryNotTaken = true; + } + } + return $tempName; +} + +function app_deleteImagePath($imageTitle, $galleryId) { + $gallery = db_getGalleryById($galleryId); + $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; + + if(file_exists($path . $imageTitle)) exec('del ' . $path . $imageTitle); + if(file_exists($path . "thumbnails\\" . $imageTitle)) exec('del ' . $path . "thumbnails\\" . $imageTitle); +} + +function appl_createThumbnail($inputPath, $outputPath, $desired_width, $extension){ + /* read the source image */ + $source_image = null; + + switch($extension){ + case "jpg": $source_image = imagecreatefromjpeg($inputPath);break; + case "png": $source_image = imagecreatefrompng($inputPath);break; + } + + $width = imagesx($source_image); + $height = imagesy($source_image); + + /* find the "desired height" of this thumbnail, relative to the desired width */ + $desired_height = floor($height * ($desired_width / $width)); + + /* create a new, "virtual" image */ + $virtual_image = imagecreatetruecolor($desired_width, $desired_height); + + /* copy source image at a resized size */ + imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); + + /* create the physical thumbnail image to its destination */ + + switch($extension){ + case "jpg": imagejpeg($virtual_image, $outputPath);;break; + case "png": imagepng($virtual_image, $outputPath);;break; + } +} + + ?> diff --git a/src/php/basic_functions.php b/src/php/basic_functions.php index 3335c98..73f87ce 100644 --- a/src/php/basic_functions.php +++ b/src/php/basic_functions.php @@ -233,7 +233,7 @@ function isSessionActive() function isSessionUserAdmin() { if (isset($_SESSION['userId'])) { - if (in_array($_SESSION['userId'], getAdminUserIds())) { + if (in_array($_SESSION['userId'], db_getAdminUserIds())) { return true; } } diff --git a/src/php/config.php b/src/php/config.php index da491b1..cd51b29 100644 --- a/src/php/config.php +++ b/src/php/config.php @@ -18,8 +18,8 @@ // Inhalt des Menus setValue("cfg_menu_admin_list", array("adminUsers"=>"Users","adminGalleries"=>"Galleries","logout"=>"Logout")); -//setValue("galleryRoot", "C:\\xampp\htdocs\ImageDB\src\storage\galleries\\"); -setValue("galleryRoot", "C:\\imagedb"); +setValue("galleryRoot", "D:\\xampp\htdocs\ImageDB\src\storage\galleries\\"); +//setValue("galleryRoot", "D:\\Xampp\\htdocs\\ImageDbSrc"); // Datenbankverbindung herstellen $db = mysqli_connect("127.0.0.1", "root", "gibbiX12345", "imagedb"); diff --git a/src/php/db_functions.php b/src/php/db_functions.php index 073187e..dc5aa0e 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -8,7 +8,7 @@ */ -function userWithEmailaddressExists($email) +function db_userWithEmailaddressExists($email) { $sql = "SELECT COUNT(UserId) FROM `User` WHERE Emailaddress = '" . strtolower($email) . "';"; $answer = sqlSelect($sql); @@ -18,13 +18,13 @@ function userWithEmailaddressExists($email) return false; } -function createUser($email, $nickname, $password) +function db_createUser($email, $nickname, $password) { - $sql = "INSERT INTO `User` (Emailaddress, `Password`, Nickname, IsAdmin) VALUES ('" . $email . "','" . hashPassword($password) . "','" . $nickname . "',0)"; + $sql = "INSERT INTO `User` (Emailaddress, `Password`, Nickname, IsAdmin) VALUES ('" . $email . "','" . db_hashPassword($password) . "','" . $nickname . "',0)"; sqlQuery($sql); } -function areUserCredentialsValid($email, $password) +function db_areUserCredentialsValid($email, $password) { $sql = "SELECT Password FROM `User` WHERE Emailaddress = '" . strtolower($email) . "';"; $answer = sqlSelect($sql); @@ -37,7 +37,7 @@ function areUserCredentialsValid($email, $password) return false; } -function isUserPasswordMatching($userId, $raw) +function db_isUserPasswordMatching($userId, $raw) { $sql = "SELECT Password FROM `User` WHERE UserId = " . $userId . ";"; $answer = sqlSelect($sql); @@ -47,14 +47,14 @@ function isUserPasswordMatching($userId, $raw) return false; } -function getUserByEmailaddress($emailaddress) +function db_getUserByEmailaddress($emailaddress) { $sql = "SELECT * FROM `User` WHERE Emailaddress ='" . $emailaddress . "';"; $answer = sqlSelect($sql); return $answer; } -function getImageCountByEmailaddress($emailaddress) +function db_getImageCountByEmailaddress($emailaddress) { $sql = "SELECT COUNT(ImageId) FROM image WHERE GalleryId IN (SELECT GalleryId FROM gallery WHERE OwnerId = (SELECT UserId FROM `user` WHERE Emailaddress ='" . strtolower($emailaddress) . "'))"; $answer = sqlSelect($sql); @@ -62,32 +62,32 @@ function getImageCountByEmailaddress($emailaddress) } -function getGalleryCountByEmailaddress($emailaddress) +function db_getGalleryCountByEmailaddress($emailaddress) { $sql = "SELECT COUNT(GalleryId) FROM gallery WHERE OwnerId = (SELECT UserId FROM `user` WHERE Emailaddress ='" . strtolower($emailaddress) . "')"; $answer = sqlSelect($sql); return $answer[0]["COUNT(GalleryId)"]; } -function getGalleriesByUser($userId) +function db_getGalleriesByUser($userId) { $sql = "SELECT * FROM gallery WHERE OwnerId=" . $userId . ";"; $answer = sqlSelect($sql); return $answer; } -function createGallery($userId, $galleryTitle, $galleryShowTitle, $galleryDescription, $galleryPath) +function db_createGallery($userId, $galleryTitle, $galleryShowTitle, $galleryDescription, $galleryPath) { $sql = "INSERT INTO `gallery` (Title, ShowTitle ,Description, OwnerId, DirectoryPath) VALUES('" . $galleryTitle . "', '" . $galleryShowTitle . "', '" . $galleryDescription ."', '" . $userId . "' , '" . strtolower($galleryPath). "')"; sqlQuery($sql); } -function deleteGallery($galleryId) { +function db_deleteGallery($galleryId) { $sql = "DELETE FROM `gallery` WHERE GalleryId=" . $galleryId .";"; sqlQuery($sql); } -function getImagePathsByGallery($galleryId){ +function db_getImagePathsByGallery($galleryId){ $sql = "SELECT RelativePath FROM `image` WHERE GalleryId=" . $galleryId; $answer = sqlSelect($sql); $back = []; @@ -96,7 +96,7 @@ function getImagePathsByGallery($galleryId){ } } -function isGalleryExisting($userId, $galleryTitle) +function db_isGalleryExisting($userId, $galleryTitle) { $sql = "SELECT Count(GalleryId) FROM `gallery` WHERE Title='" . $galleryTitle . "' AND OwnerId =" . $userId . ";"; $answer = sqlSelect($sql); @@ -106,36 +106,36 @@ function isGalleryExisting($userId, $galleryTitle) return true; } -function deleteUserByUserId($userId) +function db_deleteUserByUserId($userId) { $sql = "DELETE FROM `user` WHERE UserId =". $userId .";"; sqlQuery($sql); } -function updateUserNicknameByUserId($userId, $nickname) +function db_updateUserNicknameByUserId($userId, $nickname) { $sql = "UPDATE `User` SET Nickname = '" . $nickname . "' WHERE UserId=" . $userId . ";"; sqlQuery($sql); } -function updateUserPasswordByUserId($userId, $password) +function db_updateUserPasswordByUserId($userId, $password) { - $sql = "UPDATE `User` SET Password = '" . hashPassword($password) . "' WHERE UserId =" . $userId . ";"; + $sql = "UPDATE `User` SET Password = '" . db_hashPassword($password) . "' WHERE UserId =" . $userId . ";"; sqlQuery($sql); } -function hashPassword($password) +function db_hashPassword($password) { $options = ['cost' => 12]; return password_hash($password, PASSWORD_BCRYPT, $options); } -function getGalleryById($galleryId){ +function db_getGalleryById($galleryId){ $sql = "SELECT * FROM `gallery` WHERE GalleryId=" . $galleryId . ";"; $answer = sqlSelect($sql); - return $answer; + return $answer[0]; } -function getAdminUserIds() +function db_getAdminUserIds() { $sql = "SELECT UserId FROM `User` WHERE IsAdmin = 1 ;"; $answer = sqlSelect($sql); @@ -146,7 +146,7 @@ function getAdminUserIds() return $toReturn; } -function getAllUsers(){ +function db_getAllUsers(){ $sql = "SELECT * FROM `User`;"; $answer = sqlSelect($sql); $toReturn = array(); @@ -156,16 +156,36 @@ function getAllUsers(){ return $toReturn; } -function isGalleryIdBelongingToUser($galleryId, $userId){ +function db_isGalleryIdBelongingToUser($galleryId, $userId){ $sql = "SELECT COUNT(GalleryId) FROM `gallery` WHERE OwnerId =" . $userId ." AND GalleryId=" . $galleryId .";"; $answer = sqlSelect($sql); return $answer[0]['COUNT(GalleryId)'] != 0; } -function getImagesByGalleryId($galleryId) { +function db_getImagesByGalleryId($galleryId) { $sql = "SELECT * FROM `image` WHERE GalleryId=" . $galleryId .";"; $answer = sqlSelect($sql); return $answer; } +function db_createImage($galleryId, $name, $relativepath, $thubmnailPath){ + $sql = "INSERT INTO `image` (GalleryId, Name, RelativePath, ThumbnailPath) VALUES (" . $galleryId . ",'" . $name . "','" . $relativepath . "','" . $thubmnailPath . "')"; + sqlQuery($sql); +} + +function db_deleteImage($imageId){ + $sql = "DELETE FROM `image` WHERE ImageId=" . $imageId; + sqlQuery($sql); +} + +function db_getImageById($imageId) { + $sql = "SELECT * FROM `image` WHERE ImageId =" . $imageId; + $answer = sqlSelect($sql); + return $answer[0]; +} + +function db_updateImage($imageId, $imageName) { + $sql = "UPDATE `image` SET Name='" . $imageName . "' WHERE ImageId=" . $imageId . " ;"; + sqlQuery($sql); +} ?> diff --git a/src/templates/adminGalleries.htm.php b/src/templates/adminGalleries.htm.php index c5d12f4..7c7c226 100644 --- a/src/templates/adminGalleries.htm.php +++ b/src/templates/adminGalleries.htm.php @@ -8,16 +8,16 @@

    Galleries

    ". $user['Emailaddress']."
      "; - foreach(getGalleriesByUser($userId) as $gallery){ + foreach(db_getGalleriesByUser($userId) as $gallery){ echo "
    • Title: ".$gallery['Title']."
    • Description: ".$gallery['Description']."
    • + value="">
      diff --git a/src/templates/adminUsers.htm.php b/src/templates/adminUsers.htm.php index c348570..0b9749e 100644 --- a/src/templates/adminUsers.htm.php +++ b/src/templates/adminUsers.htm.php @@ -8,7 +8,7 @@

      Users

      ". @@ -74,7 +74,7 @@
      + value="">
      diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 2983eec..0c5dcd5 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -115,6 +115,6 @@
      - + diff --git a/src/templates/images.htm.php b/src/templates/images.htm.php index 1996e0c..993b86a 100644 --- a/src/templates/images.htm.php +++ b/src/templates/images.htm.php @@ -42,13 +42,21 @@
    - + - + diff --git a/src/templates/overview.htm.php b/src/templates/overview.htm.php index ccdcaf7..f10cead 100644 --- a/src/templates/overview.htm.php +++ b/src/templates/overview.htm.php @@ -76,7 +76,7 @@ src="../img/library.svg" class="img-thumbnail" alt="...">
  • - +
  • @@ -86,7 +86,7 @@ class="img-thumbnail" alt="..."> src="../img/library.svg" class="img-thumbnail" alt="...">
  • - +
  • From 0b605d9692ec8369c663840e443f856c035213f3 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Fri, 27 Apr 2018 12:16:06 +0200 Subject: [PATCH 32/73] Alteration: - Add gallery edit - Maintain usability (.eg input-tag enter == submit) - Refactored BE --- src/js/galleries.js | 98 +++++++++++++++++++++++++++---- src/js/images.js | 11 ++++ src/php/appl_functions.php | 101 ++++++++++++++++++++------------ src/php/db_functions.php | 5 ++ src/templates/galleries.htm.php | 28 +++++---- src/templates/images.htm.php | 2 +- 6 files changed, 179 insertions(+), 66 deletions(-) diff --git a/src/js/galleries.js b/src/js/galleries.js index f5e7d63..f6e4cfa 100644 --- a/src/js/galleries.js +++ b/src/js/galleries.js @@ -4,23 +4,47 @@ $(document).ready(function () { var deleteButton = $('#galleries_deleteGallery'); var editButton = $('#galleries_editGallery'); + var gallery_preEditTitle; + var gallery_preEditDescription; + deleteButton.hide(); editButton.hide(); $('#galleries_newGalleryButton').prop('disabled', true); - $('#galleries_newGalleryName').on('keyup', function () { - if ($.trim($(this).val()).length > 3) { - $('#galleries_newGalleryButton').prop('disabled', false); + + $('.galleryCreateItem').on('keypress', function (e) { + if (e.which == 13) { + if (evaluateCreate()) { + galleryCreate(); + } } - else { + }); + + $('#galleries_newGalleryButton').on('click', function () { + if (evaluateCreate()) { + galleryCreate(); + } + }); + + $('.galleryCreateItem').on('keyup', function () { + if (evaluateCreate()) { + $('#galleries_newGalleryButton').prop('disabled', false); + } else { $('#galleries_newGalleryButton').prop('disabled', true); } }); - $('.galleryItem').on('click', function() { + function evaluateCreate() { + if ($.trim($('#galleries_newGalleryName').val()).length > 3) { + return true; + } + return false; + } + + $('.galleryItem').on('click', function () { deleteButton.show(); editButton.show(); - if(currentGallery != null){ + if (currentGallery != null) { currentGallery.removeClass('bg-secondary text-white'); currentGallery.addClass('bg-light'); } @@ -30,19 +54,67 @@ $(document).ready(function () { currentGallery.addClass('bg-secondary text-white'); }); - $('.galleryItem').on('dblclick', function() { + $('.galleryItem').on('dblclick', function () { window.location.href = "user.php?id=images&gid=" + currentGallery.attr('name'); }); $('#gallery_deleteForm_deleteButton').on('click', function () { - $('#gallery_deleteForm_galleryId').val(currentGallery.attr('name')); - $('#gallery_deleteForm').submit(); + $('#gallery_deleteForm_galleryId').val(currentGallery.attr('name')); + $('#gallery_deleteForm').submit(); }); - $('#galleries_editGallery').on('click', function() { - if(currentGallery != null){ - $('#galleries_editGalleryName').val($('#title_' + currentGallery.attr('name')).text()); - $('#galleries_editGalleryDescription').val($('#description_' + currentGallery.attr('name')).text()) + $('#galleries_editGallery').on('click', function () { + if (currentGallery != null) { + var currentTitle = $('#title_' + currentGallery.attr('name')).text(); + var currentDescription = $('#description_' + currentGallery.attr('name')).text(); + gallery_preEditDescription = currentDescription; + gallery_preEditTitle = currentTitle; + $('#galleries_editGalleryName').val(currentTitle); + + if (currentDescription != 'No description available') { + $('#galleries_editGalleryDescription').val(currentDescription); + } else { + $('#galleries_editGalleryDescription').val(""); + } + + $('#galleries_editGalleryButton').prop('disabled', true); } }); + + $('.galleryEditItem').on('keyup', function () { + if (evaluateEdit()) { + $('#galleries_editGalleryButton').prop('disabled', false); + } else { + $('#galleries_editGalleryButton').prop('disabled', true); + } + }); + + $('.galleryEditItem').on('keypress', function (e) { + if (e.which == 13) { + if (evaluateEdit()) { + galleryEdit(); + } + } + }); + + $('#galleries_editGalleryButton').on('click', function () { + galleryEdit(); + }); + + function galleryCreate() { + $('#gallery_createForm').submit(); + } + + function galleryEdit() { + $('#gallery_editForm_galleryId').val(currentGallery.attr('name')); + $('#gallery_editForm').submit(); + } + + function evaluateEdit() { + if ($('#galleries_editGalleryName').val() !== gallery_preEditTitle || + $('#galleries_editGalleryDescription').val() !== gallery_preEditDescription) { + return true; + } + return false; + } }); \ No newline at end of file diff --git a/src/js/images.js b/src/js/images.js index 4610d47..bab96f9 100644 --- a/src/js/images.js +++ b/src/js/images.js @@ -88,11 +88,22 @@ $(document).ready(function () { evaluate(); }); + $('#image_newGaleryName').on('keypress', function(e){ + if(e.which == 13){ + e.preventDefault(); + if(evaluate()){ + $('#image_addForm').submit(); + } + } + }); + function evaluate() { if (image_fileSelected && image_nameCorrect) { $('#images_newImageButton').prop('disabled', false); + return true; } else { $('#images_newImageButton').prop('disabled', true); } + return false; } }); \ No newline at end of file diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index dd79fa7..a5aa932 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -150,24 +150,28 @@ function overview() function galleries() { - if (isset($_POST['gallery_deleteForm_action'])) { - $id = $_POST['gallery_deleteForm_galleryId']; - $gallery = db_getGalleryById($id); - appl_deleteGalleryPath($gallery['Title']); - db_deleteGallery($id); - } - - if (isset($_POST['galleries_newGalleryName'])) { - $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); - $galleryDescription = $_POST['galleries_newGalleryDescription']; - $galleryShowTitle = $_POST['galleries_newGalleryName']; - appl_setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); - if (!db_isGalleryExisting(getSessionUserId(), $galleryTitle)) { - $galleryPath = appl_createGalleryPath($galleryTitle); - if ($galleryPath != "") { - db_createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle, $galleryDescription, appl_escapeString($galleryPath)); - appl_setMessage("The gallery has vbeen created", "alert-success"); + if (isset($_POST['gallery_formAction'])) { + $action = $_POST['gallery_formAction']; + if ($action == 'gallery_create') { + $galleryTitle = strtolower(str_replace(" ", "", $_POST['galleries_newGalleryName'])); + $galleryDescription = $_POST['galleries_newGalleryDescription']; + $galleryShowTitle = $_POST['galleries_newGalleryName']; + appl_setMessage("The gallery '" . $galleryTitle . "' is already taken", "alert-danger"); + if (!db_isGalleryExisting(getSessionUserId(), $galleryTitle)) { + $galleryPath = appl_createGalleryPath($galleryTitle); + if ($galleryPath != "") { + db_createGallery(getSessionUserId(), $galleryTitle, $galleryShowTitle, $galleryDescription, appl_escapeString($galleryPath)); + appl_setMessage("The gallery has been created", "alert-success"); + } } + } elseif ($action === 'gallery_edit') { + $id = $_POST['gallery_galleryId']; + db_updateGallery($id, $_POST['galleries_editGalleryName'], $_POST['galleries_editGalleryDescription']); + } elseif ($action === 'gallery_delete') { + $id = $_POST['gallery_galleryId']; + $gallery = db_getGalleryById($id); + appl_deleteGalleryPath($gallery['Title']); + db_deleteGallery($id); } } setValue("phpmodule", $_SERVER['PHP_SELF'] . "?id=" . getValue("func")); @@ -184,11 +188,19 @@ function appl_getGalleriesBySessionUser() if ($rowItems == 0) { $html .= "
    "; } + $galleryTitle = ""; + + if (strlen($gallery['Description']) > 0) { + $galleryTitle = $gallery['Description']; + } else { + $galleryTitle = ""; + } + $html .= "
    " . $gallery['ShowTitle'] . "
    -

    " . $gallery['Description'] . "

    +

    " . $galleryTitle . "

    "; $rowItems++; @@ -300,9 +312,9 @@ function images() $gid = $_GET['gid']; if (db_isGalleryIdBelongingToUser($gid, getSessionUserId())) { setValue('currentGalleryId', $gid); - if(isset($_POST['image_formAction'])){ + if (isset($_POST['image_formAction'])) { $action = $_POST['image_formAction']; - if($action == 'image_add'){ + if ($action == 'image_add') { $gallery = db_getGalleryById($gid); $info = pathinfo($_FILES['image_newImageFile']['name']); $extentsion = $info['extension']; @@ -311,15 +323,15 @@ function images() $thumbnailPath = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\thumbnails\\" . $fileName . "." . $extentsion; move_uploaded_file($_FILES['image_newImageFile']['tmp_name'], $imagePath); - appl_createThumbnail($imagePath,$thumbnailPath,400, $extentsion); + appl_createThumbnail($imagePath, $thumbnailPath, 400, $extentsion); db_createImage($gid, $_POST['images_newImageName'], $fileName . "." . $extentsion, $fileName . "." . $extentsion); - }elseif ($action == 'image_delete'){ + } elseif ($action == 'image_delete') { $imageId = $_POST['images_imageId']; $image = db_getImageById($imageId); db_deleteImage($imageId); app_deleteImagePath($image['RelativePath'], $gid); - }elseif ($action == 'image_edit'){ + } elseif ($action == 'image_edit') { $imageId = $_POST['images_imageId']; db_updateImage($imageId, $_POST['image_editImageName']); } @@ -334,45 +346,52 @@ function images() return runTemplate("../templates/" . getValue("func") . ".htm.php"); } -function appl_getGalleryPath($galleryId){ +function appl_getGalleryPath($galleryId) +{ $gallery = db_getGalleryById($galleryId); return getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; } -function appl_createImageName($galleryId, $imageName, $imageExtension){ +function appl_createImageName($galleryId, $imageName, $imageExtension) +{ $gallery = db_getGalleryById($galleryId); $galleryNotTaken = false; $counter = 0; $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; $ar = explode(".", $imageName); $tempName = $ar[0]; - while(!$galleryNotTaken){ + while (!$galleryNotTaken) { $counter++; - if(file_exists($path . $tempName . "." . $imageExtension)){ + if (file_exists($path . $tempName . "." . $imageExtension)) { $tempName = $ar[0] . "_" . $counter; - } - else{ + } else { $galleryNotTaken = true; } } return $tempName; } -function app_deleteImagePath($imageTitle, $galleryId) { +function app_deleteImagePath($imageTitle, $galleryId) +{ $gallery = db_getGalleryById($galleryId); $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . $gallery['Title'] . "\\"; - if(file_exists($path . $imageTitle)) exec('del ' . $path . $imageTitle); - if(file_exists($path . "thumbnails\\" . $imageTitle)) exec('del ' . $path . "thumbnails\\" . $imageTitle); + if (file_exists($path . $imageTitle)) exec('del ' . $path . $imageTitle); + if (file_exists($path . "thumbnails\\" . $imageTitle)) exec('del ' . $path . "thumbnails\\" . $imageTitle); } -function appl_createThumbnail($inputPath, $outputPath, $desired_width, $extension){ +function appl_createThumbnail($inputPath, $outputPath, $desired_width, $extension) +{ /* read the source image */ $source_image = null; - switch($extension){ - case "jpg": $source_image = imagecreatefromjpeg($inputPath);break; - case "png": $source_image = imagecreatefrompng($inputPath);break; + switch ($extension) { + case "jpg": + $source_image = imagecreatefromjpeg($inputPath); + break; + case "png": + $source_image = imagecreatefrompng($inputPath); + break; } $width = imagesx($source_image); @@ -389,9 +408,13 @@ function appl_createThumbnail($inputPath, $outputPath, $desired_width, $extensio /* create the physical thumbnail image to its destination */ - switch($extension){ - case "jpg": imagejpeg($virtual_image, $outputPath);;break; - case "png": imagepng($virtual_image, $outputPath);;break; + switch ($extension) { + case "jpg": + imagejpeg($virtual_image, $outputPath);; + break; + case "png": + imagepng($virtual_image, $outputPath);; + break; } } diff --git a/src/php/db_functions.php b/src/php/db_functions.php index dc5aa0e..16a4bd1 100644 --- a/src/php/db_functions.php +++ b/src/php/db_functions.php @@ -188,4 +188,9 @@ function db_updateImage($imageId, $imageName) { $sql = "UPDATE `image` SET Name='" . $imageName . "' WHERE ImageId=" . $imageId . " ;"; sqlQuery($sql); } + +function db_updateGallery($galleryId, $galleryShowTitle, $galleryDescription){ + $sql = "UPDATE `gallery` SET ShowTitle='" . $galleryShowTitle ."', Description = '" . $galleryDescription ."' WHERE GalleryId=" . $galleryId . ";"; + sqlQuery($sql); +} ?> diff --git a/src/templates/galleries.htm.php b/src/templates/galleries.htm.php index 0c5dcd5..c5ecbf5 100644 --- a/src/templates/galleries.htm.php +++ b/src/templates/galleries.htm.php @@ -42,18 +42,19 @@
    @@ -76,8 +77,8 @@ @@ -96,19 +97,20 @@
    diff --git a/src/templates/images.htm.php b/src/templates/images.htm.php index 993b86a..fe2112f 100644 --- a/src/templates/images.htm.php +++ b/src/templates/images.htm.php @@ -42,7 +42,7 @@
    + + + From 80c23b5ac05c73370f2bfbb7703e5dbd65c6aaf1 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Fri, 27 Apr 2018 14:58:16 +0200 Subject: [PATCH 35/73] Add fontawesome css and appen icons to input-tags --- src/fontawesome/css/fa-brands.css | 13 + src/fontawesome/css/fa-brands.min.css | 5 + src/fontawesome/css/fa-regular.css | 14 + src/fontawesome/css/fa-regular.min.css | 5 + src/fontawesome/css/fa-solid.css | 15 + src/fontawesome/css/fa-solid.min.css | 5 + src/fontawesome/css/fontawesome-all.css | 2861 +++++++++++++++++ src/fontawesome/css/fontawesome-all.min.css | 5 + src/fontawesome/css/fontawesome.css | 2831 ++++++++++++++++ src/fontawesome/css/fontawesome.min.css | 5 + src/fontawesome/less/_animated.less | 19 + src/fontawesome/less/_bordered-pulled.less | 16 + src/fontawesome/less/_core.less | 12 + src/fontawesome/less/_fixed-width.less | 6 + src/fontawesome/less/_icons.less | 878 +++++ src/fontawesome/less/_larger.less | 27 + src/fontawesome/less/_list.less | 18 + src/fontawesome/less/_mixins.less | 57 + src/fontawesome/less/_rotated-flipped.less | 23 + src/fontawesome/less/_screen-reader.less | 5 + src/fontawesome/less/_stacked.less | 22 + src/fontawesome/less/_variables.less | 887 +++++ src/fontawesome/less/fa-brands.less | 21 + src/fontawesome/less/fa-regular.less | 22 + src/fontawesome/less/fa-solid.less | 23 + src/fontawesome/less/fontawesome.less | 16 + src/fontawesome/scss/_animated.scss | 20 + src/fontawesome/scss/_bordered-pulled.scss | 20 + src/fontawesome/scss/_core.scss | 16 + src/fontawesome/scss/_fixed-width.scss | 6 + src/fontawesome/scss/_icons.scss | 878 +++++ src/fontawesome/scss/_larger.scss | 23 + src/fontawesome/scss/_list.scss | 18 + src/fontawesome/scss/_mixins.scss | 57 + src/fontawesome/scss/_rotated-flipped.scss | 23 + src/fontawesome/scss/_screen-reader.scss | 5 + src/fontawesome/scss/_stacked.scss | 31 + src/fontawesome/scss/_variables.scss | 891 +++++ src/fontawesome/scss/fa-brands.scss | 21 + src/fontawesome/scss/fa-regular.scss | 22 + src/fontawesome/scss/fa-solid.scss | 23 + src/fontawesome/scss/fontawesome.scss | 16 + src/fontawesome/webfonts/fa-brands-400.eot | Bin 0 -> 99704 bytes src/fontawesome/webfonts/fa-brands-400.svg | 1017 ++++++ src/fontawesome/webfonts/fa-brands-400.ttf | Bin 0 -> 99468 bytes src/fontawesome/webfonts/fa-brands-400.woff | Bin 0 -> 64392 bytes src/fontawesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 55144 bytes src/fontawesome/webfonts/fa-regular-400.eot | Bin 0 -> 30788 bytes src/fontawesome/webfonts/fa-regular-400.svg | 366 +++ src/fontawesome/webfonts/fa-regular-400.ttf | Bin 0 -> 30560 bytes src/fontawesome/webfonts/fa-regular-400.woff | Bin 0 -> 14672 bytes src/fontawesome/webfonts/fa-regular-400.woff2 | Bin 0 -> 12216 bytes src/fontawesome/webfonts/fa-solid-900.eot | Bin 0 -> 115148 bytes src/fontawesome/webfonts/fa-solid-900.svg | 1644 ++++++++++ src/fontawesome/webfonts/fa-solid-900.ttf | Bin 0 -> 114928 bytes src/fontawesome/webfonts/fa-solid-900.woff | Bin 0 -> 55484 bytes src/fontawesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 44068 bytes src/templates/galleries.htm.php | 18 +- src/templates/images.htm.php | 20 +- src/templates/index.htm.php | 1 + src/templates/login.htm.php | 23 +- src/templates/overview.htm.php | 12 +- src/templates/user.htm.php | 1 + 63 files changed, 12952 insertions(+), 31 deletions(-) create mode 100644 src/fontawesome/css/fa-brands.css create mode 100644 src/fontawesome/css/fa-brands.min.css create mode 100644 src/fontawesome/css/fa-regular.css create mode 100644 src/fontawesome/css/fa-regular.min.css create mode 100644 src/fontawesome/css/fa-solid.css create mode 100644 src/fontawesome/css/fa-solid.min.css create mode 100644 src/fontawesome/css/fontawesome-all.css create mode 100644 src/fontawesome/css/fontawesome-all.min.css create mode 100644 src/fontawesome/css/fontawesome.css create mode 100644 src/fontawesome/css/fontawesome.min.css create mode 100644 src/fontawesome/less/_animated.less create mode 100644 src/fontawesome/less/_bordered-pulled.less create mode 100644 src/fontawesome/less/_core.less create mode 100644 src/fontawesome/less/_fixed-width.less create mode 100644 src/fontawesome/less/_icons.less create mode 100644 src/fontawesome/less/_larger.less create mode 100644 src/fontawesome/less/_list.less create mode 100644 src/fontawesome/less/_mixins.less create mode 100644 src/fontawesome/less/_rotated-flipped.less create mode 100644 src/fontawesome/less/_screen-reader.less create mode 100644 src/fontawesome/less/_stacked.less create mode 100644 src/fontawesome/less/_variables.less create mode 100644 src/fontawesome/less/fa-brands.less create mode 100644 src/fontawesome/less/fa-regular.less create mode 100644 src/fontawesome/less/fa-solid.less create mode 100644 src/fontawesome/less/fontawesome.less create mode 100644 src/fontawesome/scss/_animated.scss create mode 100644 src/fontawesome/scss/_bordered-pulled.scss create mode 100644 src/fontawesome/scss/_core.scss create mode 100644 src/fontawesome/scss/_fixed-width.scss create mode 100644 src/fontawesome/scss/_icons.scss create mode 100644 src/fontawesome/scss/_larger.scss create mode 100644 src/fontawesome/scss/_list.scss create mode 100644 src/fontawesome/scss/_mixins.scss create mode 100644 src/fontawesome/scss/_rotated-flipped.scss create mode 100644 src/fontawesome/scss/_screen-reader.scss create mode 100644 src/fontawesome/scss/_stacked.scss create mode 100644 src/fontawesome/scss/_variables.scss create mode 100644 src/fontawesome/scss/fa-brands.scss create mode 100644 src/fontawesome/scss/fa-regular.scss create mode 100644 src/fontawesome/scss/fa-solid.scss create mode 100644 src/fontawesome/scss/fontawesome.scss create mode 100644 src/fontawesome/webfonts/fa-brands-400.eot create mode 100644 src/fontawesome/webfonts/fa-brands-400.svg create mode 100644 src/fontawesome/webfonts/fa-brands-400.ttf create mode 100644 src/fontawesome/webfonts/fa-brands-400.woff create mode 100644 src/fontawesome/webfonts/fa-brands-400.woff2 create mode 100644 src/fontawesome/webfonts/fa-regular-400.eot create mode 100644 src/fontawesome/webfonts/fa-regular-400.svg create mode 100644 src/fontawesome/webfonts/fa-regular-400.ttf create mode 100644 src/fontawesome/webfonts/fa-regular-400.woff create mode 100644 src/fontawesome/webfonts/fa-regular-400.woff2 create mode 100644 src/fontawesome/webfonts/fa-solid-900.eot create mode 100644 src/fontawesome/webfonts/fa-solid-900.svg create mode 100644 src/fontawesome/webfonts/fa-solid-900.ttf create mode 100644 src/fontawesome/webfonts/fa-solid-900.woff create mode 100644 src/fontawesome/webfonts/fa-solid-900.woff2 diff --git a/src/fontawesome/css/fa-brands.css b/src/fontawesome/css/fa-brands.css new file mode 100644 index 0000000..7a11355 --- /dev/null +++ b/src/fontawesome/css/fa-brands.css @@ -0,0 +1,13 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; } diff --git a/src/fontawesome/css/fa-brands.min.css b/src/fontawesome/css/fa-brands.min.css new file mode 100644 index 0000000..15cc682 --- /dev/null +++ b/src/fontawesome/css/fa-brands.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:Font Awesome\ 5 Brands} \ No newline at end of file diff --git a/src/fontawesome/css/fa-regular.css b/src/fontawesome/css/fa-regular.css new file mode 100644 index 0000000..845ac41 --- /dev/null +++ b/src/fontawesome/css/fa-regular.css @@ -0,0 +1,14 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } diff --git a/src/fontawesome/css/fa-regular.min.css b/src/fontawesome/css/fa-regular.min.css new file mode 100644 index 0000000..b0bc616 --- /dev/null +++ b/src/fontawesome/css/fa-regular.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:Font Awesome\ 5 Free;font-weight:400} \ No newline at end of file diff --git a/src/fontawesome/css/fa-solid.css b/src/fontawesome/css/fa-solid.css new file mode 100644 index 0000000..c0072d5 --- /dev/null +++ b/src/fontawesome/css/fa-solid.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/src/fontawesome/css/fa-solid.min.css b/src/fontawesome/css/fa-solid.min.css new file mode 100644 index 0000000..e861a9d --- /dev/null +++ b/src/fontawesome/css/fa-solid.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:Font Awesome\ 5 Free;font-weight:900} \ No newline at end of file diff --git a/src/fontawesome/css/fontawesome-all.css b/src/fontawesome/css/fontawesome-all.css new file mode 100644 index 0000000..ec052ff --- /dev/null +++ b/src/fontawesome/css/fontawesome-all.css @@ -0,0 +1,2861 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-male:before { + content: "\f183"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nintendo-switch:before { + content: "\f418"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-random:before { + content: "\f074"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-road:before { + content: "\f018"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-train:before { + content: "\f238"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/src/fontawesome/css/fontawesome-all.min.css b/src/fontawesome/css/fontawesome-all.min.css new file mode 100644 index 0000000..0c0e4e0 --- /dev/null +++ b/src/fontawesome/css/fontawesome-all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:a 2s infinite linear}.fa-pulse{animation:a 1s infinite steps(8)}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crosshairs:before{content:"\f05b"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-excel:before{content:"\f1c3"}.fa-file-image:before{content:"\f1c5"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-firstdraft:before{content:"\f3a1"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frown:before{content:"\f119"}.fa-futbol:before{content:"\f1e3"}.fa-gamepad:before{content:"\f11b"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-male:before{content:"\f183"}.fa-map:before{content:"\f279"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-maxcdn:before{content:"\f136"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-meh:before{content:"\f11a"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-moon:before{content:"\f186"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-rupee-sign:before{content:"\f156"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shower:before{content:"\f2cc"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smoking:before{content:"\f48d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-spotify:before{content:"\f1bc"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-star:before{content:"\f005"}.fa-star-half:before{content:"\f089"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-strava:before{content:"\f428"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-moving:before{content:"\f4df"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-circle:before{content:"\f2bd"}.fa-user-md:before{content:"\f0f0"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-warehouse:before{content:"\f494"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:Font Awesome\ 5 Brands}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:Font Awesome\ 5 Free}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/src/fontawesome/css/fontawesome.css b/src/fontawesome/css/fontawesome.css new file mode 100644 index 0000000..d58b1b2 --- /dev/null +++ b/src/fontawesome/css/fontawesome.css @@ -0,0 +1,2831 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-male:before { + content: "\f183"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nintendo-switch:before { + content: "\f418"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-random:before { + content: "\f074"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-road:before { + content: "\f018"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-train:before { + content: "\f238"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } diff --git a/src/fontawesome/css/fontawesome.min.css b/src/fontawesome/css/fontawesome.min.css new file mode 100644 index 0000000..0db07bd --- /dev/null +++ b/src/fontawesome/css/fontawesome.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:a 2s infinite linear}.fa-pulse{animation:a 1s infinite steps(8)}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crosshairs:before{content:"\f05b"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-excel:before{content:"\f1c3"}.fa-file-image:before{content:"\f1c5"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-firstdraft:before{content:"\f3a1"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frown:before{content:"\f119"}.fa-futbol:before{content:"\f1e3"}.fa-gamepad:before{content:"\f11b"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-male:before{content:"\f183"}.fa-map:before{content:"\f279"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-maxcdn:before{content:"\f136"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-meh:before{content:"\f11a"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-moon:before{content:"\f186"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-rupee-sign:before{content:"\f156"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shower:before{content:"\f2cc"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smoking:before{content:"\f48d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-spotify:before{content:"\f1bc"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-star:before{content:"\f005"}.fa-star-half:before{content:"\f089"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-strava:before{content:"\f428"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-moving:before{content:"\f4df"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-circle:before{content:"\f2bd"}.fa-user-md:before{content:"\f0f0"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-warehouse:before{content:"\f494"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/src/fontawesome/less/_animated.less b/src/fontawesome/less/_animated.less new file mode 100644 index 0000000..704ec95 --- /dev/null +++ b/src/fontawesome/less/_animated.less @@ -0,0 +1,19 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + animation: fa-spin 1s infinite steps(8); +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/src/fontawesome/less/_bordered-pulled.less b/src/fontawesome/less/_bordered-pulled.less new file mode 100644 index 0000000..29a356b --- /dev/null +++ b/src/fontawesome/less/_bordered-pulled.less @@ -0,0 +1,16 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + border-radius: .1em; + border: solid .08em @fa-border-color; + padding: .2em .25em .15em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix}, .fas, .far, .fal, .fab { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} diff --git a/src/fontawesome/less/_core.less b/src/fontawesome/less/_core.less new file mode 100644 index 0000000..82031d6 --- /dev/null +++ b/src/fontawesome/less/_core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix}, .fas, .far, .fal, .fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} diff --git a/src/fontawesome/less/_fixed-width.less b/src/fontawesome/less/_fixed-width.less new file mode 100644 index 0000000..be817c6 --- /dev/null +++ b/src/fontawesome/less/_fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + text-align: center; + width: (20em / 16); +} diff --git a/src/fontawesome/less/_icons.less b/src/fontawesome/less/_icons.less new file mode 100644 index 0000000..ad23e33 --- /dev/null +++ b/src/fontawesome/less/_icons.less @@ -0,0 +1,878 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-accessible-icon:before { content: @fa-var-accessible-icon; } +.@{fa-css-prefix}-accusoft:before { content: @fa-var-accusoft; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-adversal:before { content: @fa-var-adversal; } +.@{fa-css-prefix}-affiliatetheme:before { content: @fa-var-affiliatetheme; } +.@{fa-css-prefix}-algolia:before { content: @fa-var-algolia; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-allergies:before { content: @fa-var-allergies; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-amazon-pay:before { content: @fa-var-amazon-pay; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-amilia:before { content: @fa-var-amilia; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angrycreative:before { content: @fa-var-angrycreative; } +.@{fa-css-prefix}-angular:before { content: @fa-var-angular; } +.@{fa-css-prefix}-app-store:before { content: @fa-var-app-store; } +.@{fa-css-prefix}-app-store-ios:before { content: @fa-var-app-store-ios; } +.@{fa-css-prefix}-apper:before { content: @fa-var-apper; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-apple-pay:before { content: @fa-var-apple-pay; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-arrow-alt-circle-down:before { content: @fa-var-arrow-alt-circle-down; } +.@{fa-css-prefix}-arrow-alt-circle-left:before { content: @fa-var-arrow-alt-circle-left; } +.@{fa-css-prefix}-arrow-alt-circle-right:before { content: @fa-var-arrow-alt-circle-right; } +.@{fa-css-prefix}-arrow-alt-circle-up:before { content: @fa-var-arrow-alt-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-arrows-alt-h:before { content: @fa-var-arrows-alt-h; } +.@{fa-css-prefix}-arrows-alt-v:before { content: @fa-var-arrows-alt-v; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-asymmetrik:before { content: @fa-var-asymmetrik; } +.@{fa-css-prefix}-at:before { content: @fa-var-at; } +.@{fa-css-prefix}-audible:before { content: @fa-var-audible; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-autoprefixer:before { content: @fa-var-autoprefixer; } +.@{fa-css-prefix}-avianex:before { content: @fa-var-avianex; } +.@{fa-css-prefix}-aviato:before { content: @fa-var-aviato; } +.@{fa-css-prefix}-aws:before { content: @fa-var-aws; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-band-aid:before { content: @fa-var-band-aid; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-baseball-ball:before { content: @fa-var-baseball-ball; } +.@{fa-css-prefix}-basketball-ball:before { content: @fa-var-basketball-ball; } +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-behance:before { content: @fa-var-behance; } +.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } +.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } +.@{fa-css-prefix}-bimobject:before { content: @fa-var-bimobject; } +.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } +.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitcoin:before { content: @fa-var-bitcoin; } +.@{fa-css-prefix}-bity:before { content: @fa-var-bity; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-blackberry:before { content: @fa-var-blackberry; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-blogger:before { content: @fa-var-blogger; } +.@{fa-css-prefix}-blogger-b:before { content: @fa-var-blogger-b; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-bowling-ball:before { content: @fa-var-bowling-ball; } +.@{fa-css-prefix}-box:before { content: @fa-var-box; } +.@{fa-css-prefix}-box-open:before { content: @fa-var-box-open; } +.@{fa-css-prefix}-boxes:before { content: @fa-var-boxes; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-briefcase-medical:before { content: @fa-var-briefcase-medical; } +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-building:before { content: @fa-var-building; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-burn:before { content: @fa-var-burn; } +.@{fa-css-prefix}-buromobelexperte:before { content: @fa-var-buromobelexperte; } +.@{fa-css-prefix}-bus:before { content: @fa-var-bus; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-calendar-alt:before { content: @fa-var-calendar-alt; } +.@{fa-css-prefix}-calendar-check:before { content: @fa-var-calendar-check; } +.@{fa-css-prefix}-calendar-minus:before { content: @fa-var-calendar-minus; } +.@{fa-css-prefix}-calendar-plus:before { content: @fa-var-calendar-plus; } +.@{fa-css-prefix}-calendar-times:before { content: @fa-var-calendar-times; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-capsules:before { content: @fa-var-capsules; } +.@{fa-css-prefix}-car:before { content: @fa-var-car; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-caret-square-down:before { content: @fa-var-caret-square-down; } +.@{fa-css-prefix}-caret-square-left:before { content: @fa-var-caret-square-left; } +.@{fa-css-prefix}-caret-square-right:before { content: @fa-var-caret-square-right; } +.@{fa-css-prefix}-caret-square-up:before { content: @fa-var-caret-square-up; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cc-amazon-pay:before { content: @fa-var-cc-amazon-pay; } +.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } +.@{fa-css-prefix}-cc-apple-pay:before { content: @fa-var-cc-apple-pay; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } +.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } +.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } +.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } +.@{fa-css-prefix}-centercode:before { content: @fa-var-centercode; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-chart-area:before { content: @fa-var-chart-area; } +.@{fa-css-prefix}-chart-bar:before { content: @fa-var-chart-bar; } +.@{fa-css-prefix}-chart-line:before { content: @fa-var-chart-line; } +.@{fa-css-prefix}-chart-pie:before { content: @fa-var-chart-pie; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-chess:before { content: @fa-var-chess; } +.@{fa-css-prefix}-chess-bishop:before { content: @fa-var-chess-bishop; } +.@{fa-css-prefix}-chess-board:before { content: @fa-var-chess-board; } +.@{fa-css-prefix}-chess-king:before { content: @fa-var-chess-king; } +.@{fa-css-prefix}-chess-knight:before { content: @fa-var-chess-knight; } +.@{fa-css-prefix}-chess-pawn:before { content: @fa-var-chess-pawn; } +.@{fa-css-prefix}-chess-queen:before { content: @fa-var-chess-queen; } +.@{fa-css-prefix}-chess-rook:before { content: @fa-var-chess-rook; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-child:before { content: @fa-var-child; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-circle-notch:before { content: @fa-var-circle-notch; } +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-clipboard-check:before { content: @fa-var-clipboard-check; } +.@{fa-css-prefix}-clipboard-list:before { content: @fa-var-clipboard-list; } +.@{fa-css-prefix}-clock:before { content: @fa-var-clock; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-closed-captioning:before { content: @fa-var-closed-captioning; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-cloud-download-alt:before { content: @fa-var-cloud-download-alt; } +.@{fa-css-prefix}-cloud-upload-alt:before { content: @fa-var-cloud-upload-alt; } +.@{fa-css-prefix}-cloudscale:before { content: @fa-var-cloudscale; } +.@{fa-css-prefix}-cloudsmith:before { content: @fa-var-cloudsmith; } +.@{fa-css-prefix}-cloudversify:before { content: @fa-var-cloudversify; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-code-branch:before { content: @fa-var-code-branch; } +.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-comment-alt:before { content: @fa-var-comment-alt; } +.@{fa-css-prefix}-comment-dots:before { content: @fa-var-comment-dots; } +.@{fa-css-prefix}-comment-slash:before { content: @fa-var-comment-slash; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-copy:before { content: @fa-var-copy; } +.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } +.@{fa-css-prefix}-couch:before { content: @fa-var-couch; } +.@{fa-css-prefix}-cpanel:before { content: @fa-var-cpanel; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-css3-alt:before { content: @fa-var-css3-alt; } +.@{fa-css-prefix}-cube:before { content: @fa-var-cube; } +.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } +.@{fa-css-prefix}-cut:before { content: @fa-var-cut; } +.@{fa-css-prefix}-cuttlefish:before { content: @fa-var-cuttlefish; } +.@{fa-css-prefix}-d-and-d:before { content: @fa-var-d-and-d; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-database:before { content: @fa-var-database; } +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } +.@{fa-css-prefix}-deploydog:before { content: @fa-var-deploydog; } +.@{fa-css-prefix}-deskpro:before { content: @fa-var-deskpro; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } +.@{fa-css-prefix}-diagnoses:before { content: @fa-var-diagnoses; } +.@{fa-css-prefix}-digg:before { content: @fa-var-digg; } +.@{fa-css-prefix}-digital-ocean:before { content: @fa-var-digital-ocean; } +.@{fa-css-prefix}-discord:before { content: @fa-var-discord; } +.@{fa-css-prefix}-discourse:before { content: @fa-var-discourse; } +.@{fa-css-prefix}-dna:before { content: @fa-var-dna; } +.@{fa-css-prefix}-dochub:before { content: @fa-var-dochub; } +.@{fa-css-prefix}-docker:before { content: @fa-var-docker; } +.@{fa-css-prefix}-dollar-sign:before { content: @fa-var-dollar-sign; } +.@{fa-css-prefix}-dolly:before { content: @fa-var-dolly; } +.@{fa-css-prefix}-dolly-flatbed:before { content: @fa-var-dolly-flatbed; } +.@{fa-css-prefix}-donate:before { content: @fa-var-donate; } +.@{fa-css-prefix}-dot-circle:before { content: @fa-var-dot-circle; } +.@{fa-css-prefix}-dove:before { content: @fa-var-dove; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-draft2digital:before { content: @fa-var-draft2digital; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-dribbble-square:before { content: @fa-var-dribbble-square; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } +.@{fa-css-prefix}-dyalog:before { content: @fa-var-dyalog; } +.@{fa-css-prefix}-earlybirds:before { content: @fa-var-earlybirds; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-edit:before { content: @fa-var-edit; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-elementor:before { content: @fa-var-elementor; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-ember:before { content: @fa-var-ember; } +.@{fa-css-prefix}-empire:before { content: @fa-var-empire; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-erlang:before { content: @fa-var-erlang; } +.@{fa-css-prefix}-ethereum:before { content: @fa-var-ethereum; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-euro-sign:before { content: @fa-var-euro-sign; } +.@{fa-css-prefix}-exchange-alt:before { content: @fa-var-exchange-alt; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-expand-arrows-alt:before { content: @fa-var-expand-arrows-alt; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-external-link-alt:before { content: @fa-var-external-link-alt; } +.@{fa-css-prefix}-external-link-square-alt:before { content: @fa-var-external-link-square-alt; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-dropper:before { content: @fa-var-eye-dropper; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-facebook-f:before { content: @fa-var-facebook-f; } +.@{fa-css-prefix}-facebook-messenger:before { content: @fa-var-facebook-messenger; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-fax:before { content: @fa-var-fax; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-alt:before { content: @fa-var-file-alt; } +.@{fa-css-prefix}-file-archive:before { content: @fa-var-file-archive; } +.@{fa-css-prefix}-file-audio:before { content: @fa-var-file-audio; } +.@{fa-css-prefix}-file-code:before { content: @fa-var-file-code; } +.@{fa-css-prefix}-file-excel:before { content: @fa-var-file-excel; } +.@{fa-css-prefix}-file-image:before { content: @fa-var-file-image; } +.@{fa-css-prefix}-file-medical:before { content: @fa-var-file-medical; } +.@{fa-css-prefix}-file-medical-alt:before { content: @fa-var-file-medical-alt; } +.@{fa-css-prefix}-file-pdf:before { content: @fa-var-file-pdf; } +.@{fa-css-prefix}-file-powerpoint:before { content: @fa-var-file-powerpoint; } +.@{fa-css-prefix}-file-video:before { content: @fa-var-file-video; } +.@{fa-css-prefix}-file-word:before { content: @fa-var-file-word; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-first-aid:before { content: @fa-var-first-aid; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-firstdraft:before { content: @fa-var-firstdraft; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-flipboard:before { content: @fa-var-flipboard; } +.@{fa-css-prefix}-fly:before { content: @fa-var-fly; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-font-awesome-alt:before { content: @fa-var-font-awesome-alt; } +.@{fa-css-prefix}-font-awesome-flag:before { content: @fa-var-font-awesome-flag; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-fonticons-fi:before { content: @fa-var-fonticons-fi; } +.@{fa-css-prefix}-football-ball:before { content: @fa-var-football-ball; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-fort-awesome-alt:before { content: @fa-var-fort-awesome-alt; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-freebsd:before { content: @fa-var-freebsd; } +.@{fa-css-prefix}-frown:before { content: @fa-var-frown; } +.@{fa-css-prefix}-futbol:before { content: @fa-var-futbol; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-gem:before { content: @fa-var-gem; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-gitkraken:before { content: @fa-var-gitkraken; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-gitter:before { content: @fa-var-gitter; } +.@{fa-css-prefix}-glass-martini:before { content: @fa-var-glass-martini; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-gofore:before { content: @fa-var-gofore; } +.@{fa-css-prefix}-golf-ball:before { content: @fa-var-golf-ball; } +.@{fa-css-prefix}-goodreads:before { content: @fa-var-goodreads; } +.@{fa-css-prefix}-goodreads-g:before { content: @fa-var-goodreads-g; } +.@{fa-css-prefix}-google:before { content: @fa-var-google; } +.@{fa-css-prefix}-google-drive:before { content: @fa-var-google-drive; } +.@{fa-css-prefix}-google-play:before { content: @fa-var-google-play; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-google-plus-g:before { content: @fa-var-google-plus-g; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } +.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-gripfire:before { content: @fa-var-gripfire; } +.@{fa-css-prefix}-grunt:before { content: @fa-var-grunt; } +.@{fa-css-prefix}-gulp:before { content: @fa-var-gulp; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } +.@{fa-css-prefix}-hacker-news-square:before { content: @fa-var-hacker-news-square; } +.@{fa-css-prefix}-hand-holding:before { content: @fa-var-hand-holding; } +.@{fa-css-prefix}-hand-holding-heart:before { content: @fa-var-hand-holding-heart; } +.@{fa-css-prefix}-hand-holding-usd:before { content: @fa-var-hand-holding-usd; } +.@{fa-css-prefix}-hand-lizard:before { content: @fa-var-hand-lizard; } +.@{fa-css-prefix}-hand-paper:before { content: @fa-var-hand-paper; } +.@{fa-css-prefix}-hand-peace:before { content: @fa-var-hand-peace; } +.@{fa-css-prefix}-hand-point-down:before { content: @fa-var-hand-point-down; } +.@{fa-css-prefix}-hand-point-left:before { content: @fa-var-hand-point-left; } +.@{fa-css-prefix}-hand-point-right:before { content: @fa-var-hand-point-right; } +.@{fa-css-prefix}-hand-point-up:before { content: @fa-var-hand-point-up; } +.@{fa-css-prefix}-hand-pointer:before { content: @fa-var-hand-pointer; } +.@{fa-css-prefix}-hand-rock:before { content: @fa-var-hand-rock; } +.@{fa-css-prefix}-hand-scissors:before { content: @fa-var-hand-scissors; } +.@{fa-css-prefix}-hand-spock:before { content: @fa-var-hand-spock; } +.@{fa-css-prefix}-hands:before { content: @fa-var-hands; } +.@{fa-css-prefix}-hands-helping:before { content: @fa-var-hands-helping; } +.@{fa-css-prefix}-handshake:before { content: @fa-var-handshake; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-hdd:before { content: @fa-var-hdd; } +.@{fa-css-prefix}-heading:before { content: @fa-var-heading; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-hips:before { content: @fa-var-hips; } +.@{fa-css-prefix}-hire-a-helper:before { content: @fa-var-hire-a-helper; } +.@{fa-css-prefix}-history:before { content: @fa-var-history; } +.@{fa-css-prefix}-hockey-puck:before { content: @fa-var-hockey-puck; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-hooli:before { content: @fa-var-hooli; } +.@{fa-css-prefix}-hospital:before { content: @fa-var-hospital; } +.@{fa-css-prefix}-hospital-alt:before { content: @fa-var-hospital-alt; } +.@{fa-css-prefix}-hospital-symbol:before { content: @fa-var-hospital-symbol; } +.@{fa-css-prefix}-hotjar:before { content: @fa-var-hotjar; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-hubspot:before { content: @fa-var-hubspot; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-id-card-alt:before { content: @fa-var-id-card-alt; } +.@{fa-css-prefix}-image:before { content: @fa-var-image; } +.@{fa-css-prefix}-images:before { content: @fa-var-images; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-itunes:before { content: @fa-var-itunes; } +.@{fa-css-prefix}-itunes-note:before { content: @fa-var-itunes-note; } +.@{fa-css-prefix}-java:before { content: @fa-var-java; } +.@{fa-css-prefix}-jenkins:before { content: @fa-var-jenkins; } +.@{fa-css-prefix}-joget:before { content: @fa-var-joget; } +.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } +.@{fa-css-prefix}-js:before { content: @fa-var-js; } +.@{fa-css-prefix}-js-square:before { content: @fa-var-js-square; } +.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-keyboard:before { content: @fa-var-keyboard; } +.@{fa-css-prefix}-keycdn:before { content: @fa-var-keycdn; } +.@{fa-css-prefix}-kickstarter:before { content: @fa-var-kickstarter; } +.@{fa-css-prefix}-kickstarter-k:before { content: @fa-var-kickstarter-k; } +.@{fa-css-prefix}-korvue:before { content: @fa-var-korvue; } +.@{fa-css-prefix}-language:before { content: @fa-var-language; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-laravel:before { content: @fa-var-laravel; } +.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } +.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-lemon:before { content: @fa-var-lemon; } +.@{fa-css-prefix}-less:before { content: @fa-var-less; } +.@{fa-css-prefix}-level-down-alt:before { content: @fa-var-level-down-alt; } +.@{fa-css-prefix}-level-up-alt:before { content: @fa-var-level-up-alt; } +.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } +.@{fa-css-prefix}-lightbulb:before { content: @fa-var-lightbulb; } +.@{fa-css-prefix}-line:before { content: @fa-var-line; } +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-linkedin-in:before { content: @fa-var-linkedin-in; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-lira-sign:before { content: @fa-var-lira-sign; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-lock-open:before { content: @fa-var-lock-open; } +.@{fa-css-prefix}-long-arrow-alt-down:before { content: @fa-var-long-arrow-alt-down; } +.@{fa-css-prefix}-long-arrow-alt-left:before { content: @fa-var-long-arrow-alt-left; } +.@{fa-css-prefix}-long-arrow-alt-right:before { content: @fa-var-long-arrow-alt-right; } +.@{fa-css-prefix}-long-arrow-alt-up:before { content: @fa-var-long-arrow-alt-up; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-lyft:before { content: @fa-var-lyft; } +.@{fa-css-prefix}-magento:before { content: @fa-var-magento; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-map-marker-alt:before { content: @fa-var-map-marker-alt; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-medapps:before { content: @fa-var-medapps; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-medium-m:before { content: @fa-var-medium-m; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-medrt:before { content: @fa-var-medrt; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } +.@{fa-css-prefix}-meh:before { content: @fa-var-meh; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-microsoft:before { content: @fa-var-microsoft; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-mix:before { content: @fa-var-mix; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-mizuni:before { content: @fa-var-mizuni; } +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-mobile-alt:before { content: @fa-var-mobile-alt; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-monero:before { content: @fa-var-monero; } +.@{fa-css-prefix}-money-bill-alt:before { content: @fa-var-money-bill-alt; } +.@{fa-css-prefix}-moon:before { content: @fa-var-moon; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-napster:before { content: @fa-var-napster; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-newspaper:before { content: @fa-var-newspaper; } +.@{fa-css-prefix}-nintendo-switch:before { content: @fa-var-nintendo-switch; } +.@{fa-css-prefix}-node:before { content: @fa-var-node; } +.@{fa-css-prefix}-node-js:before { content: @fa-var-node-js; } +.@{fa-css-prefix}-notes-medical:before { content: @fa-var-notes-medical; } +.@{fa-css-prefix}-npm:before { content: @fa-var-npm; } +.@{fa-css-prefix}-ns8:before { content: @fa-var-ns8; } +.@{fa-css-prefix}-nutritionix:before { content: @fa-var-nutritionix; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-openid:before { content: @fa-var-openid; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-osi:before { content: @fa-var-osi; } +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-page4:before { content: @fa-var-page4; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } +.@{fa-css-prefix}-palfed:before { content: @fa-var-palfed; } +.@{fa-css-prefix}-pallet:before { content: @fa-var-pallet; } +.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-parachute-box:before { content: @fa-var-parachute-box; } +.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } +.@{fa-css-prefix}-paste:before { content: @fa-var-paste; } +.@{fa-css-prefix}-patreon:before { content: @fa-var-patreon; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-paw:before { content: @fa-var-paw; } +.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } +.@{fa-css-prefix}-pen-square:before { content: @fa-var-pen-square; } +.@{fa-css-prefix}-pencil-alt:before { content: @fa-var-pencil-alt; } +.@{fa-css-prefix}-people-carry:before { content: @fa-var-people-carry; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-periscope:before { content: @fa-var-periscope; } +.@{fa-css-prefix}-phabricator:before { content: @fa-var-phabricator; } +.@{fa-css-prefix}-phoenix-framework:before { content: @fa-var-phoenix-framework; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-phone-slash:before { content: @fa-var-phone-slash; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-phone-volume:before { content: @fa-var-phone-volume; } +.@{fa-css-prefix}-php:before { content: @fa-var-php; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } +.@{fa-css-prefix}-pied-piper-hat:before { content: @fa-var-pied-piper-hat; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } +.@{fa-css-prefix}-piggy-bank:before { content: @fa-var-piggy-bank; } +.@{fa-css-prefix}-pills:before { content: @fa-var-pills; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-playstation:before { content: @fa-var-playstation; } +.@{fa-css-prefix}-plug:before { content: @fa-var-plug; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-poo:before { content: @fa-var-poo; } +.@{fa-css-prefix}-pound-sign:before { content: @fa-var-pound-sign; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-prescription-bottle:before { content: @fa-var-prescription-bottle; } +.@{fa-css-prefix}-prescription-bottle-alt:before { content: @fa-var-prescription-bottle-alt; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-procedures:before { content: @fa-var-procedures; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-pushed:before { content: @fa-var-pushed; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-python:before { content: @fa-var-python; } +.@{fa-css-prefix}-qq:before { content: @fa-var-qq; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-quidditch:before { content: @fa-var-quidditch; } +.@{fa-css-prefix}-quinscape:before { content: @fa-var-quinscape; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-react:before { content: @fa-var-react; } +.@{fa-css-prefix}-readme:before { content: @fa-var-readme; } +.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } +.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } +.@{fa-css-prefix}-red-river:before { content: @fa-var-red-river; } +.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } +.@{fa-css-prefix}-redo:before { content: @fa-var-redo; } +.@{fa-css-prefix}-redo-alt:before { content: @fa-var-redo-alt; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-rendact:before { content: @fa-var-rendact; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-replyd:before { content: @fa-var-replyd; } +.@{fa-css-prefix}-resolving:before { content: @fa-var-resolving; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-ribbon:before { content: @fa-var-ribbon; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-rocketchat:before { content: @fa-var-rocketchat; } +.@{fa-css-prefix}-rockrms:before { content: @fa-var-rockrms; } +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-ruble-sign:before { content: @fa-var-ruble-sign; } +.@{fa-css-prefix}-rupee-sign:before { content: @fa-var-rupee-sign; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-sass:before { content: @fa-var-sass; } +.@{fa-css-prefix}-save:before { content: @fa-var-save; } +.@{fa-css-prefix}-schlix:before { content: @fa-var-schlix; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-searchengin:before { content: @fa-var-searchengin; } +.@{fa-css-prefix}-seedling:before { content: @fa-var-seedling; } +.@{fa-css-prefix}-sellcast:before { content: @fa-var-sellcast; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-servicestack:before { content: @fa-var-servicestack; } +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } +.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-shekel-sign:before { content: @fa-var-shekel-sign; } +.@{fa-css-prefix}-shield-alt:before { content: @fa-var-shield-alt; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-shipping-fast:before { content: @fa-var-shipping-fast; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-sign:before { content: @fa-var-sign; } +.@{fa-css-prefix}-sign-in-alt:before { content: @fa-var-sign-in-alt; } +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-sign-out-alt:before { content: @fa-var-sign-out-alt; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-sistrix:before { content: @fa-var-sistrix; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-slack:before { content: @fa-var-slack; } +.@{fa-css-prefix}-slack-hash:before { content: @fa-var-slack-hash; } +.@{fa-css-prefix}-sliders-h:before { content: @fa-var-sliders-h; } +.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } +.@{fa-css-prefix}-smile:before { content: @fa-var-smile; } +.@{fa-css-prefix}-smoking:before { content: @fa-var-smoking; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-snowflake:before { content: @fa-var-snowflake; } +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-alpha-down:before { content: @fa-var-sort-alpha-down; } +.@{fa-css-prefix}-sort-alpha-up:before { content: @fa-var-sort-alpha-up; } +.@{fa-css-prefix}-sort-amount-down:before { content: @fa-var-sort-amount-down; } +.@{fa-css-prefix}-sort-amount-up:before { content: @fa-var-sort-amount-up; } +.@{fa-css-prefix}-sort-down:before { content: @fa-var-sort-down; } +.@{fa-css-prefix}-sort-numeric-down:before { content: @fa-var-sort-numeric-down; } +.@{fa-css-prefix}-sort-numeric-up:before { content: @fa-var-sort-numeric-up; } +.@{fa-css-prefix}-sort-up:before { content: @fa-var-sort-up; } +.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } +.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } +.@{fa-css-prefix}-speakap:before { content: @fa-var-speakap; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-square-full:before { content: @fa-var-square-full; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-staylinked:before { content: @fa-var-staylinked; } +.@{fa-css-prefix}-steam:before { content: @fa-var-steam; } +.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } +.@{fa-css-prefix}-steam-symbol:before { content: @fa-var-steam-symbol; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-sticker-mule:before { content: @fa-var-sticker-mule; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stopwatch:before { content: @fa-var-stopwatch; } +.@{fa-css-prefix}-strava:before { content: @fa-var-strava; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-stripe:before { content: @fa-var-stripe; } +.@{fa-css-prefix}-stripe-s:before { content: @fa-var-stripe-s; } +.@{fa-css-prefix}-studiovinari:before { content: @fa-var-studiovinari; } +.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } +.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-sun:before { content: @fa-var-sun; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-supple:before { content: @fa-var-supple; } +.@{fa-css-prefix}-sync:before { content: @fa-var-sync; } +.@{fa-css-prefix}-sync-alt:before { content: @fa-var-sync-alt; } +.@{fa-css-prefix}-syringe:before { content: @fa-var-syringe; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-table-tennis:before { content: @fa-var-table-tennis; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-tablet-alt:before { content: @fa-var-tablet-alt; } +.@{fa-css-prefix}-tablets:before { content: @fa-var-tablets; } +.@{fa-css-prefix}-tachometer-alt:before { content: @fa-var-tachometer-alt; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-tape:before { content: @fa-var-tape; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-telegram-plane:before { content: @fa-var-telegram-plane; } +.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-thermometer:before { content: @fa-var-thermometer; } +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbtack:before { content: @fa-var-thumbtack; } +.@{fa-css-prefix}-ticket-alt:before { content: @fa-var-ticket-alt; } +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } +.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-trash:before { content: @fa-var-trash; } +.@{fa-css-prefix}-trash-alt:before { content: @fa-var-trash-alt; } +.@{fa-css-prefix}-tree:before { content: @fa-var-tree; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-truck-loading:before { content: @fa-var-truck-loading; } +.@{fa-css-prefix}-truck-moving:before { content: @fa-var-truck-moving; } +.@{fa-css-prefix}-tty:before { content: @fa-var-tty; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-tv:before { content: @fa-var-tv; } +.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-typo3:before { content: @fa-var-typo3; } +.@{fa-css-prefix}-uber:before { content: @fa-var-uber; } +.@{fa-css-prefix}-uikit:before { content: @fa-var-uikit; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-undo-alt:before { content: @fa-var-undo-alt; } +.@{fa-css-prefix}-uniregistry:before { content: @fa-var-uniregistry; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-university:before { content: @fa-var-university; } +.@{fa-css-prefix}-unlink:before { content: @fa-var-unlink; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-untappd:before { content: @fa-var-untappd; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-ussunnah:before { content: @fa-var-ussunnah; } +.@{fa-css-prefix}-utensil-spoon:before { content: @fa-var-utensil-spoon; } +.@{fa-css-prefix}-utensils:before { content: @fa-var-utensils; } +.@{fa-css-prefix}-vaadin:before { content: @fa-var-vaadin; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-vial:before { content: @fa-var-vial; } +.@{fa-css-prefix}-vials:before { content: @fa-var-vials; } +.@{fa-css-prefix}-viber:before { content: @fa-var-viber; } +.@{fa-css-prefix}-video:before { content: @fa-var-video; } +.@{fa-css-prefix}-video-slash:before { content: @fa-var-video-slash; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-vimeo-v:before { content: @fa-var-vimeo-v; } +.@{fa-css-prefix}-vine:before { content: @fa-var-vine; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-vnv:before { content: @fa-var-vnv; } +.@{fa-css-prefix}-volleyball-ball:before { content: @fa-var-volleyball-ball; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-vuejs:before { content: @fa-var-vuejs; } +.@{fa-css-prefix}-warehouse:before { content: @fa-var-warehouse; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-weight:before { content: @fa-var-weight; } +.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-whatsapp-square:before { content: @fa-var-whatsapp-square; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-whmcs:before { content: @fa-var-whmcs; } +.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-wine-glass:before { content: @fa-var-wine-glass; } +.@{fa-css-prefix}-won-sign:before { content: @fa-var-won-sign; } +.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } +.@{fa-css-prefix}-wordpress-simple:before { content: @fa-var-wordpress-simple; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-x-ray:before { content: @fa-var-x-ray; } +.@{fa-css-prefix}-xbox:before { content: @fa-var-xbox; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } +.@{fa-css-prefix}-yandex:before { content: @fa-var-yandex; } +.@{fa-css-prefix}-yandex-international:before { content: @fa-var-yandex-international; } +.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } +.@{fa-css-prefix}-yen-sign:before { content: @fa-var-yen-sign; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } diff --git a/src/fontawesome/less/_larger.less b/src/fontawesome/less/_larger.less new file mode 100644 index 0000000..6cbb1ec --- /dev/null +++ b/src/fontawesome/less/_larger.less @@ -0,0 +1,27 @@ +// Icon Sizes +// ------------------------- + +.larger(@factor) when (@factor > 0) { + .larger((@factor - 1)); + + .@{fa-css-prefix}-@{factor}x { + font-size: (@factor * 1em); + } +} + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -.0667em; +} + +.@{fa-css-prefix}-xs { + font-size: .75em; +} + +.@{fa-css-prefix}-sm { + font-size: .875em; +} + +.larger(10); diff --git a/src/fontawesome/less/_list.less b/src/fontawesome/less/_list.less new file mode 100644 index 0000000..1ff7ca7 --- /dev/null +++ b/src/fontawesome/less/_list.less @@ -0,0 +1,18 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + list-style-type: none; + margin-left: @fa-li-width * 5/4; + padding-left: 0; + + > li { position: relative; } +} + +.@{fa-css-prefix}-li { + left: -@fa-li-width; + position: absolute; + text-align: center; + width: @fa-li-width; + line-height: inherit; +} diff --git a/src/fontawesome/less/_mixins.less b/src/fontawesome/less/_mixins.less new file mode 100644 index 0000000..a4e93f9 --- /dev/null +++ b/src/fontawesome/less/_mixins.less @@ -0,0 +1,57 @@ +// Mixins +// -------------------------- + +.fa-icon() { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + vertical-align: -.125em; +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + border: 0; + clip: rect(0,0,0,0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; + } +} diff --git a/src/fontawesome/less/_rotated-flipped.less b/src/fontawesome/less/_rotated-flipped.less new file mode 100644 index 0000000..1ee31db --- /dev/null +++ b/src/fontawesome/less/_rotated-flipped.less @@ -0,0 +1,23 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } +.@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(-1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root { + .@{fa-css-prefix}-rotate-90, + .@{fa-css-prefix}-rotate-180, + .@{fa-css-prefix}-rotate-270, + .@{fa-css-prefix}-flip-horizontal, + .@{fa-css-prefix}-flip-vertical { + filter: none; + } +} diff --git a/src/fontawesome/less/_screen-reader.less b/src/fontawesome/less/_screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/src/fontawesome/less/_screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/src/fontawesome/less/_stacked.less b/src/fontawesome/less/_stacked.less new file mode 100644 index 0000000..263b5c4 --- /dev/null +++ b/src/fontawesome/less/_stacked.less @@ -0,0 +1,22 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em; +} + +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/src/fontawesome/less/_variables.less b/src/fontawesome/less/_variables.less new file mode 100644 index 0000000..19d5a9e --- /dev/null +++ b/src/fontawesome/less/_variables.less @@ -0,0 +1,887 @@ +// Variables +// -------------------------- + +@fa-font-path: "../webfonts"; +@fa-font-size-base: 16px; +@fa-line-height-base: 1; +@fa-css-prefix: fa; +@fa-version: "5.0.10"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: 2em; + +@fa-var-500px: "\f26e"; +@fa-var-accessible-icon: "\f368"; +@fa-var-accusoft: "\f369"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-card: "\f2bb"; +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-adversal: "\f36a"; +@fa-var-affiliatetheme: "\f36b"; +@fa-var-algolia: "\f36c"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-allergies: "\f461"; +@fa-var-amazon: "\f270"; +@fa-var-amazon-pay: "\f42c"; +@fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-amilia: "\f36d"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-angrycreative: "\f36e"; +@fa-var-angular: "\f420"; +@fa-var-app-store: "\f36f"; +@fa-var-app-store-ios: "\f370"; +@fa-var-apper: "\f371"; +@fa-var-apple: "\f179"; +@fa-var-apple-pay: "\f415"; +@fa-var-archive: "\f187"; +@fa-var-arrow-alt-circle-down: "\f358"; +@fa-var-arrow-alt-circle-left: "\f359"; +@fa-var-arrow-alt-circle-right: "\f35a"; +@fa-var-arrow-alt-circle-up: "\f35b"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-alt-h: "\f337"; +@fa-var-arrows-alt-v: "\f338"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-asterisk: "\f069"; +@fa-var-asymmetrik: "\f372"; +@fa-var-at: "\f1fa"; +@fa-var-audible: "\f373"; +@fa-var-audio-description: "\f29e"; +@fa-var-autoprefixer: "\f41c"; +@fa-var-avianex: "\f374"; +@fa-var-aviato: "\f421"; +@fa-var-aws: "\f375"; +@fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; +@fa-var-ban: "\f05e"; +@fa-var-band-aid: "\f462"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-baseball-ball: "\f433"; +@fa-var-basketball-ball: "\f434"; +@fa-var-bath: "\f2cd"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bicycle: "\f206"; +@fa-var-bimobject: "\f378"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitcoin: "\f379"; +@fa-var-bity: "\f37a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blackberry: "\f37b"; +@fa-var-blind: "\f29d"; +@fa-var-blogger: "\f37c"; +@fa-var-blogger-b: "\f37d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bowling-ball: "\f436"; +@fa-var-box: "\f466"; +@fa-var-box-open: "\f49e"; +@fa-var-boxes: "\f468"; +@fa-var-braille: "\f2a1"; +@fa-var-briefcase: "\f0b1"; +@fa-var-briefcase-medical: "\f469"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-burn: "\f46a"; +@fa-var-buromobelexperte: "\f37f"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f133"; +@fa-var-calendar-alt: "\f073"; +@fa-var-calendar-check: "\f274"; +@fa-var-calendar-minus: "\f272"; +@fa-var-calendar-plus: "\f271"; +@fa-var-calendar-times: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-capsules: "\f46b"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-down: "\f150"; +@fa-var-caret-square-left: "\f191"; +@fa-var-caret-square-right: "\f152"; +@fa-var-caret-square-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc-amazon-pay: "\f42d"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-apple-pay: "\f416"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-centercode: "\f380"; +@fa-var-certificate: "\f0a3"; +@fa-var-chart-area: "\f1fe"; +@fa-var-chart-bar: "\f080"; +@fa-var-chart-line: "\f201"; +@fa-var-chart-pie: "\f200"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-square: "\f14a"; +@fa-var-chess: "\f439"; +@fa-var-chess-bishop: "\f43a"; +@fa-var-chess-board: "\f43c"; +@fa-var-chess-king: "\f43f"; +@fa-var-chess-knight: "\f441"; +@fa-var-chess-pawn: "\f443"; +@fa-var-chess-queen: "\f445"; +@fa-var-chess-rook: "\f447"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; +@fa-var-circle: "\f111"; +@fa-var-circle-notch: "\f1ce"; +@fa-var-clipboard: "\f328"; +@fa-var-clipboard-check: "\f46c"; +@fa-var-clipboard-list: "\f46d"; +@fa-var-clock: "\f017"; +@fa-var-clone: "\f24d"; +@fa-var-closed-captioning: "\f20a"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download-alt: "\f381"; +@fa-var-cloud-upload-alt: "\f382"; +@fa-var-cloudscale: "\f383"; +@fa-var-cloudsmith: "\f384"; +@fa-var-cloudversify: "\f385"; +@fa-var-code: "\f121"; +@fa-var-code-branch: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-alt: "\f27a"; +@fa-var-comment-dots: "\f4ad"; +@fa-var-comment-slash: "\f4b3"; +@fa-var-comments: "\f086"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-couch: "\f4b8"; +@fa-var-cpanel: "\f388"; +@fa-var-creative-commons: "\f25e"; +@fa-var-credit-card: "\f09d"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-css3-alt: "\f38b"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cuttlefish: "\f38c"; +@fa-var-d-and-d: "\f38d"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-delicious: "\f1a5"; +@fa-var-deploydog: "\f38e"; +@fa-var-deskpro: "\f38f"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diagnoses: "\f470"; +@fa-var-digg: "\f1a6"; +@fa-var-digital-ocean: "\f391"; +@fa-var-discord: "\f392"; +@fa-var-discourse: "\f393"; +@fa-var-dna: "\f471"; +@fa-var-dochub: "\f394"; +@fa-var-docker: "\f395"; +@fa-var-dollar-sign: "\f155"; +@fa-var-dolly: "\f472"; +@fa-var-dolly-flatbed: "\f474"; +@fa-var-donate: "\f4b9"; +@fa-var-dot-circle: "\f192"; +@fa-var-dove: "\f4ba"; +@fa-var-download: "\f019"; +@fa-var-draft2digital: "\f396"; +@fa-var-dribbble: "\f17d"; +@fa-var-dribbble-square: "\f397"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-dyalog: "\f399"; +@fa-var-earlybirds: "\f39a"; +@fa-var-edge: "\f282"; +@fa-var-edit: "\f044"; +@fa-var-eject: "\f052"; +@fa-var-elementor: "\f430"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-ember: "\f423"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; +@fa-var-eraser: "\f12d"; +@fa-var-erlang: "\f39d"; +@fa-var-ethereum: "\f42e"; +@fa-var-etsy: "\f2d7"; +@fa-var-euro-sign: "\f153"; +@fa-var-exchange-alt: "\f362"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-expand-arrows-alt: "\f31e"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-external-link-alt: "\f35d"; +@fa-var-external-link-square-alt: "\f360"; +@fa-var-eye: "\f06e"; +@fa-var-eye-dropper: "\f1fb"; +@fa-var-eye-slash: "\f070"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f39e"; +@fa-var-facebook-messenger: "\f39f"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-alt: "\f15c"; +@fa-var-file-archive: "\f1c6"; +@fa-var-file-audio: "\f1c7"; +@fa-var-file-code: "\f1c9"; +@fa-var-file-excel: "\f1c3"; +@fa-var-file-image: "\f1c5"; +@fa-var-file-medical: "\f477"; +@fa-var-file-medical-alt: "\f478"; +@fa-var-file-pdf: "\f1c1"; +@fa-var-file-powerpoint: "\f1c4"; +@fa-var-file-video: "\f1c8"; +@fa-var-file-word: "\f1c2"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-aid: "\f479"; +@fa-var-first-order: "\f2b0"; +@fa-var-firstdraft: "\f3a1"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-flipboard: "\f44d"; +@fa-var-fly: "\f417"; +@fa-var-folder: "\f07b"; +@fa-var-folder-open: "\f07c"; +@fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-font-awesome-alt: "\f35c"; +@fa-var-font-awesome-flag: "\f425"; +@fa-var-fonticons: "\f280"; +@fa-var-fonticons-fi: "\f3a2"; +@fa-var-football-ball: "\f44e"; +@fa-var-fort-awesome: "\f286"; +@fa-var-fort-awesome-alt: "\f3a3"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-freebsd: "\f3a4"; +@fa-var-frown: "\f119"; +@fa-var-futbol: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gem: "\f3a5"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gitkraken: "\f3a6"; +@fa-var-gitlab: "\f296"; +@fa-var-gitter: "\f426"; +@fa-var-glass-martini: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-globe: "\f0ac"; +@fa-var-gofore: "\f3a7"; +@fa-var-golf-ball: "\f450"; +@fa-var-goodreads: "\f3a8"; +@fa-var-goodreads-g: "\f3a9"; +@fa-var-google: "\f1a0"; +@fa-var-google-drive: "\f3aa"; +@fa-var-google-play: "\f3ab"; +@fa-var-google-plus: "\f2b3"; +@fa-var-google-plus-g: "\f0d5"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-gripfire: "\f3ac"; +@fa-var-grunt: "\f3ad"; +@fa-var-gulp: "\f3ae"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hacker-news-square: "\f3af"; +@fa-var-hand-holding: "\f4bd"; +@fa-var-hand-holding-heart: "\f4be"; +@fa-var-hand-holding-usd: "\f4c0"; +@fa-var-hand-lizard: "\f258"; +@fa-var-hand-paper: "\f256"; +@fa-var-hand-peace: "\f25b"; +@fa-var-hand-point-down: "\f0a7"; +@fa-var-hand-point-left: "\f0a5"; +@fa-var-hand-point-right: "\f0a4"; +@fa-var-hand-point-up: "\f0a6"; +@fa-var-hand-pointer: "\f25a"; +@fa-var-hand-rock: "\f255"; +@fa-var-hand-scissors: "\f257"; +@fa-var-hand-spock: "\f259"; +@fa-var-hands: "\f4c2"; +@fa-var-hands-helping: "\f4c4"; +@fa-var-handshake: "\f2b5"; +@fa-var-hashtag: "\f292"; +@fa-var-hdd: "\f0a0"; +@fa-var-heading: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heartbeat: "\f21e"; +@fa-var-hips: "\f452"; +@fa-var-hire-a-helper: "\f3b0"; +@fa-var-history: "\f1da"; +@fa-var-hockey-puck: "\f453"; +@fa-var-home: "\f015"; +@fa-var-hooli: "\f427"; +@fa-var-hospital: "\f0f8"; +@fa-var-hospital-alt: "\f47d"; +@fa-var-hospital-symbol: "\f47e"; +@fa-var-hotjar: "\f3b1"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-hubspot: "\f3b2"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-alt: "\f47f"; +@fa-var-image: "\f03e"; +@fa-var-images: "\f302"; +@fa-var-imdb: "\f2d8"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-instagram: "\f16d"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-itunes: "\f3b4"; +@fa-var-itunes-note: "\f3b5"; +@fa-var-java: "\f4e4"; +@fa-var-jenkins: "\f3b6"; +@fa-var-joget: "\f3b7"; +@fa-var-joomla: "\f1aa"; +@fa-var-js: "\f3b8"; +@fa-var-js-square: "\f3b9"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard: "\f11c"; +@fa-var-keycdn: "\f3ba"; +@fa-var-kickstarter: "\f3bb"; +@fa-var-kickstarter-k: "\f3bc"; +@fa-var-korvue: "\f42f"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-laravel: "\f3bd"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-lemon: "\f094"; +@fa-var-less: "\f41d"; +@fa-var-level-down-alt: "\f3be"; +@fa-var-level-up-alt: "\f3bf"; +@fa-var-life-ring: "\f1cd"; +@fa-var-lightbulb: "\f0eb"; +@fa-var-line: "\f3c0"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f08c"; +@fa-var-linkedin-in: "\f0e1"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-lira-sign: "\f195"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-lock-open: "\f3c1"; +@fa-var-long-arrow-alt-down: "\f309"; +@fa-var-long-arrow-alt-left: "\f30a"; +@fa-var-long-arrow-alt-right: "\f30b"; +@fa-var-long-arrow-alt-up: "\f30c"; +@fa-var-low-vision: "\f2a8"; +@fa-var-lyft: "\f3c3"; +@fa-var-magento: "\f3c4"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-male: "\f183"; +@fa-var-map: "\f279"; +@fa-var-map-marker: "\f041"; +@fa-var-map-marker-alt: "\f3c5"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-medapps: "\f3c6"; +@fa-var-medium: "\f23a"; +@fa-var-medium-m: "\f3c7"; +@fa-var-medkit: "\f0fa"; +@fa-var-medrt: "\f3c8"; +@fa-var-meetup: "\f2e0"; +@fa-var-meh: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-microsoft: "\f3ca"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-mix: "\f3cb"; +@fa-var-mixcloud: "\f289"; +@fa-var-mizuni: "\f3cc"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-alt: "\f3cd"; +@fa-var-modx: "\f285"; +@fa-var-monero: "\f3d0"; +@fa-var-money-bill-alt: "\f3d1"; +@fa-var-moon: "\f186"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-music: "\f001"; +@fa-var-napster: "\f3d2"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper: "\f1ea"; +@fa-var-nintendo-switch: "\f418"; +@fa-var-node: "\f419"; +@fa-var-node-js: "\f3d3"; +@fa-var-notes-medical: "\f481"; +@fa-var-npm: "\f3d4"; +@fa-var-ns8: "\f3d5"; +@fa-var-nutritionix: "\f3d6"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-osi: "\f41a"; +@fa-var-outdent: "\f03b"; +@fa-var-page4: "\f3d7"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-palfed: "\f3d8"; +@fa-var-pallet: "\f482"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paperclip: "\f0c6"; +@fa-var-parachute-box: "\f4cd"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-patreon: "\f3d9"; +@fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pen-square: "\f14b"; +@fa-var-pencil-alt: "\f303"; +@fa-var-people-carry: "\f4ce"; +@fa-var-percent: "\f295"; +@fa-var-periscope: "\f3da"; +@fa-var-phabricator: "\f3db"; +@fa-var-phoenix-framework: "\f3dc"; +@fa-var-phone: "\f095"; +@fa-var-phone-slash: "\f3dd"; +@fa-var-phone-square: "\f098"; +@fa-var-phone-volume: "\f2a0"; +@fa-var-php: "\f457"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-hat: "\f4e5"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-piggy-bank: "\f4d3"; +@fa-var-pills: "\f484"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-playstation: "\f3df"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-podcast: "\f2ce"; +@fa-var-poo: "\f2fe"; +@fa-var-pound-sign: "\f154"; +@fa-var-power-off: "\f011"; +@fa-var-prescription-bottle: "\f485"; +@fa-var-prescription-bottle-alt: "\f486"; +@fa-var-print: "\f02f"; +@fa-var-procedures: "\f487"; +@fa-var-product-hunt: "\f288"; +@fa-var-pushed: "\f3e1"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-python: "\f3e2"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-quidditch: "\f458"; +@fa-var-quinscape: "\f459"; +@fa-var-quora: "\f2c4"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; +@fa-var-react: "\f41b"; +@fa-var-readme: "\f4d5"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-red-river: "\f3e3"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-redo: "\f01e"; +@fa-var-redo-alt: "\f2f9"; +@fa-var-registered: "\f25d"; +@fa-var-rendact: "\f3e4"; +@fa-var-renren: "\f18b"; +@fa-var-reply: "\f3e5"; +@fa-var-reply-all: "\f122"; +@fa-var-replyd: "\f3e6"; +@fa-var-resolving: "\f3e7"; +@fa-var-retweet: "\f079"; +@fa-var-ribbon: "\f4d6"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rocketchat: "\f3e8"; +@fa-var-rockrms: "\f3e9"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-ruble-sign: "\f158"; +@fa-var-rupee-sign: "\f156"; +@fa-var-safari: "\f267"; +@fa-var-sass: "\f41e"; +@fa-var-save: "\f0c7"; +@fa-var-schlix: "\f3ea"; +@fa-var-scribd: "\f28a"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-searchengin: "\f3eb"; +@fa-var-seedling: "\f4d8"; +@fa-var-sellcast: "\f2da"; +@fa-var-sellsy: "\f213"; +@fa-var-server: "\f233"; +@fa-var-servicestack: "\f3ec"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-shekel-sign: "\f20b"; +@fa-var-shield-alt: "\f3ed"; +@fa-var-ship: "\f21a"; +@fa-var-shipping-fast: "\f48b"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; +@fa-var-sign: "\f4d9"; +@fa-var-sign-in-alt: "\f2f6"; +@fa-var-sign-language: "\f2a7"; +@fa-var-sign-out-alt: "\f2f5"; +@fa-var-signal: "\f012"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sistrix: "\f3ee"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-slack-hash: "\f3ef"; +@fa-var-sliders-h: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile: "\f118"; +@fa-var-smoking: "\f48d"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake: "\f2dc"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-down: "\f15d"; +@fa-var-sort-alpha-up: "\f15e"; +@fa-var-sort-amount-down: "\f160"; +@fa-var-sort-amount-up: "\f161"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-down: "\f162"; +@fa-var-sort-numeric-up: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-speakap: "\f3f3"; +@fa-var-spinner: "\f110"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-full: "\f45c"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-staylinked: "\f3f5"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-steam-symbol: "\f3f6"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-sticker-mule: "\f3f7"; +@fa-var-sticky-note: "\f249"; +@fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stopwatch: "\f2f2"; +@fa-var-strava: "\f428"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stripe: "\f429"; +@fa-var-stripe-s: "\f42a"; +@fa-var-studiovinari: "\f3f8"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun: "\f185"; +@fa-var-superpowers: "\f2dd"; +@fa-var-superscript: "\f12b"; +@fa-var-supple: "\f3f9"; +@fa-var-sync: "\f021"; +@fa-var-sync-alt: "\f2f1"; +@fa-var-syringe: "\f48e"; +@fa-var-table: "\f0ce"; +@fa-var-table-tennis: "\f45d"; +@fa-var-tablet: "\f10a"; +@fa-var-tablet-alt: "\f3fa"; +@fa-var-tablets: "\f490"; +@fa-var-tachometer-alt: "\f3fd"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tape: "\f4db"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-telegram-plane: "\f3fe"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f491"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-up: "\f164"; +@fa-var-thumbtack: "\f08d"; +@fa-var-ticket-alt: "\f3ff"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-tint: "\f043"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-alt: "\f2ed"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-truck-loading: "\f4de"; +@fa-var-truck-moving: "\f4df"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-tv: "\f26c"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-typo3: "\f42b"; +@fa-var-uber: "\f402"; +@fa-var-uikit: "\f403"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-undo-alt: "\f2ea"; +@fa-var-uniregistry: "\f404"; +@fa-var-universal-access: "\f29a"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-untappd: "\f405"; +@fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; +@fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-ussunnah: "\f407"; +@fa-var-utensil-spoon: "\f2e5"; +@fa-var-utensils: "\f2e7"; +@fa-var-vaadin: "\f408"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-vial: "\f492"; +@fa-var-vials: "\f493"; +@fa-var-viber: "\f409"; +@fa-var-video: "\f03d"; +@fa-var-video-slash: "\f4e2"; +@fa-var-vimeo: "\f40a"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vimeo-v: "\f27d"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-vnv: "\f40b"; +@fa-var-volleyball-ball: "\f45f"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-vuejs: "\f41f"; +@fa-var-warehouse: "\f494"; +@fa-var-weibo: "\f18a"; +@fa-var-weight: "\f496"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-whatsapp-square: "\f40c"; +@fa-var-wheelchair: "\f193"; +@fa-var-whmcs: "\f40d"; +@fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f410"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-windows: "\f17a"; +@fa-var-wine-glass: "\f4e3"; +@fa-var-won-sign: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wordpress-simple: "\f411"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wrench: "\f0ad"; +@fa-var-x-ray: "\f497"; +@fa-var-xbox: "\f412"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-yahoo: "\f19e"; +@fa-var-yandex: "\f413"; +@fa-var-yandex-international: "\f414"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen-sign: "\f157"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-square: "\f431"; diff --git a/src/fontawesome/less/fa-brands.less b/src/fontawesome/less/fa-brands.less new file mode 100644 index 0000000..f136d62 --- /dev/null +++ b/src/fontawesome/less/fa-brands.less @@ -0,0 +1,21 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import "_variables.less"; + +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: url('@{fa-font-path}/fa-brands-400.eot'); + src: url('@{fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'), + url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'), + url('@{fa-font-path}/fa-brands-400.woff') format('woff'), + url('@{fa-font-path}/fa-brands-400.ttf') format('truetype'), + url('@{fa-font-path}/fa-brands-400.svg#fontawesome') format('svg'); +} + +.fab { + font-family: 'Font Awesome 5 Brands'; +} diff --git a/src/fontawesome/less/fa-regular.less b/src/fontawesome/less/fa-regular.less new file mode 100644 index 0000000..04820bb --- /dev/null +++ b/src/fontawesome/less/fa-regular.less @@ -0,0 +1,22 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import "_variables.less"; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + src: url('@{fa-font-path}/fa-regular-400.eot'); + src: url('@{fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'), + url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'), + url('@{fa-font-path}/fa-regular-400.woff') format('woff'), + url('@{fa-font-path}/fa-regular-400.ttf') format('truetype'), + url('@{fa-font-path}/fa-regular-400.svg#fontawesome') format('svg'); +} + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} diff --git a/src/fontawesome/less/fa-solid.less b/src/fontawesome/less/fa-solid.less new file mode 100644 index 0000000..2bcfb0d --- /dev/null +++ b/src/fontawesome/less/fa-solid.less @@ -0,0 +1,23 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import "_variables.less"; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + src: url('@{fa-font-path}/fa-solid-900.eot'); + src: url('@{fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'), + url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'), + url('@{fa-font-path}/fa-solid-900.woff') format('woff'), + url('@{fa-font-path}/fa-solid-900.ttf') format('truetype'), + url('@{fa-font-path}/fa-solid-900.svg#fontawesome') format('svg'); +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; +} diff --git a/src/fontawesome/less/fontawesome.less b/src/fontawesome/less/fontawesome.less new file mode 100644 index 0000000..fecdf78 --- /dev/null +++ b/src/fontawesome/less/fontawesome.less @@ -0,0 +1,16 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import "_variables.less"; +@import "_mixins.less"; +@import "_core.less"; +@import "_larger.less"; +@import "_fixed-width.less"; +@import "_list.less"; +@import "_bordered-pulled.less"; +@import "_animated.less"; +@import "_rotated-flipped.less"; +@import "_stacked.less"; +@import "_icons.less"; +@import "_screen-reader.less"; diff --git a/src/fontawesome/scss/_animated.scss b/src/fontawesome/scss/_animated.scss new file mode 100644 index 0000000..7c7c0e1 --- /dev/null +++ b/src/fontawesome/scss/_animated.scss @@ -0,0 +1,20 @@ +// Animated Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + animation: fa-spin 1s infinite steps(8); +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/src/fontawesome/scss/_bordered-pulled.scss b/src/fontawesome/scss/_bordered-pulled.scss new file mode 100644 index 0000000..c8c4274 --- /dev/null +++ b/src/fontawesome/scss/_bordered-pulled.scss @@ -0,0 +1,20 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + border: solid .08em $fa-border-color; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix}, +.fas, +.far, +.fal, +.fab { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} diff --git a/src/fontawesome/scss/_core.scss b/src/fontawesome/scss/_core.scss new file mode 100644 index 0000000..7fd37f8 --- /dev/null +++ b/src/fontawesome/scss/_core.scss @@ -0,0 +1,16 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix}, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} diff --git a/src/fontawesome/scss/_fixed-width.scss b/src/fontawesome/scss/_fixed-width.scss new file mode 100644 index 0000000..5b33eb4 --- /dev/null +++ b/src/fontawesome/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + text-align: center; + width: (20em / 16); +} diff --git a/src/fontawesome/scss/_icons.scss b/src/fontawesome/scss/_icons.scss new file mode 100644 index 0000000..37f969c --- /dev/null +++ b/src/fontawesome/scss/_icons.scss @@ -0,0 +1,878 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); } +.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); } +.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); } +.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); } +.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); } +.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); } +.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); } +.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); } +.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); } +.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); } +.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); } +.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); } +.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); } +.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); } +.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); } +.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); } +.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); } +.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); } +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); } +.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); } +.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); } +.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); } +.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); } +.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); } +.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); } +.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); } +.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); } +.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); } +.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); } +.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); } +.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); } +.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); } +.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); } +.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); } +.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); } +.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); } +.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); } +.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); } +.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); } +.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); } +.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); } +.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); } +.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); } +.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); } +.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); } +.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); } +.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); } +.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); } +.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); } +.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); } +.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); } +.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); } +.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); } +.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); } +.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); } +.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); } +.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); } +.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); } +.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); } +.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); } +.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); } +.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); } +.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); } +.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); } +.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); } +.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); } +.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); } +.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); } +.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); } +.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); } +.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); } +.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); } +.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); } +.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); } +.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); } +.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); } +.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); } +.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); } +.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); } +.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); } +.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); } +.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); } +.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); } +.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); } +.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); } +.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); } +.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); } +.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); } +.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); } +.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); } +.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); } +.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); } +.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); } +.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); } +.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); } +.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); } +.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); } +.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); } +.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); } +.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); } +.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); } +.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); } +.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); } +.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); } +.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); } +.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); } +.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); } +.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); } +.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); } +.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); } +.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); } +.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); } +.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); } +.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); } +.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); } +.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); } +.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); } +.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); } +.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); } +.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); } +.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); } +.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); } +.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); } +.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); } +.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); } +.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); } +.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); } +.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); } +.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); } +.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); } +.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); } +.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); } +.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); } +.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); } +.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); } +.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); } +.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); } +.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); } +.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); } +.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); } +.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); } +.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); } +.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); } +.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); } +.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); } +.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); } +.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); } +.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); } +.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); } +.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); } +.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); } +.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); } +.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); } +.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); } +.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); } +.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); } +.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); } +.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); } +.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); } +.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); } +.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); } +.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); } +.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); } +.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); } +.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); } +.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); } +.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); } +.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); } +.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); } +.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); } +.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); } +.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); } +.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); } +.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); } +.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); } +.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); } +.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); } +.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); } +.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); } +.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); } +.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); } +.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); } +.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); } +.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); } +.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); } +.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); } +.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); } +.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); } +.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); } +.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); } +.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); } +.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); } +.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); } +.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); } +.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); } +.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); } +.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); } +.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); } +.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); } +.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); } +.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); } +.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); } +.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); } +.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); } +.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); } +.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); } +.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); } +.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); } +.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); } +.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); } +.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); } +.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); } +.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); } +.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); } +.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); } +.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); } +.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); } +.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); } +.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); } +.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); } +.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); } +.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); } +.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); } +.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); } +.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); } +.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); } +.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); } +.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); } +.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); } +.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); } +.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); } +.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); } +.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); } +.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); } +.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); } +.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); } +.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); } +.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); } +.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); } +.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); } +.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); } +.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); } +.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); } +.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); } +.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); } +.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); } +.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); } +.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); } +.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); } +.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); } +.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); } +.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); } +.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); } +.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); } +.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); } +.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); } +.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); } +.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); } +.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); } +.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); } +.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); } +.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); } +.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); } +.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); } +.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); } +.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); } +.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); } +.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); } +.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); } +.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); } +.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); } +.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); } +.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); } +.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); } +.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); } +.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); } +.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); } +.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); } +.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); } +.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); } +.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); } +.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); } +.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); } +.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); } +.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); } +.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); } +.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); } +.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); } +.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); } +.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); } +.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); } +.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); } +.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); } +.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); } +.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); } +.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); } +.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); } +.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); } +.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); } +.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); } +.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); } +.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); } +.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); } +.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); } +.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); } +.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); } +.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); } +.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); } +.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); } +.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); } +.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); } +.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); } +.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); } +.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); } +.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); } +.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); } +.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); } +.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); } +.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); } +.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); } +.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); } +.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); } +.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); } +.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); } +.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); } +.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); } +.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); } +.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); } +.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); } +.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); } +.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); } +.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); } +.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); } +.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); } +.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); } +.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); } +.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); } +.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); } +.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); } +.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); } +.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); } +.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); } +.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); } +.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); } +.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); } +.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); } +.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); } +.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); } +.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); } +.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); } +.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); } +.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); } +.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); } +.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); } +.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); } +.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); } +.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); } +.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); } +.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); } +.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); } +.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); } +.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); } +.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); } +.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); } +.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); } +.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); } +.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); } +.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); } +.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); } +.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); } +.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); } +.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); } +.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); } +.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); } +.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); } +.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); } +.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); } +.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); } +.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); } +.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); } +.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); } +.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); } +.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); } +.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); } +.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); } +.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); } +.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); } +.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); } +.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); } +.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); } +.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); } +.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); } +.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); } +.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); } +.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); } +.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); } +.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); } +.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); } +.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); } +.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); } +.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); } +.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); } +.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); } +.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); } +.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); } +.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); } +.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); } +.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); } +.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); } +.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); } +.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); } +.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); } +.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); } +.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); } +.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); } +.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); } +.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); } +.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); } +.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); } +.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); } +.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); } +.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); } +.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); } +.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); } +.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); } +.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); } +.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); } +.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); } +.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); } +.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); } +.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); } +.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); } +.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); } +.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); } +.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); } +.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); } +.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); } +.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); } +.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); } +.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); } +.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); } +.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); } +.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); } +.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); } +.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); } +.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); } +.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); } +.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); } +.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); } +.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); } +.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); } +.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); } +.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); } +.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); } +.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); } +.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); } +.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); } +.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); } +.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); } +.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); } +.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); } +.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); } +.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); } +.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); } +.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); } +.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); } +.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); } +.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); } +.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); } +.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); } +.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); } +.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); } +.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); } +.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); } +.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); } +.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); } +.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); } +.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); } +.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); } +.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); } +.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); } +.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); } +.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); } +.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); } +.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); } +.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); } +.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); } +.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); } +.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); } +.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); } +.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); } +.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); } +.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); } +.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); } +.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); } +.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); } +.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); } +.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); } +.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); } +.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); } +.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); } +.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); } +.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); } +.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); } +.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); } +.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); } +.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); } +.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); } +.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); } +.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); } +.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); } +.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); } +.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); } +.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); } +.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); } +.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); } +.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); } +.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); } +.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); } +.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); } +.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); } +.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); } +.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); } +.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); } +.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); } +.#{$fa-css-prefix}-nintendo-switch:before { content: fa-content($fa-var-nintendo-switch); } +.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); } +.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); } +.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); } +.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); } +.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); } +.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); } +.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); } +.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); } +.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); } +.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); } +.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); } +.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); } +.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); } +.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); } +.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); } +.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); } +.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); } +.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); } +.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); } +.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); } +.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); } +.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); } +.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); } +.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); } +.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); } +.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); } +.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); } +.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); } +.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); } +.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); } +.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); } +.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); } +.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); } +.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); } +.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); } +.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); } +.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); } +.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); } +.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); } +.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); } +.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); } +.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); } +.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); } +.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); } +.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); } +.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); } +.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); } +.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); } +.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); } +.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); } +.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); } +.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); } +.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); } +.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); } +.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); } +.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); } +.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); } +.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); } +.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); } +.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); } +.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); } +.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); } +.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); } +.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); } +.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); } +.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); } +.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); } +.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); } +.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); } +.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); } +.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); } +.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); } +.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); } +.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); } +.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); } +.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); } +.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); } +.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); } +.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); } +.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); } +.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); } +.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); } +.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); } +.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); } +.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); } +.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); } +.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); } +.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); } +.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); } +.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); } +.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); } +.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); } +.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); } +.#{$fa-css-prefix}-rendact:before { content: fa-content($fa-var-rendact); } +.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); } +.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); } +.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); } +.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); } +.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); } +.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); } +.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); } +.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); } +.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); } +.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); } +.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); } +.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); } +.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); } +.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); } +.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); } +.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); } +.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); } +.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); } +.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); } +.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); } +.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); } +.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); } +.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); } +.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); } +.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); } +.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); } +.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); } +.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); } +.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); } +.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); } +.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); } +.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); } +.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); } +.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); } +.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); } +.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); } +.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); } +.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); } +.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); } +.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); } +.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); } +.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); } +.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); } +.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); } +.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); } +.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); } +.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); } +.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); } +.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); } +.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); } +.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); } +.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); } +.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); } +.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); } +.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); } +.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); } +.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); } +.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); } +.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); } +.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); } +.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); } +.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); } +.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); } +.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); } +.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); } +.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); } +.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); } +.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); } +.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); } +.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); } +.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); } +.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); } +.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); } +.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); } +.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); } +.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); } +.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); } +.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); } +.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); } +.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); } +.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); } +.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); } +.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); } +.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); } +.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); } +.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); } +.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); } +.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); } +.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); } +.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); } +.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); } +.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); } +.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); } +.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); } +.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); } +.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); } +.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); } +.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); } +.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); } +.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); } +.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); } +.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); } +.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); } +.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); } +.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); } +.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); } +.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); } +.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); } +.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); } +.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); } +.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); } +.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); } +.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); } +.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); } +.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); } +.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); } +.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); } +.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); } +.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); } +.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); } +.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); } +.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); } +.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); } +.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); } +.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); } +.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); } +.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); } +.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); } +.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); } +.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); } +.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); } +.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); } +.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); } +.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); } +.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); } +.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); } +.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); } +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); } +.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); } +.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); } +.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); } +.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); } +.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); } +.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); } +.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); } +.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); } +.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); } +.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); } +.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); } +.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); } +.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); } +.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); } +.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); } +.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); } +.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); } +.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); } +.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); } +.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); } +.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); } +.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); } +.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); } +.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); } +.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); } +.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); } +.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); } +.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); } +.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); } +.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); } +.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); } +.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); } +.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); } +.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); } +.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); } +.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); } +.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); } +.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); } +.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); } +.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); } +.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); } +.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); } +.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); } +.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); } +.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); } +.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); } +.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); } +.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); } +.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); } +.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); } +.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); } +.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); } +.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); } +.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); } +.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); } +.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); } +.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); } +.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); } +.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); } +.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); } +.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); } +.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); } +.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); } +.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); } +.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); } +.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); } +.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); } +.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); } +.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); } +.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); } +.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); } +.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); } +.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); } +.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); } +.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); } +.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); } +.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); } +.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); } +.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); } +.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); } +.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); } +.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); } +.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); } +.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); } +.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); } +.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); } +.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); } +.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); } +.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); } +.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); } +.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); } +.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); } +.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); } +.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); } +.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); } +.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); } +.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); } +.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); } +.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); } +.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); } +.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); } +.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); } +.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); } +.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); } +.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); } +.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); } +.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); } +.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); } +.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); } +.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); } +.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); } +.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); } +.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); } +.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); } diff --git a/src/fontawesome/scss/_larger.scss b/src/fontawesome/scss/_larger.scss new file mode 100644 index 0000000..27c2ad5 --- /dev/null +++ b/src/fontawesome/scss/_larger.scss @@ -0,0 +1,23 @@ +// Icon Sizes +// ------------------------- + +// makes the font 33% larger relative to the icon container +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -.0667em; +} + +.#{$fa-css-prefix}-xs { + font-size: .75em; +} + +.#{$fa-css-prefix}-sm { + font-size: .875em; +} + +@for $i from 1 through 10 { + .#{$fa-css-prefix}-#{$i}x { + font-size: $i * 1em; + } +} diff --git a/src/fontawesome/scss/_list.scss b/src/fontawesome/scss/_list.scss new file mode 100644 index 0000000..8ebf333 --- /dev/null +++ b/src/fontawesome/scss/_list.scss @@ -0,0 +1,18 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + list-style-type: none; + margin-left: $fa-li-width * 5/4; + padding-left: 0; + + > li { position: relative; } +} + +.#{$fa-css-prefix}-li { + left: -$fa-li-width; + position: absolute; + text-align: center; + width: $fa-li-width; + line-height: inherit; +} diff --git a/src/fontawesome/scss/_mixins.scss b/src/fontawesome/scss/_mixins.scss new file mode 100644 index 0000000..50a2e9f --- /dev/null +++ b/src/fontawesome/scss/_mixins.scss @@ -0,0 +1,57 @@ +// Mixins +// -------------------------- + +@mixin fa-icon { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + vertical-align: -.125em; +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; + } +} diff --git a/src/fontawesome/scss/_rotated-flipped.scss b/src/fontawesome/scss/_rotated-flipped.scss new file mode 100644 index 0000000..995bc4c --- /dev/null +++ b/src/fontawesome/scss/_rotated-flipped.scss @@ -0,0 +1,23 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } +.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root { + .#{$fa-css-prefix}-rotate-90, + .#{$fa-css-prefix}-rotate-180, + .#{$fa-css-prefix}-rotate-270, + .#{$fa-css-prefix}-flip-horizontal, + .#{$fa-css-prefix}-flip-vertical { + filter: none; + } +} diff --git a/src/fontawesome/scss/_screen-reader.scss b/src/fontawesome/scss/_screen-reader.scss new file mode 100644 index 0000000..5d0ab26 --- /dev/null +++ b/src/fontawesome/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only; } +.sr-only-focusable { @include sr-only-focusable; } diff --git a/src/fontawesome/scss/_stacked.scss b/src/fontawesome/scss/_stacked.scss new file mode 100644 index 0000000..6c09d84 --- /dev/null +++ b/src/fontawesome/scss/_stacked.scss @@ -0,0 +1,31 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em; +} + +.#{$fa-css-prefix}-stack-1x, +.#{$fa-css-prefix}-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.#{$fa-css-prefix}-stack-1x { + line-height: inherit; +} + +.#{$fa-css-prefix}-stack-2x { + font-size: 2em; +} + +.#{$fa-css-prefix}-inverse { + color: $fa-inverse; +} diff --git a/src/fontawesome/scss/_variables.scss b/src/fontawesome/scss/_variables.scss new file mode 100644 index 0000000..25cc62d --- /dev/null +++ b/src/fontawesome/scss/_variables.scss @@ -0,0 +1,891 @@ +// Variables +// -------------------------- + +$fa-font-path: "../webfonts" !default; +$fa-font-size-base: 16px !default; +$fa-css-prefix: fa !default; +$fa-version: "5.0.10" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: 2em !default; + +// Convenience function used to set content property +@function fa-content($fa-var) { + @return unquote("\"#{ $fa-var }\""); +} + +$fa-var-500px: \f26e; +$fa-var-accessible-icon: \f368; +$fa-var-accusoft: \f369; +$fa-var-address-book: \f2b9; +$fa-var-address-card: \f2bb; +$fa-var-adjust: \f042; +$fa-var-adn: \f170; +$fa-var-adversal: \f36a; +$fa-var-affiliatetheme: \f36b; +$fa-var-algolia: \f36c; +$fa-var-align-center: \f037; +$fa-var-align-justify: \f039; +$fa-var-align-left: \f036; +$fa-var-align-right: \f038; +$fa-var-allergies: \f461; +$fa-var-amazon: \f270; +$fa-var-amazon-pay: \f42c; +$fa-var-ambulance: \f0f9; +$fa-var-american-sign-language-interpreting: \f2a3; +$fa-var-amilia: \f36d; +$fa-var-anchor: \f13d; +$fa-var-android: \f17b; +$fa-var-angellist: \f209; +$fa-var-angle-double-down: \f103; +$fa-var-angle-double-left: \f100; +$fa-var-angle-double-right: \f101; +$fa-var-angle-double-up: \f102; +$fa-var-angle-down: \f107; +$fa-var-angle-left: \f104; +$fa-var-angle-right: \f105; +$fa-var-angle-up: \f106; +$fa-var-angrycreative: \f36e; +$fa-var-angular: \f420; +$fa-var-app-store: \f36f; +$fa-var-app-store-ios: \f370; +$fa-var-apper: \f371; +$fa-var-apple: \f179; +$fa-var-apple-pay: \f415; +$fa-var-archive: \f187; +$fa-var-arrow-alt-circle-down: \f358; +$fa-var-arrow-alt-circle-left: \f359; +$fa-var-arrow-alt-circle-right: \f35a; +$fa-var-arrow-alt-circle-up: \f35b; +$fa-var-arrow-circle-down: \f0ab; +$fa-var-arrow-circle-left: \f0a8; +$fa-var-arrow-circle-right: \f0a9; +$fa-var-arrow-circle-up: \f0aa; +$fa-var-arrow-down: \f063; +$fa-var-arrow-left: \f060; +$fa-var-arrow-right: \f061; +$fa-var-arrow-up: \f062; +$fa-var-arrows-alt: \f0b2; +$fa-var-arrows-alt-h: \f337; +$fa-var-arrows-alt-v: \f338; +$fa-var-assistive-listening-systems: \f2a2; +$fa-var-asterisk: \f069; +$fa-var-asymmetrik: \f372; +$fa-var-at: \f1fa; +$fa-var-audible: \f373; +$fa-var-audio-description: \f29e; +$fa-var-autoprefixer: \f41c; +$fa-var-avianex: \f374; +$fa-var-aviato: \f421; +$fa-var-aws: \f375; +$fa-var-backward: \f04a; +$fa-var-balance-scale: \f24e; +$fa-var-ban: \f05e; +$fa-var-band-aid: \f462; +$fa-var-bandcamp: \f2d5; +$fa-var-barcode: \f02a; +$fa-var-bars: \f0c9; +$fa-var-baseball-ball: \f433; +$fa-var-basketball-ball: \f434; +$fa-var-bath: \f2cd; +$fa-var-battery-empty: \f244; +$fa-var-battery-full: \f240; +$fa-var-battery-half: \f242; +$fa-var-battery-quarter: \f243; +$fa-var-battery-three-quarters: \f241; +$fa-var-bed: \f236; +$fa-var-beer: \f0fc; +$fa-var-behance: \f1b4; +$fa-var-behance-square: \f1b5; +$fa-var-bell: \f0f3; +$fa-var-bell-slash: \f1f6; +$fa-var-bicycle: \f206; +$fa-var-bimobject: \f378; +$fa-var-binoculars: \f1e5; +$fa-var-birthday-cake: \f1fd; +$fa-var-bitbucket: \f171; +$fa-var-bitcoin: \f379; +$fa-var-bity: \f37a; +$fa-var-black-tie: \f27e; +$fa-var-blackberry: \f37b; +$fa-var-blind: \f29d; +$fa-var-blogger: \f37c; +$fa-var-blogger-b: \f37d; +$fa-var-bluetooth: \f293; +$fa-var-bluetooth-b: \f294; +$fa-var-bold: \f032; +$fa-var-bolt: \f0e7; +$fa-var-bomb: \f1e2; +$fa-var-book: \f02d; +$fa-var-bookmark: \f02e; +$fa-var-bowling-ball: \f436; +$fa-var-box: \f466; +$fa-var-box-open: \f49e; +$fa-var-boxes: \f468; +$fa-var-braille: \f2a1; +$fa-var-briefcase: \f0b1; +$fa-var-briefcase-medical: \f469; +$fa-var-btc: \f15a; +$fa-var-bug: \f188; +$fa-var-building: \f1ad; +$fa-var-bullhorn: \f0a1; +$fa-var-bullseye: \f140; +$fa-var-burn: \f46a; +$fa-var-buromobelexperte: \f37f; +$fa-var-bus: \f207; +$fa-var-buysellads: \f20d; +$fa-var-calculator: \f1ec; +$fa-var-calendar: \f133; +$fa-var-calendar-alt: \f073; +$fa-var-calendar-check: \f274; +$fa-var-calendar-minus: \f272; +$fa-var-calendar-plus: \f271; +$fa-var-calendar-times: \f273; +$fa-var-camera: \f030; +$fa-var-camera-retro: \f083; +$fa-var-capsules: \f46b; +$fa-var-car: \f1b9; +$fa-var-caret-down: \f0d7; +$fa-var-caret-left: \f0d9; +$fa-var-caret-right: \f0da; +$fa-var-caret-square-down: \f150; +$fa-var-caret-square-left: \f191; +$fa-var-caret-square-right: \f152; +$fa-var-caret-square-up: \f151; +$fa-var-caret-up: \f0d8; +$fa-var-cart-arrow-down: \f218; +$fa-var-cart-plus: \f217; +$fa-var-cc-amazon-pay: \f42d; +$fa-var-cc-amex: \f1f3; +$fa-var-cc-apple-pay: \f416; +$fa-var-cc-diners-club: \f24c; +$fa-var-cc-discover: \f1f2; +$fa-var-cc-jcb: \f24b; +$fa-var-cc-mastercard: \f1f1; +$fa-var-cc-paypal: \f1f4; +$fa-var-cc-stripe: \f1f5; +$fa-var-cc-visa: \f1f0; +$fa-var-centercode: \f380; +$fa-var-certificate: \f0a3; +$fa-var-chart-area: \f1fe; +$fa-var-chart-bar: \f080; +$fa-var-chart-line: \f201; +$fa-var-chart-pie: \f200; +$fa-var-check: \f00c; +$fa-var-check-circle: \f058; +$fa-var-check-square: \f14a; +$fa-var-chess: \f439; +$fa-var-chess-bishop: \f43a; +$fa-var-chess-board: \f43c; +$fa-var-chess-king: \f43f; +$fa-var-chess-knight: \f441; +$fa-var-chess-pawn: \f443; +$fa-var-chess-queen: \f445; +$fa-var-chess-rook: \f447; +$fa-var-chevron-circle-down: \f13a; +$fa-var-chevron-circle-left: \f137; +$fa-var-chevron-circle-right: \f138; +$fa-var-chevron-circle-up: \f139; +$fa-var-chevron-down: \f078; +$fa-var-chevron-left: \f053; +$fa-var-chevron-right: \f054; +$fa-var-chevron-up: \f077; +$fa-var-child: \f1ae; +$fa-var-chrome: \f268; +$fa-var-circle: \f111; +$fa-var-circle-notch: \f1ce; +$fa-var-clipboard: \f328; +$fa-var-clipboard-check: \f46c; +$fa-var-clipboard-list: \f46d; +$fa-var-clock: \f017; +$fa-var-clone: \f24d; +$fa-var-closed-captioning: \f20a; +$fa-var-cloud: \f0c2; +$fa-var-cloud-download-alt: \f381; +$fa-var-cloud-upload-alt: \f382; +$fa-var-cloudscale: \f383; +$fa-var-cloudsmith: \f384; +$fa-var-cloudversify: \f385; +$fa-var-code: \f121; +$fa-var-code-branch: \f126; +$fa-var-codepen: \f1cb; +$fa-var-codiepie: \f284; +$fa-var-coffee: \f0f4; +$fa-var-cog: \f013; +$fa-var-cogs: \f085; +$fa-var-columns: \f0db; +$fa-var-comment: \f075; +$fa-var-comment-alt: \f27a; +$fa-var-comment-dots: \f4ad; +$fa-var-comment-slash: \f4b3; +$fa-var-comments: \f086; +$fa-var-compass: \f14e; +$fa-var-compress: \f066; +$fa-var-connectdevelop: \f20e; +$fa-var-contao: \f26d; +$fa-var-copy: \f0c5; +$fa-var-copyright: \f1f9; +$fa-var-couch: \f4b8; +$fa-var-cpanel: \f388; +$fa-var-creative-commons: \f25e; +$fa-var-credit-card: \f09d; +$fa-var-crop: \f125; +$fa-var-crosshairs: \f05b; +$fa-var-css3: \f13c; +$fa-var-css3-alt: \f38b; +$fa-var-cube: \f1b2; +$fa-var-cubes: \f1b3; +$fa-var-cut: \f0c4; +$fa-var-cuttlefish: \f38c; +$fa-var-d-and-d: \f38d; +$fa-var-dashcube: \f210; +$fa-var-database: \f1c0; +$fa-var-deaf: \f2a4; +$fa-var-delicious: \f1a5; +$fa-var-deploydog: \f38e; +$fa-var-deskpro: \f38f; +$fa-var-desktop: \f108; +$fa-var-deviantart: \f1bd; +$fa-var-diagnoses: \f470; +$fa-var-digg: \f1a6; +$fa-var-digital-ocean: \f391; +$fa-var-discord: \f392; +$fa-var-discourse: \f393; +$fa-var-dna: \f471; +$fa-var-dochub: \f394; +$fa-var-docker: \f395; +$fa-var-dollar-sign: \f155; +$fa-var-dolly: \f472; +$fa-var-dolly-flatbed: \f474; +$fa-var-donate: \f4b9; +$fa-var-dot-circle: \f192; +$fa-var-dove: \f4ba; +$fa-var-download: \f019; +$fa-var-draft2digital: \f396; +$fa-var-dribbble: \f17d; +$fa-var-dribbble-square: \f397; +$fa-var-dropbox: \f16b; +$fa-var-drupal: \f1a9; +$fa-var-dyalog: \f399; +$fa-var-earlybirds: \f39a; +$fa-var-edge: \f282; +$fa-var-edit: \f044; +$fa-var-eject: \f052; +$fa-var-elementor: \f430; +$fa-var-ellipsis-h: \f141; +$fa-var-ellipsis-v: \f142; +$fa-var-ember: \f423; +$fa-var-empire: \f1d1; +$fa-var-envelope: \f0e0; +$fa-var-envelope-open: \f2b6; +$fa-var-envelope-square: \f199; +$fa-var-envira: \f299; +$fa-var-eraser: \f12d; +$fa-var-erlang: \f39d; +$fa-var-ethereum: \f42e; +$fa-var-etsy: \f2d7; +$fa-var-euro-sign: \f153; +$fa-var-exchange-alt: \f362; +$fa-var-exclamation: \f12a; +$fa-var-exclamation-circle: \f06a; +$fa-var-exclamation-triangle: \f071; +$fa-var-expand: \f065; +$fa-var-expand-arrows-alt: \f31e; +$fa-var-expeditedssl: \f23e; +$fa-var-external-link-alt: \f35d; +$fa-var-external-link-square-alt: \f360; +$fa-var-eye: \f06e; +$fa-var-eye-dropper: \f1fb; +$fa-var-eye-slash: \f070; +$fa-var-facebook: \f09a; +$fa-var-facebook-f: \f39e; +$fa-var-facebook-messenger: \f39f; +$fa-var-facebook-square: \f082; +$fa-var-fast-backward: \f049; +$fa-var-fast-forward: \f050; +$fa-var-fax: \f1ac; +$fa-var-female: \f182; +$fa-var-fighter-jet: \f0fb; +$fa-var-file: \f15b; +$fa-var-file-alt: \f15c; +$fa-var-file-archive: \f1c6; +$fa-var-file-audio: \f1c7; +$fa-var-file-code: \f1c9; +$fa-var-file-excel: \f1c3; +$fa-var-file-image: \f1c5; +$fa-var-file-medical: \f477; +$fa-var-file-medical-alt: \f478; +$fa-var-file-pdf: \f1c1; +$fa-var-file-powerpoint: \f1c4; +$fa-var-file-video: \f1c8; +$fa-var-file-word: \f1c2; +$fa-var-film: \f008; +$fa-var-filter: \f0b0; +$fa-var-fire: \f06d; +$fa-var-fire-extinguisher: \f134; +$fa-var-firefox: \f269; +$fa-var-first-aid: \f479; +$fa-var-first-order: \f2b0; +$fa-var-firstdraft: \f3a1; +$fa-var-flag: \f024; +$fa-var-flag-checkered: \f11e; +$fa-var-flask: \f0c3; +$fa-var-flickr: \f16e; +$fa-var-flipboard: \f44d; +$fa-var-fly: \f417; +$fa-var-folder: \f07b; +$fa-var-folder-open: \f07c; +$fa-var-font: \f031; +$fa-var-font-awesome: \f2b4; +$fa-var-font-awesome-alt: \f35c; +$fa-var-font-awesome-flag: \f425; +$fa-var-fonticons: \f280; +$fa-var-fonticons-fi: \f3a2; +$fa-var-football-ball: \f44e; +$fa-var-fort-awesome: \f286; +$fa-var-fort-awesome-alt: \f3a3; +$fa-var-forumbee: \f211; +$fa-var-forward: \f04e; +$fa-var-foursquare: \f180; +$fa-var-free-code-camp: \f2c5; +$fa-var-freebsd: \f3a4; +$fa-var-frown: \f119; +$fa-var-futbol: \f1e3; +$fa-var-gamepad: \f11b; +$fa-var-gavel: \f0e3; +$fa-var-gem: \f3a5; +$fa-var-genderless: \f22d; +$fa-var-get-pocket: \f265; +$fa-var-gg: \f260; +$fa-var-gg-circle: \f261; +$fa-var-gift: \f06b; +$fa-var-git: \f1d3; +$fa-var-git-square: \f1d2; +$fa-var-github: \f09b; +$fa-var-github-alt: \f113; +$fa-var-github-square: \f092; +$fa-var-gitkraken: \f3a6; +$fa-var-gitlab: \f296; +$fa-var-gitter: \f426; +$fa-var-glass-martini: \f000; +$fa-var-glide: \f2a5; +$fa-var-glide-g: \f2a6; +$fa-var-globe: \f0ac; +$fa-var-gofore: \f3a7; +$fa-var-golf-ball: \f450; +$fa-var-goodreads: \f3a8; +$fa-var-goodreads-g: \f3a9; +$fa-var-google: \f1a0; +$fa-var-google-drive: \f3aa; +$fa-var-google-play: \f3ab; +$fa-var-google-plus: \f2b3; +$fa-var-google-plus-g: \f0d5; +$fa-var-google-plus-square: \f0d4; +$fa-var-google-wallet: \f1ee; +$fa-var-graduation-cap: \f19d; +$fa-var-gratipay: \f184; +$fa-var-grav: \f2d6; +$fa-var-gripfire: \f3ac; +$fa-var-grunt: \f3ad; +$fa-var-gulp: \f3ae; +$fa-var-h-square: \f0fd; +$fa-var-hacker-news: \f1d4; +$fa-var-hacker-news-square: \f3af; +$fa-var-hand-holding: \f4bd; +$fa-var-hand-holding-heart: \f4be; +$fa-var-hand-holding-usd: \f4c0; +$fa-var-hand-lizard: \f258; +$fa-var-hand-paper: \f256; +$fa-var-hand-peace: \f25b; +$fa-var-hand-point-down: \f0a7; +$fa-var-hand-point-left: \f0a5; +$fa-var-hand-point-right: \f0a4; +$fa-var-hand-point-up: \f0a6; +$fa-var-hand-pointer: \f25a; +$fa-var-hand-rock: \f255; +$fa-var-hand-scissors: \f257; +$fa-var-hand-spock: \f259; +$fa-var-hands: \f4c2; +$fa-var-hands-helping: \f4c4; +$fa-var-handshake: \f2b5; +$fa-var-hashtag: \f292; +$fa-var-hdd: \f0a0; +$fa-var-heading: \f1dc; +$fa-var-headphones: \f025; +$fa-var-heart: \f004; +$fa-var-heartbeat: \f21e; +$fa-var-hips: \f452; +$fa-var-hire-a-helper: \f3b0; +$fa-var-history: \f1da; +$fa-var-hockey-puck: \f453; +$fa-var-home: \f015; +$fa-var-hooli: \f427; +$fa-var-hospital: \f0f8; +$fa-var-hospital-alt: \f47d; +$fa-var-hospital-symbol: \f47e; +$fa-var-hotjar: \f3b1; +$fa-var-hourglass: \f254; +$fa-var-hourglass-end: \f253; +$fa-var-hourglass-half: \f252; +$fa-var-hourglass-start: \f251; +$fa-var-houzz: \f27c; +$fa-var-html5: \f13b; +$fa-var-hubspot: \f3b2; +$fa-var-i-cursor: \f246; +$fa-var-id-badge: \f2c1; +$fa-var-id-card: \f2c2; +$fa-var-id-card-alt: \f47f; +$fa-var-image: \f03e; +$fa-var-images: \f302; +$fa-var-imdb: \f2d8; +$fa-var-inbox: \f01c; +$fa-var-indent: \f03c; +$fa-var-industry: \f275; +$fa-var-info: \f129; +$fa-var-info-circle: \f05a; +$fa-var-instagram: \f16d; +$fa-var-internet-explorer: \f26b; +$fa-var-ioxhost: \f208; +$fa-var-italic: \f033; +$fa-var-itunes: \f3b4; +$fa-var-itunes-note: \f3b5; +$fa-var-java: \f4e4; +$fa-var-jenkins: \f3b6; +$fa-var-joget: \f3b7; +$fa-var-joomla: \f1aa; +$fa-var-js: \f3b8; +$fa-var-js-square: \f3b9; +$fa-var-jsfiddle: \f1cc; +$fa-var-key: \f084; +$fa-var-keyboard: \f11c; +$fa-var-keycdn: \f3ba; +$fa-var-kickstarter: \f3bb; +$fa-var-kickstarter-k: \f3bc; +$fa-var-korvue: \f42f; +$fa-var-language: \f1ab; +$fa-var-laptop: \f109; +$fa-var-laravel: \f3bd; +$fa-var-lastfm: \f202; +$fa-var-lastfm-square: \f203; +$fa-var-leaf: \f06c; +$fa-var-leanpub: \f212; +$fa-var-lemon: \f094; +$fa-var-less: \f41d; +$fa-var-level-down-alt: \f3be; +$fa-var-level-up-alt: \f3bf; +$fa-var-life-ring: \f1cd; +$fa-var-lightbulb: \f0eb; +$fa-var-line: \f3c0; +$fa-var-link: \f0c1; +$fa-var-linkedin: \f08c; +$fa-var-linkedin-in: \f0e1; +$fa-var-linode: \f2b8; +$fa-var-linux: \f17c; +$fa-var-lira-sign: \f195; +$fa-var-list: \f03a; +$fa-var-list-alt: \f022; +$fa-var-list-ol: \f0cb; +$fa-var-list-ul: \f0ca; +$fa-var-location-arrow: \f124; +$fa-var-lock: \f023; +$fa-var-lock-open: \f3c1; +$fa-var-long-arrow-alt-down: \f309; +$fa-var-long-arrow-alt-left: \f30a; +$fa-var-long-arrow-alt-right: \f30b; +$fa-var-long-arrow-alt-up: \f30c; +$fa-var-low-vision: \f2a8; +$fa-var-lyft: \f3c3; +$fa-var-magento: \f3c4; +$fa-var-magic: \f0d0; +$fa-var-magnet: \f076; +$fa-var-male: \f183; +$fa-var-map: \f279; +$fa-var-map-marker: \f041; +$fa-var-map-marker-alt: \f3c5; +$fa-var-map-pin: \f276; +$fa-var-map-signs: \f277; +$fa-var-mars: \f222; +$fa-var-mars-double: \f227; +$fa-var-mars-stroke: \f229; +$fa-var-mars-stroke-h: \f22b; +$fa-var-mars-stroke-v: \f22a; +$fa-var-maxcdn: \f136; +$fa-var-medapps: \f3c6; +$fa-var-medium: \f23a; +$fa-var-medium-m: \f3c7; +$fa-var-medkit: \f0fa; +$fa-var-medrt: \f3c8; +$fa-var-meetup: \f2e0; +$fa-var-meh: \f11a; +$fa-var-mercury: \f223; +$fa-var-microchip: \f2db; +$fa-var-microphone: \f130; +$fa-var-microphone-slash: \f131; +$fa-var-microsoft: \f3ca; +$fa-var-minus: \f068; +$fa-var-minus-circle: \f056; +$fa-var-minus-square: \f146; +$fa-var-mix: \f3cb; +$fa-var-mixcloud: \f289; +$fa-var-mizuni: \f3cc; +$fa-var-mobile: \f10b; +$fa-var-mobile-alt: \f3cd; +$fa-var-modx: \f285; +$fa-var-monero: \f3d0; +$fa-var-money-bill-alt: \f3d1; +$fa-var-moon: \f186; +$fa-var-motorcycle: \f21c; +$fa-var-mouse-pointer: \f245; +$fa-var-music: \f001; +$fa-var-napster: \f3d2; +$fa-var-neuter: \f22c; +$fa-var-newspaper: \f1ea; +$fa-var-nintendo-switch: \f418; +$fa-var-node: \f419; +$fa-var-node-js: \f3d3; +$fa-var-notes-medical: \f481; +$fa-var-npm: \f3d4; +$fa-var-ns8: \f3d5; +$fa-var-nutritionix: \f3d6; +$fa-var-object-group: \f247; +$fa-var-object-ungroup: \f248; +$fa-var-odnoklassniki: \f263; +$fa-var-odnoklassniki-square: \f264; +$fa-var-opencart: \f23d; +$fa-var-openid: \f19b; +$fa-var-opera: \f26a; +$fa-var-optin-monster: \f23c; +$fa-var-osi: \f41a; +$fa-var-outdent: \f03b; +$fa-var-page4: \f3d7; +$fa-var-pagelines: \f18c; +$fa-var-paint-brush: \f1fc; +$fa-var-palfed: \f3d8; +$fa-var-pallet: \f482; +$fa-var-paper-plane: \f1d8; +$fa-var-paperclip: \f0c6; +$fa-var-parachute-box: \f4cd; +$fa-var-paragraph: \f1dd; +$fa-var-paste: \f0ea; +$fa-var-patreon: \f3d9; +$fa-var-pause: \f04c; +$fa-var-pause-circle: \f28b; +$fa-var-paw: \f1b0; +$fa-var-paypal: \f1ed; +$fa-var-pen-square: \f14b; +$fa-var-pencil-alt: \f303; +$fa-var-people-carry: \f4ce; +$fa-var-percent: \f295; +$fa-var-periscope: \f3da; +$fa-var-phabricator: \f3db; +$fa-var-phoenix-framework: \f3dc; +$fa-var-phone: \f095; +$fa-var-phone-slash: \f3dd; +$fa-var-phone-square: \f098; +$fa-var-phone-volume: \f2a0; +$fa-var-php: \f457; +$fa-var-pied-piper: \f2ae; +$fa-var-pied-piper-alt: \f1a8; +$fa-var-pied-piper-hat: \f4e5; +$fa-var-pied-piper-pp: \f1a7; +$fa-var-piggy-bank: \f4d3; +$fa-var-pills: \f484; +$fa-var-pinterest: \f0d2; +$fa-var-pinterest-p: \f231; +$fa-var-pinterest-square: \f0d3; +$fa-var-plane: \f072; +$fa-var-play: \f04b; +$fa-var-play-circle: \f144; +$fa-var-playstation: \f3df; +$fa-var-plug: \f1e6; +$fa-var-plus: \f067; +$fa-var-plus-circle: \f055; +$fa-var-plus-square: \f0fe; +$fa-var-podcast: \f2ce; +$fa-var-poo: \f2fe; +$fa-var-pound-sign: \f154; +$fa-var-power-off: \f011; +$fa-var-prescription-bottle: \f485; +$fa-var-prescription-bottle-alt: \f486; +$fa-var-print: \f02f; +$fa-var-procedures: \f487; +$fa-var-product-hunt: \f288; +$fa-var-pushed: \f3e1; +$fa-var-puzzle-piece: \f12e; +$fa-var-python: \f3e2; +$fa-var-qq: \f1d6; +$fa-var-qrcode: \f029; +$fa-var-question: \f128; +$fa-var-question-circle: \f059; +$fa-var-quidditch: \f458; +$fa-var-quinscape: \f459; +$fa-var-quora: \f2c4; +$fa-var-quote-left: \f10d; +$fa-var-quote-right: \f10e; +$fa-var-random: \f074; +$fa-var-ravelry: \f2d9; +$fa-var-react: \f41b; +$fa-var-readme: \f4d5; +$fa-var-rebel: \f1d0; +$fa-var-recycle: \f1b8; +$fa-var-red-river: \f3e3; +$fa-var-reddit: \f1a1; +$fa-var-reddit-alien: \f281; +$fa-var-reddit-square: \f1a2; +$fa-var-redo: \f01e; +$fa-var-redo-alt: \f2f9; +$fa-var-registered: \f25d; +$fa-var-rendact: \f3e4; +$fa-var-renren: \f18b; +$fa-var-reply: \f3e5; +$fa-var-reply-all: \f122; +$fa-var-replyd: \f3e6; +$fa-var-resolving: \f3e7; +$fa-var-retweet: \f079; +$fa-var-ribbon: \f4d6; +$fa-var-road: \f018; +$fa-var-rocket: \f135; +$fa-var-rocketchat: \f3e8; +$fa-var-rockrms: \f3e9; +$fa-var-rss: \f09e; +$fa-var-rss-square: \f143; +$fa-var-ruble-sign: \f158; +$fa-var-rupee-sign: \f156; +$fa-var-safari: \f267; +$fa-var-sass: \f41e; +$fa-var-save: \f0c7; +$fa-var-schlix: \f3ea; +$fa-var-scribd: \f28a; +$fa-var-search: \f002; +$fa-var-search-minus: \f010; +$fa-var-search-plus: \f00e; +$fa-var-searchengin: \f3eb; +$fa-var-seedling: \f4d8; +$fa-var-sellcast: \f2da; +$fa-var-sellsy: \f213; +$fa-var-server: \f233; +$fa-var-servicestack: \f3ec; +$fa-var-share: \f064; +$fa-var-share-alt: \f1e0; +$fa-var-share-alt-square: \f1e1; +$fa-var-share-square: \f14d; +$fa-var-shekel-sign: \f20b; +$fa-var-shield-alt: \f3ed; +$fa-var-ship: \f21a; +$fa-var-shipping-fast: \f48b; +$fa-var-shirtsinbulk: \f214; +$fa-var-shopping-bag: \f290; +$fa-var-shopping-basket: \f291; +$fa-var-shopping-cart: \f07a; +$fa-var-shower: \f2cc; +$fa-var-sign: \f4d9; +$fa-var-sign-in-alt: \f2f6; +$fa-var-sign-language: \f2a7; +$fa-var-sign-out-alt: \f2f5; +$fa-var-signal: \f012; +$fa-var-simplybuilt: \f215; +$fa-var-sistrix: \f3ee; +$fa-var-sitemap: \f0e8; +$fa-var-skyatlas: \f216; +$fa-var-skype: \f17e; +$fa-var-slack: \f198; +$fa-var-slack-hash: \f3ef; +$fa-var-sliders-h: \f1de; +$fa-var-slideshare: \f1e7; +$fa-var-smile: \f118; +$fa-var-smoking: \f48d; +$fa-var-snapchat: \f2ab; +$fa-var-snapchat-ghost: \f2ac; +$fa-var-snapchat-square: \f2ad; +$fa-var-snowflake: \f2dc; +$fa-var-sort: \f0dc; +$fa-var-sort-alpha-down: \f15d; +$fa-var-sort-alpha-up: \f15e; +$fa-var-sort-amount-down: \f160; +$fa-var-sort-amount-up: \f161; +$fa-var-sort-down: \f0dd; +$fa-var-sort-numeric-down: \f162; +$fa-var-sort-numeric-up: \f163; +$fa-var-sort-up: \f0de; +$fa-var-soundcloud: \f1be; +$fa-var-space-shuttle: \f197; +$fa-var-speakap: \f3f3; +$fa-var-spinner: \f110; +$fa-var-spotify: \f1bc; +$fa-var-square: \f0c8; +$fa-var-square-full: \f45c; +$fa-var-stack-exchange: \f18d; +$fa-var-stack-overflow: \f16c; +$fa-var-star: \f005; +$fa-var-star-half: \f089; +$fa-var-staylinked: \f3f5; +$fa-var-steam: \f1b6; +$fa-var-steam-square: \f1b7; +$fa-var-steam-symbol: \f3f6; +$fa-var-step-backward: \f048; +$fa-var-step-forward: \f051; +$fa-var-stethoscope: \f0f1; +$fa-var-sticker-mule: \f3f7; +$fa-var-sticky-note: \f249; +$fa-var-stop: \f04d; +$fa-var-stop-circle: \f28d; +$fa-var-stopwatch: \f2f2; +$fa-var-strava: \f428; +$fa-var-street-view: \f21d; +$fa-var-strikethrough: \f0cc; +$fa-var-stripe: \f429; +$fa-var-stripe-s: \f42a; +$fa-var-studiovinari: \f3f8; +$fa-var-stumbleupon: \f1a4; +$fa-var-stumbleupon-circle: \f1a3; +$fa-var-subscript: \f12c; +$fa-var-subway: \f239; +$fa-var-suitcase: \f0f2; +$fa-var-sun: \f185; +$fa-var-superpowers: \f2dd; +$fa-var-superscript: \f12b; +$fa-var-supple: \f3f9; +$fa-var-sync: \f021; +$fa-var-sync-alt: \f2f1; +$fa-var-syringe: \f48e; +$fa-var-table: \f0ce; +$fa-var-table-tennis: \f45d; +$fa-var-tablet: \f10a; +$fa-var-tablet-alt: \f3fa; +$fa-var-tablets: \f490; +$fa-var-tachometer-alt: \f3fd; +$fa-var-tag: \f02b; +$fa-var-tags: \f02c; +$fa-var-tape: \f4db; +$fa-var-tasks: \f0ae; +$fa-var-taxi: \f1ba; +$fa-var-telegram: \f2c6; +$fa-var-telegram-plane: \f3fe; +$fa-var-tencent-weibo: \f1d5; +$fa-var-terminal: \f120; +$fa-var-text-height: \f034; +$fa-var-text-width: \f035; +$fa-var-th: \f00a; +$fa-var-th-large: \f009; +$fa-var-th-list: \f00b; +$fa-var-themeisle: \f2b2; +$fa-var-thermometer: \f491; +$fa-var-thermometer-empty: \f2cb; +$fa-var-thermometer-full: \f2c7; +$fa-var-thermometer-half: \f2c9; +$fa-var-thermometer-quarter: \f2ca; +$fa-var-thermometer-three-quarters: \f2c8; +$fa-var-thumbs-down: \f165; +$fa-var-thumbs-up: \f164; +$fa-var-thumbtack: \f08d; +$fa-var-ticket-alt: \f3ff; +$fa-var-times: \f00d; +$fa-var-times-circle: \f057; +$fa-var-tint: \f043; +$fa-var-toggle-off: \f204; +$fa-var-toggle-on: \f205; +$fa-var-trademark: \f25c; +$fa-var-train: \f238; +$fa-var-transgender: \f224; +$fa-var-transgender-alt: \f225; +$fa-var-trash: \f1f8; +$fa-var-trash-alt: \f2ed; +$fa-var-tree: \f1bb; +$fa-var-trello: \f181; +$fa-var-tripadvisor: \f262; +$fa-var-trophy: \f091; +$fa-var-truck: \f0d1; +$fa-var-truck-loading: \f4de; +$fa-var-truck-moving: \f4df; +$fa-var-tty: \f1e4; +$fa-var-tumblr: \f173; +$fa-var-tumblr-square: \f174; +$fa-var-tv: \f26c; +$fa-var-twitch: \f1e8; +$fa-var-twitter: \f099; +$fa-var-twitter-square: \f081; +$fa-var-typo3: \f42b; +$fa-var-uber: \f402; +$fa-var-uikit: \f403; +$fa-var-umbrella: \f0e9; +$fa-var-underline: \f0cd; +$fa-var-undo: \f0e2; +$fa-var-undo-alt: \f2ea; +$fa-var-uniregistry: \f404; +$fa-var-universal-access: \f29a; +$fa-var-university: \f19c; +$fa-var-unlink: \f127; +$fa-var-unlock: \f09c; +$fa-var-unlock-alt: \f13e; +$fa-var-untappd: \f405; +$fa-var-upload: \f093; +$fa-var-usb: \f287; +$fa-var-user: \f007; +$fa-var-user-circle: \f2bd; +$fa-var-user-md: \f0f0; +$fa-var-user-plus: \f234; +$fa-var-user-secret: \f21b; +$fa-var-user-times: \f235; +$fa-var-users: \f0c0; +$fa-var-ussunnah: \f407; +$fa-var-utensil-spoon: \f2e5; +$fa-var-utensils: \f2e7; +$fa-var-vaadin: \f408; +$fa-var-venus: \f221; +$fa-var-venus-double: \f226; +$fa-var-venus-mars: \f228; +$fa-var-viacoin: \f237; +$fa-var-viadeo: \f2a9; +$fa-var-viadeo-square: \f2aa; +$fa-var-vial: \f492; +$fa-var-vials: \f493; +$fa-var-viber: \f409; +$fa-var-video: \f03d; +$fa-var-video-slash: \f4e2; +$fa-var-vimeo: \f40a; +$fa-var-vimeo-square: \f194; +$fa-var-vimeo-v: \f27d; +$fa-var-vine: \f1ca; +$fa-var-vk: \f189; +$fa-var-vnv: \f40b; +$fa-var-volleyball-ball: \f45f; +$fa-var-volume-down: \f027; +$fa-var-volume-off: \f026; +$fa-var-volume-up: \f028; +$fa-var-vuejs: \f41f; +$fa-var-warehouse: \f494; +$fa-var-weibo: \f18a; +$fa-var-weight: \f496; +$fa-var-weixin: \f1d7; +$fa-var-whatsapp: \f232; +$fa-var-whatsapp-square: \f40c; +$fa-var-wheelchair: \f193; +$fa-var-whmcs: \f40d; +$fa-var-wifi: \f1eb; +$fa-var-wikipedia-w: \f266; +$fa-var-window-close: \f410; +$fa-var-window-maximize: \f2d0; +$fa-var-window-minimize: \f2d1; +$fa-var-window-restore: \f2d2; +$fa-var-windows: \f17a; +$fa-var-wine-glass: \f4e3; +$fa-var-won-sign: \f159; +$fa-var-wordpress: \f19a; +$fa-var-wordpress-simple: \f411; +$fa-var-wpbeginner: \f297; +$fa-var-wpexplorer: \f2de; +$fa-var-wpforms: \f298; +$fa-var-wrench: \f0ad; +$fa-var-x-ray: \f497; +$fa-var-xbox: \f412; +$fa-var-xing: \f168; +$fa-var-xing-square: \f169; +$fa-var-y-combinator: \f23b; +$fa-var-yahoo: \f19e; +$fa-var-yandex: \f413; +$fa-var-yandex-international: \f414; +$fa-var-yelp: \f1e9; +$fa-var-yen-sign: \f157; +$fa-var-yoast: \f2b1; +$fa-var-youtube: \f167; +$fa-var-youtube-square: \f431; diff --git a/src/fontawesome/scss/fa-brands.scss b/src/fontawesome/scss/fa-brands.scss new file mode 100644 index 0000000..3f4c54d --- /dev/null +++ b/src/fontawesome/scss/fa-brands.scss @@ -0,0 +1,21 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: url('#{$fa-font-path}/fa-brands-400.eot'); + src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-brands-400.woff') format('woff'), + url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'), + url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg'); +} + +.fab { + font-family: 'Font Awesome 5 Brands'; +} diff --git a/src/fontawesome/scss/fa-regular.scss b/src/fontawesome/scss/fa-regular.scss new file mode 100644 index 0000000..2faa99d --- /dev/null +++ b/src/fontawesome/scss/fa-regular.scss @@ -0,0 +1,22 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + src: url('#{$fa-font-path}/fa-regular-400.eot'); + src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-regular-400.woff') format('woff'), + url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'), + url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg'); +} + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} diff --git a/src/fontawesome/scss/fa-solid.scss b/src/fontawesome/scss/fa-solid.scss new file mode 100644 index 0000000..cb10c11 --- /dev/null +++ b/src/fontawesome/scss/fa-solid.scss @@ -0,0 +1,23 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + src: url('#{$fa-font-path}/fa-solid-900.eot'); + src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'), + url('#{$fa-font-path}/fa-solid-900.woff') format('woff'), + url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'), + url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg'); +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; +} diff --git a/src/fontawesome/scss/fontawesome.scss b/src/fontawesome/scss/fontawesome.scss new file mode 100644 index 0000000..0a3f8ac --- /dev/null +++ b/src/fontawesome/scss/fontawesome.scss @@ -0,0 +1,16 @@ +/*! + * Font Awesome Free 5.0.10 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; +@import 'mixins'; +@import 'core'; +@import 'larger'; +@import 'fixed-width'; +@import 'list'; +@import 'bordered-pulled'; +@import 'animated'; +@import 'rotated-flipped'; +@import 'stacked'; +@import 'icons'; +@import 'screen-reader'; diff --git a/src/fontawesome/webfonts/fa-brands-400.eot b/src/fontawesome/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..9d49a59a67978299f3b162e805bdeaf7f9c8a627 GIT binary patch literal 99704 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 literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-brands-400.svg b/src/fontawesome/webfonts/fa-brands-400.svg new file mode 100644 index 0000000..bf573a1 --- /dev/null +++ b/src/fontawesome/webfonts/fa-brands-400.svg @@ -0,0 +1,1017 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fontawesome/webfonts/fa-brands-400.ttf b/src/fontawesome/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..374f8ee9146f6d40e34e273cb62f5bc25578cbec GIT binary patch literal 99468 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

    o!VWy?S505) zep27w*gSdo(f`!!{M3R3)GOe*(E>G`CK8Xs_iY!$a)HPN&;ahA?=7t>bz)^rZ*(5t zPN`}!2Zse*5;)G+I!pc2s~fV{tye$!c(=FxzR=ZTrb>87L4-1kt&dc<6t|7?N;sEogwDNl_ZB^?Sb6i@y>27Q&PRSaYIGMn zdSxxho%mmtAKWv4uNyV|x#EF}(Fx1l#)EVBI`{(SBA*g1-EzpzhJm`b+^vVm!Z|-` zxa>7puNdt+$J@@wt9*&sHncLu+==&>R{~bqKVVqxmgDw;y>+7@>vEh5Ey~(he#EivgdbdVclt`G6jg%oO;F|TpE&ue(*H~$Y$T*3(dhbOFKuRX6FQBO{^ zX#F>gH7s-$QIG~`Hs~G+L1^N!mcW7xO<)Y&0XITSHC}0S6!JvTi19_Cy3i}-J|$Rn zpjOE+mimPN+xOPvHpP)3+$Eg`lbt=068XHObfogvy?kM+oL)T5EK`reLzD5st>3&g z*eopKeaZC*rWim?~KNy5*YC}ux$~JPdOQqjI3Rb*jQexw2BRH^(5RH$WAb_csuRQ)# zmv^N$8^;1_m=6|<=(|%WK3U@x6+nmGcZ$Z*)w`{jPYQEqW6 zhaTZMy~&aU?9oanK{rQVvCxBm6_N2_D(TE&VctfZ=e3e2eOM@2qfz3$ShpeuKw{_j z1T}?37)t|SSBWOdQjiYvK&H@)qXFs^B9{UR${|)XvLqL;!|U46e2uz)+fs)m zwuXCd!_m%Wd24!c5H24&HdF(vUM^OHhC0{KDp4uxrVC};(dV0ONI!PJ?CJ~fZbQ}? zqQ+4ZzLF)`sZdhqf?AE#&%?`S_I5O_)jnp~gUyDsaPstKBV}D{T14QZnw!MO?M7r`v&FUG)vqWHsc)VOUo(y=jpu+Y_jn@J=2ns-E!_Sb*3?B& z7heDZZA-N9{ew%G;}RkEm3T4?gF>|FbYd!?Oi4Y$o;TOp9N9ud0qk9Uvuo`>t>!LcYJWnh z2X*y5hML!mkD|{V{sdO+smb1kZd{I~u&n(@eQF87U{-T(lPoBr>&49P9W0t=?OX<$ ztCZg9>8AOLShp@G7LBfe{jB{@^B}rDf#=kND@d;e+dhLw1+dDN#GNIkIQEBUC(eFj zi|dF!BS#6xsI?gN>_ZXucrRjw!?~=~)$XqFKz++h9 zr018Qn1HU1`~ojm7);MjwE`+?yToR4mA+?%4ppjh^@FLNR`npsvRY`FPha9Y|14zv zxr&p|`MFl5iGGu6Qe-GKchi!K+T6)RZYF>pi=;Zx_daDjDcT7L(Mo4(pq6FK(GW^q zEg1XJKtxp{(Z-msi?2=^L#o6e{zhC~(j>{nGo_;iBuzC|7WZ>t{wN@ZRV+69QE-SV zq7tfV3{Jj2m#JhsZs14Lk#@*>$$Yiln#^_GLZdldMkC6*`D$~xbNuLbodVX^4k6yM zSEh&MDC1RfGnJ)Mr9U0rE#R5$hrp> z=MT1;l}>YRX=`TsZzenNHBC=%uTdvl%`{GQc4lUFI#3C87T0C@`eJ7`?sN| zZLUBU_z|jS{sQB7RTR!7>;m_V1e;JeQ4A6sexi)hPuDtJEmJ;I3|9bcD!qB{&LxU# zqP3$VLGckzK)M4IOB^K$YQc6#X`&?0xHJ0y+$k;^QHq)N=pmHUW-s_Q zhAW}=GCkl3RJ0Pn40P8FmO#(=e&#`}8pDEhA*_zt(?&LBPlch|@td99hxOD|dut_I z!+$GV6Rh-S#Z&xMEd@hdf#P_TQD;UUZ|b$P&Cahh=G9!cQOOqaUGq+@yRCtH{i@UU z%EgkMSuMa0uIKZsFi@9^Wv?ChH9yAY2Il2uYQ<{QAo&OBlF2n4uO4;gP3z}auT$`A znIPGTlPLj#$>Vs-7ls-8`_~QXny>@I`WJU_{lZmqg__e*PP#pNG@ENC^_j;0>@sYL z>)?N1ioP+?OIR~0GJ65%A;EOK(*mswMf1Z;4Mz)^EyAp`w}4K_m+_B6A|xyAzrQ%7 zx5v24&1Q;YCZM0=ip%M^Q`-Xc=Dmfp@;W##6yF<73{{O9R_|NTb)L;;^8e^kXZMdg zi%T6cLO7rt+guy845CAj^}Qj2p$1F$?(HfCxlfA^%Lp?;~V|}0>eUH zL(h-Gd+)eoA!@beS}pb19j3dJac)1WoT$_~QYp67?6mwc*V_H*@14w5ONH(`SwyY6 z>Gp}F_O{Fw?*)HSq=o?;>@S|7p(i2-fBzIx+>`xNkQ9{tQy{Q>KB-bAue)D5daRR+ zqE;L$=V;1WaIB*{%E}hvg}_%&Unq-}33ksv`|RJx&6wxk-;be_&y*j0w(i?*Jtofs zB%a`?|8MXyM`5A85@~)NJOj5*yd1st+yu%_Z;82#+Z$p!kdwDcF-X#r@pm%kBMg}T zc|$BD8h}PLWDRg06Z+an-c~@BkEtrGfi)1*IQiEGqgbk#iVmZ8#ooThRyp&q~14VxRq=NhzQvR-1MhAFO zQ*#5Qy;Uy*pw#Zw@D?iVj5?t>%0fxg)|3W}NX=>1j(*41-GB9_(YIdp#^tx(cH6<1 zY#iS@u3xrwa!m_0e9|c`KEAYcd~w=GC$2W8s{JE$Io##6`Onkl4l(3clcoQI6Ca%T zylSbV3V%zmO4KRwI(J4((aI`FNMbKRVh&gXajpWP=!->=%({FZ;MGM=i!X+owFfa5 z18v`JLywZtDScVO$YW&1}0gMKLSM58Pc7P0hu3Z!P0I7n3WBFt2;m^ZxwFmdYoQi8IMr`WN?0Ysn#W*h)e z5b(@`sm6&*#f#!pm%JXxOF><>{T!TrAhh+IdR8FF=uT*pHpoRIjafSfPDlZ$!&vn4 zgpx&ML3e6__oh-Ioh1o1R5kN28r$kloBwA!)r?L&d5|?r8rab=#Kn61RA>6TF_0Y{Y})Nuw6ZIZM>@@e4J~z^oA2r+oZpcyh&aN_eVNUl`_~?o0VpSI&h|p%rvf#lQ^} z3B)}vGLO5GB+}y)x5!d3leVNeV%SpLhQM1R!3Am*_AA#YV*?#6@dGVYCg`cz88@~2 zzb0{?LLQ6H-pKg6Zv_%0!2r+A23{Jp-BPLr1RZxGwLWuhjclYi6B@DPB5{v6 zd1zrBBcT}Jj?kZU!9|H3fgzzDhZ$l)bZDj<0SVHh8Bc3HG9eSt05g#cIJ{(QObqJ` zUJMEpGbVT;@__k!JkSmkV`Eb=YmuzoJp+k`heLxZm48~Qq!09FHXC8a8w_9$qg2rD zmpt#Z?Ur+3!7PF^6!)>Gu9!KkUiF_MYKG!(&pEApCpz6-*qr^4QQ(Vpnso9^?)2>D z>Fg^XwM^4`^vNh&q_+}W#2)1i7$-e{ed_1NmnJgq6U35j!B0V^0jEU(Eo}fdEe_pL zevnt6*!hw7sGUD(wOWVoyz{Wyd46K@`P*-Qexj!)&hOqH6cpblMx*47osMk|Lw&RC zvDZZ?&7vj*UH-vNG{6b{*4?XmF1NgS_o3@I@7|nOk2Qu}&rJP&F4+AGTpax0Rhk`9 zNhtB-KBJCsezVNUhbPWs#fS_+4WL0qk_^|A=?!nc#1?5;X52AA!(NtVgC%gZD3a*MpYp0ExC%B8fQ6cF>%l%bXAg_M<*J*4xI<#i4n zKh*Ik#3ATTBviKWdCl@DmSMwqG{gcvDakJgI5JM?7@>0nNmc~#Y5bNH1Kg39w`*nt zr@I;yTb-H9W_Xf)Iw<9xCbcA7CtXPUPOeHYyw=`m^Q_eh-74hg={!|%=={ljB*t)F z_`L&E3H%bHpHW!9=>A; zeawn&t*8I`uhTul+Wi~L0M-KvIQ5m?zf{GKc=mQWy={9J+3dRTdkKP@MrSnb9brpZ z-NA+9iE5IZm3rn>N!LrSDQU;-tI0{f6^1~Ss@;72(Dh^1%LilK_(=+hq*A0ae#Zws z@M@;#RH|=UZ#9ih>YeZ0>ubNNP2v+QBs%)b>1%jUDP%ED%4AyhwG_cw@Q-+lBy=)> zUYuM4MNokm6BjK)K{B5NS|S~f6F2wXMRiZa0`CGn!Oj{(P`c+<&aT%Q$E6C}@kVX^ z?24N1pS`}3&NN^0@|$MuhMy0Nx!vaxd{pmzBc^;RwOo&WNllD)Iz z2~TRQ0$dr_(X5bfD|KeK!G>LfcJxaVzd?J^9zoQUUIe9T0kgqelb>5mundoL{6 z|3I6LS0)-W{)iKMyaW#{9t&x6?icMXfF*PtshG9SKBan>EX4Lr{I8h%Pm00?Oqe_%*}`We@Pej*DU?IFlE%T2R4U(g#T zFyxy(z2sZninnpB+CJQu$@eD0>P2RClfW@bNQ3g#xU?OTXEj%fZUe%q=~k(jCQ^*4 zOjTqpM{NhcXnI|ZxU`lpYPt_DGEY7VMcV@Gyr2VQ9Lb@jPU#-JkNm6OARI>mtZn{U z3OXy7|DQD|k8Sh6Mu?V+@w6WtUx#ar$i3xCHS3I#%V;od=6&9i@R%9_#4=bsa z!z7#cjMlUky3wd>cBgM)*5{EXS#;Sc*fn$kT>g?+g%ZGIo$-P@-C_+inQ>r9hK%8+ zrW$0gnQr-{)DUx1-Kli8E_>09Yf{CmT#GTD55_*d7x-V8k-Lbcu2id)_b-0&zwSTP z(_j4J7YqE0EPMWI*mvh8|D??1EMrgN9x_p1{8?sY=v(z_rzHOEYNyOMb$<89ig8^0 z@8o)wiXRN)ID9M!$=5E0F|WUwoELh+dG!Y7yfxwp*E91iX!u)*yd)X#?ZjJS;e*D6 zmGBE)Q(PtE>4onj`9!fCi7h5vW*|e7u6of|^%KUzm9y)&4)E;a=w;;kG=iT-l)cg`O3AR-=*j;&kt_s#zi+iQ-tYs(&(ba_aEVJUrW2 zZ5|kOhTk!LXgaj5*pAZeX?7ts+>LU^tWqIv_1FPBa_1kKcZ-I%etc<)Z?((o4)#`J zt8-gks2>#4zR2xMuzI>_;daOA9%HhPN$wy%AAh(g8UNobwgEkVQ*o*&Z|y~1FHXeY zeHzm198l`~v${@|`8dD(H?7=r@?lSQKc_ydo(!b08#b@imcmJBGd2$_pi~M(BtDopmgr?KStrd?_ z{A1!@&==HQ549hC^3nD~_us$!wfDUDs&TQ9%+Bb@kw)IX}9K%)uCE83!t=WT*X2B+D_qK2xCo`SR@2`FA)p=*eaNqeEnASy)J;eotL zLimF<(~iBv}OkfH(ouMu~aPt!(W;@_vm!_6U`=o5iBKl+7F9w z!#|&MvfK0}fBHul=Ka2?BGGE3t_*Fb_^TD?y@zMui|@~Fzt^cW>h&w#PH%Iu7h6_4=-I|JWV8gv)h2&WC{?-8mnT1G90nW zml9#XmvJ*QNhecFC)r&xX>fyN4|jEzDH;LJZ*kJ11{4<0@&W6H%LM3#+F?`*cF>qS z<&s*dTV&pWvdIEiY`jgs%B(L+*)41>YjrYx?Mnfw05^&9Ev%kYOTEXMZ+mmM-kUeO zOGrVj`_ZqU{QbelIF{LptiQB^CcwZAjRe^w#R!ZEPS5a`|MF2>BYL}xly|$go3FQe zE2j1vI%LavupLGr4`)=qK)XpF|1@&&V?>-^hgVJ56r}^9Lo*$6#e8SBOcbst5s`ap zi+FhHP7A`FCNn1?qC|Mg+=?+z>n0RwqLzzd1C&IN)Je+$&6ADCm65~{;>JAZ*xOE8 zavv9U{Ue(GVO^dpK^YYoP)EJOOpsl+9S5{=l>SKa!T!!7sXGUZRv|XZTi2F z{ck1ec6X95_!ja7|J}rAC%&X6RDmR!X(jPTX=}#ozt+^^^`+grvKoy{8?z=0k_ML6 zm4HR@kS5U?v!REQ@-`5^u(<2jN0L<~Qr6nz8d*nC=2wX(k|?_pCtrpuJ-NedG``7u zH+_6R@i9rZTG3=<#Wcn*<@&h3Y<3o7_UQ7xWrRR3^_22$)HYwzNE1OQv~n{M2T> zDq0Z(MaD{%0)<{BU2x^Q*7UO@AZa|w*`}f{Y82~WnTeZ7+#$Pvi)t#%wy@(S@dtsj z%He&4ZctrguyFjOV!N*O^mzqT2*zMA zYnnAAEP()F2?+)UNC@!3OdbP-r5O|8kp##BnMX)M@@BHUWEhechA@rLN#Xl-Kcs*o%DL%%IO1n?|G_ z;osPdX?1mztUVwP_@q=XPU5f-W|GY2$2S1Jk%vztkWeG&GdQL3*pLYN1}+9isT#SH zYxLE~EVPffTf+qqZ0eUDji^mc1Nuf-wk0Wss&WT1+#_&oSvYd#{8h4VBI)pZj>Lvd zRrP5X-UQo+dIsYO$Ipm210NK?*R9>Hx1zFjlPi7k%aqWB3?Yqg8D z3+K*Vc%*iLw{zzvcJ;8AD~IuC9L6rWjak9yq8pA#WC}AHJ4hwq?lK1GsjOvs-~vKE zb>5rC5>qO)A>&B|(HN453}tp5XG>%yE{1X@w#RQaMvIHH)&A;&@-}iIoM1k$@2N-2 zw<6fI#4F?1UX#oc%d~R0!XJ_N>BM=QI|;P$YPNlyi@U3o2_A^HJ+iTr-Xd}bh+&2b zv)PW@}Ni+bOIB$jj4yLDPIv ztn@ta7*m{ukkJ#-5RRlbpw~!sbzvud>cq2lcr)KZr11k2AD#H*#FuHQC4m9U!w8j% z;SRV(^b>i|Qp}o$h;km|Edy`oV~6aDP+|_OR|+`N;)h|4cRh;7>N{KLC^{bJ0s)wO93Xw(9 z4XRW@z#R)RHUUv1Y#JZ|O#H8L$Qm+^ZxNlOthbv3rGzrJn|-hi4gEGbb+Ob4YY&C|3t2q<6ntgg?#wh{GoaNKLR|Io5q!S z2^bp1yPx*jdt!zkTUdzs6sBvEmaRk3pUc&Q;K3{M1s`h6&mUZve{qcZUohiRNt%=k z%8*g{bOQns*&kAojR-?BhU~!C`}l8iW*4zw#IGT`xfJ0Qyr(2Sgxy{S0@Kw_9?UQt zEV`8I#gdcsFx1H1%U9g`>Uk?!w@w_l8cF;7daX#u({0?+PCCDwPs39Qn>mcR+uv($ zY;82dm(9*{hyMqC{k&DTWM7VOUiUK){zFVKmT5mSjkH|~25EiQn zW2gTISb`65uhLwJ)GHe62E^;fCl^8lFAd==ZV;|09Nb}62GKzPcpoT`jNU11y9HTL z(vKWJy)-|SNLks&)ZU{{IWs#IGg4+PNVxG*e?O&hZZyW5%3kcE*d(cXGwG6(Px}lo zI)BOv?0U}fGx?dJU(fiWl7>3z_s~h-z}Z4~**4}>+H-{2L(DooO2ej)xtOIoXX?=E z?Tqf>=F{Wcx9MI$Ae@*!> z+}E=391>V(3gCLf=#%iAhQB9zZqRY@GKECJp@0WLzP4v^20TEg-0n^f=IS@kCl5S* zABLSWcXNGqp?ah;H5yJ=w`$9+jH|q>-FViTK>QJO5}7NZ;iR(! z_%Fh0_p+M7EmZzPew`OWkV6=?f-tNI&;&=FL?`j@b#=bOX6WLME=miEp+b4baC=&W{pGyE2x(NBh!5eb5ACxtq`?^F;fgQ> z!Fh))d&4KJ7F#sfvCXiwgF{|$oE2Y8bq)}T0cq$ZIvB#`4fjzBcm>4*3A`&1lqqpa3`)#4a2GHYTp!~lRf}}; zCC92{r-*W;s6xqY3h!f7x=9rGFlF9weEbsi1P!O;I6jG3k$5#_!-pubayp3?WC|TO z;Q$Q7vk^--c->OCZLke;EVZ9c)siJM0$kEle21ezd4Hb#fjssc8BUfK&o}>X`XEVA zDuS0ROX%jAO~k+PhsqC>&k~zBJuv~AK|})bK_+rTM+}7S4iTDwH9|lX19|)yc@T-n z1G|9WA)x}K7TYo1i)dibcRQi@Q!1r%>j(F)U7v{8jt`-s8$^?BJ=$HLjYNU~i)|Q5 zOx9bzLs-vOz#Xqg)LA96peeKa%ej0c+6!^8qxv9j92u@{4$c;epV=HOAB>s#+>`gN zKjWq>M&D}^(R8=E7;P5w({U|kyfy(KvNlz&rVDV&Iji&ik{Wp^qE%LEi)PAREX|_c zJ`_>&^GDCDozE9ceb2&@%zuJo8P|6gX7&vJ#}cuddDu$#iJv;S6x~w#gx3OpIO^gx z#m1KcU!Ku~hX*fcNVhBInv`w{zcl<{K+V#SCZaDs9;7%zJWHy=*sXi8TG{^oSKspe zt;wP9d$H90!AlR_^yBFu;3{1D1@x%={wAh1Yv9^7s|$_(I@ccwy#__H;ZV>nH) zy>h`R_@v!sGIsU+s)0_naH>4h9+Zyu8$QW&nRLz#?6fxMm0XhB?{S5W0Q?etI;+#dR9`gozl7eL)*)xua8FA>pK+9z`r75I_`XnR74Vt zNNg-;N+O_{Tw^XXnrWwnorGaEmN#GFbU#kp!eb?j$K&CIIiU2@O?6`Frn_%mT)g@2 zo0hgG&Yu0z(oIXUW@+i>?RP4F8}iHl33=ArlG@(rL(fz#{6yE1N4rk`;b?;{G(ARAt1Rx9pzvG9juIx z&Qn|~kznk?_=vc>YIU4%S#P7Tttgp-tE3Cw|9-xG*In&9)9Ib}?ROHtSwDH*n(wb& zck)wKTy`?4m!o6}oy6cR_LMkMDB*E~ndf7H-KP%6P#gRgF)cG2(=iFv(V2kljn|*5K$py4`aDX zhZxHazTXkG@`X5U`r~gxm{gF}KvPQPMeH#V-9*S_zi@9`^5%CQ}*_BKxd+^H#<$aIU=R_sYQMz+=L0g(ZzQ@{;7RRUpDA= zB$0l6F#?JmBOdz;Mt0E;e|0391`5MB04Yb($t*gy+H{1+%TL0&w=bg>JCo%+^rOjm z(oDe;T{iQo->kZ|mfxCcwz`n^ndTfZ`ly-r%DIOWG@xYav(;ujhv!hy3i)@Sd#glTVivr;Dqo*f$9H$ayPbj&Rz9aMB+jJ8UCM$s}U zGHe#Kd^~OGFtcW|Whxn)Nh^^tsrc|+baT?}y@c*$0SzYYR=cD;iHd|)3?L*JB#Noa zoR(DoP$_4;B4$fDVE~$VDvGXd<)z4w33Yd>AW^Pj7L;WqouU*2z8KXqHHv%S5hsAv znW8u?S53!M%tKDL>`^}z;J=tYFjK1Azoul;#UvOa6^>b$^-xdA=SGFaMiKi0N~DPP z&j>%=ELe`@f4d|E68KR)!?+K99u|*~yhgNbTlHfWj(#Z!mE-uRuSAJR(5i2PUe zpGDNei%Sv`dZ`j|oj*clg;ft8Pg>ND(fB4p8@yze6@-WYorXDuOb8d0`|x8lkct~< zS9ij(F`Dj&!bR>KMzG608;znXi~oNeT3G?+<3LDE z?fGrfswO=fgk|l>+uLTcKp{+Kxi*+GOcW|&w;zwD6Q!N)U&IzQHg`=nS8mPvTPL@C z{=&C(kfrK-HrRQ4M?Mxg!sL;@f0hV}ox#qSQ8WrhPqjJ?GWpN#+u7hnyWfZWWuGLE z=OSL3A+5I`Df}2wwBN(m7#j8rOc`DhikFehKve}_A%mBu^dz5~Ft|<~Q2chGe1SBw zs*bvf;SZ#ox}XojJq@;$3CkdXQ|fHVV_f}$xRo@rl$w(bFh6lngg0wRe3mY{M86O2w~2qy#)Q znZ0H?nSqW1)5c1qJU4iOGX#Ot*RpSj;v-g^Jbt#3vR*GtF5whruD8k8hNZCHAGCeGDGOu}rS{!%Vh2E91~ zOG7lrAlK1pfgS~mex#6ae=n&WRMJ^bHTsAqe5nZoR12 zv&(ofi274v23(`8G_l9_15be%PHgu|rZ?+W z;r*suIV2S@EaoKk7txZ6!LVe$|96bnUnN&^LM8y|NMa?*dq+kjv4owuKxS@M%Us1K za!W~*4EvH0w#Z{=!;yMnHgCahqQ_uG@Do;fuGj45mhxqLawgku&#Yq5tAnUH+-PlX z9muW+Dx^ycF%sG#YMA`9P(T%IbQdn}-F#Fh^?Kbd!}7Fm|LM*eYa` zb}pvkrI7jEfc2W3$b06d00lrr;xERo8&1LZNJXyQJV>c^+?rS#~PUGd z-%&nK?7KzXcT9LkD@#C31O__pcw0G1LhY(_AQ5S@r$D~ul;2st zqf|-6;pl^cC8p`E1Kq)anCWI~ZZU$o7%6oiXi3^ouQ2shks&d&=PkAC8A>zUsC;U+ zJ2k8qgCf!egVRiJIzjsd6Wq_7BA)sjoG!?dL|16N+MfLFqA>jM6@%)eyN-T zGWdXWm{zc!Oe?*u8x8?Tx8!wFTb8lO>W(|$z>hxl~(<@vZgs0%HI2WaF!LS5t9oiYPPlgzOwSJc;4SwZBLue z(LEo?`NFUnZk%2uFfB2+FDp_*C&roAIisPZ19UxDA~2pa(9nZ;iZ z^f-WN0Zjt&*BwGH-!+6)16kkcYQe}D(NM};@3P5RHMjphX=(Rqt{-jwZOncce)#mG zrvY#L@cb+;*&BcQyI(r{G^VfX%?1jzI-~m5_Ish1kDdCfnD4CPiSDHWB9+;{dMcw= zaewP?ANz)>L_@n%azo!2VkgC}qK>-cHUef9=_0~~MBU4Xab_WjyoxRfWQX<&f#xy` zi6kMbgmxNBlulC{$7q*_zgkPi?|)OSW$;(ZwtL0aq~I^S+A9HnvknyIO4rst0LNbOR+%?Dojz~<%y2itWjdU$I$ ztnpu*zUJm@rk7655!IRNAC&Le2xxZX@T7ddHvauTQ$EFbZi!#0E%UC}){JDv@LY&= z2xpzq&RyRjb3|?h%;}sW?MYBiWU}%}(VHqb7l8GaicfmVZKZOz^_;b|mus|xjG?PP zpUwo0sUit#IhO)Q?n+--eqgYNqUWZW#$cUaou6J>nweWY&|jELl}YDHZ>SGGTk>xGDp z2Lfx7_*kr#p3iyO=tlD2$}RErW`bm?;_dHS5#lsP8B%qRjet=iN&X(Nv77P7@m zBvv@kUOofZ@8u;;Ek$BRuH0K{v;nt41Zf3o%B5I$E`k3O4w%iGg*&y>sx7PHgkFoS~@(y@b#;9*(>9Xjb}Gm&Ias+9UZP4-+MZYK}8YyIex^` zySp+_c@Ip;X0o?Yw_=U`JuG0;oLU-8+YoZ}_SF+seZ7Zc!kir~KU!QUz#2!!RPbC_ zCX8HGCk4+Z{)8(f8MlME0Pc-=*3Qne@IgUw1UVy!VbA4!{aGoyQnBy0mdi%q)f*aR zM7WAvN}Xz^6}ZhhHIiMO8Z}f$ZqCgArVE|| z`~_-IV)kGFzAIKG?mUf8#h#j(A^mb{FWJIztLSAnrva7C%uU`6)8?oXk7=d+$0%6_ zf0}XYe^=eF`~vc90f{E;H0MI!h)i+g5`}!)5FQrFV~5SC#N2i!um&+@$n! z86?8td(|%CPP^tQ;ZH?5yt=YqRX0Y|IVC|TsyEUZa)(Vr>SJldy_04lUM5B&6+
    @=nt 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 Z6GKv@X@M=$P0RPto|_HbM)@@OzX7w?7vcZ_ literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-brands-400.woff b/src/fontawesome/webfonts/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..c7d31eb1e8136e41f5872f77909f932a77d337f6 GIT binary patch literal 64392 zcmV)kK%l>OPew)n0RR910Q-ml3jhEB0fdYI0RR91000000000000000000000000- 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 literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-brands-400.woff2 b/src/fontawesome/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1ced125fe9e548eadd31788120aa2d4e09942813 GIT binary patch literal 55144 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 literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-regular-400.eot b/src/fontawesome/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..3ba8c46bf13e1767c93e9f8ff807aadfbe20e2f1 GIT binary patch literal 30788 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�PKbV*}&6yGz9bJ^J=h45QQ? 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fontawesome/webfonts/fa-regular-400.ttf b/src/fontawesome/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7412d88352a946a464b329e8ea0677e6b3b840d1 GIT binary patch literal 30560 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 literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-regular-400.woff b/src/fontawesome/webfonts/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..797a15cbfb9878496b3c4dd8f80c21083825d9f0 GIT binary patch literal 14672 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 GegOdD+_OOd literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-solid-900.eot b/src/fontawesome/webfonts/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..3c5350af8e72aced6e6409e184bb46420efc39c5 GIT binary patch literal 115148 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/fontawesome/webfonts/fa-solid-900.ttf b/src/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9f268151e6f282e84ddc4fb35f879dbf34e1a60d GIT binary patch literal 114928 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

    0J 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 G)c*oqGf;{E literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-solid-900.woff b/src/fontawesome/webfonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..66d6e9e428706f82279e0cca7215d667c2b74afe GIT binary patch literal 55484 zcmV))K#IS2Pew)n0RR910NA_$3jhEB0l@G80RR91000000000000000000000000- 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 sYjPi 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 z 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 ZQ6lrk{?Ty>XIv^LJ#gTEEN3_(004O&Or!t+ literal 0 HcmV?d00001 diff --git a/src/fontawesome/webfonts/fa-solid-900.woff2 b/src/fontawesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..84cadecde7c63f41cf3bea37d4556829cc2117ab GIT binary patch literal 44068 zcmV)1K+V5*Pew8T0RR910IVbc3jhEB0l@G80ISjf0RR9100000000000000000000 z0000SR0dW6$bJfi;4FmBX#q9@Bm4dIz;BTP1UGgt@8FDh?dV8|-;= zinUd!g6Zahr}H-Ey`%!&3UcbV_J{`<%T6IPtA2#wfjIWQ-??cwMiPu{jl0<}+M~cW zO5oN=o~Pfho&VArB+*Et6w!pQCp?Kwzae5;BMo@q@wE3lNS$zWvh4^b2eCbfNxKu= z@t^=0o_AYM;4?mBD+0J3k5is3CN9rfqAOrG7V#zc#$TX7L z-s1a}u1|9RO;WYF7>4juPC!@H@O=S1yFTsXa4lV>YX=i%W&>g1r;r?4o__v+1^@{7 zwyd|Qc-ebNGW&7PTn`vtW5!relHC0rE9dG|sTC^e1G?w&bfy6(F_gjZ=h|o9)Ft|mKhOd4OY-4>SC)j?wHu>49gp^y+6Gir^y<@M z*V*^r5)LLHn}T8uiH<3FTsNSKo3xaGZvSVh*@6m}a_11~cd9NFokOe|7cFM~pBc^0 z&aRM10ZS4lAc_VdN(Q5#I6EMDyF*GQA>DhToYGz9$tf~i2(flk#`t=dg`fTUOZol1 ziu=p>m6i&AcS^B{MWB0F7E>BnFn|Gou*5>(p`snlTp z z7}W?N#6bw-cK@Fr+4lb)z{KJX9K#VKhk{fa@Be9Rw(Yyz{jksmERg8`WzPSDquuY1 zE^O;ltAJLKF+&Eq$<{&UECbSdxBWmvlogiXtYZ@(6FBex-v|K{=rtmk`KC@2M*F-U z(vKNo!s?(mGkv~y??^3EAUs88WGFyXc~bGVc_PS?y1{y_-}^s=SY#k#M|e@2f2rDq z#eaFPv;}lGYG!@I0O=`=fMxclIMGq9Pryj0vW!rUXzBhyVVB#aQ@~he<@Z;1`pLGa zsOqVAv01sb-MvF2ViHo)a|>!4`%la(D6VemdK}*hm9@dar8`gFK~Y!+SKIeV6RH_t3Eu=Pq5lW4y<=N9v-BFELHJppdZG_@wllyu#9& z#^#P*eZ!(+lhbl*nmT**3JQr!PRq>BFaAra+OE6jm(u2{*YJ4u>wO54Z08r%_ew~Y zMN}SkU&o0nLvDDZbJrfd$R!ekXYqX@1Yuh>Jlegmi6c-w`f3<{a_n;sb8h1jQHiC+ z5X1});>R7n%rgCk6WHcE%;qomz{RW-XrDe0oOj>CM!@;{=C;Q^g9~Q-RJZR=EDY@} zvFMY5l<1_J9)=kcNogLVx$Gr_eEjhXG_u!v@S=@&`pBVvh8bsuetYcmsmMbv!%zeg zOD;J)AAdO+EaAiNuv;9C$;FqMk2ct7i>u@`aGP?ToyyuHugI*Wr zwo^_zR5uMz_Y&er|_zp*$2y;)*tHVDu--xu@Ndv zxDanAtXpoXDR$5z+BEmAv81N0w!cD23+M}ZovTO_TI-~Zw&t|kcDveJffuT@M{X?= z_OT;0<;={Hgs8}>j1TqZL6#h83ViwTW-herRjZ=~9cz61dRisV3wE~~W~55A!t{PN zBDTX>I@P|0rc0}tTTN-0;YJwBP5e^VPP>|_dj`Fm-o_Sbr=t$`*WZR_9MQ@{U6<8n zTWqz>4m&;V2}{MgP!0ZSX>ZH;C2pua{qVjJy4uE8Zk5%I)vDWlw$^3WoOi_qXPkA_ zxuT4#C@=m+^Y&U`ev)Tpt597z!_q+6ezjDB6E#v%H$C;}$KEKfzR4}Fi_UGGK+Vo0 z=qxIf+|RuqM^R>QqI_}1mhDyZ{7%I3cuoQQ9$Q3LEYhYnm6N`|+SQNI$V(=9f zhgGoz3B;1*CYB<%ur!Q;WndI63u9q97!Avl1gt8QUcRq1ZI#| zmp90-r%Akqy7!xlJ%jKQIBAr2!&armG{(BlXs6LAz- ziKF3590OmV0{h`a*bXO=Ae;>6;1swBr;`IXn>@q$Mu73RimFb{5rIdKR4iaR&-wu{I$ z+yfutUf2Nl!NRC9*g>5{qXkY!D}0Vwa4nvJOYtmeis#5oJpbd}1%hSqB8kUKBn~f= zlX!*X;Z<@DuahEpgV^vM?1cAWPkaD7<3rd5AHli!nC!+UWIH}3yYM+YfGDln2ZXTf*N2dY6p{0dzelgUD$y|bo`x?YMG|~UjpPQ6hBIjlQE41Wr15YiO@K3KBKb*^$OxKD z0%!_6MpKD}rjb*$5Ijf=lcBUIk!dj^(GsvNEeRjdQe+A(1BcSGa2PEIhtu+K2(1JY z(aPi(m0%Mp!#y+|?xh)ID$OL_X|?64S_B8t+N2GwOBT|4a4~HFyV8cR2Wc$)qpjp$!k znf`-)>7l@&9k4*#VS9KDJHQ**5zT>}&~n%norc|DaX1KVhJ(>2I24wK!)TDhp(Y#w zC&G~cIhy7S$3O)*7AnJW@Bxm8_izHu5l)0Ma1zZ4PKNSu3Y3FWp)8yRb>Kqi6ccgl0bCP~ zhU=nJa6L2uZU`=LBXEWrgA?2YT;ZnZC%75<3O7f;z%9@hxFz}xZiNDFjlRKc;4R!1 zlyD!&fd`^B@F27r9*ow)L(nRCDEPs{pd>sTO2H$cG&~BOgJ(iZcs3jh&x7UR`LH6q z0R0CqhW7A^p}W)a1Xu=tHM{%boeUtg|E{B;TyCd_$DnF zegswE$FM2VTf0I-$EL z6`es%Kxa`K(M!}Rh(MhlveRi$X9$X;u0U1P4XBQKGGz3I#=O1|EQ$IB=TU#*66!xZ zN4#kPNC`9*DT$^brO^VU96F4YM|+TpXfIL)?L%a=AIU%mkgDh)QXL&a>Y*1%1N07Q z3B1>uE$QrZ|**VQChz0$HWT8KhE6@zN3hj_v&;_{*lOp$FZsY-&B9F#+PYJ#v z&)^&KlIDiIIzwz$)wJT=x&K4zd8TEq6P*(_QUkWEXV7nBf~qDa{{1kea)==eJQquE@o1}v?yew#p3gtQk8Iw_u@!DzR4ihN6 z>J$(*um&iqr1Mv(x6ld=Fvlgl|Le}jc~#Y_&CR}jil0k|n);I_S* zO{PFnt^X-=u;QaYei`DdN@BB}&9Y@kp}h=e%xXs1oG6!4 z*&8EEF1#_~6^0EdRPbIAf#T=}U|>B)c3$=%HeMfV_bjgG#@&{2%#5*-*H452>-vQY(dYnZ!$7B0@%`z=W!AQ zAMKEAKu;}UwuN&*#3e^Xx2T4VE6Qy0HOmMbgTe0}GFMh}7UoI05Qc2mr4(E}s2=n! z(uobAbref}%T~A80Xl<7A55j*K}knUjzZspc*EC-(S4e!C% z`BW;^i{Rq)V2Xl*ly#}*`~E$bf}`9WY3V=&_db`|_3O?SEEXM^J5(uHg1AtQnJeti za9Ax=A`(h@LWp-@16@M-99~e`;9t#Tg283}J$9~gNOgY)&$p~^?$^1DvtEeo_RS`% z90EpLVY z#8o#Gf<|1RQKnj5F&8yW-Hca~>e@7$jq(HYDHtw=%MbEFLvu-97~8dC0Loi$>!vBo zZ2C0)4NQy#`fz?1V~ZS3Hili+c)_bxzx{j!7%o{<{6F!(D})yUR0Gj!5jvqZ@@L=8 z5Gr_H6~)`aDD#L>?YXW`uL@>B38j7!z4YH~_WRD0MVrTSyDpB1cU%th7r?@T7Lg5U zdZ7TzL&0JAS`U+f(;DG_n+}Yt$_G(0d7m35np1vLF#g~UIcIlc&X;!^jl*$GfNt_+ z#n&v2XcL_Cctutk=Sy}~#a-CB93Zwvd?V}ch3Idv-zf`VULGes&UZ)Xu@sqLeeta% zhf1p13??zgWeGF;oZ{ZWtybLQRyg3ILmX`F{1MF~_=F89<;Aa0D&!eIS<4+EzB+Gv*i3@F=IT_HGs5Q^5XMC+acoXv+&v(cvRub_iTckhQPKUbH#*l+7!tjYu-&RdPI<=v7 zA5`9NG+ebeHgQFs)WYdDbzrfh$RAYzL|#j`FV9dVwUZ}gWEItSm9o8^RO2jB_n8$x zT=B^ja$G|~ku>TF(sJpvbAr01cFN028@jnT&_q9Pp*akyVznu#c<~v z-T;H^ErWuI<(=8a)GnFz;1S42`%dzpiJ`aY@Xq|+!4_1S9GqmN1X|)8RB$|h1v8`w zLFIoQDkaL+qE$~y<07i0BBfIOE~jz1A6fdBm8QE(i0Wlrl;-5Lti&BxNm06y%D2ok zA+HjAWTm3xGt)ATozdw$@}gmoz{-j~=Qp1{7kZ9*IiEaM5K~u&)&|ZgWA^5h zE(U22lt;d+iam_f^9luY9!QlCWSJjIu+mtTA(815eEYE4q)?iZ8Y_2ki<#Vr<59w5 z=)6+L7uE^7TrJTuKK&xF2P&m<38VX6 zE>D6PaB1<4VRoURNJdF&aLmFb*AVOPC8$JY1SWG`mFkGo*P7%5v;7StNqDrS4l5_# z=w~(1k_&nBiOJ!~9Je4N4j5U5w325WY*i+K-26OXMhjSYInK`|Q$#*e-N=2C$l*F1 zOy!}thzBmyI;^lv!h3tRAFOj1JDUCW9o)&K2j1q*5-aAXG;{m)RpqXp_tUKPC-rm& z!E?m}u_z{mUkN|#>BQ~*fyo~AUHX?s*M6v`YdIrr4ynb~dF$66RINE zr892v*J!#rIwt6km#t+sNGP51hDJAX?S7~S{P9FJTPH3g8BQkaX@&Cd@!o_sdgov@ zmRcQNMVIJ9E5nKE$eocJ-39-M$B$yCo6zp#WZCZzy8CNIUh#XKcLr(oksL0BMwgCO zqdHg)_xBx2Xid~t*TjZV0&4WAbkAs0sidZ~hO&dr&-P|RUgjAA1A)U{TN-EZ?UZpi zK?$I*rgMR{>2NkK@D#*ih6g|T`u)@L}@G=xsgPx5}h{p^8C2)ccN zG~lgO{Z)^emX2wvIf+j&2}fNJWzw#CWJLxySzIaRUI3sU%RzI(jG2h_0VC>ICHnEq zGT?+yyK*R@Wn}p3Yrf*pWH>#uf+XQn1phA$w8)Tole4x~UD|u9Ff8W)StU3tR8qS* zrR(w&3jTl(ltZCu(j5+5U}i0HalweamI7AHGCPe2_q050c4E|uu&uM(QagjP{DMs+ zhKgs%m(Epf3%Q<1z?+0J+>XvB-vBc`ue_VmYm8aoWHzUh<;)ed$=eL-X*Pg~`ngZ$ zGPs%Nn6%$}!A(M_SMeW9CPV%6x`#kLHTu4d5VIX%e82p|@rguB47Y4DH2^){X`oZ& zvZ!>+!Kwtg&7vu9`fY5keZ~_COl&h~BnI%W1EnS;G{-#P)H&7LMw=Xyv?naMP)lP` zE(aPI0$wNeKoR%?{MFhGGF_Qw{X4c42+<|O`dU_TRqgFk%`<&Lq3$h!y^>EPP~N-) zfg$x2a+zP>l7YN~Bp)-VbP1V&h6wGw0>7Q+t7m^kz`a@yf+S>m7B3sR+~BO$96Emy zm#=HSVvb=68qReuE#0(uiC=CiR~6(tn6aATpX6KK88(LZx#vj>SaRbJHV%@xvGb&NYtCO3D;rb)8DdXodCDLK8?yL$Iwd#36wrmq9cmEA#Q#_`NH?w;D{|M;{!p zRhCUN*Y17qoH8##P6a_HNq)pupuA^r60Wf;!3>WBSKj5p50!l=`B2JFW?U+yG2`53 zzLIdBKNyx|7x2xyX#{Um*n;Du3hy^@)M2KE&%$?NLuTRIC&V+2+gog^w+(^%J~uze z6Ioi!d+S#&ExJ&B6{U@Vh>4PLvK>JVtuU)REOE@hoxBNT*A2SUQ=)36L!g|CK-aT@|H@@56t=fA#lcFke!AU0MA| zOKim5sQ@ccHC`~wh4-E<$&!j_2lLJj@aEUfwam>|`;@d>8Q~P8SHojT+Hg_(77uZ76WXIMQk^SPMu(n9^D*vr6R;vX*SnS9&mfb_qUz0 zsnp`@GSr5{M2y85TavMqz1c-P`UYil#QVUcAO8jcocx+PESt-QFHchs4}Fhy#*H-a zhi|dZXTI`~0sCIR%io+LAszk+EGjsf=DZcpQ*w^PU_-7`SLrr%(G=enjPOL8`wG5k8 zz~gJoQb^9YX!yA?)TRNjBRcFJiXXvX$5W>#7=!yUv-I&hgPcmqDL@zr7#K+cHnzZ? zgH`Zn1iU6Q-s}U$0wE8^CCqsO05^*5sEdsSLO{n69cJSQrwPymWdydmmm|j?s$C)H6Bg{pWW_aW!dY z^|V9BAa2F)4Ajp3b&Y^pN$Q*E4~*3e8MWjdl8cnWD8atgs~1SW{xya=rxJ~&*)8Z^ z(|z#N8;U*zy!JmzDa>Mw*A8?WN~nwZSlowk7NbR!M775|AM*JWNE&|>r0D7}cY4Gk zJO+a2LDG5TWIyh$OI{TZwX7QP?j)<$|XI4|4eOMsVcun4su<%Ob zp!SZK1t5)s**lYQ&So8D7hoZ%ToeT2=FB| zEWC^qnFfjA6T{B^W*~#<1~iHTk2RS|dXJU0%|u=EXc!5uiRMhyg9;W-xzk^qVt(%2jd6#ef2S>JggBz{m$WfTP zoA7h0fdz9|!);bRQcbK&FkQr370t1n$pFt5uaX>D+v1jP#Z$IG#PXoXHC|?3SMbk8 z$oe+8JCNevP3`2u5qG1kEVBAmghdrkQpz^~@Dw3%731tapdD!v&{4iT6NL)SJSMHE z2IHb2EV#o*KLl>zKX|pf*5Jdu(pHI@r*_JWBfy0_2!XqKjA`DRVk!)er)sM4o$M^8 z)ILms7pf!kl=8hL0Gtc+>Fj`?O;$vCJF@@;TZagS+0|MKGsmY+g&-+%NtsHVQoR)i zu-wSfVK_(yZV^N|2(5{PfIvWI{xdRnl!7?naN?+?C49KH^VGVtdFJjQ2I%>&>dbnH zlUuVn&F^RB71TOK<6JP~lUJ}N!Np{lTC;QH74|YIsNq`l|4fGRV$5uBJ83U!w6gV)zh}MLmKy<2QBuQ}A;YQu~Ec9bM}&JM%to zFeMZ1J4Jz8hI_#X{s%5I&jl-Sn1Es3MM^xi+Tb2k!XC~f$U>$&1RTxBbGt}D@6?Qx zN}v*?c%M|wl?hRd?5#qth>~6}QOV)7S?&3}r9cLPDpSq(}-~LcF8Q6I*1lqXX_9_%i7j5*FCPqs~bC@<1 zfnC8=fV*BMX;e_K4*Zqi@{ycAPR#T=V?ev3YYT*lnxa>Oz6DYQue`6N`7n@W?8;1B zI*Pf`V<<@^gTl(tuCDRn7#WmyO^{ye(7pmRLoWaL-v8liHT^B$+XBTg^2(7z1}F`_ z+v)$cD6D5ErSg+(HgqnJ76M(D<-Nb*4^+l#LzY_~s~W$W2gdJbE4SnRCO63$)i+<< z=u=ga_d3}E*72r9jB$Grf8DM?>r@5PN;rtob)X{8r>5#ef9*_~h$8pl!a#o6Fs2Pv zFTxkKRQh^s_}if#AL481gDigrl>%2wpEWXHiAbZA9r1_+7zd^7)!P2Af0nI2=u`=T z#Jws}JQOAE4xORzzN@i*zbl;;CTWB_XWQ^Wh0EGISn*gcnJS*FMOqMSD8HA%ez`SD z;iP&}JBcygq{2;HQ!)3puT#*zys}&G=ZAmy^rIrGp}ithkVbuD3TP_7m+a%87E|DA zTuty)ZB3=Q37bscAEhOh0jST@>9NIKcM5uGR*Ks9!33lUJwg`=grJ;5{iq4Q5VZsK zZ~dOsrqZD|s>^Vf$)UByS`ve|_?g`wOunBraDX={gaPYU1s?;rPU+jnr_AhuE4&fc zD2CeE_d}H+j!hIy86l|163KuNTV`pj3ohe@gKCoHghmJp+-gK$vRtp9lKl^@Ud6K# z(z#$I3<4zUXUjv)`}a)3f;jwaY9AeQxj|)%B*k8DjX9`HLO|8Z+jJD8^$16(zF4d5 zK(6eqxOUWyW6}t&((#mDB}6$=KUAklvbAJ+;59^@$2j1wI(^8pJizx%YX7hdtTxnP zk|?&+=^B#-t&D`KB=&d|yuyVZrC@W~ua?Kp0%~Y0{&~sicaxF?cmxKX{%)pu_79?y z;nCvH?6-@cRoYB#h@SFYIi-cu#$ZRcuw=Yp-(9O?OIWMsB~4i*tixI@E+Q?DvHn^Wu#o_gp~&$$6_4f@H8sv@sW}f*_3j9dl_84sh10ug_1)h z23wphKi=SD5(voUrgrrP&d@g}jS29)mQt(Sd`0P8Pe2a%E>L9y{18;gooX_0YQY?W z5)UVg$}d?&vOiY@1!e@{=mokFw0e^uH75JDElhKPaj6m*C{X8J$?z~d0`#AInvWb1 zTYm{6--dQlt_&rjqYlkDD$gLRz&s#8$ZZnr2YkldSK*9-R&;#>v5fSBr-TeB<9$Dg z`bUa(b6#Jxi+#n~&yH@wbo8i!`+%tS8RWJu&@b*{=R^*B`oqm(X@7(HAk1=TRRmYj z2TWbn69csvExw*n9i>!90ZbC24ieV;yW`T)IJxF5RB{`TG#nWV=c0@>3YJYYL=r{w zi4#Z>sYB`Y4(~%F@KtM>?fSepzR9XeBLun@?~Tg=`Ohqe!zd{pB}iq9OI@;7e0(J$ zyD3LWz>bGC=3S?N3we6|oYxkU(9Hs^q9sPIkF$iWn6n=lP8jgZpy8s~XMWwtd+?lyL5} zD-iP{5EtM(i)kt_gSM;J&E?tJX4)H46`?F(U^>sRd%qv+_OO{{C174CZswt(yf851JEf4yL@d3zV*>6AmZG((hNO7H66 z<(JWshjVj^7Joi+n|d+JrsLcQjPYT0V?~ zR2=tC5;R#)9VeB1@}eSrXBL$eC!s}wA^u4w&js=>5*GyQD@@vf<7Jr;;){|F{3+iq z42rdeW~3hRTtm|K*!pOo?4%LpG|Np2Ommn>L}Q$%SK}Z9pHfSgbKi;jjcFX{iw`D5 z9Gr}#`lG<5U{Q?n+og4GPvH5W!tE3v;ZLb)nokzbTst@1 zd%ZXLg@`oTK zj>9ef5pES8{V*MYf>B~){bkP3@*06}hcKo|FSt~~*w@fxJrnaIt~CvcYhy=+%FRbP zTT|0mf2snH$5No3`$@{34CCMqmheA=p=6}y=kO*6hbN{rYXpP>8DYrh3S3Lny0I2D z=KLgyg)2@XVeFfaBW*uMs~b+0mAljmbq>b!esBe`{?*E+u>z}2GYH^Hm@tB##cpmt zZt>YnIw`KHBtKn1!nP6{tisyQc~(?Dl*hM zArYeGuHLvomA#>K@*ulZt3W`Qfg> z#)K+~Iv9p12K5%6&x{PKbS9mI&r?ub?QLw<2Cyi38d2|=M4my74BPwmt#{Pdk#zRW z>vc^O`fdmZ)|y37xaCP)oQXgQbBT}o8~hw(~a+oKJF#2&aQqrd`V}It2IW&VEOhg{xmXT&_+jeJC~_ z9n>%!$#UdEZ0gN^r-{bNKc$iW+>Z{m{eR%pJ@%sc@J)6(iN9d#MbZ|_DZvkr49?W@ zf2ZXY7RPB~GaXDj-1F*#WKBJce@c^L5BW!GxgmG)L#$v>Gt~mrTJ?+PVU~itlgo%~y2_gPuy%bC=Wp*q?gr?;?Uj_d4nQzI%~!5yx5rJLh3 zDw+x2IgONK$V8W3X0aWVVz)lG41tWQjN9lflUSngbGpTzuIFy#%%49RH=G4(e*h~o zoC;R37O%^KweKR1Er4K6VnyOcsqbP7t7hvBLIG8Ux?J*;6+;9Q%f}bEQ6)s$T}mrz zkBE#+RPNK^&wS`S_m^%;RGBi{e?ySzK zj5!8rDp3jo#z;i`?hpy#a8Wg>gi*#QZj7|qBc+zhdUqi`Qs%{`0qN4I5jI;9LPvEO z>fK3rSCfe1KxsIj3|BrH158SsZfq>9&AphOEdT02uu%Z;V(6O?F#`YQFpWycAdg;sI)nz|(F}S&Fa~*7mLL$k3yg5dqSY!484n}g~t zIR}6Q5ffF4Ktu%&MXW?AC`IU0Sw6ih;8;Mr7E%}ZIJV!IH@nGUY|1Phlm%J(YacGt z`KQ1{?O3GdV=S~4Q^;-(M-#0NVlL|j;Tew!n36=Z0RG__FTE2-$`&F6JA)QZ1^i>E z#hXZ&usmdh8mj$9k?_Wo&Or2jY==`8g@5n}X<`Im%RZ$Booqm~u`{_(Wj}k;2Zd^% z^w^!{wzO)mynsBAcHi2#VO8HuRBbE~v(1n~LlohH`t^fG6`zD6irs9QS}eDd%=yQV zH%7U?7-|VFsUh&El39d9F_x3+6gvb}7Zk@Ev&}JfPx^oMW`h-1w`Q)pscW^_FM~xV z+WP<~xhumz*4dJYu(-dynRR)I*B}x#&=M~TM4^6kiA8i-izLbzGm#=;e4ZQhd=99& zG)BwPSz9AU@G4n+CdFifbc>v!xJg_^bf86OYskSyqSATUBSEla({>VZAA{C5@;na)5= zOFGILV)|UfoT!m}2q~8#Su!P3QKD+0WQ55+&zLZ8WFQf156am5f#7wtYci`u=ra;P z!}Wtn_%=-b+L!l7h%HV})LWMmqcab#&WSe02iTjm1KD8+zjc(eS`raQ%h!fOxy7Dc z&0I2^@&1w^E#Aw6n?aM0R2!?RdfV#;x3yMGNIFB9_v_dK-RRI;WB>PD$F);6^sJ16!j>T*u)y6uU!gGp>B*vduIel$## z_^q@JL;~v+@-Vcj{OPT(xHeTYqtvpi7=EEO8w>-5$8$eekU_uZ3(V$}kD54v;U)|D z39_N#3U15z8r~=^8gUYvuLWqN75p@y>L7k^3}QSyyz|yu5c_w>gGwF6g!&4@NlaD# zaeJ@6zYsmGVqFz8d*tt_6|e_iP^3mG$bz;&mRjSt4qL7?a>O-cN=;R>j2?+0VX>K& z%4L^NDcfcB%a6Jv|x#z_tWn>f&RX*$}+L8U0O-h znWtfa3v4yEQSSLb^Gi%D`_4TxaiJ2s5#AtmP|@$N$e6YRbXAv*<+C_c2hAl&_l4cU zD$mf{(4rQq194P0AKqfJjaTUC1OOAW-+CURqt1HGR%NfYR)KyqC0GHq?S5ix6KqcV zotFK|7k7IC$9d~|3?9EDwW6yd+1Qb}P$RJxkJFf`hBdpqPS<{c${MlvBsrGnpJ?99 zWl#cEX$lEQfK<{8+v*Z2W+xQvGg_vGeW!N=Rd-_9F+63(7uwi--B66&pc~tgV z{;5KK-VDQ8OhZ)!jAbJ^kPecO$K~aoPDtYiI;F48N51iL@h}Pj~FO7_+S!sD+OUB(BHqfMi z18(~~P?v$~1e@9>v5fK z7XH*XxB%8kIN~{O`GUA3xJ@!vGwckQSgHdAKOgL3=km@s`t3YM6Z;z#gYuJ)R$D46 zLo1prlvpn`-Q5>dM9^7oKsda&UVZr5wLMfvf9?_YF#z*;WE7UG0I2CJN%Hv5__{|& zf$+#|sBaO5Bt^4Z=k^##3&%?)Z3JkFaKb}vF z7oP95Df1=?Avt>6?fJR=W(7^Uz{K@Km{S=yVn&Ur}x}75MAVdwjz^ zJ+9d~?M7M#g=%Cxd&~?S4*^u(VZ<7VCpHOX*7Y)k!VuhRHf^TCV0>97+B?&1>yoYJ zl*@|WB90a3XKgA1_SBonk=jr1^7H02!Be&V*vi{R-4|vVX_0{gsDM#F5alXBut=Gu=cfwfGYkX$&`?sd2Wh;(=!b!H7OSyrRRCjWk?v;IF=c5$E zx9U%JhE4=fuE`wlLMmxjE;$LDa*JPF zcA6E74>b*`pd6yJj1aMD9`i+0tD$dg9L-Z}0CFOAb{ORdJn!VdtQNeyk5o;24l4dy z6YsEbqR$NxhdAId8?wD~1?vqi!9gMBpA@{L+E&n#H;oh>2T)$Rn%bZAe+EpErDV)0 zde0|EVAe}&BSl+Ga&! z(MWfuG3=Li&?A0M^3Af!r7&s;O7@1p%_!3 z@ePc8z5CkDw7z=g9P~9-T9xD(!80b@-+pUs&AqNFXdoei#eyoLLi=PNtC;D-2WVQe zV#w!B2I0?89TFdn!X0qWJ=U-N56TUB&4)~FB97cvPva!p#S9V=*uwz zzX*uM$W5xm=;B23_(B0eb$i;$(X8qzH`^~27;~|3Y2JXW!(Lo|i zSS6MLWDNwKH;^BBs6xr>{;j;Qx`3CQo~kR|goE0k)|F5v3(wFh$CUE+-qcD}zr#*vLQnyrxurqnWb>W!MFpj6r);YG170A4lH%036=?nC_Z^6hIR#C7 zC4tiunm+T^d=4ikRW}`H+4z$@hp~?9zLq-U+GJy%ZB*8APt^6Nrf@1Jj8sLV3kM!K z88k2W%ox`uaDgdGLr;_N5sI#vZaXE7ea6RW{lqDP9w&5q29Qy(+2vI`n<1r%7Jfrm zZXI8YyNI8^hU$b`QSEfsIa!iH`L88Xv)Ee#sf#JSS92U@HMM+GI)PK%pK`!S!sdNl zm?g8g1hko!ZW&AJBo|ipd?x8Sr=yf|8~|&w-4+S%-)4n`H(BFE?q+8+PlLmz+~U*H z7V#|@ktrd)t;fhtQdE?AoCfu9|0#8~#J@A|^qcoMAk?~|jKsffOlubBvjun1vOmK$ z@&S9+;_6PAPP4^U&yr%ritY-r<~+{K?Tz=JX;wTrWYPZ16s_GUDF#L95?0miNb2$u zr;_IH&=AZhtwX8&&=Pi}#ricRvv~C;ZLT`{pz4emRSk#vgwl`J=a!^=&jEN@&@533 z+B9-+@}z1m)iCR3&fh_iGq2PZ^zVfCqa#Slt;FfF$NZkmZW`;O556AE0sWcN4^ZKT z5XtV2f3VBh#U z5Qv3Et2_JU{9;EMudIFL7qR;fwH-zpx`IcBOkVSB;UaCxOzk|O6yNL*wflPDq8bhi zhI%i$s7P>jLW}+plNICyl|=`iPH5Au{fBj1T+}XsytC|wELx3jafh0ig{lmosM*^v3haQ3mEj-01m_>4|v<;FCGI5gI^}s=AGRf68 zC^qOfO-mMmNww5=r$vMhRo_JQCI z-#hr5TsL0jKkTXF{$@kIG3m4-`CY|G>hNqVKc|kLtPtdE-7>%)85`A=H zJxfyh2Q521D~5MiTP3TjhHQK#mE)_Zp=IWzZNnXs2&0k>qo4~{X~1eLx4E*aLSWQC zV{@d_PTz{4LpZr1L!9=WXSeZbHR%^F^(0`^dhuS`yEzV$I8G`&NlyI+k_~R;;Cjh- z>5pDnIPjNI3u16+@{c=}(MsRd!6opJQn=zrHMs0@HMrMp%Huql37eoP!t$po3NG{V1r2LhF~ zVbvW9rbVOtf+f=!oYI{bYIcFUUI`kKc9@&X9FKAP1PC~@5QXHHt6PqgzaZso(@W{B zO$ps`gyWgCHTsvD6YC0&_Y`CTi8`GN5&uIa(F2lRaIKMyx(_q`>)_Q04WRFAbo`p@ zfi5|&XXuLc>rk7|QXdj*n6u7+~>hp4dHbF>#` zl+mi;QgCI$2WeT`XR>Rp;}*_uEg*3JhqugJ{WW{evQI#T#vnX>Ggylwx-n$BkU#Qbm#_os$T#upz+I1cKC$p}Q1 zT-B^7l<<$ABb6e-3l)xsd7C1{66L&C4Cs=lje4eqm1VV?_sT)7hN6E~FMGcrNPSy< zE%VD_(R`$%;Rw*ed5yQHMMc+?Bt`AZ9+4aTbV@~9~DCaQ$14xdl@Txn|QX)B^9E^Fs4y@_n^|* zVRt#5XBNI9h3>e+UcC7}BmEx>7?NPiADw%&`QtZz-`mZtx4SJDRLI=~k8Rs59_-ie zeoniDUOdoCoI=?Ktf$f3Y*g=TIXa0j9`ZFL_Wj5%%#Ewsfv7Wm|Y z1c|hWir0-Ar!bI1B7bC>qv&t&NVt=z$n{VEvP-=at@7_@VZb0FkVs*!6h7HJQ>)+9 zhpzH%P^97u2FQhEk0}2;+|~H<;=O@eao#_wsLyeD#~nsXo3m zWEs%b-xWU;J~!x~sxJLP>x!eMfOS%3;$?kX&JvL#2v*MMZtT)=Rm;^v>m=Qtcwohv zL%|+&?Ir$$OYZIh{4V!%+Wsq6O*xla{!m$6)}4f9f2Iie^sPx6yc_n==5hj_s1H)hQ9r0MBQ&Ay;X~%pc;g)8UihpZ?DSsDa%6RfceCF);kmdWs1p89x`ld?KnY+t7xekc6N(Y= z!>qIL15YW2ASa?9uL8c(^Wuc!jnvg4<~D9wLkXi@>=kiiEY0abg{I z^=_Tz1eg&tSZK3ZV^vjStk4DrQ7BDrH`(P*txbV*;e-f2Y+wz`6>h;)vbfk-b%Y9C zIx6$~U$ul=J&mDNRX~h-NB>c9Xkhkx3g!Lm1BbaY@Ooj@eQ8K(U}9m9JR?({#cRvI z&2Cd%^lshlC%wIUX14le#-{3xsR7zJE=)C&4HTFg8+`_kKieD<;yW%$3_NK06zx&# z_~p{s)abV8SdLi$$s+7GD{a!*%BnQ?3-J|3gFy_7qkypjFL`(n`TI+Cn>&*lIu|LB z+48(xazW%d$mtkg{*4@bC<(=L1=R+XNU+Y`)rGK-8iXuY!hm*(dzQI{Vyg>`-(DMv zpH*YARu@ZWxj^z_i$jd)h!_Pi#rp+@+zE(ETFgY>Kd{c?JTiftXxi={7!u?I5_S~i zM28ZN^koe`4#B+O9-G3DhgJj0ut;>IG`EQ}PF77SdI67JY!P9W`(-O{wIGw>KpL$znl z&IlVhgs_n1%hdaG2w`WURob1E773dKNXwS1INUC0_75(l{LUBUE?u}FDvJ>X(rgz5 zMnbVxaE^&6fETL9`=x3SG-7YYa7+XZzFcUAyD+zHN&Lw$w&y74v%~)ihsRuCFsN#e z!L|ns9;5_tTiCg|6gCUmm}9W2rbY#iG25&+*oDuCuRif6$}aW+kA_Jej)yeSQzCLw z?=jYx&whm|Jlv#U&i}4K-|$Z4yQf}RzuOmhk9qGdq~u@l!`G>Y5hqEm2sfF+9l!QR z(i(@jxVytBG%g&;&&uDMQL}09-=?|1fC<}%9LUR~s|}1bt<7N>%k}A^boIPdg{a-| z7%`AI25+o!^VEz9>6g0>ZCYg*GOw;s*X}50w2nqA3nL>7tA*9S%Qc14=H*JkYr=*h z89Uskop+lQ2DL$e9V~qpU<{3n4P|W}DK0)C0ND$@H3sHHW6ZP&nwlw;qI~FV`I2?J z!JgY|xob5Csgz2JPrJg^U$N+cxHmi*JK#eIz{^JE>^iI;rW(CSy+}^*!`7WPhv~!P zAOspj#pA*afOx>&*R_OB){^Nffr%(wXo?<9?uzC_H+y0%bU4BbwAVF(U;cUbB5}cNay^8C(rZv7Ld%% z0LaXw0^c7bbbcTl;hMQtt(9xmNNPP!u z`pv}WJv`P|4}+W0A7V=24}vGVQC^??ycfdXXnxWM(7PXB!9#n%y;DX)R!;V2Y3Ht8 zKNO&;eDksOIVTCmY_IwYi@9dM33Ng7Pc3~6`Z<%=MD;W8_Sjf=VG(bcf=l^3`lHCs zIRIX}dwa-YGGpDv9u~vOiVBHdP<%r+c|^<-y%F``OS~Ii$j1CGq!{4TF8m$C z7J?rL1X`gI`F!N92C#-%&k@8T4d0|*eLRgd?Bn$}So)p)fqv*{%X8=R`YMalcON45 zTC`3rkoD1=%W81eS_vsGjn^#h&yzrfLvELM7p_*g+|*LYJI-9eCP~H?&JxiZ+HH7Q z?b(Cv=&cFeLeWxe)U^dU`QOP7vm1HFXd_Pqz9%iNJ63nd3Xj2PBi4wfBXnKJVI&g4 zT&iK(^w6d%Hve)7ypXOCE-{aa4KiiZtmCsj($kjIFu}3>kHU#HDP>~AsM!xY_MmQ! z?8CD0X-|OF7YRJRB{>W0$=bvr8gi;$H{YJ<65<$Z42~R+@e%J1PT}s6gc_p`s>$`{ zRj)-Ro;Y}eu|LQwC1j5+<84%k*wVAVe+f;Y=?flH@>k4XWeKoo?9O$MUJU!igr-U_ z7F;U`m4>FRhedA;0^lyOD)N_pj@=4tpG8FN$W0q8iGjYt)w=K4wn6n^MKtwqP4iGX zV){+}5dvnw#{N#Xx_NT7{csh4TZ3;=&Ks=yO7Ka5ttGOvx8;=ZRMlW-WEH(i zzr|i4c$6)8Qv{pUPagEa^`oIK=8*7gX0%AURE4_R_$GLDKL}@f6gipE4@`3tD zeWd!&BGk+%J7|8r>&Z`Af`xbU(HT$OJ8-CBb(|F2Ym1;4M5(w1-^?xkIAN zIvO$S5jbm8ZAVxL;Dp7-SSn(gRTERujFmesYzc78vrUx^b07ppAWhaLKm%W(NwLQ#_6bQ7pr^-jZ?QQ^5(~WfT%)CKTTFCl{rI!HITa-xjjHa(* zbQ=T8xBes0E>D@IL;{v;A6PFEuu=C_Ow)`!y=&`L4j@#M>JlMNR(j zIBLUf;&E4CKKLK2+?uDsFx!B(mV#(r<4F9Bi{?GmIC4mzH)-`wx zZfw-G=TfYvi?JKugh`|pYtEpWCEtEkYM-`fBASwrF@?E-W}M2o-@-HUy7sN#byOVx zs>q6#7;>O2_Dznw>YqKblj*&0vKy?@sAFWi^81E`)}>uRv$fpkSQh$T8Q0@db(HZd zzQAMuQN>o1VFfims6WFstCfCzlHJ@??(S5rC~&*Y*(y_1VSKW}QXJJNtm=~Edoi`C zs5!VOnDx|p^r-bI>o|c&mSa4AP^IPlwp~6#;Djm;;`6m5Ug3QLVRy)J!dqbvb|0f7 zVuhjV;_IGJ1eO4;00@vB5w%4{fR?AD_+?MWphO5-9*n1!W4T3bfduLTj79}CHS^aH z)=6M9^aeo4r#@&*+Kz;QkoFtpsWxc7R~;p;dm~l9_sF*lOJHSP-FISGIjn+}`GrbY zyl$-uj!RU#kGJF5aP4Xcff5tXiRgPHUI*0Y$t1`!r}Bu;mJBOn*fIg4C(K07hCBp8 z66mXA)JY$!Pf$Pk7+V!E&NXB?siOci|EgyU^#3>)E)%7CiW4=w)4$mQEhxMdph{P$ z!kHjB`qhxdx+rIDxAX=i{*pP1JBx-fZ%JTBmV zYYeuIZTBJgfuHyc1?P|CuFQZ={aBL!;3ydUpMW31$Ih;6_Nv6PI#}4smo$NWR5&S_ z`27-AwilYUNZF~drrkz{v+wO|S4uI%gRs5mU% zF=GY(9lio|3tT()RV`Q`hQ;8FF9E$Qqul{DnzX*E&lJ0c(30B6{oWz9kcoG=rLSO` z4+!`8)9z9g!ba^I4E4j+l;YHx|H3x>*FI}jlI{eD-{M@K;|NKdl*S~6d`;c+G5Kn@ zD&(_r{1-Mn#kT$agRkAswsl;5>zAaucjsg1z_xF`S$R6_3rrx_CAIZ2Z-We`QlXsB^|Q za0-IJTY<-|bxz|^(FhV9Zk=*6R%j@P396FY&5mIm8kKS$Da|fLBjSLwRJ8Fi4w@c` z#RvL$oKhojJ1)6jq3jQbQR=-E{p_Yn^Pe>R`L1jNmhtD>2=BJIHD5iXD5q@-{u0W+ zq0@a{iT?yfTu+$<1lpu7QK?Fp67CQOjd}QCnlcl>-*ycDJUb0l#qLi^}fl%34G9@tm1UdwBgoc&xx(aHqIyqDk+C5AJo`da> zYC*w=%b~Q|@g4bhzToOhloHKCD^Xm6oRhSB@t#Cq8G&nWBO{`UTIopVV^#j%C>6>F z74qYwBxrB61jYBWMR@zGu=CI4@ps1Ke*O#*I(TRN@h23F78!OqlTU0qk?aJhR21Ed zkHH9h1SmR6tvmQ$bf$i~8tWptu>St`;%})8bOij=Zvjez(I~=@NH-E*o&4_*KWJkj zHCGHTP(rmc+d32Y(x3O_tFBHP3-LmjZPmWHd4EK+bipk-16-WNzz!JO+gNQ>8;k^( z9G%XtHr6~~W7=xub{oqE5W)71{>!=nLEEq3X8PgYZes!QZRh3aYP6y4?(vTt*hC_? zpxy4jEm7(Ck>AVhH5bG5o>EgWgUFF-NN%Jxk~0%4W~}4_K`$M@v#Bp@rbfBQuTyGz zd3{Yg@pMwyo}8kTh^jcFzOhNy)rk5gLmXb0qLl38e);ABc@EQufXFrVW>z7V_WJxd z^)G$BZmqbl{pD4lgjK_;9`RURtr8ZWSHj`OLEAnP+h3#bdb2xhWdquX?hy||G#ZnC zGH~QAgJmsQa;pGuZlc8KlN1^Fn#c}!BFre!7_bx|Qous1{#OztrzGpaEqBo*K>cjc z^xKNSFbY+KKR<+VIu;c#Q3ZUu#9JN^PIy!ZTw(^9p%q1pJP9A&eV0y$7{L;WI%!oe z;|7$8uDO=SfWso;?v^ylbb*07S$I_DC-{)yjEvxtj1YsvPi~hpOlRX#-qCf9Pkb=W z(x@Z0Aa!*riYo2_q$RKYm(bLy#6tYQ_nC>2p|_vIkP%Xn5geSl_)nrT!)1XwU7)P7 zX&5RAk4piL2)5oSdH-z1Wz73tdHinGyPnRUc@d32cV3%cjPKdnv^YusQm?%!L4g?r z`;&+|KK=@a^jKpR2Hwddx-?eT16Hf{g4?UD=`$5UJS~q|#RS!75?I;Yse)C}qJ%S0 zGY~m6*$v#9ku9(a>#~%DUlIICZnp`}j(@QVop}yGyFS=!Afyuvy@S`m`JKIyGBl=C z+!Wb+fES5LRm_^DNX10*4)jJgiAynPS!8cPK{C_QDtyI&2P|SPRd_#D;+czfRM4Or zC{m2BfoK&w7cue5Z@nXzG8g~(=VGjlWLNFH0i%qBs&>>o^;UdJFZy$rU*^8Mep&l! z4%1ppF)MLqRMp7xZ^ig88jFjapW(&7w2ri(Qr>NkF|`0o1!%RzY=4)EYQ44miJ0)I zv)J5po*@2q*{y0+@!vaSd9AdH4t1sk^VcB-D|n}Df`=C(I0EF_GSXN z`kLxWw4)#Nk9%xCaJ!w{y$|33YZ2~B;ldd`-bVpEeW|T6#)>$ppYHJD=6fzl92B~K zbfY*ns z`GptMu~B?O_E*OFfaBEsCHDq>o{*S~ir{8pHAjf5wE6o5_BbefP@WhU`eSDPP-%6V zX$hXF)|Sjs=_vFCwkU0)d@vk}vv>UP5S;b0p=PGRTevcKMBjz&33GQR{DfyAJO(eM z2y8_~t|rGPgrGFTiqnm8W8%p;31~$W#>T2 zbI6()IN0VfD71>KA>g$|KI!7kx3Un|WQ){L#*`{Ps?(S54I4Iw+J(U6xIdgyU7Z5^ z7hdn50{0DYO2P^9I=%luWs2kd2b3p z1!sRj#XY!{0~y_EUhW*0HGxHfl%jwe0X5Q5<5eT?SSTtA&MOM+wLz!>HGx`h8-C0I zhJ97AvOTrErP*a=C{Ka+Fq{bh6VBsjSY0j6u}4wDs{Q*Z9P~{=Bz|-Eq-4@Oo zLYN)053#U)fi3)w+hosntlIHR+%Ywhtoz2yM6AI|b$>L!o@$-w+Yzgx*D@++F5P^@?+1xlzmEr`75 zi}lxmM%`F;kIE(*ljp^W0(?Fdd&a!$V}TQb=td8 zjchK{8FvGYh+DZ@PyD)nU>SDXn(w6%l>dbf2Q`=?YE&-5%tkKF;KLglc(aZeiQGHw zq$x_Fq=3UeLooVEZGVBCdg>^9*eX$s?kC;(?;+n z_zlGEEMoG{TXjh2rXyPI zD@fd4RDt(re4tMh%fjqR;MQm*+X$4kTWMt-@*X?t9uFRmZe!kuK$^RrBiVv5vv}MH zEV%b^f@}$*he}rz!*Tq&7nF5sPK9toPH8$vfo?yJPDjrdH5Y}kT~w4$UrWc*TMB2s zUL;@idZq!NCg^Sv4FBV0PR#yJ--lnlZ|D9VUUZUk@~UE8F#9@Fy1M$qX1qUs^M~pa z4*mw>D$M9w0s zhy2$V{A2R5zCL@k$J1`HjIpX80avM~e{|(agT6U04@8SFE3`GGB(aIXelxp|+rq9i@h#o%xy1m(GHlX<4oQ#yZ)j5JkiZlpt zwqsze0v=-_d3lKaPLIKgT6paB+9iDZMbcrFf9u=0%rR&Cm|D@DN2#LATjoIK?jp9~{M zIddjJScnUXyLX#s0SfZBXB`@1(b|E3%*W@nvdnwM8nCAmfT8`=G>QZSH?>>1ObLCV0y6(@Fal~4DF80nH%^8h$52tmb z9Dfme5#K_h?NjLU#D`MwGzEGpcnYnc;ZqKY^?8bYG*V0QdCFTiay$;|btJ$LiH|e{ zAYeSkb?xSkt4g%H;4#gMwW9GzE!MB0#anqSv$0Mm7Di^yEUQi{bhX;@I7d^&yFg&^ zeU-+r3XKvz7&Dq)9Q(4B7{QD1hGV~bS!C>WL|#t|QN`c1^7(4xOT4fIVItdIU58W& z>VsV_i{mgOo!570`&QSX!?}kKxwbaf7iV{*%(u!AS#*8P|nU%+HF7SQ9ln z-f88rjVzccPDvfyM6Or96brn(CeU6yAE(df5KM5hLN=oUaLOGYfWpd( zUtN9hD>HXirPmNb;h!kC?)>OVF9()~u9fvc^g4Xu9x%d^;INEh-$V(mzD59UddzP1 zWr#c~{P9cW`ylQ(#{4n&+YS2d+B8KoJCD(@dm0ts!Vvj3?>U*5ba(#-7gTSLYOHI* z$3X}r;2|B9FIupNtnb!^m=#<+BWne^2=b!>fBN&9{n12P4#kM6u3vHbr}g>7-Pdae zUL(pZH<2LuL0qqbluShG)ZU`4NG;uePc}@I<^ZqV+mxM!oIU#uX=`50nVnSZf&26Q za%}$qZ#~s3UN>}E`f$Tc`2yyJ*k*5;{MPT!R2PI)-s|O}DMgQqc`sV_nkV<7>>l8m z>`*IYmxZ?rR`_Uu^k06NIYUS6xnW*#m(44RO5vHGo4IVZw@{E;RZ^m=6$Rx~hrYbI z=K22-$Fe}AB=z~;wA=TVmfWPMf&+~kqR#!fftT8h zHBOUmP=!d1>!Z(3ZYT_?N@px?*lLy5`!VoDsc?1bi908bBd#b5V!rM6St8?I% zX2jFB4OuCJw+c91(<)z+PmPOqp)9;5t(X;1I>y(oFINRp7<4MAf}8 z)6Sikdw04*XER?S3_g0SC$yxNEPyk{dP)TYD?UWW(a#Ut*$#`a^wHvB29|LMn?%Dk zH_+!KZg|++bclh?aF?R<;6Iiix%(;zN9!8tJLrGT6Iip=orqH4deQ*1as1oN&8G%( z3i_q`C0c!ZD@k28tRF5@lPKiu5qhxsXIden=I(cyK`igPyES5J;m@0azObnX4#>Xq zMEm4UWhsK23a8M1?V`h#d9?`+sv37G@DHJB1(2Evu(jb^ad~8 zWqmcqK84!6Q~I2FRjfu>)A7Me@0I$I<4W?v+_k!1U-Rw9%MQA$^A;*6g39F|u(=r5 zeyXIuf5hDvypa{43h-~N*t@r)(f^x+y&?2#waH*wR3RM^BXm;BzVSbnw-+z}V|-r= zDd;HG^rt!>=LquSnQ{vj`(TkI=%b zMomFMW}b*r?p~X>ix$i#mzOPQ7A6auyR~+KpmuU5JDWu^9lQ`jOC#o$fAs;2;JFyi zd@DBjdug7IJ6=AK;5Od4`1Sk5h)T)w(qRK-1p3)fq`pD zyErY280)I29T@fh&Jo*O)jEG?{+{!DT3YrbV+-J7tTrzY7q=yxR7jsuPMfW|8T7w6 zO$olia4|NRoThhtuf`6Q2N++ODdyQt?WoiPl_$-I52swN-15v&}B<=Bjwmu0ke zOwtyKO1*&dcAu`2jQ`n<*yYTF%_REs!U8Ed*CohQom#~m$oNYQ=5HVLRr4Etw$N-~>uWkf#|uwTmk@uOf%SQLn_@iHq{*GE%>3e~v)QvX4W(S- z1jQ64=t4s#Is(cWo3EXG_fssLe?!)p^v(3elurpaaG}|9c=XFu z6+AlC<4?Hx{T-AX+{xS^y7%YaGetkhsJ=Y6Tph`~TL?4fT*nIh7<9WiTl-FPV zcCWViJfFU7T|?HI&5VP6^a(WWykn(o>~hn$zudE)7liUf(&(433fVhHmK}<_vH9ZZ z-z0U)ZhUR*Pw!4%`>wXr`!*coou&Jh6+#QT!c3IgEVtw6F6|!7nh&f`*>w#sH=ZTO zb9fGZT<@{sDV134JiwF8IxoAy!V3(S5FcUD3jecQZ3=xo8~UxG@*^7ukHHi0rx49- zifCzKfk(K5TKbsLXYxl);1`+eR$so-pjokd^bOG6E`j1~;H8Jb=hsYuhcvvYV;XTU z9PtglrmE-EhzpvLDUv4SGors!b8L#Ik@N-=gDHu=rMXLKPnge^FZvvS*Phr-!=&KxF{MAbdEX$=RABq zsaE@mbEac_Q|4UpC7rhjk|5+>M$+4KLen-p{Pt}#l|l7ORG3_ zE`@52Up;5p1F_4%Ffv@{&%4H3G%#FZJ6%iGXCM-D96LR3iDG6fEB$~ygRG}(t22Lr zAtaAaXv5eKnT6FpT9xu=s|?Wkc8QS|;(DA5x1Jb-&}k)-NP~4;W^_+0K>8$y{$W(z_AuRFVQjkiJw)L1v6NVbL#>&B{v zw<+<;kSaljzlCUAT@xvtQJV3s`0M{~iwTl-5?J}mNIWnR>rHxL_6U4l}fxLg^NMBIsVCzap=9``9htvR&p8Y~9c>n3ukwG^mN zgj~QKqN~6|ti3IjrgL^tsf}t$8CD0%SETi+Ca`9<dgphY(0&l(}3!#(;gZ{dw94zebNQpixouwwq}(fjoET-V8s4 zKm!9zL^G>@lujOp(>h|6vZ&Jfi4wY`7}|)|ko1pcQPJPRpBcyMRAEy5;DHt zLi*wO0luj*`M~iXNIR;0#mcEzo-25#@n|%$el0;s`=b`Py}V#cnhyw{>ZanHjU^>w zSlrcRcNA%9U|c{;!8kiNa<{cG?lQcn4C)9vljqk^{0T8T~qdpK~@!kPERL=NL3i_WNHlkE64*@rt z%Y{V?!YY0eWfirvLv>1#_WU3cNNX?g?r|?$Fo7?(ylIQ43oz2=5XClpAVR>o-W8no zcXEPHhlq}`gEE4UAS=+_-srPXccR}cg=T-?{t)A%`y6f7(6Ar0Gzftpt#y~yygX%F zy<~~JkHE=L>)kAUYMtOl!{#k1(m}hY&2$tF`c8{pg=lEoDJzLRmU4YjFOm z-XRmbZxeoA4)ko;&|NI0W`dsvLGSykCh{MbmK-zPGnaM!;|z2=fK=>FW)9t>2E*uwz&zwB zZboDTc%>Yz9wQZYf;PLq@GKc`i3Ggl)bA8cn&s9Dq`hNK`pNDRD~7_AWyWo@8}J z)CG)MgFeb&C;OZBe_PFHJOMJ;=e2c~+~qRP{=%Z2NB+5jl95ORBFPBVKmMgzXD70*mGLBtzRG`aMrJ-r8}~G5KV|Wm|bpHX_eRrV?x-zz-5Br&-=cdwtAEA(2#G&+5KPkE&V$e z47h`hLGqNKv>Plva%iDBNRj5hJ>j6giKmE6DMC}^pnIH?j%y197T7{M$F;C0y@BZi z12y4ilxq0!FZUCy*h;>eaj)-Yi7&}7R+a_NSErRIInEK1w1dmT74w1M_yR7JrdKXJ zc5$Nb$Lf|ZDE!zD)rqriO3}90bI&2coUCtw!goVdNIO@!tSeQ4>ev}G5EjzZWSj9n zt1ekVSsD1~cV;8TTP(`J7$RrQiZoy{L}G8u#xp3qmA06HV$nv0s7Tt>6fF`Z9Hp^P zjKwI-2#R=>K6&Aw)0p%dA}=NF{d=0yOLT+Iq|qH-7_e8+3n7q+YNXb}=_Uv%CVCJQ zbBeuz5CW;gR+Z>%tHRXb3LpjnpWYF5YuAF$+)?%Eu#h;i0}BUP$m|v!yI8}lVOOAy zw2*hv!1c3+!QrUQD;iv-ekpo{MpwJzZgb<7-sa#00Ujy`?~uTCPh?|IQ@)3 z(`CZd7dSMh=8#>*&FF5;$r)a0K>?WQ7o9^>P>(Z_=bRcnRiMzFhp#Y#32E>~&Mpfs zpi(6;0_8!-wSfd}dPmxA7f{0A(Gfd~(BGj{9e1R%1=e{~yMm|J+EQNPIh;1#4*ag0 zpJyCqzaKnn=O!9_pE1L1>tQp`z;k>_t=#r! zhs(oDwx=!4Z*AFJ-fK)t^$}GB$?xSqPpGPN@ESX4K(W8Cg_&-Gb{bYbra#JtlZ!_?;d&3;*R9) zh{^{9Z$*PGHI`hAjg52hN=j8~6-9}z!N{>TOs=J-Wl*F_&Vkhpr#Nm8HJqF?uG}eb z`Vo~=0!3JINGKJGfwdjMieRe_%fSAs45z)I&KXqFz2{|#Xb1cDjPhyz1w*N6N91-n zXT{wkM|vkOUzTV-U2m^a?vk_Rw4*xflrSV^M6fhf7d|iCIJdE&4%!fPF@_iYJ!ein zaDTD%_k@T${0GY-@4gV>lvUS&6@`{jKTj9_`M`oh2aXf32=4zh9>r0((@ev~hYc)& z$KdQH5;O_v+vwvqX4$whF;0=tu_)n`2LVS~(;XO`fZpo~rw#dYk#Z6z^5q(usbo7j$t0S7KI4SekHduuN z;PH;e7Tf^`g%NFK=2;YzsH2}=v;F&wRkE1jT=K^X-=B!mf+jpb@sIbZbGAkB8v>fI zJAGN#>?ii!lX8rg60~8@t;q{uP4diHkG_az(*(5v)S`=?qgiPi zfPgByOTdea?j57v3u;3*zftD6EjtedD#aeNhFP)j*gtt_Bly~TyS=F;Z>xv^$ z<5DSj!pQ|3I5FLjY*dg^x6Ee8!!On~o;&fRhAn70xq)i`l`Tz?3YwR(-p15k5Bvpm z%dW$6s757lYokZwl|!BV&^U!w5$Yt+^lSUa?N49u^!zu(hkg(0Lj3Tyl#VG#8_h_8@o41V1yt! zeeP}WP5GNU54L9oq^~@Dln4{BUEa-HW)2H@Xf;o_{`lnw|7d=T6Q!WOvoR*gcPMel zHz}sk=|4}eRwqB&|HGF*ZhcyV-G(E$wgL>wDd}9oi9&n1wi0mLz}CK3pr^53W-xl9qoPT#}tQFYLWZ#9U+G{*1q=3j(lF%gWl5@Wh zo$kIX7Nm9Oqx+FoLth{h==Q%6Yw;pLPEge9ljlD-%zZaP`|&Av$57`R_sEYjxgmSW z58TQ1vo|oQu_5AE)2h$XKU)=>|L;{Fp?|VB@BTYJM@UI#^Y2Y1rLmJKLJt4keV%u+ zztD$2b?7~4wk@pok6C1SihvKE z(*eNIBxE*?AK&_xkU47^Tx0CNFgE|>VBi=dFFa=W&Q-~k-Tzqk*_E>Xv-^tr^qt|D zaC%8GVuSMr60{oYn63@xbcOYi?iLMSIs-a(TDJi>H+ z){aGrqL4XRgDX3-xJEi?7;j&&B=*e#9M-Q%I+96JHi=tEd9q;ctvZtUTD7|2A4x#e z6H_KD8zPz=K0Y?ib$n)uw}HJaFDba9@RN=YzG>V{6MmP|=F>D47||e0E;@#}WTkg} zi~U6Y5TrPuHWo#T$6WT~RJhQ&Dmlw9g|$hmrRZ!>o=h**>7;rYu*Q4X#q2_U z$h?c+8jcyJ3KFCO6KgYe-mf!$nTOrX5}2e31yhD&J$>Ec?tp%SneM|}yqM`jHyipZ z%=efjrhiXDRHi6ladvCA7{;ZD{d-FHNcvS~Fh~x934ZacY_@w-68xZl`3MwZZ9H;%f4bHUA~MYP4O5!p383A<@~nLAN2K9>c05 z5L{xXJ}PML7Y?e8dzVDnE;NRWgpXY0OHxpeR-ax(xlLJg`e^-WJ{b7Pa_cdxoz>5% zW1FGxj~)e{h(>|0)abdbW}yk=(@W~Bv{m)h5HF+=#COy*iL4|%n+YM%^y!pVB5s@$ zX~L=xd3g6WI!|1+s=}9m`{@f{d2!|~+iaguXQE-@yg>(~Y?h_HD6(=DH2}qJYkhMxwh>k^}MKM7+(<4lI;T98{ z^nxlva?;T8=t5BkD_WnFfFKEpeNAr#xS0FocY3|IB&EQQYvy82RJmP_UGk$ZlMvAY z4!;6QjDr6AlZ`T-iyC1IPsVSpbe`_hRjuw=cQrE=GlWSMrbf*GRF*IZfm90|f}!&* z(sF1qca=-Tmm~xwKm9kM+!Gg|=f6+pI|C{lbJju#=wA6pOns6;-_)q@61SFZOp2-d zbA>VeLri4#lq4l6EHo!Ov^*!Y76_L~Qm3jTV?LxCD;`ZefCxlz%4o$?2N)=yUgpRE zzS>r;W}weDS>S1>qQ-64VslYiX^!RSfmV^AS+S9o>S8B2@P3o=Q!9j$^0*37twf$(V@PS@<3T&CQ)!=!)pmyAB7^!UCJiz zt8A`3Md4nIzB37)kGRD%XbNyC4G1u*=(GxjR_#dEYn?(z9+-%7;p3dBl#d+A zlW>$l;vUJLolh9_ixgs45rMXLJA;e4#7^UdpJ#Z~cQ`=E_n#)7>V$LI;JQ10pyt04 z@x1W@$4O@gaGbKCj%eca+^4ngi4D5<0T!%kO|QqfTK|-$>3HW9tkVcXw*g% zcwegbRE|6WQl(^OqzmQn7z^2n6s2eM1{Kt>Cv{y@cO^iVP0~p^9ot67wr$(CZQHhO zv*R15lN%cy+qNd_n>F(^^8;#~I{U3^tMw4bE!p34JFg%8_+4O`iI>BB1k|6cV_6i1 zkx$LA18B#p5O)$0T{XGa*;( zHTOHpJ9q!lLTA*!grHSa_yeTlTdvMlSr%xFr9Gw3Z2ZnnHNB4yE3EqS^&g=j#2zXO z=*!!-N9D%?*}Nn|cu26cO5p9?+?hIhUXF$m8*g>zD*E$7vpx!0lrDL-ozR9vkDPcy zD-xq8cOh&DLA}4eAmaPCT<=fu#Z3PoP31pU5M|D~SMs6y_p{GJQM5>^V|vuy@7`v0 zC+(A+l*PP1cxU*_+(kuA)0&mDAqF#_vXfgH(i)DWy&fsOmK?ZmGAo_bifux(MJ%-w zmzq1ML7D_VE94sv=O%U%r#I~|J`+V#gRB=|$AF`VH#GLm2n&I0bEAPS3V&6 z+d_sr62YgNVK4Uec(Gl7DsMfAmLb`BJxs2)rf?oajo*fw0L^|TQ$I$yi}Rf~Bpl`B zU{y-HR`8)}jNaqKJ>AOc#<^d=jMS zDXbhT5XV|3CP>9Lfu+(29S=v`Ms!dvnotx~94W>+uF(l6VTXx5vkeh3sxBKHk&7Sc zoS3gUA1TV-Gau2UZA|?&*%$@wq9-CZ#1H3r9L3@s$PQmSw$E~4^&|x4ayC~5EsaLS zul$Ryhr6U%`X{Byc``m9Ra`wTSSbSC3I8qW+mXZ!O)V zv_$kfA3ewok0VV*gJXo)SB#c)iKDfOVYs3q@Rb_p9l02}S|CJx1z(_`{4&b|(~wA2 z6-q`sp)MUaLYiMVc#O6NRHBOgCvFiqBioWx-^N`j^c76}K3N>awcT}tb{hx9S)Slhn0_-D3yUP&Gnd8=SNMFwJo?0IqS7_L9of(+ScqUYt} zNA;61geVLv5JiJy}tI)<%yWoYUJT$;T_VW2c7K(}t)YiAh50yBYGS9zCEsXw z9QJ{TM`D16W1A}=pOLV8Lug-q8NgqhQNQt^1uNV?caaWJ(>lQYRVac2`#SiTOHU0r zWUXK3g4uj(IR-Ii+Y7Kr=3-feeZb*j)7s^_HTx=Si{k)}#Ql+j^ni7*V=RYoo5O+1 zQ^(c^QD6_*g6KHk)?yhZ@tE3!O_bxdTa4mB1kRijL{YE{BQsKwMsMKB^$vKvhCJd#4MY3-#?@I)A)EE^fp zw!jrP@W7P*4h6xxUp9(>SvcRK`U4bC)4OR61Px(@)Yff)191Y)3l+JCoF^p}kQnfZvT*2Z;X~;IR`)42GTORXRFgtcn@euzkX`q8z-?v?@NC18f;%M0q`@o z&IvTifA!mt{i+FoA_A^c51QOHn`2WQF7IxAnzc|nQ=L%_nzmAXnB`B!G3Bv;ETJ$s znh3+Q9B#v3-xgI{;))kn0Bhu=+Bc$E*N(IbJX>k z8);tsqEesIn;#Y2sc)79@u~%`AoljRywrExy(IhW6kGOCDtHM1K^fV@On@^Zb1b>WnT(Qss5vo7@nxEy_g;&*pn z#!0@5w`&kQNQZ_VL|NK4kj z-nkN|c&EtJv@U*w$X3>yl`o*T;7U*d;q7uI1F5V3=(L-Mb=c0{nux09$QZshXocxX z*#+shfZHTH;UMr!N2U@4%-r=a3^bVN2`wzFw~+V+^Y?K&x1UX%_qojWtpvQM6Nk( zh4TWk24}@Lb%OUVxA>?4u+n=of zsx6+lq$pVdbIfYG-nMP2^uCex5?uE5OgFqa#^Q646Eqf&p0Qc?D!Z@$XE!@PQPlER zW|0B;L`#V1-|4NIiaU&tHmj`YJ*^yHQzBX((9=w2 z!Xj-;>yK+%OHFV+`EgTBV@f&be|^QE0AqGDKmNcz*=I`KE*svn0R#?pyn&M)eXDiA z0*FGssEyWi7Z1YT(#IX$ot~U}c)J6?j>hyH9rd5pJ`?%GsX}S;@X87&HXSag>iBior?LJ4-+0FY>_R4Y+{ZT@}O9GLD)MP{}_4)d7q@`5YxdWb8u?Ca|t9X7nRs z$hMeBj^9?6Qz4~bEyv2Lw$8SyB?WI$mm_!QiIT{Io1s7enUjsWQNB-*#>DE!)jDV) z_;L-&kjluA@=Q!J)X&YJKfcqh7}7C{X9!y+uXTyfrnrw{p^BLA?3$m7o}z zY&AX1VEZwh?iMv~beZUv!F;}bYWftxjnFm?x1rBEMfBTdc&Kqu(_}IicJCrks@4H5 zb;w{7U*)WWPJ+c*p!Gll-Xtzo=<0z@^9qMATMPqSeVjYv#gQLykt(^?5UfQ z)&bi&{M-`nbyf_Be^Ue~p&fF~P>$3|D+o5tl@p9R{ zPF2*8Ncq{-L(uTzTw=^hvLoywej;>U-p9=D2nA$9bZ@NfG(X2$)8!LjrhjbqKnLqX z9^Rdn%e#8aS71`s7G}qqc{x%RbvC{i5EOHZXK{V@<-%J7(4+S7F{18@lL(FIDOVJ{ z_Z_R|3lklr@Mew@afXb|T%c9aEX6WMVRyrdp$Ue*yAlIyd1*w>g3z{lsM~I*Na=GV zi5ROlXYmN7`}VDVmmfh!k)46LLsOp{^qAXmb@;%CKA&c#0vg>Ld%ZA1r;M+Mcoe}k z?-R58i`C!g55PlfwFi{GJZow`Qw=w6$+mAPtTS4PM=m#TlH)hp4S!6q@g#d(hwG=N z3Y|_xqxtD48WTRBH(z9~)9XjEoEzv|BXZgM+{Ts=cB6%!BC3_TFsRS9S;Qq~5UR`) z&V+pH*5&Gimf&7uT_YqAWZWUF#M@Yg_1%wm=d+%G=sWePq!6U_gMO*Vp z8K5D?yLEU5>*@fq#Z4gJjgURN&Q^y5)zX5zd>OF)Xhmj^`@cJcfLW{;L<^CHSlwt* zC#3kL*dOIdVL`Ti)%i9mKYZ8Q?AQ5%4LdGi37>_Y9k+m2lOiafo?~5xo+!?#BN<{&W~NIr~xv`9i0S(ttuoR5O!d2w5y>a z>?`+cCbO*X^afV8T$mF28GC_YIlG5g;1c8r8Hg4yGbqe~vbtoq<)1H-B%lE;;9sP6 zk_u(6%r>+wT+=1$x>goQuK`PB+JUiswUrzkUoX;(39kI~H~4iTjGn!6{*gSMR<6}Q1DmF)>D;{Hk7NBep@Vq1ULK}( z>|c(S_frS1o4ABGc*z-R_^ftJ1^=keGzI^;=og%Z&z}l|kB`j5W7_-OW1d3Pt}bgy zIe=|Uq+0O$^>zHTh5@oX^husT+BJy(_9pX@-OX9OLQOW+a$$Vu+KTK2MTEFrae5p;4KCN(m@MHZuS}%dPd|X+~mFaeG=?d5m-iUBu z(53D?Akp7OKh7o%S7<@RK7K48o}ijjujJeFvd5;Z6Q%CBWX2Q^zySY{$-(eZF0ia% zd)~<9_tp)lys8rQ#LAqA@)N?l<|nZ;olU z@}3N@`6o*wH0(!3yuU|ShR=GqOes(@Bg&^;lbQGsHoHJYL_5;fuW1>k*5t9bwUb@k z_nj1E;&Yzp%6T#=4YV)2R5PR8HD1=R`IV;Hhapmc&wUZrJtF`yYoC&(#1kOsr|9Oq zKSs-4h0%dfTosVFiGpqIq6-4g2dHi780!FuFm+@TKhZp`@t*=BjFI(_;*g6o13=;` zG!RMg;uc|?e%?Py-jT$W;$(rt#YP&GNb)X()Tuv-6!1SyXG1i;9mPkI_^IWD8iA9!BAq|k@?-9(krDCOC9FR7MBw>%@^Byr~J8! zzgDbFzsRg!^C2LnKs85rBhl5*QP7wnT;pEiJmH6B0&Ucwn*ty2gNzt?MnrCf=a?R8A@G0aNix6sZMnRsVgVEelq^q1u^ zFf)GFOm0vt?_tw^(#)|e-g&$^^QCzu8bBC5HqwMOK(QdJQaHm}oeoany0|dEUDnDq z+1n*MkqqB#eZI^XxfzksLLzPIJ*3OE-oDT(KsSJAL;#h z1sO3Js9+=o8+O8Hs!Y@P_NA+EQydg~it;jSq>HEW*?sE9sZvgjew4596Q}qYO}%R@ zi>q!>9{BL5;cLv)kqho)KwlC~nnnOh;5afZ>w{9M2{q^WB1dHAU4P(RNSSS!rrK}+ zW9OaCd!^~I!L}IS#jlp=hKmN{2`I+%(ingf^L&lr@AnW|i(TbU8w&a6 z`@6Y({UHCA+TmPk&ani+?osaeD$)4rTe$o*lI<=5`gRDZ6s9*>u9kx21EA6n zQn!N{gK|+jY?t3YxlH$Zrt7&b$-rUNj?M(sX6i)Uoq=CFu_dC?Z(nt7aT7Ls2e1o(MRl;bMgw4fcjrMc{NScI!0f9tFO% z@9Dus(gFjHs|Bb9c*?yi)SN%ztT){|yjA>wcea}`t1Z@~QpK-I!@UKXP(1B$KqEyC zZ^qRpNT%8GIrqj8rH%)|wsBBGE4ushIk+DE0uk-!*nNc832!2B?pXd zWaDeccmw`QmX=%exB)1(7MK$6&;Qb+(f+^=-}>p^{U+S4>~yjBB6w!bmjT!_t$P_<~0=%gol^NEqtSam)8NV2VR`dE9Sje-dyiro5z%yA*K(pWSsU-+$}@ zP6WkQ-F7a7U()5fF?OqbYwu{wRqP=SS3Df7p+KxcIT#*(oVX9*Xutr7&TsijAfqbL z0+fwNYD5*g9jtw&rF@);=%KA>`_<;~B{-!q$w%^<$%$oTp%(FZ=S$5IET{22^nBZn zyjvOfA|_`B4Y;%T)Fnw)1Er*$c@F+PAID`OOcjW=Nun>(l|aNjNyEP7(&sHLqJ z<6!h=8H}VxU?A>(xeDu<(9en7rEz9bm&bimsQw3}RR{GwM%z?Lo0~{PA7`AsgwsUt z!YZ~uOP!hc6RoB1M1JKrZg(l>EKyWg6qS;mMQWxl1nxo=v$SR>{b?(@&6lH4?x0e7 z{VGSA{B)ptV1HhJ$U!~aE3{n#yVmS}Nk*YGeEA%*;RwFa>2y-wR{G0v3%8`wi|Ju? z*bpW`LPNmuW*fzN$Z^|xRhk=&cneq%r)#RqFeM?9fym9;VH83Ww)#V#mi9#};(%Y2Mn>(@uE~dB=Mr*xvqsU5a1mQ#5tASG$$3&JFf9YhJqME1O9|jQ{qfzNA9BAw>dh|Z zlFRPjyAMMAjf}YOU&!TdI7;h-sylxq_v(i)Ga^eHhnbwud+gKe=LTDJVn?|U{Rm{6Ecb8|b3?2Gbh{M+QKxa!p zRG&YMnf2(E=Q~P$*o#T_^+^ciK=>x{nJ2ag|8@W}Swy0Ebo!n|t=B8eJK6A5QvR6# z_iT*x;NSN}@_<;lVX({W7TprZ*7 zIxMnPj|G=XD0$L3)64}4HHuP5{s1=%>)TRdb_;Y#CeF?|ml%#CezE*yjWYi09V|Br zKHWcnY2iG#C~cdOdNuQNYW}UD=Wk2IM<6G*993nZn;!V&G|YF7Thay-%YN{Ya&Ulq z)Qps~>s;KD81Iq`Ns-yk>ABm+y|p@)cuo27X)8Uic$)-4qrIz4i5}>Z*P=T)Cw`5# zA%vQ!$VOWAb)oKn7H4IcR$&{`uJLROOHPe!fi58z^Q5CH2Ub)-6dxWRL+8y~az)z( zbzOg;2cBITi@kGqN@2aqWHzs{x%)1|&!*@J<#cq6*Jb4VKbl-H8a(*Zqh`}V)mc%Y zjm|s-8DCw1dl}0(77sZdEO+lRTz}7zuS+-i&v$_M=-IyN$J@w<+c@*n#4cw1=$^;^ zO*bvd{Dz-~Sb6Iv^TXZo8yyRd`{|)42bhw%uXgF;Z+V9pnzOQbWwOVU1t8c8u`&oC4#I}lhrzDa^uZXb|KWr8TK)xG70B#tH{?P zM(M+!Dy2DCPjoR=!fCc`SU`*coue({Oe)jtIDABMR$7IQ?KqJcVsZF5_P;Hg<-h1z zu!$qfWGUB3Xv93@)A`8y7g)=0Gja%orB2f)y|})i?=XMS-1rqJh>5 zu|51AnM))lUVjlmEN3i2k54_$Zsf}IEcU`OQ5ko^&S*St_uI%m97eKQA@IU*<8Ai$ zsbDbV;^h$h#7gMw7{XAtwlDPB zu%~JZdpeXbKHKaLiw_hMUQ4YVBuQs?sKz7>RO|IfX0^*iG}(*gt{xsMLdxY12J3rl zX=MhoB-4ok`4L&HGq1xcosMqk%Z$b*k({j?nQiKpQ_>LhMTK*H-CRn%Ryr|LeZ#=+ z-BUeoQ|^f79lGPslRqaaIT_?29tC_nPcmZI;*49tGki3%0lP7ooGo|xo5?^6iolh5H0 z*SRi6Ic1lj*IuKFZEl>kGUjmwY+borSh}0Am44LFtVBj!wMu818fEdAnb?d;^KYn& z8l@UmIA*Y))p~0)#hentV`q&hCiY(WZVdHDwJNg>AJphQ%=*C2?3R z94w2R`ngX2T5e&(cI*|VU*RRD`-*sLXGp#En z{cKkAt$CdA*mI1)<9prH`(5hMXbobzL(N?>#8AChG~CzPZUv`yKFd}ic`G#3-`5w> zOiLGg6xwL^+CrQ?nQL?|ooX&?wObm?ck_m+G!ZT|L&MrUxkgC0jYrIHTf%bltAY72 zkkxz_3sIOsVTQq#EamTxW7whz4CoEvy7;=N7RHTf28jrY$l}lj&d9Ck3NUnup?h;JH!FjRC5u zeL+&6z%#i5bH`2C^f+z8t^b>8}C>FMgOseMX_W%zIv=egL>zCNYg zy*5oqy!9T0R+ry2wV=L0O;|e?CD6)jP+E0K3#o4H3Bw_OO~D=`niRwq3foXMyE814A-?hYkC-~ z(vkL42YbRZnDzZloFav)HLQ%!tEJ_euby%>s*!FM?WGy7vQs0lIr?bZaP?N^dD(H{ z$;rjJt@QJC_ICfee!hPP3qXu1z?4fsoos0H?$ZCu{Xy&lMM6vwhC(X3ZZE~5hZxIlimEyf7c6A@-=|jW6d8fhO;y=T zGt*a|COGi`C@($@!BW=2MV>!bDcM@w=xHn!o%==3?>Cj+If)u(2y zo6ojgXOADVH)9T5_*0+OudQ_Tb@p~wmjw9vdHNuTK}e{Bzmkfu()J(}lhD5B&NtyL z-vu*7CA0izXxmx1V^+HBdi-4{!Spf?2oa_rV-Df}xmaLhFV_t#xSQrc>LUweSaflzk)Rwh2r{&X<#7OY z-w76RSnd-aVuL;RC%>q96y{$j$^Pg9^xZRTXUDrzWi2vPHarSs4w1hC&b-NF;a?U( z#my!R+z_GjkQuEbB@8S|7Us9whvo1&IR;tNt*ZyZBreJ)SEbN`$%?ZZ3oXKb`g~jMn5%;5=gnuW z(Y3_ONqw7%doC~QX<;S^(l0nM4OD)k%`eMb|CJddtg&%Gr*x%p?+8g0UCpI5EgkOk z^v3Fs3nNit>6c_ZJvH_<+kA@{yya`==c6Gy2q=7KvJaxdW3BL!7&SGP@^BLE&OyU0 zj&CUMFH?35&*T1X8HU2_);0^ON7Jd`{CyP=6OaQ(&{HaAw^t3%1?&P3bq6 zY38nD6i~VZUIL*#_Z&nUMP;fMDr7P`=a&+Z9|H%Xk+1L%5YRsVar~$p*0XjvLU<@g zP8b0H5j9?VrRBaA;xP=*x1KV#{~kilN!2tzgC5LDPm99&l>=F?7P#=ejEPCYCpAbSnKBH^Z~9`fS&0; zlR3s5GbqzPLyi7BDJ;8voaNc**7-SW)XKJUTbDQuHi>oAX0wruOClFL^4#qLE5tma z4@dCHT^xGLcHl&rnZfi7E|kxt(y6&-j5m@OHl6Ix;?o+sZ9RqpXsEDk!c_iL@R0g8 zhX8h5=J3TN6%hMs$c22Kw`|`@xRLmC05Nh_vrcgMj?|xoZ-Y&;Up#jOwN-_#xBzk0 z#$+o`Z&pB4Nz!_&z^yf?bGDajK3&%tE6b*UX47-6N!eK{jhxx4zY&wD4e-E!XLv|Ggg**v2-;ZreyHs^34CB6K?k`X=r2H&XDdmNnS1TExpA+ z%*BG@Ec@(h880P;`FA5FjCRrn8+x1`A) zySS7H-4^e;^4I99p>_-Ym!5?z&NZReHU(YC@KD$4^s+9&F+%&kgx5wx`Kc!#Og_ z_&67JhEFqx7*-}UZ;NIr=!m zKblMVt^?t7)~ye3b%gc{#dD3Zb4`3T2$jHT9H2<3-AB{8c;$v--yHiK*FPLwOKdEo zG<^t1@g|#X#EZHHDKC z?owGk*4>#V(;$}2R#>e_G&Sy2i$m)=C8o-RAWn)okov{XBzDUx_%_rJ}35qHMETtsArDlGdI2`ZeLj z@_{nT*xRz#L16gi`dX`PRNZ*kInw=&AU}rxkXx|@-9wo#Yxd9I8*Ez=+!o9dN7U?R zu-fz)h!9TA4JTe@ty8mfs4MV7UEZi7$uM3wa3`HnUR$>7i+snX`vTQHcpj{pd!uX+ z%_(7H^JYIAK!aqbh}rFoKS&}ov4tb*7V}^Pt%V0B6=DM28@7fdymK|2X9G^o_DhJJ zoMvw`3)9}>hY!04j~`K{N2_;S+r$9kwK3Y}ChoVa8Mx+uhHnXHz#R)@V$fOXPo8NY zDIq~fiajrgK9*J<%zo=Yo|+f4nL{I59$e^>#dcsP55dX5P0iWyT=6H#-jNDJ zE=^#!e?5QCW)VDQn^h$3WAFnkPQ3(|m+4P`CX>g{2VheMDM!oJ`Xb(yzOdM10XzTd zwd*}!)%r+%v)^kGXoDmUVSYTF2F}Q9!L)h(()x%&MA3>p8@O~Qtf&>#&4=3k4+|Wv zWf|9%SGIGvV@!3uzvC1!H^1eWybxqi9FclC%Krg1B$e1xa^gaHEN$syU_FWEw z%SM%bagh}5S#aBkmGhD#qWmYiru`(5%g!G??{f#N4WU;&b)!s4a}N%q#FYWF+$zZm zE0QS^rX#pm*$RfI*>L~X$|)QI#}xnPZ%8MumXoyM1F#dd*^6|~no^ytN_K%g<3-yT zH^>Ftoxz((j?0{CLs%5ITeUAH4WZFLL)st2;Xqpw33J z43b3@aHV2!RDbQ^0A033e?r!8L36>dRf!iQqOz!=GSfFa`1Bj)Z;{5zC|^p&UREJ) zjdeXYUUAKWe{g*WlD*Q7GXH$uhUMo_Lcp2ac@7jh{n@aEUFlDkMu0yymig}~ca(}? z1~w|yM5cCq^tKOI;f@`2a~`bKFqar_o{02bv)`bmD~#sMQDYOQ68EGIP4X}|McIjI z-oSGe6SXd})(>AGI~C|gt69E2`M3+rmo>f9Ufbjer+Rvz{d&uyCL!ZS1&Bq3efOOI6+D&v6-i>_M2YTww7; zY0$l{u^%K&E8&tdV42KM>6uOVN}Mgf>8`TC($(%RzNW|uh)h0ehY+Pn-^ULQG993w ze^$};6AX%_YQrFk3Oq&(ZGO<>Qop(L&xC(wB+Kgc9QukPrhFR@xmv($wD@Oh{|<|z kT3U)MtYVdr%y{&Az&}1iZ @@ -54,7 +54,8 @@ placeholder="Enter description of the gallery">

    - +
    @@ -75,11 +76,13 @@ After proceeding it's not possible to recover your data.
    @@ -110,7 +113,8 @@
    - + diff --git a/src/templates/images.htm.php b/src/templates/images.htm.php index 8cd2789..b482934 100644 --- a/src/templates/images.htm.php +++ b/src/templates/images.htm.php @@ -9,15 +9,15 @@ @@ -67,13 +67,14 @@ - + @@ -94,11 +95,13 @@ After proceeding it's not possible to recover your data. @@ -125,7 +128,8 @@ - + diff --git a/src/templates/index.htm.php b/src/templates/index.htm.php index eb2bbd3..7fce225 100644 --- a/src/templates/index.htm.php +++ b/src/templates/index.htm.php @@ -7,6 +7,7 @@ + diff --git a/src/templates/login.htm.php b/src/templates/login.htm.php index f1a2db8..660e50e 100644 --- a/src/templates/login.htm.php +++ b/src/templates/login.htm.php @@ -12,20 +12,19 @@ -
    +
    " method="post"> -
    - - +
    +
    + +
    +
    -
    - - +
    +
    + +
    +
    diff --git a/src/templates/overview.htm.php b/src/templates/overview.htm.php index f10cead..5166fd6 100644 --- a/src/templates/overview.htm.php +++ b/src/templates/overview.htm.php @@ -29,9 +29,11 @@
    - +
    Delete account + id="overview_deleteAccount"> + Delete account
    diff --git a/src/templates/user.htm.php b/src/templates/user.htm.php index 59688ca..b45d8cb 100644 --- a/src/templates/user.htm.php +++ b/src/templates/user.htm.php @@ -7,6 +7,7 @@ + From fc4c1f54b140ad63facaf7ab4112bb2ef9bfb1c0 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Sat, 28 Apr 2018 09:35:22 +0200 Subject: [PATCH 36/73] Modified gitignore --- .gitignore | 3 +++ src/img/photo-album.svg | 40 ++++++++++++++++++++++++++++++++++ src/img/picture.svg | 39 +++++++++++++++++++++++++++++++++ src/php/appl_functions.php | 27 ++++++++++++++++++----- src/templates/login.htm.php | 7 +++--- src/templates/overview.htm.php | 4 ++-- 6 files changed, 109 insertions(+), 11 deletions(-) create mode 100644 src/img/photo-album.svg create mode 100644 src/img/picture.svg diff --git a/.gitignore b/.gitignore index 9c01e12..46d6926 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,6 @@ com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties fabric.properties + +#Exclude the images +storage/ diff --git a/src/img/photo-album.svg b/src/img/photo-album.svg new file mode 100644 index 0000000..339ffdf --- /dev/null +++ b/src/img/photo-album.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/picture.svg b/src/img/picture.svg new file mode 100644 index 0000000..3ddcd6a --- /dev/null +++ b/src/img/picture.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/php/appl_functions.php b/src/php/appl_functions.php index 6b86f46..7f712ae 100644 --- a/src/php/appl_functions.php +++ b/src/php/appl_functions.php @@ -287,13 +287,28 @@ function appl_getGalleriesBySessionUser() */ function appl_createGalleryPath($galleryTitle) { - $path = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\" . strtolower($galleryTitle); - if (!file_exists($path)) { - exec("md " . $path); - exec("md " . $path . "\\thumbnails"); - return $path; + $basePath = getValue('galleryRoot') . "\\" . getSessionEmailaddress() . "\\"; + $pathNotTaken = false; + $path = $galleryTitle; + $temp = ""; + $counter = 0; + + while(!$pathNotTaken){ + $counter++; + $temp = $path . "_" . $counter; + if(!file_exists($basePath . $temp)){ + $path = $basePath . $temp; + $pathNotTaken = true; + } } - return ""; + + return $path; + +// if (!file_exists($path)) { +// exec("md " . $path); +// exec("md " . $path . "\\thumbnails"); +// return $path; +// } } /** diff --git a/src/templates/login.htm.php b/src/templates/login.htm.php index 660e50e..1242256 100644 --- a/src/templates/login.htm.php +++ b/src/templates/login.htm.php @@ -16,18 +16,19 @@
    " method="post">
    - +
    - +
    - +
    diff --git a/src/templates/overview.htm.php b/src/templates/overview.htm.php index 5166fd6..b032055 100644 --- a/src/templates/overview.htm.php +++ b/src/templates/overview.htm.php @@ -77,7 +77,7 @@
  • "; @@ -48,10 +48,10 @@
    - + From 77a33d3dc96bab0e65f0350c5b757a6cd73ba718 Mon Sep 17 00:00:00 2001 From: frithjofhoppe Date: Thu, 3 May 2018 14:28:39 +0200 Subject: [PATCH 45/73] Limited the image types which can be uploaded --- src/js/images.js | 30 +- src/lightbox2-master/.editorconfig | 21 + .../.github/ISSUE_TEMPLATE.md | 27 + .../.github/PULL_REQUEST_TEMPLATE.md | 4 + src/lightbox2-master/.gitignore | 2 + src/lightbox2-master/.jscsrc | 75 + src/lightbox2-master/.jshintrc | 35 + src/lightbox2-master/DEPLOY.md | 15 + src/lightbox2-master/Gruntfile.js | 83 + src/lightbox2-master/LICENSE | 21 + src/lightbox2-master/README.md | 19 + src/lightbox2-master/ROADMAP.md | 64 + src/lightbox2-master/bower.json | 29 + src/lightbox2-master/dist/css/lightbox.css | 207 + .../dist/css/lightbox.min.css | 1 + src/lightbox2-master/dist/images/close.png | Bin 0 -> 280 bytes src/lightbox2-master/dist/images/loading.gif | Bin 0 -> 8476 bytes src/lightbox2-master/dist/images/next.png | Bin 0 -> 1350 bytes src/lightbox2-master/dist/images/prev.png | Bin 0 -> 1360 bytes .../dist/js/lightbox-plus-jquery.js | 10773 ++++++++++++++++ .../dist/js/lightbox-plus-jquery.min.js | 38 + .../dist/js/lightbox-plus-jquery.min.map | 1 + src/lightbox2-master/dist/js/lightbox.js | 519 + src/lightbox2-master/dist/js/lightbox.min.js | 15 + src/lightbox2-master/dist/js/lightbox.min.map | 1 + src/lightbox2-master/examples/index.html | 37 + src/lightbox2-master/package.json | 40 + src/lightbox2-master/src/css/lightbox.css | 207 + src/lightbox2-master/src/images/close.png | Bin 0 -> 280 bytes src/lightbox2-master/src/images/loading.gif | Bin 0 -> 8476 bytes src/lightbox2-master/src/images/next.png | Bin 0 -> 1350 bytes src/lightbox2-master/src/images/prev.png | Bin 0 -> 1360 bytes src/lightbox2-master/src/js/lightbox.js | 519 + src/templates/images.htm.php | 20 +- src/templates/user.htm.php | 2 + 35 files changed, 12799 insertions(+), 6 deletions(-) create mode 100644 src/lightbox2-master/.editorconfig create mode 100644 src/lightbox2-master/.github/ISSUE_TEMPLATE.md create mode 100644 src/lightbox2-master/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 src/lightbox2-master/.gitignore create mode 100644 src/lightbox2-master/.jscsrc create mode 100644 src/lightbox2-master/.jshintrc create mode 100644 src/lightbox2-master/DEPLOY.md create mode 100644 src/lightbox2-master/Gruntfile.js create mode 100644 src/lightbox2-master/LICENSE create mode 100644 src/lightbox2-master/README.md create mode 100644 src/lightbox2-master/ROADMAP.md create mode 100644 src/lightbox2-master/bower.json create mode 100644 src/lightbox2-master/dist/css/lightbox.css create mode 100644 src/lightbox2-master/dist/css/lightbox.min.css create mode 100644 src/lightbox2-master/dist/images/close.png create mode 100644 src/lightbox2-master/dist/images/loading.gif create mode 100644 src/lightbox2-master/dist/images/next.png create mode 100644 src/lightbox2-master/dist/images/prev.png create mode 100644 src/lightbox2-master/dist/js/lightbox-plus-jquery.js create mode 100644 src/lightbox2-master/dist/js/lightbox-plus-jquery.min.js create mode 100644 src/lightbox2-master/dist/js/lightbox-plus-jquery.min.map create mode 100644 src/lightbox2-master/dist/js/lightbox.js create mode 100644 src/lightbox2-master/dist/js/lightbox.min.js create mode 100644 src/lightbox2-master/dist/js/lightbox.min.map create mode 100644 src/lightbox2-master/examples/index.html create mode 100644 src/lightbox2-master/package.json create mode 100644 src/lightbox2-master/src/css/lightbox.css create mode 100644 src/lightbox2-master/src/images/close.png create mode 100644 src/lightbox2-master/src/images/loading.gif create mode 100644 src/lightbox2-master/src/images/next.png create mode 100644 src/lightbox2-master/src/images/prev.png create mode 100644 src/lightbox2-master/src/js/lightbox.js diff --git a/src/js/images.js b/src/js/images.js index d933b2b..c2ce534 100644 --- a/src/js/images.js +++ b/src/js/images.js @@ -73,11 +73,17 @@ $(document).ready(function () { $('#images_addImageDialog').modal('hide'); $('#image_fileToBigModal').modal(); }else { - image_fileSelected = true; - $('#image_fileInformationSize').val($(this)[0].files[0].size / 1024); - $('#image_fileInformationName').val($(this)[0].files[0].name); - $('#image_fileName').text('File selected'); - $('#image_fileInformation').slideDown(); + console.log($(this)[0].files[0].name); + if(checkImageExtension($(this)[0].files[0].name)) { + image_fileSelected = true; + $('#image_fileInformationSize').val($(this)[0].files[0].size / 1024); + $('#image_fileInformationName').val($(this)[0].files[0].name); + $('#image_fileName').text('File selected'); + $('#image_fileInformation').slideDown(); + }else{ + $('#images_addImageDialog').modal('hide'); + $('#image_exntesionNotSuppported').modal(); + } } } else { $('#image_fileInformation').hide(); @@ -87,6 +93,20 @@ $(document).ready(function () { evaluate(); }); + function checkImageExtension(fileName){ + console.log(fileName) + var name = fileName.split('.'); + var extension = name[1]; + extension = extension.toLowerCase(); + console.log('extension ' + extension); + if(extension == 'jpeg' || + extension == 'png' || + extension == 'jpg'){ + return true; + } + return false; + } + $('#images_addImage').on('click', function () { $('#image_fileName').text('No file selected'); $('#images_newImageButton').prop('disabled', true); diff --git a/src/lightbox2-master/.editorconfig b/src/lightbox2-master/.editorconfig new file mode 100644 index 0000000..c2cdfb8 --- /dev/null +++ b/src/lightbox2-master/.editorconfig @@ -0,0 +1,21 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# Change these settings to your own preference +indent_style = space +indent_size = 2 + +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/src/lightbox2-master/.github/ISSUE_TEMPLATE.md b/src/lightbox2-master/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..823a414 --- /dev/null +++ b/src/lightbox2-master/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,27 @@ +🐛 **Github issues is for bugs only.** No feature requests or support tickets please. + +## Trouble using Lightbox? + +1. Search [Stackoverflow](https://stackoverflow.com/questions/tagged/lightbox2) to see if other people have run into similar issues. +3. If you don't find anything similar, then post a new question on [Stackoverflow](https://stackoverflow.com/questions/ask). Use the `lightbox2` tag. + +## Have a Feature Request? + +1. [Search through existing Github Issues and PRs](https://github.com/lokesh/lightbox2/issues) to see if the feature has been discussed or already created. +2. If not, search [Stackoverflow](https://stackoverflow.com/questions/tagged/lightbox2) to see if other people have made similar requests. +3. If your feature request is unique, then post a new question on [Stackoverflow](https://stackoverflow.com/questions/ask). Use the `lightbox2` tag. + +View the project [Roadmap](https://github.com/lokesh/lightbox2/blob/master/ROADMAP.md). + + +## Found a Bug? + +[Search through existing Github Issues](https://github.com/lokesh/lightbox2/issues) that have been reported to avoid creating a duplicate issue. If your bug has not been reported, create a new issue with the following details: + +**What version of Lightbox2 you are using?** + +**Which browsers and operating systems have you seen the issue on?** + +**What are the steps to reproduce the bug?** + +**Do you have link to a live site where the bug is visible? or can you post relevant HTML, CSS, and Javascript?** diff --git a/src/lightbox2-master/.github/PULL_REQUEST_TEMPLATE.md b/src/lightbox2-master/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..92828b7 --- /dev/null +++ b/src/lightbox2-master/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,4 @@ +> Pull Requests are welcome. But note that v2 of Lightbox is in Maintenance Mode and no new features +> will be added. See the [Roadmap](https://github.com/lokesh/lightbox2/blob/master/ROADMAP.md). +> +> PRs submitted will still be reviewed and then kept open for other users to utilize. diff --git a/src/lightbox2-master/.gitignore b/src/lightbox2-master/.gitignore new file mode 100644 index 0000000..7bf6eb1 --- /dev/null +++ b/src/lightbox2-master/.gitignore @@ -0,0 +1,2 @@ +bower_components +node_modules diff --git a/src/lightbox2-master/.jscsrc b/src/lightbox2-master/.jscsrc new file mode 100644 index 0000000..b1ee028 --- /dev/null +++ b/src/lightbox2-master/.jscsrc @@ -0,0 +1,75 @@ +{ + "requireSpaceAfterLineComment": true, + "requireSpaceAfterKeywords": [ + "do", + "for", + "if", + "else", + "switch", + "case", + "try", + "catch", + "void", + "while", + "with", + "return", + "typeof" + ], + "requireSpaceBeforeBlockStatements": true, + "requireParenthesesAroundIIFE": true, + "requireSpacesInConditionalExpression": true, + "disallowMultipleVarDecl": true, + "requireBlocksOnNewline": true, + "disallowEmptyBlocks": true, + "disallowSpacesInsideParentheses": true, + "disallowSpaceAfterObjectKeys": true, + "requireSpaceBeforeObjectValues": true, + "requireCommaBeforeLineBreak": true, + "requireOperatorBeforeLineBreak": [ + "?", + "=", + "+", + "-", + "/", + "*", + "==", + "===", + "!=", + "!==", + ">", + ">=", + "<", + "<=" + ], + "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], + "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], + "requireSpaceBeforeBinaryOperators": [ + "=", + "+", + "-", + "/", + "*", + "==", + "===", + "!=", + "!==" + ], + "requireSpaceAfterBinaryOperators": [ + "=", + ",", + "+", + "-", + "/", + "*", + "==", + "===", + "!=", + "!==" + ], + "disallowMixedSpacesAndTabs" : true, + "disallowTrailingWhitespace": true, + "disallowTrailingComma": true, + "requireLineFeedAtFileEnd": true, + "requireCapitalizedConstructors": true +} + diff --git a/src/lightbox2-master/.jshintrc b/src/lightbox2-master/.jshintrc new file mode 100644 index 0000000..1bc8f85 --- /dev/null +++ b/src/lightbox2-master/.jshintrc @@ -0,0 +1,35 @@ +{ + "bitwise":true, + "browser":true, + "camelcase":true, + "curly":true, + "eqeqeq":true, + "forin":true, + "freeze":true, + "indent":2, + "latedef":true, + "maxdepth": 6, + "maxparams": 6, + "maxstatements": 50, + "newcap": true, + "noarg":true, + "noempty":true, + "nonbsp":true, + "nonew":true, + "quotmark":"single", + "trailing":true, + "undef":true, + "unused":"vars", + "immed":true, + "browser": true, + "jquery":true, + "predef": [ + "alert", + "confirm", + "console", + "escape", + "define", + "module", + "require" + ] +} diff --git a/src/lightbox2-master/DEPLOY.md b/src/lightbox2-master/DEPLOY.md new file mode 100644 index 0000000..2645243 --- /dev/null +++ b/src/lightbox2-master/DEPLOY.md @@ -0,0 +1,15 @@ +## How to Make a Release + +### Build +- **Checkout dev branch.** This will contain work queued up for the next release. +- **Update version number.** Manually update version number in `src/lightbox.js` and `package.json`. Don't use `npm version`. +- **`grunt build`.** Make sure you have run `bower install` ahead of this as it will pull down jQuery which is utilized in the build step. +- **Merge to `master`.** Commit changes and push to new branch. Create PR from this branch to `master`. Merge. + +### Release +- **Create tagged release.** Go to [Github Releases page](https://github.com/lokesh/lightbox2/releases). Draft a new release. Naming convention is `v2.8.1`. Add notes that link to PRs. +- **`npm publish`**. No need to do anything for Bower as it is entirely based on the Github repo. + +### Maintenance and Docs +- **GH clean-up.** Close out issues with `[status] pending release`. +- **Lightbox Site.** If there are any changes to the options, don't forget to update the [Lightbox Site](http://localhost:8000/dist/#options). The code lives in a separate repo, [lightbox2-site](https://github.com/lokesh/lightbox2-site/). diff --git a/src/lightbox2-master/Gruntfile.js b/src/lightbox2-master/Gruntfile.js new file mode 100644 index 0000000..6eea00c --- /dev/null +++ b/src/lightbox2-master/Gruntfile.js @@ -0,0 +1,83 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + concat: { + dist: { + src: ['bower_components/jquery/dist/jquery.js', 'src/js/lightbox.js'], + dest: 'dist/js/lightbox-plus-jquery.js', + }, + }, + connect: { + server: { + options: { + port: 8000 + } + } + }, + copy: { + dist: { + files: [ + { + expand: true, + cwd: 'src/', + src: ['**'], + dest: 'dist/' + } + ], + }, + }, + jshint: { + all: [ + 'src/js/lightbox.js' + ], + options: { + jshintrc: true + } + }, + jscs: { + src: [ + 'src/js/lightbox.js' + ], + options: { + config: ".jscsrc" + } + }, + uglify: { + options: { + preserveComments: 'some', + sourceMap: true + }, + dist: { + files: { + 'dist/js/lightbox.min.js': ['src/js/lightbox.js'], + 'dist/js/lightbox-plus-jquery.min.js': ['dist/js/lightbox-plus-jquery.js'] + } + } + }, + watch: { + jshint: { + files: ['src/js/lightbox.js'], + tasks: ['jshint', 'jscs'] + } + }, + cssmin: { + minify: { + src: 'dist/css/lightbox.css', + dest: 'dist/css/lightbox.min.css' + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-connect'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks("grunt-jscs"); + + grunt.registerTask('default', ['connect', 'watch']); + grunt.registerTask('test', ['jshint', 'jscs']); + grunt.registerTask('build', ['jshint', 'jscs', 'copy:dist', 'concat', 'uglify', 'cssmin:minify']); +}; diff --git a/src/lightbox2-master/LICENSE b/src/lightbox2-master/LICENSE new file mode 100644 index 0000000..0b34e12 --- /dev/null +++ b/src/lightbox2-master/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Lokesh Dhakar + +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. diff --git a/src/lightbox2-master/README.md b/src/lightbox2-master/README.md new file mode 100644 index 0000000..11ded5a --- /dev/null +++ b/src/lightbox2-master/README.md @@ -0,0 +1,19 @@ +# Lightbox2 + +The original lightbox script. Eight years later — still going strong! + +Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup and works on all modern browsers. + +- **Demos and usage instructions.** Visit the [Lightbox homepage](http://lokeshdhakar.com/projects/lightbox2/) to see examples, info on getting started, script options, how to get help, and more. +- **Releases and Changelog**. Viewable on the [Github Releases page](https://github.com/lokesh/lightbox2/releases) +- **Roadmap.** View the [Roadmap](https://github.com/lokesh/lightbox2/blob/master/ROADMAP.md) for a peek at what is being planned for future releases. +- **License.** Lightbox is licensed under the MIT License. [Learn more about the license.](http://lokeshdhakar.com/projects/lightbox2/#license) + +by [Lokesh Dhakar](http://www.lokeshdhakar.com) + +--- + +### Info for Maintainers + +- **Release instructions.** See [DEPLOY.md](https://github.com/lokesh/lightbox2/blob/master/DEPLOY.md). +- **Issues and PRs requiring review.** See items tagged with [\[status\] needs review](https://github.com/lokesh/lightbox2/labels/%5Bstatus%5D%20needs%20review) diff --git a/src/lightbox2-master/ROADMAP.md b/src/lightbox2-master/ROADMAP.md new file mode 100644 index 0000000..9292743 --- /dev/null +++ b/src/lightbox2-master/ROADMAP.md @@ -0,0 +1,64 @@ +# Roadmap + +## v2.x - Maintenance Mode + +No new features are being worked on for v2.x. + +## v3.0 - In Brainstorming Phase + +**Not planned for v3.0** +The goal of this script from it's beginnings till today is to to provide a better *image viewing experience*. + +- **HTML or video content.** If you need to show html or video content, I recommend googling for an alternative script as there are many options. +- **Social sharing buttons.** + +**Image Support** +- Investigate `srcset` and `` + +**Interactions** +- Add touch gesture support. +- Exploring using tilt gesture on mobile devices with extra-wide images. +- If user attempts to go forward when at end of image set, animation (shake?) indicating the end or option to close Lightbox. +- Make sure right-click/long pressing works to access the image's context menu. + +**Layout** +- Allow vertical centering. +- Update sizing on window resize. +- Should the dev be able to choose the position of the caption, close button, and nav controls? +- Optimize layout for mobile. +- Optimize layout for screens of varying densities. +- Should the close button still live in the bottom right corner? + +**Animations** +- Evaluate start, end, and transition animations. +- Rewrite animations for performance and flexibility. + +**Assets** +- Use inline SVG for UI elements. + +**Caching** +- Review if and how images should be preloaded + +**Error Handling** +- What happens when an image url is incorrect? +- What happens when an image takes too long to load? + +**Accessibility** +- Should opening lightbox update the url? and should this url be parsed on page load to show Lightbox automatically? +- Review alt attributes. +- Review ARIA roles. +- Review constrast ratios. +- Review keyboard input and tabbing. +- Review click/touch target size. +- Test with screen reader. + +**API** +- Do not initialize automatically and allow multiple instances. +- Add event handlers. +- Allow setting options on the fly. +- Allow the setting of options from HTML? +- Evaluate preloading and caching. +- Allow placement inside of a specified element? Orig feature requester was dealing with iframe. + +**Dependencies** +- Drop jQuery requirement. diff --git a/src/lightbox2-master/bower.json b/src/lightbox2-master/bower.json new file mode 100644 index 0000000..50fc7f4 --- /dev/null +++ b/src/lightbox2-master/bower.json @@ -0,0 +1,29 @@ +{ + "name": "lightbox2", + "homepage": "http://lokeshdhakar.com/projects/lightbox2/", + "authors": [ + "Lokesh Dhakar " + ], + "description": "The original Lightbox script. Uses jQuery.", + "main": [ + "./dist/js/lightbox.js", + "./dist/css/lightbox.css" + ], + "keywords": [ + "lightbox", + "lightbox2", + "overlay", + "gallery", + "slideshow", + "images" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components" + ], + "dependencies": { + "jquery": ">2" + } +} diff --git a/src/lightbox2-master/dist/css/lightbox.css b/src/lightbox2-master/dist/css/lightbox.css new file mode 100644 index 0000000..a95d45a --- /dev/null +++ b/src/lightbox2-master/dist/css/lightbox.css @@ -0,0 +1,207 @@ +html.lb-disable-scrolling { + overflow: hidden; + /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */ + position: fixed; + height: 100vh; + width: 100vw; +} + +.lightboxOverlay { + position: absolute; + top: 0; + left: 0; + z-index: 9999; + background-color: black; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + display: none; +} + +.lightbox { + position: absolute; + left: 0; + width: 100%; + z-index: 10000; + text-align: center; + line-height: 0; + font-weight: normal; +} + +.lightbox .lb-image { + display: block; + height: auto; + max-width: inherit; + max-height: none; + border-radius: 3px; + + /* Image border */ + border: 4px solid white; +} + +.lightbox a img { + border: none; +} + +.lb-outerContainer { + position: relative; + *zoom: 1; + width: 250px; + height: 250px; + margin: 0 auto; + border-radius: 4px; + + /* Background color behind image. + This is visible during transitions. */ + background-color: white; +} + +.lb-outerContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-loader { + position: absolute; + top: 43%; + left: 0; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} + +.lb-cancel { + display: block; + width: 32px; + height: 32px; + margin: 0 auto; + background: url(../images/loading.gif) no-repeat; +} + +.lb-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; +} + +.lb-container > .nav { + left: 0; +} + +.lb-nav a { + outline: none; + background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); +} + +.lb-prev, .lb-next { + height: 100%; + cursor: pointer; + display: block; +} + +.lb-nav a.lb-prev { + width: 34%; + left: 0; + float: left; + background: url(../images/prev.png) left 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-prev:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-nav a.lb-next { + width: 64%; + right: 0; + float: right; + background: url(../images/next.png) right 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-next:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-dataContainer { + margin: 0 auto; + padding-top: 5px; + *zoom: 1; + width: 100%; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.lb-dataContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-data { + padding: 0 4px; + color: #ccc; +} + +.lb-data .lb-details { + width: 85%; + float: left; + text-align: left; + line-height: 1.1em; +} + +.lb-data .lb-caption { + font-size: 13px; + font-weight: bold; + line-height: 1em; +} + +.lb-data .lb-caption a { + color: #4ae; +} + +.lb-data .lb-number { + display: block; + clear: left; + padding-bottom: 1em; + font-size: 12px; + color: #999999; +} + +.lb-data .lb-close { + display: block; + float: right; + width: 30px; + height: 30px; + background: url(../images/close.png) top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +.lb-data .lb-close:hover { + cursor: pointer; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} diff --git a/src/lightbox2-master/dist/css/lightbox.min.css b/src/lightbox2-master/dist/css/lightbox.min.css new file mode 100644 index 0000000..73f6a7c --- /dev/null +++ b/src/lightbox2-master/dist/css/lightbox.min.css @@ -0,0 +1 @@ +.lb-loader,.lightbox{text-align:center;line-height:0}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}html.lb-disable-scrolling{overflow:hidden;position:fixed;height:100vh;width:100vw}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1} \ No newline at end of file diff --git a/src/lightbox2-master/dist/images/close.png b/src/lightbox2-master/dist/images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..20baa1db5fdf9e22655a0f851c4401d36b9e7ef9 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i3?z4Pv7`ejn*g5>*Z=?j1DSvS{%vY%YG`Nx zvLV3R+Z)1I1qQoz?eg;S^6>Bg3hv&$d*{xbK#iaC4$A=f!X-g|!3vbDHnnh5Xg#OL;K8su!;fw4MC7hH<+BPou~5EnOggc)I$z JtaD0e0ssdsYEA$E literal 0 HcmV?d00001 diff --git a/src/lightbox2-master/dist/images/loading.gif b/src/lightbox2-master/dist/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..5087c2a644223a95984baefdb74f39a287fdfd9a GIT binary patch literal 8476 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 S-YhKu0000= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && Array.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.3 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-08-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true && ("form" in elem || "label" in elem); + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + disabledAncestor( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Simple selector that can be filtered directly, removing non-Elements + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + // Complex selector, compare the two sets, removing non-Elements + qualifier = jQuery.filter( qualifier, elements ); + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( nodeName( elem, "iframe" ) ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( ">tbody", elem )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a property mapped along what jQuery.cssProps suggests or to +// a vendor prefixed property. +function finalPropName( name ) { + var ret = jQuery.cssProps[ name ]; + if ( !ret ) { + ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + } + return ret; +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i, + val = 0; + + // If we already have the right measurement, avoid augmentation + if ( extra === ( isBorderBox ? "border" : "content" ) ) { + i = 4; + + // Otherwise initialize for horizontal or vertical properties + } else { + i = name === "width" ? 1 : 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with computed style + var valueIsBorderBox, + styles = getStyles( elem ), + val = curCSS( elem, name, styles ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Fall back to offsetWidth/Height when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + if ( val === "auto" ) { + val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ]; + } + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnothtmlwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnothtmlwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + diff --git a/src/lightbox2-master/package.json b/src/lightbox2-master/package.json new file mode 100644 index 0000000..4e62566 --- /dev/null +++ b/src/lightbox2-master/package.json @@ -0,0 +1,40 @@ +{ + "name": "lightbox2", + "version": "2.10.0", + "author": "Lokesh Dhakar ", + "description": "The original Lightbox script. Uses jQuery.", + "keywords": [ + "lightbox", + "lightbox2", + "overlay", + "gallery", + "slideshow", + "images" + ], + "homepage": "http://lokeshdhakar.com/projects/lightbox2/", + "main": "./dist/js/lightbox.js", + "repository": { + "type": "git", + "url": "https://github.com/lokesh/lightbox2.git" + }, + "bugs": { + "url": "https://github.com/lokesh/lightbox2/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://raw.githubusercontent.com/lokesh/lightbox2/master/LICENSE" + } + ], + "devDependencies": { + "grunt": "^0.4.5", + "grunt-contrib-concat": "^0.5.1", + "grunt-contrib-connect": "^0.7.1", + "grunt-contrib-copy": "^0.8.0", + "grunt-contrib-cssmin": "^0.12.3", + "grunt-contrib-jshint": "^0.11.2", + "grunt-contrib-uglify": "~0.4.0", + "grunt-contrib-watch": "^0.5.3", + "grunt-jscs": "^1.8.0" + } +} diff --git a/src/lightbox2-master/src/css/lightbox.css b/src/lightbox2-master/src/css/lightbox.css new file mode 100644 index 0000000..a95d45a --- /dev/null +++ b/src/lightbox2-master/src/css/lightbox.css @@ -0,0 +1,207 @@ +html.lb-disable-scrolling { + overflow: hidden; + /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */ + position: fixed; + height: 100vh; + width: 100vw; +} + +.lightboxOverlay { + position: absolute; + top: 0; + left: 0; + z-index: 9999; + background-color: black; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + display: none; +} + +.lightbox { + position: absolute; + left: 0; + width: 100%; + z-index: 10000; + text-align: center; + line-height: 0; + font-weight: normal; +} + +.lightbox .lb-image { + display: block; + height: auto; + max-width: inherit; + max-height: none; + border-radius: 3px; + + /* Image border */ + border: 4px solid white; +} + +.lightbox a img { + border: none; +} + +.lb-outerContainer { + position: relative; + *zoom: 1; + width: 250px; + height: 250px; + margin: 0 auto; + border-radius: 4px; + + /* Background color behind image. + This is visible during transitions. */ + background-color: white; +} + +.lb-outerContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-loader { + position: absolute; + top: 43%; + left: 0; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} + +.lb-cancel { + display: block; + width: 32px; + height: 32px; + margin: 0 auto; + background: url(../images/loading.gif) no-repeat; +} + +.lb-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; +} + +.lb-container > .nav { + left: 0; +} + +.lb-nav a { + outline: none; + background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); +} + +.lb-prev, .lb-next { + height: 100%; + cursor: pointer; + display: block; +} + +.lb-nav a.lb-prev { + width: 34%; + left: 0; + float: left; + background: url(../images/prev.png) left 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-prev:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-nav a.lb-next { + width: 64%; + right: 0; + float: right; + background: url(../images/next.png) right 48% no-repeat; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + -webkit-transition: opacity 0.6s; + -moz-transition: opacity 0.6s; + -o-transition: opacity 0.6s; + transition: opacity 0.6s; +} + +.lb-nav a.lb-next:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.lb-dataContainer { + margin: 0 auto; + padding-top: 5px; + *zoom: 1; + width: 100%; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +.lb-dataContainer:after { + content: ""; + display: table; + clear: both; +} + +.lb-data { + padding: 0 4px; + color: #ccc; +} + +.lb-data .lb-details { + width: 85%; + float: left; + text-align: left; + line-height: 1.1em; +} + +.lb-data .lb-caption { + font-size: 13px; + font-weight: bold; + line-height: 1em; +} + +.lb-data .lb-caption a { + color: #4ae; +} + +.lb-data .lb-number { + display: block; + clear: left; + padding-bottom: 1em; + font-size: 12px; + color: #999999; +} + +.lb-data .lb-close { + display: block; + float: right; + width: 30px; + height: 30px; + background: url(../images/close.png) top right no-repeat; + text-align: right; + outline: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); + opacity: 0.7; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + -o-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +.lb-data .lb-close:hover { + cursor: pointer; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} diff --git a/src/lightbox2-master/src/images/close.png b/src/lightbox2-master/src/images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..20baa1db5fdf9e22655a0f851c4401d36b9e7ef9 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i3?z4Pv7`ejn*g5>*Z=?j1DSvS{%vY%YG`Nx zvLV3R+Z)1I1qQoz?eg;S^6>Bg3hv&$d*{xbK#iaC4$A=f!X-g|!3vbDHnnh5Xg#OL;K8su!;fw4MC7hH<+BPou~5EnOggc)I$z JtaD0e0ssdsYEA$E literal 0 HcmV?d00001 diff --git a/src/lightbox2-master/src/images/loading.gif b/src/lightbox2-master/src/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..5087c2a644223a95984baefdb74f39a287fdfd9a GIT binary patch literal 8476 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 S-YhKu0000 0) { + return; + } + + var self = this; + $('
    ').appendTo($('body')); + + // Cache jQuery objects + this.$lightbox = $('#lightbox'); + this.$overlay = $('#lightboxOverlay'); + this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); + this.$container = this.$lightbox.find('.lb-container'); + this.$image = this.$lightbox.find('.lb-image'); + this.$nav = this.$lightbox.find('.lb-nav'); + + // Store css values for future lookup + this.containerPadding = { + top: parseInt(this.$container.css('padding-top'), 10), + right: parseInt(this.$container.css('padding-right'), 10), + bottom: parseInt(this.$container.css('padding-bottom'), 10), + left: parseInt(this.$container.css('padding-left'), 10) + }; + + this.imageBorderWidth = { + top: parseInt(this.$image.css('border-top-width'), 10), + right: parseInt(this.$image.css('border-right-width'), 10), + bottom: parseInt(this.$image.css('border-bottom-width'), 10), + left: parseInt(this.$image.css('border-left-width'), 10) + }; + + // Attach event handlers to the newly minted DOM elements + this.$overlay.hide().on('click', function() { + self.end(); + return false; + }); + + this.$lightbox.hide().on('click', function(event) { + if ($(event.target).attr('id') === 'lightbox') { + self.end(); + } + return false; + }); + + this.$outerContainer.on('click', function(event) { + if ($(event.target).attr('id') === 'lightbox') { + self.end(); + } + return false; + }); + + this.$lightbox.find('.lb-prev').on('click', function() { + if (self.currentImageIndex === 0) { + self.changeImage(self.album.length - 1); + } else { + self.changeImage(self.currentImageIndex - 1); + } + return false; + }); + + this.$lightbox.find('.lb-next').on('click', function() { + if (self.currentImageIndex === self.album.length - 1) { + self.changeImage(0); + } else { + self.changeImage(self.currentImageIndex + 1); + } + return false; + }); + + /* + Show context menu for image on right-click + + There is a div containing the navigation that spans the entire image and lives above of it. If + you right-click, you are right clicking this div and not the image. This prevents users from + saving the image or using other context menu actions with the image. + + To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we + set pointer-events to none on the nav div. This is so that the upcoming right-click event on + the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs + we set the pointer events back to auto for the nav div so it can capture hover and left-click + events as usual. + */ + this.$nav.on('mousedown', function(event) { + if (event.which === 3) { + self.$nav.css('pointer-events', 'none'); + + self.$lightbox.one('contextmenu', function() { + setTimeout(function() { + this.$nav.css('pointer-events', 'auto'); + }.bind(self), 0); + }); + } + }); + + + this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { + self.end(); + return false; + }); + }; + + // Show overlay and lightbox. If the image is part of a set, add siblings to album array. + Lightbox.prototype.start = function($link) { + var self = this; + var $window = $(window); + + $window.on('resize', $.proxy(this.sizeOverlay, this)); + + $('select, object, embed').css({ + visibility: 'hidden' + }); + + this.sizeOverlay(); + + this.album = []; + var imageNumber = 0; + + function addToAlbum($link) { + self.album.push({ + alt: $link.attr('data-alt'), + link: $link.attr('href'), + title: $link.attr('data-title') || $link.attr('title') + }); + } + + // Support both data-lightbox attribute and rel attribute implementations + var dataLightboxValue = $link.attr('data-lightbox'); + var $links; + + if (dataLightboxValue) { + $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]'); + for (var i = 0; i < $links.length; i = ++i) { + addToAlbum($($links[i])); + if ($links[i] === $link[0]) { + imageNumber = i; + } + } + } else { + if ($link.attr('rel') === 'lightbox') { + // If image is not part of a set + addToAlbum($link); + } else { + // If image is part of a set + $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); + for (var j = 0; j < $links.length; j = ++j) { + addToAlbum($($links[j])); + if ($links[j] === $link[0]) { + imageNumber = j; + } + } + } + } + + // Position Lightbox + var top = $window.scrollTop() + this.options.positionFromTop; + var left = $window.scrollLeft(); + this.$lightbox.css({ + top: top + 'px', + left: left + 'px' + }).fadeIn(this.options.fadeDuration); + + // Disable scrolling of the page while open + if (this.options.disableScrolling) { + $('html').addClass('lb-disable-scrolling'); + } + + this.changeImage(imageNumber); + }; + + // Hide most UI elements in preparation for the animated resizing of the lightbox. + Lightbox.prototype.changeImage = function(imageNumber) { + var self = this; + + this.disableKeyboardNav(); + var $image = this.$lightbox.find('.lb-image'); + + this.$overlay.fadeIn(this.options.fadeDuration); + + $('.lb-loader').fadeIn('slow'); + this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + + this.$outerContainer.addClass('animating'); + + // When image to show is preloaded, we send the width and height to sizeContainer() + var preloader = new Image(); + preloader.onload = function() { + var $preloader; + var imageHeight; + var imageWidth; + var maxImageHeight; + var maxImageWidth; + var windowHeight; + var windowWidth; + + $image.attr({ + 'alt': self.album[imageNumber].alt, + 'src': self.album[imageNumber].link + }); + + $preloader = $(preloader); + + $image.width(preloader.width); + $image.height(preloader.height); + + if (self.options.fitImagesInViewport) { + // Fit image inside the viewport. + // Take into account the border around the image and an additional 10px gutter on each side. + + windowWidth = $(window).width(); + windowHeight = $(window).height(); + maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; + maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120; + + // Check if image size is larger then maxWidth|maxHeight in settings + if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) { + maxImageWidth = self.options.maxWidth; + } + if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) { + maxImageHeight = self.options.maxHeight; + } + + // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight + // option than we need to size down while maintaining the aspect ratio. + if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { + if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { + imageWidth = maxImageWidth; + imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); + $image.width(imageWidth); + $image.height(imageHeight); + } else { + imageHeight = maxImageHeight; + imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10); + $image.width(imageWidth); + $image.height(imageHeight); + } + } + } + self.sizeContainer($image.width(), $image.height()); + }; + + preloader.src = this.album[imageNumber].link; + this.currentImageIndex = imageNumber; + }; + + // Stretch overlay to fit the viewport + Lightbox.prototype.sizeOverlay = function() { + this.$overlay + .width($(document).width()) + .height($(document).height()); + }; + + // Animate the size of the lightbox to fit the image we are showing + Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { + var self = this; + + var oldWidth = this.$outerContainer.outerWidth(); + var oldHeight = this.$outerContainer.outerHeight(); + var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; + var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; + + function postResize() { + self.$lightbox.find('.lb-dataContainer').width(newWidth); + self.$lightbox.find('.lb-prevLink').height(newHeight); + self.$lightbox.find('.lb-nextLink').height(newHeight); + self.showImage(); + } + + if (oldWidth !== newWidth || oldHeight !== newHeight) { + this.$outerContainer.animate({ + width: newWidth, + height: newHeight + }, this.options.resizeDuration, 'swing', function() { + postResize(); + }); + } else { + postResize(); + } + }; + + // Display the image and its details and begin preload neighboring images. + Lightbox.prototype.showImage = function() { + this.$lightbox.find('.lb-loader').stop(true).hide(); + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + + this.updateNav(); + this.updateDetails(); + this.preloadNeighboringImages(); + this.enableKeyboardNav(); + }; + + // Display previous and next navigation if appropriate. + Lightbox.prototype.updateNav = function() { + // Check to see if the browser supports touch events. If so, we take the conservative approach + // and assume that mouse hover events are not supported and always show prev/next navigation + // arrows in image sets. + var alwaysShowNav = false; + try { + document.createEvent('TouchEvent'); + alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; + } catch (e) {} + + this.$lightbox.find('.lb-nav').show(); + + if (this.album.length > 1) { + if (this.options.wrapAround) { + if (alwaysShowNav) { + this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1'); + } + this.$lightbox.find('.lb-prev, .lb-next').show(); + } else { + if (this.currentImageIndex > 0) { + this.$lightbox.find('.lb-prev').show(); + if (alwaysShowNav) { + this.$lightbox.find('.lb-prev').css('opacity', '1'); + } + } + if (this.currentImageIndex < this.album.length - 1) { + this.$lightbox.find('.lb-next').show(); + if (alwaysShowNav) { + this.$lightbox.find('.lb-next').css('opacity', '1'); + } + } + } + } + }; + + // Display caption, image number, and closing button. + Lightbox.prototype.updateDetails = function() { + var self = this; + + // Enable anchor clicks in the injected caption html. + // Thanks Nate Wright for the fix. @https://github.com/NateWr + if (typeof this.album[this.currentImageIndex].title !== 'undefined' && + this.album[this.currentImageIndex].title !== '') { + var $caption = this.$lightbox.find('.lb-caption'); + if (this.options.sanitizeTitle) { + $caption.text(this.album[this.currentImageIndex].title); + } else { + $caption.html(this.album[this.currentImageIndex].title); + } + $caption.fadeIn('fast') + .find('a').on('click', function(event) { + if ($(this).attr('target') !== undefined) { + window.open($(this).attr('href'), $(this).attr('target')); + } else { + location.href = $(this).attr('href'); + } + }); + } + + if (this.album.length > 1 && this.options.showImageNumberLabel) { + var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length); + this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast'); + } else { + this.$lightbox.find('.lb-number').hide(); + } + + this.$outerContainer.removeClass('animating'); + + this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { + return self.sizeOverlay(); + }); + }; + + // Preload previous and next images in set. + Lightbox.prototype.preloadNeighboringImages = function() { + if (this.album.length > this.currentImageIndex + 1) { + var preloadNext = new Image(); + preloadNext.src = this.album[this.currentImageIndex + 1].link; + } + if (this.currentImageIndex > 0) { + var preloadPrev = new Image(); + preloadPrev.src = this.album[this.currentImageIndex - 1].link; + } + }; + + Lightbox.prototype.enableKeyboardNav = function() { + $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); + }; + + Lightbox.prototype.disableKeyboardNav = function() { + $(document).off('.keyboard'); + }; + + Lightbox.prototype.keyboardAction = function(event) { + var KEYCODE_ESC = 27; + var KEYCODE_LEFTARROW = 37; + var KEYCODE_RIGHTARROW = 39; + + var keycode = event.keyCode; + var key = String.fromCharCode(keycode).toLowerCase(); + if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { + this.end(); + } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { + if (this.currentImageIndex !== 0) { + this.changeImage(this.currentImageIndex - 1); + } else if (this.options.wrapAround && this.album.length > 1) { + this.changeImage(this.album.length - 1); + } + } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) { + if (this.currentImageIndex !== this.album.length - 1) { + this.changeImage(this.currentImageIndex + 1); + } else if (this.options.wrapAround && this.album.length > 1) { + this.changeImage(0); + } + } + }; + + // Closing time. :-( + Lightbox.prototype.end = function() { + this.disableKeyboardNav(); + $(window).off('resize', this.sizeOverlay); + this.$lightbox.fadeOut(this.options.fadeDuration); + this.$overlay.fadeOut(this.options.fadeDuration); + $('select, object, embed').css({ + visibility: 'visible' + }); + if (this.options.disableScrolling) { + $('html').removeClass('lb-disable-scrolling'); + } + }; + + return new Lightbox(); +})); diff --git a/src/templates/images.htm.php b/src/templates/images.htm.php index b482934..73aae21 100644 --- a/src/templates/images.htm.php +++ b/src/templates/images.htm.php @@ -66,7 +66,7 @@