that contains calendar
- calendarLinkName: 'calendarlink', // name of the link that is used to toggle
- clockDivName: 'clockbox', // name of clock
that gets toggled
- clockLinkName: 'clocklink', // name of the link that is used to toggle
- shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts
- timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
- timezoneOffset: 0,
- init: function() {
- const serverOffset = document.body.dataset.adminUtcOffset;
- if (serverOffset) {
- const localOffset = new Date().getTimezoneOffset() * -60;
- DateTimeShortcuts.timezoneOffset = localOffset - serverOffset;
- }
-
- for (const inp of document.getElementsByTagName('input')) {
- if (inp.type === 'text' && inp.classList.contains('vTimeField')) {
- DateTimeShortcuts.addClock(inp);
- DateTimeShortcuts.addTimezoneWarning(inp);
- }
- else if (inp.type === 'text' && inp.classList.contains('vDateField')) {
- DateTimeShortcuts.addCalendar(inp);
- DateTimeShortcuts.addTimezoneWarning(inp);
- }
- }
- },
- // Return the current time while accounting for the server timezone.
- now: function() {
- const serverOffset = document.body.dataset.adminUtcOffset;
- if (serverOffset) {
- const localNow = new Date();
- const localOffset = localNow.getTimezoneOffset() * -60;
- localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset));
- return localNow;
- } else {
- return new Date();
- }
- },
- // Add a warning when the time zone in the browser and backend do not match.
- addTimezoneWarning: function(inp) {
- const warningClass = DateTimeShortcuts.timezoneWarningClass;
- let timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600;
-
- // Only warn if there is a time zone mismatch.
- if (!timezoneOffset) {
- return;
- }
-
- // Check if warning is already there.
- if (inp.parentNode.querySelectorAll('.' + warningClass).length) {
- return;
- }
-
- let message;
- if (timezoneOffset > 0) {
- message = ngettext(
- 'Note: You are %s hour ahead of server time.',
- 'Note: You are %s hours ahead of server time.',
- timezoneOffset
- );
- }
- else {
- timezoneOffset *= -1;
- message = ngettext(
- 'Note: You are %s hour behind server time.',
- 'Note: You are %s hours behind server time.',
- timezoneOffset
- );
- }
- message = interpolate(message, [timezoneOffset]);
-
- const warning = document.createElement('span');
- warning.className = warningClass;
- warning.textContent = message;
- inp.parentNode.appendChild(document.createElement('br'));
- inp.parentNode.appendChild(warning);
- },
- // Add clock widget to a given field
- addClock: function(inp) {
- const num = DateTimeShortcuts.clockInputs.length;
- DateTimeShortcuts.clockInputs[num] = inp;
- DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; };
-
- // Shortcut links (clock icon and "Now" link)
- const shortcuts_span = document.createElement('span');
- shortcuts_span.className = DateTimeShortcuts.shortCutsClass;
- inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling);
- const now_link = document.createElement('a');
- now_link.href = "#";
- now_link.textContent = gettext('Now');
- now_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleClockQuicklink(num, -1);
- });
- const clock_link = document.createElement('a');
- clock_link.href = '#';
- clock_link.id = DateTimeShortcuts.clockLinkName + num;
- clock_link.addEventListener('click', function(e) {
- e.preventDefault();
- // avoid triggering the document click handler to dismiss the clock
- e.stopPropagation();
- DateTimeShortcuts.openClock(num);
- });
-
- quickElement(
- 'span', clock_link, '',
- 'class', 'clock-icon',
- 'title', gettext('Choose a Time')
- );
- shortcuts_span.appendChild(document.createTextNode('\u00A0'));
- shortcuts_span.appendChild(now_link);
- shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0'));
- shortcuts_span.appendChild(clock_link);
-
- // Create clock link div
- //
- // Markup looks like:
- //
- //
Choose a time
- //
- //
Cancel
- //
-
- const clock_box = document.createElement('div');
- clock_box.style.display = 'none';
- clock_box.style.position = 'absolute';
- clock_box.className = 'clockbox module';
- clock_box.id = DateTimeShortcuts.clockDivName + num;
- document.body.appendChild(clock_box);
- clock_box.addEventListener('click', function(e) { e.stopPropagation(); });
-
- quickElement('h2', clock_box, gettext('Choose a time'));
- const time_list = quickElement('ul', clock_box);
- time_list.className = 'timelist';
- // The list of choices can be overridden in JavaScript like this:
- // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]];
- // where name is the name attribute of the
.
- const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name;
- DateTimeShortcuts.clockHours[name].forEach(function(element) {
- const time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#');
- time_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleClockQuicklink(num, element[1]);
- });
- });
-
- const cancel_p = quickElement('p', clock_box);
- cancel_p.className = 'calendar-cancel';
- const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#');
- cancel_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.dismissClock(num);
- });
-
- document.addEventListener('keyup', function(event) {
- if (event.which === 27) {
- // ESC key closes popup
- DateTimeShortcuts.dismissClock(num);
- event.preventDefault();
- }
- });
- },
- openClock: function(num) {
- const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num);
- const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num);
-
- // Recalculate the clockbox position
- // is it left-to-right or right-to-left layout ?
- if (window.getComputedStyle(document.body).direction !== 'rtl') {
- clock_box.style.left = findPosX(clock_link) + 17 + 'px';
- }
- else {
- // since style's width is in em, it'd be tough to calculate
- // px value of it. let's use an estimated px for now
- clock_box.style.left = findPosX(clock_link) - 110 + 'px';
- }
- clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px';
-
- // Show the clock box
- clock_box.style.display = 'block';
- document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]);
- },
- dismissClock: function(num) {
- document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none';
- document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]);
- },
- handleClockQuicklink: function(num, val) {
- let d;
- if (val === -1) {
- d = DateTimeShortcuts.now();
- }
- else {
- d = new Date(1970, 1, 1, val, 0, 0, 0);
- }
- DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]);
- DateTimeShortcuts.clockInputs[num].focus();
- DateTimeShortcuts.dismissClock(num);
- },
- // Add calendar widget to a given field.
- addCalendar: function(inp) {
- const num = DateTimeShortcuts.calendars.length;
-
- DateTimeShortcuts.calendarInputs[num] = inp;
- DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; };
-
- // Shortcut links (calendar icon and "Today" link)
- const shortcuts_span = document.createElement('span');
- shortcuts_span.className = DateTimeShortcuts.shortCutsClass;
- inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling);
- const today_link = document.createElement('a');
- today_link.href = '#';
- today_link.appendChild(document.createTextNode(gettext('Today')));
- today_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleCalendarQuickLink(num, 0);
- });
- const cal_link = document.createElement('a');
- cal_link.href = '#';
- cal_link.id = DateTimeShortcuts.calendarLinkName + num;
- cal_link.addEventListener('click', function(e) {
- e.preventDefault();
- // avoid triggering the document click handler to dismiss the calendar
- e.stopPropagation();
- DateTimeShortcuts.openCalendar(num);
- });
- quickElement(
- 'span', cal_link, '',
- 'class', 'date-icon',
- 'title', gettext('Choose a Date')
- );
- shortcuts_span.appendChild(document.createTextNode('\u00A0'));
- shortcuts_span.appendChild(today_link);
- shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0'));
- shortcuts_span.appendChild(cal_link);
-
- // Create calendarbox div.
- //
- // Markup looks like:
- //
- //
- //
- // ‹
- // › February 2003
- //
- //
- //
- //
- //
- //
Cancel
- //
- const cal_box = document.createElement('div');
- cal_box.style.display = 'none';
- cal_box.style.position = 'absolute';
- cal_box.className = 'calendarbox module';
- cal_box.id = DateTimeShortcuts.calendarDivName1 + num;
- document.body.appendChild(cal_box);
- cal_box.addEventListener('click', function(e) { e.stopPropagation(); });
-
- // next-prev links
- const cal_nav = quickElement('div', cal_box);
- const cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#');
- cal_nav_prev.className = 'calendarnav-previous';
- cal_nav_prev.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.drawPrev(num);
- });
-
- const cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#');
- cal_nav_next.className = 'calendarnav-next';
- cal_nav_next.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.drawNext(num);
- });
-
- // main box
- const cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num);
- cal_main.className = 'calendar';
- DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num));
- DateTimeShortcuts.calendars[num].drawCurrent();
-
- // calendar shortcuts
- const shortcuts = quickElement('div', cal_box);
- shortcuts.className = 'calendar-shortcuts';
- let day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#');
- day_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleCalendarQuickLink(num, -1);
- });
- shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0'));
- day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#');
- day_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleCalendarQuickLink(num, 0);
- });
- shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0'));
- day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#');
- day_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.handleCalendarQuickLink(num, +1);
- });
-
- // cancel bar
- const cancel_p = quickElement('p', cal_box);
- cancel_p.className = 'calendar-cancel';
- const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#');
- cancel_link.addEventListener('click', function(e) {
- e.preventDefault();
- DateTimeShortcuts.dismissCalendar(num);
- });
- document.addEventListener('keyup', function(event) {
- if (event.which === 27) {
- // ESC key closes popup
- DateTimeShortcuts.dismissCalendar(num);
- event.preventDefault();
- }
- });
- },
- openCalendar: function(num) {
- const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num);
- const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num);
- const inp = DateTimeShortcuts.calendarInputs[num];
-
- // Determine if the current value in the input has a valid date.
- // If so, draw the calendar with that date's year and month.
- if (inp.value) {
- const format = get_format('DATE_INPUT_FORMATS')[0];
- const selected = inp.value.strptime(format);
- const year = selected.getUTCFullYear();
- const month = selected.getUTCMonth() + 1;
- const re = /\d{4}/;
- if (re.test(year.toString()) && month >= 1 && month <= 12) {
- DateTimeShortcuts.calendars[num].drawDate(month, year, selected);
- }
- }
-
- // Recalculate the clockbox position
- // is it left-to-right or right-to-left layout ?
- if (window.getComputedStyle(document.body).direction !== 'rtl') {
- cal_box.style.left = findPosX(cal_link) + 17 + 'px';
- }
- else {
- // since style's width is in em, it'd be tough to calculate
- // px value of it. let's use an estimated px for now
- cal_box.style.left = findPosX(cal_link) - 180 + 'px';
- }
- cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px';
-
- cal_box.style.display = 'block';
- document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]);
- },
- dismissCalendar: function(num) {
- document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none';
- document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]);
- },
- drawPrev: function(num) {
- DateTimeShortcuts.calendars[num].drawPreviousMonth();
- },
- drawNext: function(num) {
- DateTimeShortcuts.calendars[num].drawNextMonth();
- },
- handleCalendarCallback: function(num) {
- let format = get_format('DATE_INPUT_FORMATS')[0];
- // the format needs to be escaped a little
- format = format.replace('\\', '\\\\')
- .replace('\r', '\\r')
- .replace('\n', '\\n')
- .replace('\t', '\\t')
- .replace("'", "\\'");
- return function(y, m, d) {
- DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format);
- DateTimeShortcuts.calendarInputs[num].focus();
- document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none';
- };
- },
- handleCalendarQuickLink: function(num, offset) {
- const d = DateTimeShortcuts.now();
- d.setDate(d.getDate() + offset);
- DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]);
- DateTimeShortcuts.calendarInputs[num].focus();
- DateTimeShortcuts.dismissCalendar(num);
- }
- };
-
- window.addEventListener('load', DateTimeShortcuts.init);
- window.DateTimeShortcuts = DateTimeShortcuts;
-}
diff --git a/legacy/Results/src/static/admin/js/admin/RelatedObjectLookups.js b/legacy/Results/src/static/admin/js/admin/RelatedObjectLookups.js
deleted file mode 100644
index 289e1ce..0000000
--- a/legacy/Results/src/static/admin/js/admin/RelatedObjectLookups.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/*global SelectBox, interpolate*/
-// Handles related-objects functionality: lookup link for raw_id_fields
-// and Add Another links.
-'use strict';
-{
- const $ = django.jQuery;
-
- function showAdminPopup(triggeringLink, name_regexp, add_popup) {
- const name = triggeringLink.id.replace(name_regexp, '');
- const href = new URL(triggeringLink.href);
- if (add_popup) {
- href.searchParams.set('_popup', 1);
- }
- const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
- win.focus();
- return false;
- }
-
- function showRelatedObjectLookupPopup(triggeringLink) {
- return showAdminPopup(triggeringLink, /^lookup_/, true);
- }
-
- function dismissRelatedLookupPopup(win, chosenId) {
- const name = win.name;
- const elem = document.getElementById(name);
- if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) {
- elem.value += ',' + chosenId;
- } else {
- document.getElementById(name).value = chosenId;
- }
- win.close();
- }
-
- function showRelatedObjectPopup(triggeringLink) {
- return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false);
- }
-
- function updateRelatedObjectLinks(triggeringLink) {
- const $this = $(triggeringLink);
- const siblings = $this.nextAll('.view-related, .change-related, .delete-related');
- if (!siblings.length) {
- return;
- }
- const value = $this.val();
- if (value) {
- siblings.each(function() {
- const elm = $(this);
- elm.attr('href', elm.attr('data-href-template').replace('__fk__', value));
- });
- } else {
- siblings.removeAttr('href');
- }
- }
-
- function dismissAddRelatedObjectPopup(win, newId, newRepr) {
- const name = win.name;
- const elem = document.getElementById(name);
- if (elem) {
- const elemName = elem.nodeName.toUpperCase();
- if (elemName === 'SELECT') {
- elem.options[elem.options.length] = new Option(newRepr, newId, true, true);
- } else if (elemName === 'INPUT') {
- if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) {
- elem.value += ',' + newId;
- } else {
- elem.value = newId;
- }
- }
- // Trigger a change event to update related links if required.
- $(elem).trigger('change');
- } else {
- const toId = name + "_to";
- const o = new Option(newRepr, newId);
- SelectBox.add_to_cache(toId, o);
- SelectBox.redisplay(toId);
- }
- win.close();
- }
-
- function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) {
- const id = win.name.replace(/^edit_/, '');
- const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
- const selects = $(selectsSelector);
- selects.find('option').each(function() {
- if (this.value === objId) {
- this.textContent = newRepr;
- this.value = newId;
- }
- });
- selects.next().find('.select2-selection__rendered').each(function() {
- // The element can have a clear button as a child.
- // Use the lastChild to modify only the displayed value.
- this.lastChild.textContent = newRepr;
- this.title = newRepr;
- });
- win.close();
- }
-
- function dismissDeleteRelatedObjectPopup(win, objId) {
- const id = win.name.replace(/^delete_/, '');
- const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
- const selects = $(selectsSelector);
- selects.find('option').each(function() {
- if (this.value === objId) {
- $(this).remove();
- }
- }).trigger('change');
- win.close();
- }
-
- window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup;
- window.dismissRelatedLookupPopup = dismissRelatedLookupPopup;
- window.showRelatedObjectPopup = showRelatedObjectPopup;
- window.updateRelatedObjectLinks = updateRelatedObjectLinks;
- window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup;
- window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup;
- window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup;
-
- // Kept for backward compatibility
- window.showAddAnotherPopup = showRelatedObjectPopup;
- window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup;
-
- $(document).ready(function() {
- $("a[data-popup-opener]").on('click', function(event) {
- event.preventDefault();
- opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener"));
- });
- $('body').on('click', '.related-widget-wrapper-link', function(e) {
- e.preventDefault();
- if (this.href) {
- const event = $.Event('django:show-related', {href: this.href});
- $(this).trigger(event);
- if (!event.isDefaultPrevented()) {
- showRelatedObjectPopup(this);
- }
- }
- });
- $('body').on('change', '.related-widget-wrapper select', function(e) {
- const event = $.Event('django:update-related');
- $(this).trigger(event);
- if (!event.isDefaultPrevented()) {
- updateRelatedObjectLinks(this);
- }
- });
- $('.related-widget-wrapper select').trigger('change');
- $('body').on('click', '.related-lookup', function(e) {
- e.preventDefault();
- const event = $.Event('django:lookup-related');
- $(this).trigger(event);
- if (!event.isDefaultPrevented()) {
- showRelatedObjectLookupPopup(this);
- }
- });
- });
-}
diff --git a/legacy/Results/src/static/admin/js/autocomplete.js b/legacy/Results/src/static/admin/js/autocomplete.js
deleted file mode 100644
index 6095abe..0000000
--- a/legacy/Results/src/static/admin/js/autocomplete.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict';
-{
- const $ = django.jQuery;
-
- $.fn.djangoAdminSelect2 = function() {
- $.each(this, function(i, element) {
- $(element).select2({
- ajax: {
- data: (params) => {
- return {
- term: params.term,
- page: params.page,
- app_label: element.dataset.appLabel,
- model_name: element.dataset.modelName,
- field_name: element.dataset.fieldName
- };
- }
- }
- });
- });
- return this;
- };
-
- $(function() {
- // Initialize all autocomplete widgets except the one in the template
- // form used when a new formset is added.
- $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2();
- });
-
- $(document).on('formset:added', (function() {
- return function(event, $newFormset) {
- return $newFormset.find('.admin-autocomplete').djangoAdminSelect2();
- };
- })(this));
-}
diff --git a/legacy/Results/src/static/admin/js/calendar.js b/legacy/Results/src/static/admin/js/calendar.js
deleted file mode 100644
index a62d10a..0000000
--- a/legacy/Results/src/static/admin/js/calendar.js
+++ /dev/null
@@ -1,221 +0,0 @@
-/*global gettext, pgettext, get_format, quickElement, removeChildren*/
-/*
-calendar.js - Calendar functions by Adrian Holovaty
-depends on core.js for utility functions like removeChildren or quickElement
-*/
-'use strict';
-{
- // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions
- const CalendarNamespace = {
- monthsOfYear: [
- gettext('January'),
- gettext('February'),
- gettext('March'),
- gettext('April'),
- gettext('May'),
- gettext('June'),
- gettext('July'),
- gettext('August'),
- gettext('September'),
- gettext('October'),
- gettext('November'),
- gettext('December')
- ],
- monthsOfYearAbbrev: [
- pgettext('abbrev. month January', 'Jan'),
- pgettext('abbrev. month February', 'Feb'),
- pgettext('abbrev. month March', 'Mar'),
- pgettext('abbrev. month April', 'Apr'),
- pgettext('abbrev. month May', 'May'),
- pgettext('abbrev. month June', 'Jun'),
- pgettext('abbrev. month July', 'Jul'),
- pgettext('abbrev. month August', 'Aug'),
- pgettext('abbrev. month September', 'Sep'),
- pgettext('abbrev. month October', 'Oct'),
- pgettext('abbrev. month November', 'Nov'),
- pgettext('abbrev. month December', 'Dec')
- ],
- daysOfWeek: [
- pgettext('one letter Sunday', 'S'),
- pgettext('one letter Monday', 'M'),
- pgettext('one letter Tuesday', 'T'),
- pgettext('one letter Wednesday', 'W'),
- pgettext('one letter Thursday', 'T'),
- pgettext('one letter Friday', 'F'),
- pgettext('one letter Saturday', 'S')
- ],
- firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')),
- isLeapYear: function(year) {
- return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0));
- },
- getDaysInMonth: function(month, year) {
- let days;
- if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) {
- days = 31;
- }
- else if (month === 4 || month === 6 || month === 9 || month === 11) {
- days = 30;
- }
- else if (month === 2 && CalendarNamespace.isLeapYear(year)) {
- days = 29;
- }
- else {
- days = 28;
- }
- return days;
- },
- draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999
- const today = new Date();
- const todayDay = today.getDate();
- const todayMonth = today.getMonth() + 1;
- const todayYear = today.getFullYear();
- let todayClass = '';
-
- // Use UTC functions here because the date field does not contain time
- // and using the UTC function variants prevent the local time offset
- // from altering the date, specifically the day field. For example:
- //
- // ```
- // var x = new Date('2013-10-02');
- // var day = x.getDate();
- // ```
- //
- // The day variable above will be 1 instead of 2 in, say, US Pacific time
- // zone.
- let isSelectedMonth = false;
- if (typeof selected !== 'undefined') {
- isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month);
- }
-
- month = parseInt(month);
- year = parseInt(year);
- const calDiv = document.getElementById(div_id);
- removeChildren(calDiv);
- const calTable = document.createElement('table');
- quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year);
- const tableBody = quickElement('tbody', calTable);
-
- // Draw days-of-week header
- let tableRow = quickElement('tr', tableBody);
- for (let i = 0; i < 7; i++) {
- quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]);
- }
-
- const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay();
- const days = CalendarNamespace.getDaysInMonth(month, year);
-
- let nonDayCell;
-
- // Draw blanks before first of month
- tableRow = quickElement('tr', tableBody);
- for (let i = 0; i < startingPos; i++) {
- nonDayCell = quickElement('td', tableRow, ' ');
- nonDayCell.className = "nonday";
- }
-
- function calendarMonth(y, m) {
- function onClick(e) {
- e.preventDefault();
- callback(y, m, this.textContent);
- }
- return onClick;
- }
-
- // Draw days of month
- let currentDay = 1;
- for (let i = startingPos; currentDay <= days; i++) {
- if (i % 7 === 0 && currentDay !== 1) {
- tableRow = quickElement('tr', tableBody);
- }
- if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) {
- todayClass = 'today';
- } else {
- todayClass = '';
- }
-
- // use UTC function; see above for explanation.
- if (isSelectedMonth && currentDay === selected.getUTCDate()) {
- if (todayClass !== '') {
- todayClass += " ";
- }
- todayClass += "selected";
- }
-
- const cell = quickElement('td', tableRow, '', 'class', todayClass);
- const link = quickElement('a', cell, currentDay, 'href', '#');
- link.addEventListener('click', calendarMonth(year, month));
- currentDay++;
- }
-
- // Draw blanks after end of month (optional, but makes for valid code)
- while (tableRow.childNodes.length < 7) {
- nonDayCell = quickElement('td', tableRow, ' ');
- nonDayCell.className = "nonday";
- }
-
- calDiv.appendChild(calTable);
- }
- };
-
- // Calendar -- A calendar instance
- function Calendar(div_id, callback, selected) {
- // div_id (string) is the ID of the element in which the calendar will
- // be displayed
- // callback (string) is the name of a JavaScript function that will be
- // called with the parameters (year, month, day) when a day in the
- // calendar is clicked
- this.div_id = div_id;
- this.callback = callback;
- this.today = new Date();
- this.currentMonth = this.today.getMonth() + 1;
- this.currentYear = this.today.getFullYear();
- if (typeof selected !== 'undefined') {
- this.selected = selected;
- }
- }
- Calendar.prototype = {
- drawCurrent: function() {
- CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected);
- },
- drawDate: function(month, year, selected) {
- this.currentMonth = month;
- this.currentYear = year;
-
- if(selected) {
- this.selected = selected;
- }
-
- this.drawCurrent();
- },
- drawPreviousMonth: function() {
- if (this.currentMonth === 1) {
- this.currentMonth = 12;
- this.currentYear--;
- }
- else {
- this.currentMonth--;
- }
- this.drawCurrent();
- },
- drawNextMonth: function() {
- if (this.currentMonth === 12) {
- this.currentMonth = 1;
- this.currentYear++;
- }
- else {
- this.currentMonth++;
- }
- this.drawCurrent();
- },
- drawPreviousYear: function() {
- this.currentYear--;
- this.drawCurrent();
- },
- drawNextYear: function() {
- this.currentYear++;
- this.drawCurrent();
- }
- };
- window.Calendar = Calendar;
- window.CalendarNamespace = CalendarNamespace;
-}
diff --git a/legacy/Results/src/static/admin/js/cancel.js b/legacy/Results/src/static/admin/js/cancel.js
deleted file mode 100644
index 3069c6f..0000000
--- a/legacy/Results/src/static/admin/js/cancel.js
+++ /dev/null
@@ -1,29 +0,0 @@
-'use strict';
-{
- // Call function fn when the DOM is loaded and ready. If it is already
- // loaded, call the function now.
- // http://youmightnotneedjquery.com/#ready
- function ready(fn) {
- if (document.readyState !== 'loading') {
- fn();
- } else {
- document.addEventListener('DOMContentLoaded', fn);
- }
- }
-
- ready(function() {
- function handleClick(event) {
- event.preventDefault();
- const params = new URLSearchParams(window.location.search);
- if (params.has('_popup')) {
- window.close(); // Close the popup.
- } else {
- window.history.back(); // Otherwise, go back.
- }
- }
-
- document.querySelectorAll('.cancel-link').forEach(function(el) {
- el.addEventListener('click', handleClick);
- });
- });
-}
diff --git a/legacy/Results/src/static/admin/js/change_form.js b/legacy/Results/src/static/admin/js/change_form.js
deleted file mode 100644
index 96a4c62..0000000
--- a/legacy/Results/src/static/admin/js/change_form.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-{
- const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'];
- const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName;
- if (modelName) {
- const form = document.getElementById(modelName + '_form');
- for (const element of form.elements) {
- // HTMLElement.offsetParent returns null when the element is not
- // rendered.
- if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) {
- element.focus();
- break;
- }
- }
- }
-}
diff --git a/legacy/Results/src/static/admin/js/collapse.js b/legacy/Results/src/static/admin/js/collapse.js
deleted file mode 100644
index c6c7b0f..0000000
--- a/legacy/Results/src/static/admin/js/collapse.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*global gettext*/
-'use strict';
-{
- window.addEventListener('load', function() {
- // Add anchor tag for Show/Hide link
- const fieldsets = document.querySelectorAll('fieldset.collapse');
- for (const [i, elem] of fieldsets.entries()) {
- // Don't hide if fields in this fieldset have errors
- if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) {
- elem.classList.add('collapsed');
- const h2 = elem.querySelector('h2');
- const link = document.createElement('a');
- link.id = 'fieldsetcollapser' + i;
- link.className = 'collapse-toggle';
- link.href = '#';
- link.textContent = gettext('Show');
- h2.appendChild(document.createTextNode(' ('));
- h2.appendChild(link);
- h2.appendChild(document.createTextNode(')'));
- }
- }
- // Add toggle to hide/show anchor tag
- const toggleFunc = function(ev) {
- if (ev.target.matches('.collapse-toggle')) {
- ev.preventDefault();
- ev.stopPropagation();
- const fieldset = ev.target.closest('fieldset');
- if (fieldset.classList.contains('collapsed')) {
- // Show
- ev.target.textContent = gettext('Hide');
- fieldset.classList.remove('collapsed');
- } else {
- // Hide
- ev.target.textContent = gettext('Show');
- fieldset.classList.add('collapsed');
- }
- }
- };
- document.querySelectorAll('fieldset.module').forEach(function(el) {
- el.addEventListener('click', toggleFunc);
- });
- });
-}
diff --git a/legacy/Results/src/static/admin/js/core.js b/legacy/Results/src/static/admin/js/core.js
deleted file mode 100644
index afdae28..0000000
--- a/legacy/Results/src/static/admin/js/core.js
+++ /dev/null
@@ -1,170 +0,0 @@
-// Core JavaScript helper functions
-'use strict';
-
-// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]);
-function quickElement() {
- const obj = document.createElement(arguments[0]);
- if (arguments[2]) {
- const textNode = document.createTextNode(arguments[2]);
- obj.appendChild(textNode);
- }
- const len = arguments.length;
- for (let i = 3; i < len; i += 2) {
- obj.setAttribute(arguments[i], arguments[i + 1]);
- }
- arguments[1].appendChild(obj);
- return obj;
-}
-
-// "a" is reference to an object
-function removeChildren(a) {
- while (a.hasChildNodes()) {
- a.removeChild(a.lastChild);
- }
-}
-
-// ----------------------------------------------------------------------------
-// Find-position functions by PPK
-// See https://www.quirksmode.org/js/findpos.html
-// ----------------------------------------------------------------------------
-function findPosX(obj) {
- let curleft = 0;
- if (obj.offsetParent) {
- while (obj.offsetParent) {
- curleft += obj.offsetLeft - obj.scrollLeft;
- obj = obj.offsetParent;
- }
- } else if (obj.x) {
- curleft += obj.x;
- }
- return curleft;
-}
-
-function findPosY(obj) {
- let curtop = 0;
- if (obj.offsetParent) {
- while (obj.offsetParent) {
- curtop += obj.offsetTop - obj.scrollTop;
- obj = obj.offsetParent;
- }
- } else if (obj.y) {
- curtop += obj.y;
- }
- return curtop;
-}
-
-//-----------------------------------------------------------------------------
-// Date object extensions
-// ----------------------------------------------------------------------------
-{
- Date.prototype.getTwelveHours = function() {
- return this.getHours() % 12 || 12;
- };
-
- Date.prototype.getTwoDigitMonth = function() {
- return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1);
- };
-
- Date.prototype.getTwoDigitDate = function() {
- return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate();
- };
-
- Date.prototype.getTwoDigitTwelveHour = function() {
- return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours();
- };
-
- Date.prototype.getTwoDigitHour = function() {
- return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours();
- };
-
- Date.prototype.getTwoDigitMinute = function() {
- return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes();
- };
-
- Date.prototype.getTwoDigitSecond = function() {
- return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds();
- };
-
- Date.prototype.getAbbrevMonthName = function() {
- return typeof window.CalendarNamespace === "undefined"
- ? this.getTwoDigitMonth()
- : window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()];
- };
-
- Date.prototype.getFullMonthName = function() {
- return typeof window.CalendarNamespace === "undefined"
- ? this.getTwoDigitMonth()
- : window.CalendarNamespace.monthsOfYear[this.getMonth()];
- };
-
- Date.prototype.strftime = function(format) {
- const fields = {
- b: this.getAbbrevMonthName(),
- B: this.getFullMonthName(),
- c: this.toString(),
- d: this.getTwoDigitDate(),
- H: this.getTwoDigitHour(),
- I: this.getTwoDigitTwelveHour(),
- m: this.getTwoDigitMonth(),
- M: this.getTwoDigitMinute(),
- p: (this.getHours() >= 12) ? 'PM' : 'AM',
- S: this.getTwoDigitSecond(),
- w: '0' + this.getDay(),
- x: this.toLocaleDateString(),
- X: this.toLocaleTimeString(),
- y: ('' + this.getFullYear()).substr(2, 4),
- Y: '' + this.getFullYear(),
- '%': '%'
- };
- let result = '', i = 0;
- while (i < format.length) {
- if (format.charAt(i) === '%') {
- result = result + fields[format.charAt(i + 1)];
- ++i;
- }
- else {
- result = result + format.charAt(i);
- }
- ++i;
- }
- return result;
- };
-
- // ----------------------------------------------------------------------------
- // String object extensions
- // ----------------------------------------------------------------------------
- String.prototype.strptime = function(format) {
- const split_format = format.split(/[.\-/]/);
- const date = this.split(/[.\-/]/);
- let i = 0;
- let day, month, year;
- while (i < split_format.length) {
- switch (split_format[i]) {
- case "%d":
- day = date[i];
- break;
- case "%m":
- month = date[i] - 1;
- break;
- case "%Y":
- year = date[i];
- break;
- case "%y":
- // A %y value in the range of [00, 68] is in the current
- // century, while [69, 99] is in the previous century,
- // according to the Open Group Specification.
- if (parseInt(date[i], 10) >= 69) {
- year = date[i];
- } else {
- year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100;
- }
- break;
- }
- ++i;
- }
- // Create Date object from UTC since the parsed value is supposed to be
- // in UTC, not local time. Also, the calendar uses UTC functions for
- // date extraction.
- return new Date(Date.UTC(year, month, day));
- };
-}
diff --git a/legacy/Results/src/static/admin/js/inlines.js b/legacy/Results/src/static/admin/js/inlines.js
deleted file mode 100644
index d9a9032..0000000
--- a/legacy/Results/src/static/admin/js/inlines.js
+++ /dev/null
@@ -1,344 +0,0 @@
-/*global DateTimeShortcuts, SelectFilter*/
-/**
- * Django admin inlines
- *
- * Based on jQuery Formset 1.1
- * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com)
- * @requires jQuery 1.2.6 or later
- *
- * Copyright (c) 2009, Stanislaus Madueke
- * All rights reserved.
- *
- * Spiced up with Code from Zain Memon's GSoC project 2009
- * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip.
- *
- * Licensed under the New BSD License
- * See: https://opensource.org/licenses/bsd-license.php
- */
-'use strict';
-{
- const $ = django.jQuery;
- $.fn.formset = function(opts) {
- const options = $.extend({}, $.fn.formset.defaults, opts);
- const $this = $(this);
- const $parent = $this.parent();
- const updateElementIndex = function(el, prefix, ndx) {
- const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))");
- const replacement = prefix + "-" + ndx;
- if ($(el).prop("for")) {
- $(el).prop("for", $(el).prop("for").replace(id_regex, replacement));
- }
- if (el.id) {
- el.id = el.id.replace(id_regex, replacement);
- }
- if (el.name) {
- el.name = el.name.replace(id_regex, replacement);
- }
- };
- const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off");
- let nextIndex = parseInt(totalForms.val(), 10);
- const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off");
- const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off");
- let addButton;
-
- /**
- * The "Add another MyModel" button below the inline forms.
- */
- const addInlineAddButton = function() {
- if (addButton === null) {
- if ($this.prop("tagName") === "TR") {
- // If forms are laid out as table rows, insert the
- // "add" button in a new table row:
- const numCols = $this.eq(-1).children().length;
- $parent.append('
' + options.addText + " ");
- addButton = $parent.find("tr:last a");
- } else {
- // Otherwise, insert it immediately after the last form:
- $this.filter(":last").after('
");
- addButton = $this.filter(":last").next().find("a");
- }
- }
- addButton.on('click', addInlineClickHandler);
- };
-
- const addInlineClickHandler = function(e) {
- e.preventDefault();
- const template = $("#" + options.prefix + "-empty");
- const row = template.clone(true);
- row.removeClass(options.emptyCssClass)
- .addClass(options.formCssClass)
- .attr("id", options.prefix + "-" + nextIndex);
- addInlineDeleteButton(row);
- row.find("*").each(function() {
- updateElementIndex(this, options.prefix, totalForms.val());
- });
- // Insert the new form when it has been fully edited.
- row.insertBefore($(template));
- // Update number of total forms.
- $(totalForms).val(parseInt(totalForms.val(), 10) + 1);
- nextIndex += 1;
- // Hide the add button if there's a limit and it's been reached.
- if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) {
- addButton.parent().hide();
- }
- // Show the remove buttons if there are more than min_num.
- toggleDeleteButtonVisibility(row.closest('.inline-group'));
-
- // Pass the new form to the post-add callback, if provided.
- if (options.added) {
- options.added(row);
- }
- $(document).trigger('formset:added', [row, options.prefix]);
- };
-
- /**
- * The "X" button that is part of every unsaved inline.
- * (When saved, it is replaced with a "Delete" checkbox.)
- */
- const addInlineDeleteButton = function(row) {
- if (row.is("tr")) {
- // If the forms are laid out in table rows, insert
- // the remove button into the last table cell:
- row.children(":last").append('
");
- } else if (row.is("ul") || row.is("ol")) {
- // If they're laid out as an ordered/unordered list,
- // insert an
after the last list item:
- row.append(' ' + options.deleteText + " ");
- } else {
- // Otherwise, just insert the remove button as the
- // last child element of the form's container:
- row.children(":first").append('
' + options.deleteText + " ");
- }
- // Add delete handler for each row.
- row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this));
- };
-
- const inlineDeleteHandler = function(e1) {
- e1.preventDefault();
- const deleteButton = $(e1.target);
- const row = deleteButton.closest('.' + options.formCssClass);
- const inlineGroup = row.closest('.inline-group');
- // Remove the parent form containing this button,
- // and also remove the relevant row with non-field errors:
- const prevRow = row.prev();
- if (prevRow.length && prevRow.hasClass('row-form-errors')) {
- prevRow.remove();
- }
- row.remove();
- nextIndex -= 1;
- // Pass the deleted form to the post-delete callback, if provided.
- if (options.removed) {
- options.removed(row);
- }
- $(document).trigger('formset:removed', [row, options.prefix]);
- // Update the TOTAL_FORMS form count.
- const forms = $("." + options.formCssClass);
- $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length);
- // Show add button again once below maximum number.
- if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) {
- addButton.parent().show();
- }
- // Hide the remove buttons if at min_num.
- toggleDeleteButtonVisibility(inlineGroup);
- // Also, update names and ids for all remaining form controls so
- // they remain in sequence:
- let i, formCount;
- const updateElementCallback = function() {
- updateElementIndex(this, options.prefix, i);
- };
- for (i = 0, formCount = forms.length; i < formCount; i++) {
- updateElementIndex($(forms).get(i), options.prefix, i);
- $(forms.get(i)).find("*").each(updateElementCallback);
- }
- };
-
- const toggleDeleteButtonVisibility = function(inlineGroup) {
- if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) {
- inlineGroup.find('.inline-deletelink').hide();
- } else {
- inlineGroup.find('.inline-deletelink').show();
- }
- };
-
- $this.each(function(i) {
- $(this).not("." + options.emptyCssClass).addClass(options.formCssClass);
- });
-
- // Create the delete buttons for all unsaved inlines:
- $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() {
- addInlineDeleteButton($(this));
- });
- toggleDeleteButtonVisibility($this);
-
- // Create the add button, initially hidden.
- addButton = options.addButton;
- addInlineAddButton();
-
- // Show the add button if allowed to add more items.
- // Note that max_num = None translates to a blank string.
- const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0;
- if ($this.length && showAddButton) {
- addButton.parent().show();
- } else {
- addButton.parent().hide();
- }
-
- return this;
- };
-
- /* Setup plugin defaults */
- $.fn.formset.defaults = {
- prefix: "form", // The form prefix for your django formset
- addText: "add another", // Text for the add link
- deleteText: "remove", // Text for the delete link
- addCssClass: "add-row", // CSS class applied to the add link
- deleteCssClass: "delete-row", // CSS class applied to the delete link
- emptyCssClass: "empty-row", // CSS class applied to the empty row
- formCssClass: "dynamic-form", // CSS class applied to each form in a formset
- added: null, // Function called each time a new form is added
- removed: null, // Function called each time a form is deleted
- addButton: null // Existing add button to use
- };
-
-
- // Tabular inlines ---------------------------------------------------------
- $.fn.tabularFormset = function(selector, options) {
- const $rows = $(this);
-
- const reinitDateTimeShortCuts = function() {
- // Reinitialize the calendar and clock widgets by force
- if (typeof DateTimeShortcuts !== "undefined") {
- $(".datetimeshortcuts").remove();
- DateTimeShortcuts.init();
- }
- };
-
- const updateSelectFilter = function() {
- // If any SelectFilter widgets are a part of the new form,
- // instantiate a new SelectFilter instance for it.
- if (typeof SelectFilter !== 'undefined') {
- $('.selectfilter').each(function(index, value) {
- SelectFilter.init(value.id, this.dataset.fieldName, false);
- });
- $('.selectfilterstacked').each(function(index, value) {
- SelectFilter.init(value.id, this.dataset.fieldName, true);
- });
- }
- };
-
- const initPrepopulatedFields = function(row) {
- row.find('.prepopulated_field').each(function() {
- const field = $(this),
- input = field.find('input, select, textarea'),
- dependency_list = input.data('dependency_list') || [],
- dependencies = [];
- $.each(dependency_list, function(i, field_name) {
- dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id'));
- });
- if (dependencies.length) {
- input.prepopulate(dependencies, input.attr('maxlength'));
- }
- });
- };
-
- $rows.formset({
- prefix: options.prefix,
- addText: options.addText,
- formCssClass: "dynamic-" + options.prefix,
- deleteCssClass: "inline-deletelink",
- deleteText: options.deleteText,
- emptyCssClass: "empty-form",
- added: function(row) {
- initPrepopulatedFields(row);
- reinitDateTimeShortCuts();
- updateSelectFilter();
- },
- addButton: options.addButton
- });
-
- return $rows;
- };
-
- // Stacked inlines ---------------------------------------------------------
- $.fn.stackedFormset = function(selector, options) {
- const $rows = $(this);
- const updateInlineLabel = function(row) {
- $(selector).find(".inline_label").each(function(i) {
- const count = i + 1;
- $(this).html($(this).html().replace(/(#\d+)/g, "#" + count));
- });
- };
-
- const reinitDateTimeShortCuts = function() {
- // Reinitialize the calendar and clock widgets by force, yuck.
- if (typeof DateTimeShortcuts !== "undefined") {
- $(".datetimeshortcuts").remove();
- DateTimeShortcuts.init();
- }
- };
-
- const updateSelectFilter = function() {
- // If any SelectFilter widgets were added, instantiate a new instance.
- if (typeof SelectFilter !== "undefined") {
- $(".selectfilter").each(function(index, value) {
- SelectFilter.init(value.id, this.dataset.fieldName, false);
- });
- $(".selectfilterstacked").each(function(index, value) {
- SelectFilter.init(value.id, this.dataset.fieldName, true);
- });
- }
- };
-
- const initPrepopulatedFields = function(row) {
- row.find('.prepopulated_field').each(function() {
- const field = $(this),
- input = field.find('input, select, textarea'),
- dependency_list = input.data('dependency_list') || [],
- dependencies = [];
- $.each(dependency_list, function(i, field_name) {
- dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id'));
- });
- if (dependencies.length) {
- input.prepopulate(dependencies, input.attr('maxlength'));
- }
- });
- };
-
- $rows.formset({
- prefix: options.prefix,
- addText: options.addText,
- formCssClass: "dynamic-" + options.prefix,
- deleteCssClass: "inline-deletelink",
- deleteText: options.deleteText,
- emptyCssClass: "empty-form",
- removed: updateInlineLabel,
- added: function(row) {
- initPrepopulatedFields(row);
- reinitDateTimeShortCuts();
- updateSelectFilter();
- updateInlineLabel(row);
- },
- addButton: options.addButton
- });
-
- return $rows;
- };
-
- $(document).ready(function() {
- $(".js-inline-admin-formset").each(function() {
- const data = $(this).data(),
- inlineOptions = data.inlineFormset;
- let selector;
- switch(data.inlineType) {
- case "stacked":
- selector = inlineOptions.name + "-group .inline-related";
- $(selector).stackedFormset(selector, inlineOptions.options);
- break;
- case "tabular":
- selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr.form-row";
- $(selector).tabularFormset(selector, inlineOptions.options);
- break;
- }
- });
- });
-}
diff --git a/legacy/Results/src/static/admin/js/jquery.init.js b/legacy/Results/src/static/admin/js/jquery.init.js
deleted file mode 100644
index f40b27f..0000000
--- a/legacy/Results/src/static/admin/js/jquery.init.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*global jQuery:false*/
-'use strict';
-/* Puts the included jQuery into our own namespace using noConflict and passing
- * it 'true'. This ensures that the included jQuery doesn't pollute the global
- * namespace (i.e. this preserves pre-existing values for both window.$ and
- * window.jQuery).
- */
-window.django = {jQuery: jQuery.noConflict(true)};
diff --git a/legacy/Results/src/static/admin/js/nav_sidebar.js b/legacy/Results/src/static/admin/js/nav_sidebar.js
deleted file mode 100644
index 86cb1cf..0000000
--- a/legacy/Results/src/static/admin/js/nav_sidebar.js
+++ /dev/null
@@ -1,93 +0,0 @@
-'use strict';
-{
- const toggleNavSidebar = document.getElementById('toggle-nav-sidebar');
- if (toggleNavSidebar !== null) {
- const navLinks = document.querySelectorAll('#nav-sidebar a');
- function disableNavLinkTabbing() {
- for (const navLink of navLinks) {
- navLink.tabIndex = -1;
- }
- }
- function enableNavLinkTabbing() {
- for (const navLink of navLinks) {
- navLink.tabIndex = 0;
- }
- }
-
- const main = document.getElementById('main');
- let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen');
- if (navSidebarIsOpen === null) {
- navSidebarIsOpen = 'true';
- }
- if (navSidebarIsOpen === 'false') {
- disableNavLinkTabbing();
- }
- main.classList.toggle('shifted', navSidebarIsOpen === 'true');
-
- toggleNavSidebar.addEventListener('click', function() {
- if (navSidebarIsOpen === 'true') {
- navSidebarIsOpen = 'false';
- disableNavLinkTabbing();
- } else {
- navSidebarIsOpen = 'true';
- enableNavLinkTabbing();
- }
- localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen);
- main.classList.toggle('shifted');
- });
- }
-
- function initSidebarQuickFilter() {
- const options = [];
- const navSidebar = document.getElementById('nav-sidebar');
- if (!navSidebar) {
- return;
- }
- navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => {
- options.push({title: container.innerHTML, node: container});
- });
-
- function checkValue(event) {
- let filterValue = event.target.value;
- if (filterValue) {
- filterValue = filterValue.toLowerCase();
- }
- if (event.key === 'Escape') {
- filterValue = '';
- event.target.value = ''; // clear input
- }
- let matches = false;
- for (const o of options) {
- let displayValue = '';
- if (filterValue) {
- if (o.title.toLowerCase().indexOf(filterValue) === -1) {
- displayValue = 'none';
- } else {
- matches = true;
- }
- }
- // show/hide parent
- o.node.parentNode.parentNode.style.display = displayValue;
- }
- if (!filterValue || matches) {
- event.target.classList.remove('no-results');
- } else {
- event.target.classList.add('no-results');
- }
- sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue);
- }
-
- const nav = document.getElementById('nav-filter');
- nav.addEventListener('change', checkValue, false);
- nav.addEventListener('input', checkValue, false);
- nav.addEventListener('keyup', checkValue, false);
-
- const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue');
- if (storedValue) {
- nav.value = storedValue;
- checkValue({target: nav, key: ''});
- }
- }
- window.initSidebarQuickFilter = initSidebarQuickFilter;
- initSidebarQuickFilter();
-}
diff --git a/legacy/Results/src/static/admin/js/popup_response.js b/legacy/Results/src/static/admin/js/popup_response.js
deleted file mode 100644
index 2b1d3dd..0000000
--- a/legacy/Results/src/static/admin/js/popup_response.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*global opener */
-'use strict';
-{
- const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse);
- switch(initData.action) {
- case 'change':
- opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value);
- break;
- case 'delete':
- opener.dismissDeleteRelatedObjectPopup(window, initData.value);
- break;
- default:
- opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj);
- break;
- }
-}
diff --git a/legacy/Results/src/static/admin/js/prepopulate.js b/legacy/Results/src/static/admin/js/prepopulate.js
deleted file mode 100644
index 89e95ab..0000000
--- a/legacy/Results/src/static/admin/js/prepopulate.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*global URLify*/
-'use strict';
-{
- const $ = django.jQuery;
- $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) {
- /*
- Depends on urlify.js
- Populates a selected field with the values of the dependent fields,
- URLifies and shortens the string.
- dependencies - array of dependent fields ids
- maxLength - maximum length of the URLify'd string
- allowUnicode - Unicode support of the URLify'd string
- */
- return this.each(function() {
- const prepopulatedField = $(this);
-
- const populate = function() {
- // Bail if the field's value has been changed by the user
- if (prepopulatedField.data('_changed')) {
- return;
- }
-
- const values = [];
- $.each(dependencies, function(i, field) {
- field = $(field);
- if (field.val().length > 0) {
- values.push(field.val());
- }
- });
- prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode));
- };
-
- prepopulatedField.data('_changed', false);
- prepopulatedField.on('change', function() {
- prepopulatedField.data('_changed', true);
- });
-
- if (!prepopulatedField.val()) {
- $(dependencies.join(',')).on('keyup change focus', populate);
- }
- });
- };
-}
diff --git a/legacy/Results/src/static/admin/js/prepopulate_init.js b/legacy/Results/src/static/admin/js/prepopulate_init.js
deleted file mode 100644
index 72ebdcf..0000000
--- a/legacy/Results/src/static/admin/js/prepopulate_init.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-{
- const $ = django.jQuery;
- const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields');
- $.each(fields, function(index, field) {
- $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field');
- $(field.id).data('dependency_list', field.dependency_list).prepopulate(
- field.dependency_ids, field.maxLength, field.allowUnicode
- );
- });
-}
diff --git a/legacy/Results/src/static/admin/js/urlify.js b/legacy/Results/src/static/admin/js/urlify.js
deleted file mode 100644
index 61dedb2..0000000
--- a/legacy/Results/src/static/admin/js/urlify.js
+++ /dev/null
@@ -1,170 +0,0 @@
-/*global XRegExp*/
-'use strict';
-{
- const LATIN_MAP = {
- 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',
- 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',
- 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',
- 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',
- 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a',
- 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c',
- 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i',
- 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o',
- 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u',
- 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y'
- };
- const LATIN_SYMBOLS_MAP = {
- '©': '(c)'
- };
- const GREEK_MAP = {
- 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h',
- 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3',
- 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f',
- 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o',
- 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y',
- 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z',
- 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N',
- 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y',
- 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I',
- 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y'
- };
- const TURKISH_MAP = {
- 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u',
- 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G'
- };
- const ROMANIAN_MAP = {
- 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a',
- 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A'
- };
- const RUSSIAN_MAP = {
- 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
- 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm',
- 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
- 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '',
- 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya',
- 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo',
- 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M',
- 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U',
- 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '',
- 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya'
- };
- const UKRAINIAN_MAP = {
- 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i',
- 'ї': 'yi', 'ґ': 'g'
- };
- const CZECH_MAP = {
- 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't',
- 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R',
- 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z'
- };
- const SLOVAK_MAP = {
- 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l',
- 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't',
- 'ú': 'u', 'ý': 'y', 'ž': 'z',
- 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L',
- 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T',
- 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z'
- };
- const POLISH_MAP = {
- 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's',
- 'ź': 'z', 'ż': 'z',
- 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S',
- 'Ź': 'Z', 'Ż': 'Z'
- };
- const LATVIAN_MAP = {
- 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l',
- 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z',
- 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L',
- 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z'
- };
- const ARABIC_MAP = {
- 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd',
- 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't',
- 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm',
- 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y'
- };
- const LITHUANIAN_MAP = {
- 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u',
- 'ū': 'u', 'ž': 'z',
- 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U',
- 'Ū': 'U', 'Ž': 'Z'
- };
- const SERBIAN_MAP = {
- 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz',
- 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C',
- 'Џ': 'Dz', 'Đ': 'Dj'
- };
- const AZERBAIJANI_MAP = {
- 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u',
- 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U'
- };
- const GEORGIAN_MAP = {
- 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z',
- 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o',
- 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f',
- 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz',
- 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h'
- };
-
- const ALL_DOWNCODE_MAPS = [
- LATIN_MAP,
- LATIN_SYMBOLS_MAP,
- GREEK_MAP,
- TURKISH_MAP,
- ROMANIAN_MAP,
- RUSSIAN_MAP,
- UKRAINIAN_MAP,
- CZECH_MAP,
- SLOVAK_MAP,
- POLISH_MAP,
- LATVIAN_MAP,
- ARABIC_MAP,
- LITHUANIAN_MAP,
- SERBIAN_MAP,
- AZERBAIJANI_MAP,
- GEORGIAN_MAP
- ];
-
- const Downcoder = {
- 'Initialize': function() {
- if (Downcoder.map) { // already made
- return;
- }
- Downcoder.map = {};
- for (const lookup of ALL_DOWNCODE_MAPS) {
- Object.assign(Downcoder.map, lookup);
- }
- Downcoder.regex = new RegExp(Object.keys(Downcoder.map).join('|'), 'g');
- }
- };
-
- function downcode(slug) {
- Downcoder.Initialize();
- return slug.replace(Downcoder.regex, function(m) {
- return Downcoder.map[m];
- });
- }
-
-
- function URLify(s, num_chars, allowUnicode) {
- // changes, e.g., "Petty theft" to "petty-theft"
- if (!allowUnicode) {
- s = downcode(s);
- }
- s = s.toLowerCase(); // convert to lowercase
- // if downcode doesn't hit, the char will be stripped here
- if (allowUnicode) {
- // Keep Unicode letters including both lowercase and uppercase
- // characters, whitespace, and dash; remove other characters.
- s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), '');
- } else {
- s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars
- }
- s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces
- s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens
- s = s.substring(0, num_chars); // trim to first num_chars chars
- s = s.replace(/-+$/g, ''); // trim any trailing hyphens
- return s;
- }
- window.URLify = URLify;
-}
diff --git a/legacy/Results/src/static/admin/js/vendor/jquery/LICENSE.txt b/legacy/Results/src/static/admin/js/vendor/jquery/LICENSE.txt
deleted file mode 100644
index f642c3f..0000000
--- a/legacy/Results/src/static/admin/js/vendor/jquery/LICENSE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright OpenJS Foundation and other contributors, https://openjsf.org/
-
-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/legacy/Results/src/static/admin/js/vendor/jquery/jquery.js b/legacy/Results/src/static/admin/js/vendor/jquery/jquery.js
deleted file mode 100644
index fc6c299..0000000
--- a/legacy/Results/src/static/admin/js/vendor/jquery/jquery.js
+++ /dev/null
@@ -1,10881 +0,0 @@
-/*!
- * jQuery JavaScript Library v3.6.0
- * https://jquery.com/
- *
- * Includes Sizzle.js
- * https://sizzlejs.com/
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2021-03-02T17:08Z
- */
-( function( global, factory ) {
-
- "use strict";
-
- if ( typeof module === "object" && typeof module.exports === "object" ) {
-
- // For CommonJS and CommonJS-like environments where a proper `window`
- // is present, execute the factory and get jQuery.
- // For environments that do not have a `window` with a `document`
- // (such as Node.js), expose a factory as module.exports.
- // This accentuates the need for the creation of a real `window`.
- // e.g. var jQuery = require("jquery")(window);
- // See ticket #14549 for more info.
- module.exports = global.document ?
- factory( global, true ) :
- function( w ) {
- if ( !w.document ) {
- throw new Error( "jQuery requires a window with a document" );
- }
- return factory( w );
- };
- } else {
- factory( global );
- }
-
-// Pass this if window is not defined yet
-} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
-// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
-// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
-// enough that all such attempts are guarded in a try block.
-"use strict";
-
-var arr = [];
-
-var getProto = Object.getPrototypeOf;
-
-var slice = arr.slice;
-
-var flat = arr.flat ? function( array ) {
- return arr.flat.call( array );
-} : function( array ) {
- return arr.concat.apply( [], array );
-};
-
-
-var push = arr.push;
-
-var indexOf = arr.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var fnToString = hasOwn.toString;
-
-var ObjectFunctionString = fnToString.call( Object );
-
-var support = {};
-
-var isFunction = function isFunction( obj ) {
-
- // Support: Chrome <=57, Firefox <=52
- // In some browsers, typeof returns "function" for HTML elements
- // (i.e., `typeof document.createElement( "object" ) === "function"`).
- // We don't want to classify *any* DOM node as a function.
- // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
- // Plus for old WebKit, typeof returns "function" for HTML collections
- // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
- return typeof obj === "function" && typeof obj.nodeType !== "number" &&
- typeof obj.item !== "function";
- };
-
-
-var isWindow = function isWindow( obj ) {
- return obj != null && obj === obj.window;
- };
-
-
-var document = window.document;
-
-
-
- var preservedScriptAttributes = {
- type: true,
- src: true,
- nonce: true,
- noModule: true
- };
-
- function DOMEval( code, node, doc ) {
- doc = doc || document;
-
- var i, val,
- script = doc.createElement( "script" );
-
- script.text = code;
- if ( node ) {
- for ( i in preservedScriptAttributes ) {
-
- // Support: Firefox 64+, Edge 18+
- // Some browsers don't support the "nonce" property on scripts.
- // On the other hand, just using `getAttribute` is not enough as
- // the `nonce` attribute is reset to an empty string whenever it
- // becomes browsing-context connected.
- // See https://github.com/whatwg/html/issues/2369
- // See https://html.spec.whatwg.org/#nonce-attributes
- // The `node.getAttribute` check was added for the sake of
- // `jQuery.globalEval` so that it can fake a nonce-containing node
- // via an object.
- val = node[ i ] || node.getAttribute && node.getAttribute( i );
- if ( val ) {
- script.setAttribute( i, val );
- }
- }
- }
- doc.head.appendChild( script ).parentNode.removeChild( script );
- }
-
-
-function toType( 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;
-}
-/* global Symbol */
-// Defining this global in .eslintrc.json would create a danger of using the global
-// unguarded in another place, it seems safer to define global only for this module
-
-
-
-var
- version = "3.6.0",
-
- // Define a local copy of jQuery
- jQuery = function( selector, context ) {
-
- // The jQuery object is actually just the init constructor 'enhanced'
- // Need init if jQuery is called (just allow error to be thrown if not included)
- return new jQuery.fn.init( selector, context );
- };
-
-jQuery.fn = jQuery.prototype = {
-
- // The current version of jQuery being used
- jquery: version,
-
- constructor: jQuery,
-
- // The default length of a jQuery object is 0
- length: 0,
-
- toArray: function() {
- return slice.call( this );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
-
- // Return all the elements in a clean array
- if ( num == null ) {
- return slice.call( this );
- }
-
- // Return just the one element from the set
- return num < 0 ? this[ num + this.length ] : this[ num ];
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems ) {
-
- // Build a new jQuery matched element set
- var ret = jQuery.merge( this.constructor(), elems );
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- each: function( callback ) {
- return jQuery.each( this, callback );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map( this, function( elem, i ) {
- return callback.call( elem, i, elem );
- } ) );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ) );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- even: function() {
- return this.pushStack( jQuery.grep( this, function( _elem, i ) {
- return ( i + 1 ) % 2;
- } ) );
- },
-
- odd: function() {
- return this.pushStack( jQuery.grep( this, function( _elem, i ) {
- return i % 2;
- } ) );
- },
-
- eq: function( i ) {
- var len = this.length,
- j = +i + ( i < 0 ? len : 0 );
- return this.pushStack( j >= 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" && !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 ) {
- copy = options[ name ];
-
- // Prevent Object.prototype pollution
- // Prevent never-ending loop
- if ( name === "__proto__" || target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
- ( copyIsArray = Array.isArray( copy ) ) ) ) {
- src = target[ name ];
-
- // Ensure proper type for the source value
- if ( copyIsArray && !Array.isArray( src ) ) {
- clone = [];
- } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
- clone = {};
- } else {
- clone = src;
- }
- copyIsArray = false;
-
- // 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() {},
-
- 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 ) {
- var name;
-
- for ( name in obj ) {
- return false;
- }
- return true;
- },
-
- // Evaluates a script in a provided context; falls back to the global one
- // if not specified.
- globalEval: function( code, options, doc ) {
- DOMEval( code, { nonce: options && options.nonce }, doc );
- },
-
- 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;
- },
-
- // 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 flat( ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // 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 = toType( obj );
-
- if ( isFunction( obj ) || 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.6
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://js.foundation/
- *
- * Date: 2021-02-16
- */
-( 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(),
- nonnativeSelectorCache = createCache(),
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- }
- return 0;
- },
-
- // Instance methods
- hasOwn = ( {} ).hasOwnProperty,
- arr = [],
- pop = arr.pop,
- pushNative = 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]",
-
- // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
- identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
- "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
-
- // 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 +
- "*" ),
- rdescend = new RegExp( whitespace + "|>" ),
-
- 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" )
- },
-
- rhtml = /HTML$/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-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
- funescape = function( escape, nonHex ) {
- var high = "0x" + escape.slice( 1 ) - 0x10000;
-
- return nonHex ?
-
- // Strip the backslash prefix from a non-hex escape sequence
- nonHex :
-
- // Replace a hexadecimal escape sequence with the encoded Unicode code point
- // Support: IE <=11+
- // For values outside the Basic Multilingual Plane (BMP), manually construct a
- // surrogate pair
- high < 0 ?
- String.fromCharCode( high + 0x10000 ) :
- 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();
- },
-
- inDisabledFieldset = addCombinator(
- function( elem ) {
- return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
- },
- { 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
- // eslint-disable-next-line no-unused-expressions
- arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
- push = { apply: arr.length ?
-
- // Leverage slice if possible
- function( target, els ) {
- pushNative.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 ) {
- 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 &&
- !nonnativeSelectorCache[ selector + " " ] &&
- ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
-
- // Support: IE 8 only
- // Exclude object elements
- ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
-
- newSelector = selector;
- newContext = context;
-
- // qSA considers elements outside a scoping root when evaluating child or
- // descendant combinators, which is not what we want.
- // In such cases, we work around the behavior by prefixing every selector in the
- // list with an ID selector referencing the scope context.
- // The technique has to be used as well when a leading combinator is used
- // as such selectors are not recognized by querySelectorAll.
- // Thanks to Andrew Dupont for this technique.
- if ( nodeType === 1 &&
- ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
-
- // Expand context for sibling selectors
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
- context;
-
- // We can use :scope instead of the ID hack if the browser
- // supports it & if we're not changing the context.
- if ( newContext !== context || !support.scope ) {
-
- // 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 ? "#" + nid : ":scope" ) + " " +
- toSelector( groups[ i ] );
- }
- newSelector = groups.join( "," );
- }
-
- try {
- push.apply( results,
- newContext.querySelectorAll( newSelector )
- );
- return results;
- } catch ( qsaError ) {
- nonnativeSelectorCache( selector, true );
- } 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 &&
- inDisabledFieldset( 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 ) {
- var namespace = elem && elem.namespaceURI,
- docElem = elem && ( elem.ownerDocument || elem ).documentElement;
-
- // Support: IE <=8
- // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
- // https://bugs.jquery.com/ticket/4833
- return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
-};
-
-/**
- * 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
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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 12 - 18+
- // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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 );
- }
- }
-
- // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
- // Safari 4 - 5 only, Opera <=11.6 - 12.x only
- // IE/Edge & older browsers don't support the :scope pseudo-class.
- // Support: Safari 6.0 only
- // Safari 6.0 supports :scope but it's an alias of :root there.
- support.scope = assert( function( el ) {
- docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
- return typeof el.querySelectorAll !== "undefined" &&
- !el.querySelectorAll( ":scope fieldset div" ).length;
- } );
-
- /* 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 ) {
-
- var input;
-
- // 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( "~=" );
- }
-
- // Support: IE 11+, Edge 15 - 18+
- // IE 11/Edge don't find elements on a `[name='']` query in some cases.
- // Adding a temporary attribute to the document before the selection works
- // around the issue.
- // Interestingly, IE 10 & older don't seem to have the issue.
- input = document.createElement( "input" );
- input.setAttribute( "name", "" );
- el.appendChild( input );
- if ( !el.querySelectorAll( "[name='']" ).length ) {
- rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
- whitespace + "*(?:''|\"\")" );
- }
-
- // 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( ".#.+[+~]" );
- }
-
- // Support: Firefox <=3.6 - 5 only
- // Old Firefox doesn't throw on a badly-escaped identifier.
- el.querySelectorAll( "\\\f" );
- rbuggyQSA.push( "[\\r\\n\\f]" );
- } );
-
- 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" );
- }
-
- // Support: Opera 10 - 11 only
- // 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
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- if ( a == document || a.ownerDocument == preferredDoc &&
- contains( preferredDoc, a ) ) {
- return -1;
- }
-
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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 ) {
-
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- /* eslint-disable eqeqeq */
- return a == document ? -1 :
- b == document ? 1 :
- /* eslint-enable eqeqeq */
- 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
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- /* eslint-disable eqeqeq */
- ap[ i ] == preferredDoc ? -1 :
- bp[ i ] == preferredDoc ? 1 :
- /* eslint-enable eqeqeq */
- 0;
- };
-
- return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
- return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
- setDocument( elem );
-
- if ( support.matchesSelector && documentIsHTML &&
- !nonnativeSelectorCache[ 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 ) {
- nonnativeSelectorCache( expr, true );
- }
- }
-
- return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
-
- // Set document vars if needed
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- if ( ( context.ownerDocument || context ) != document ) {
- setDocument( context );
- }
- return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
-
- // Set document vars if needed
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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 += "";
-
- /* eslint-disable max-len */
-
- 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;
- /* eslint-enable max-len */
-
- };
- },
-
- "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 || 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 ) {
- // eslint-disable-next-line no-unused-expressions
- 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 > length ?
- 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 ) {
-
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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;
-
- // Support: IE 11+, Edge 17 - 18+
- // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
- // two documents; shallow comparisons work.
- // eslint-disable-next-line eqeqeq
- 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 );
-
-
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, not ) {
- if ( 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;
- } );
- }
-
- // Filtered directly for both simple and complex selectors
- return jQuery.filter( qualifier, elements, not );
-}
-
-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 ( 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 ( 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 ( elem.contentDocument != null &&
-
- // Support: IE 11+
- // elements with no `data` attribute has an object
- // `contentDocument` with a `null` prototype.
- getProto( elem.contentDocument ) ) {
-
- 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 ( isFunction( arg ) ) {
- if ( !options.unique || !self.has( arg ) ) {
- list.push( arg );
- }
- } else if ( arg && arg.length && toType( 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 && isFunction( ( method = value.promise ) ) ) {
- method.call( value ).done( resolve ).fail( reject );
-
- // Other thenables
- } else if ( value && 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 = 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 && 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 ( 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,
- isFunction( onProgress ) ?
- onProgress :
- Identity,
- newDefer.notifyWith
- )
- );
-
- // fulfilled_handlers.add( ... )
- tuples[ 1 ][ 3 ].add(
- resolve(
- 0,
- newDefer,
- isFunction( onFulfilled ) ?
- onFulfilled :
- Identity
- )
- );
-
- // rejected_handlers.add( ... )
- tuples[ 2 ][ 3 ].add(
- resolve(
- 0,
- newDefer,
- 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,
-
- // rejected_handlers.disable
- // fulfilled_handlers.disable
- tuples[ 3 - i ][ 3 ].disable,
-
- // progress_callbacks.lock
- tuples[ 0 ][ 2 ].lock,
-
- // progress_handlers.lock
- tuples[ 0 ][ 3 ].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 primary Deferred
- primary = 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 ) ) {
- primary.resolveWith( resolveContexts, resolveValues );
- }
- };
- };
-
- // Single- and empty arguments are adopted like Promise.resolve
- if ( remaining <= 1 ) {
- adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
- !remaining );
-
- // Use .then() to unwrap secondary thenables (cf. gh-3000)
- if ( primary.state() === "pending" ||
- isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
-
- return primary.then();
- }
- }
-
- // Multiple arguments are aggregated like Promise.all array elements
- while ( i-- ) {
- adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
- }
-
- return primary.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 ( toType( 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 ( !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;
-};
-
-
-// Matches dashed string for camelizing
-var rmsPrefix = /^-ms-/,
- rdashAlpha = /-([a-z])/g;
-
-// Used by camelCase as callback to replace()
-function fcamelCase( _all, letter ) {
- return letter.toUpperCase();
-}
-
-// Convert dashed to camelCase; used by the css and data modules
-// Support: IE <=9 - 11, Edge 12 - 15
-// Microsoft forgot to hump their vendor prefix (#9572)
-function camelCase( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
-}
-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[ camelCase( data ) ] = value;
-
- // Handle: [ owner, { properties } ] args
- } else {
-
- // Copy the properties one-by-one to the cache object
- for ( prop in data ) {
- cache[ 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 ][ 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( camelCase );
- } else {
- key = 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 = 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 documentElement = document.documentElement;
-
-
-
- var isAttached = function( elem ) {
- return jQuery.contains( elem.ownerDocument, elem );
- },
- composed = { composed: true };
-
- // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
- // Check attachment across shadow DOM boundaries when possible (gh-3504)
- // Support: iOS 10.0-10.2 only
- // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
- // leading to errors. We need to check for `getRootNode`.
- if ( documentElement.getRootNode ) {
- isAttached = function( elem ) {
- return jQuery.contains( elem.ownerDocument, elem ) ||
- elem.getRootNode( composed ) === elem.ownerDocument;
- };
- }
-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.
- isAttached( elem ) &&
-
- jQuery.css( elem, "display" ) === "none";
- };
-
-
-
-function adjustCSS( elem, prop, valueParts, tween ) {
- var adjusted, scale,
- 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 = elem.nodeType &&
- ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
- rcssNum.exec( jQuery.css( elem, prop ) );
-
- if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
-
- // Support: Firefox <=54
- // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
- initial = initial / 2;
-
- // Trust units reported by jQuery.css
- unit = unit || initialInUnit[ 3 ];
-
- // Iteratively approximate from a nonzero starting point
- initialInUnit = +initial || 1;
-
- while ( maxIterations-- ) {
-
- // Evaluate and update our best guess (doubling guesses that zero out).
- // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
- jQuery.style( elem, prop, initialInUnit + unit );
- if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
- maxIterations = 0;
- }
- initialInUnit = initialInUnit / scale;
-
- }
-
- initialInUnit = initialInUnit * 2;
- jQuery.style( elem, prop, initialInUnit + unit );
-
- // Make sure we update the tween properties later on
- valueParts = valueParts || [];
- }
-
- 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 = ( /^$|^module$|\/(?:java|ecma)script/i );
-
-
-
-( 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;
-
- // Support: IE <=9 only
- // IE <=9 replaces tags with their contents when inserted outside of
- // the select element.
- div.innerHTML = " ";
- support.option = !!div.lastChild;
-} )();
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
-
- // 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, "", "" ]
-};
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// Support: IE <=9 only
-if ( !support.option ) {
- wrapMap.optgroup = wrapMap.option = [ 1, "", " " ];
-}
-
-
-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, attached, 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 ( toType( 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;
- }
-
- attached = isAttached( elem );
-
- // Append to fragment
- tmp = getAll( fragment.appendChild( elem ), "script" );
-
- // Preserve script evaluation history
- if ( attached ) {
- setGlobalEval( tmp );
- }
-
- // Capture executables
- if ( scripts ) {
- j = 0;
- while ( ( elem = tmp[ j++ ] ) ) {
- if ( rscriptType.test( elem.type || "" ) ) {
- scripts.push( elem );
- }
- }
- }
- }
-
- return fragment;
-}
-
-
-var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
- return true;
-}
-
-function returnFalse() {
- return false;
-}
-
-// Support: IE <=9 - 11+
-// focus() and blur() are asynchronous, except when they are no-op.
-// So expect focus to be synchronous when the element is already active,
-// and blur to be synchronous when the element is not already active.
-// (focus and blur are always synchronous in other supported browsers,
-// this just defines when we can count on it).
-function expectSync( elem, type ) {
- return ( elem === safeActiveElement() ) === ( type === "focus" );
-}
-
-// Support: IE <=9 only
-// Accessing document.activeElement can throw unexpectedly
-// https://bugs.jquery.com/ticket/13393
-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 );
-
- // Only attach events to objects that accept data
- if ( !acceptData( elem ) ) {
- 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 = Object.create( null );
- }
- 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 ) {
-
- var i, j, ret, matched, handleObj, handlerQueue,
- args = new Array( arguments.length ),
-
- // Make a writable jQuery.Event from the native event object
- event = jQuery.event.fix( nativeEvent ),
-
- handlers = (
- dataPriv.get( this, "events" ) || Object.create( null )
- )[ 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() ) {
-
- // If the event is namespaced, then each handler is only invoked if it is
- // specially universal or its namespaces are a superset of the event's.
- if ( !event.rnamespace || handleObj.namespace === false ||
- 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: 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
- },
- click: {
-
- // Utilize native event to ensure correct state for checkable inputs
- setup: function( data ) {
-
- // For mutual compressibility with _default, replace `this` access with a local var.
- // `|| data` is dead code meant only to preserve the variable through minification.
- var el = this || data;
-
- // Claim the first handler
- if ( rcheckableType.test( el.type ) &&
- el.click && nodeName( el, "input" ) ) {
-
- // dataPriv.set( el, "click", ... )
- leverageNative( el, "click", returnTrue );
- }
-
- // Return false to allow normal processing in the caller
- return false;
- },
- trigger: function( data ) {
-
- // For mutual compressibility with _default, replace `this` access with a local var.
- // `|| data` is dead code meant only to preserve the variable through minification.
- var el = this || data;
-
- // Force setup before triggering a click
- if ( rcheckableType.test( el.type ) &&
- el.click && nodeName( el, "input" ) ) {
-
- leverageNative( el, "click" );
- }
-
- // Return non-false to allow normal event-path propagation
- return true;
- },
-
- // For cross-browser consistency, suppress native .click() on links
- // Also prevent it if we're currently inside a leveraged native-event stack
- _default: function( event ) {
- var target = event.target;
- return rcheckableType.test( target.type ) &&
- target.click && nodeName( target, "input" ) &&
- dataPriv.get( target, "click" ) ||
- nodeName( 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;
- }
- }
- }
- }
-};
-
-// Ensure the presence of an event listener that handles manually-triggered
-// synthetic events by interrupting progress until reinvoked in response to
-// *native* events that it fires directly, ensuring that state changes have
-// already occurred before other listeners are invoked.
-function leverageNative( el, type, expectSync ) {
-
- // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
- if ( !expectSync ) {
- if ( dataPriv.get( el, type ) === undefined ) {
- jQuery.event.add( el, type, returnTrue );
- }
- return;
- }
-
- // Register the controller as a special universal handler for all event namespaces
- dataPriv.set( el, type, false );
- jQuery.event.add( el, type, {
- namespace: false,
- handler: function( event ) {
- var notAsync, result,
- saved = dataPriv.get( this, type );
-
- if ( ( event.isTrigger & 1 ) && this[ type ] ) {
-
- // Interrupt processing of the outer synthetic .trigger()ed event
- // Saved data should be false in such cases, but might be a leftover capture object
- // from an async native handler (gh-4350)
- if ( !saved.length ) {
-
- // Store arguments for use when handling the inner native event
- // There will always be at least one argument (an event object), so this array
- // will not be confused with a leftover capture object.
- saved = slice.call( arguments );
- dataPriv.set( this, type, saved );
-
- // Trigger the native event and capture its result
- // Support: IE <=9 - 11+
- // focus() and blur() are asynchronous
- notAsync = expectSync( this, type );
- this[ type ]();
- result = dataPriv.get( this, type );
- if ( saved !== result || notAsync ) {
- dataPriv.set( this, type, false );
- } else {
- result = {};
- }
- if ( saved !== result ) {
-
- // Cancel the outer synthetic event
- event.stopImmediatePropagation();
- event.preventDefault();
-
- // Support: Chrome 86+
- // In Chrome, if an element having a focusout handler is blurred by
- // clicking outside of it, it invokes the handler synchronously. If
- // that handler calls `.remove()` on the element, the data is cleared,
- // leaving `result` undefined. We need to guard against this.
- return result && result.value;
- }
-
- // If this is an inner synthetic event for an event with a bubbling surrogate
- // (focus or blur), assume that the surrogate already propagated from triggering the
- // native event and prevent that from happening again here.
- // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
- // bubbling surrogate propagates *after* the non-bubbling base), but that seems
- // less bad than duplication.
- } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
- event.stopPropagation();
- }
-
- // If this is a native event triggered above, everything is now in order
- // Fire an inner synthetic event with the original arguments
- } else if ( saved.length ) {
-
- // ...and capture the result
- dataPriv.set( this, type, {
- value: jQuery.event.trigger(
-
- // Support: IE <=9 - 11+
- // Extend with the prototype to reset the above stopImmediatePropagation()
- jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
- saved.slice( 1 ),
- this
- )
- } );
-
- // Abort handling of the native event
- event.stopImmediatePropagation();
- }
- }
- } );
-}
-
-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 || Date.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,
- code: 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: true
-}, jQuery.event.addProp );
-
-jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
- jQuery.event.special[ type ] = {
-
- // Utilize native event if possible so blur/focus sequence is correct
- setup: function() {
-
- // Claim the first handler
- // dataPriv.set( this, "focus", ... )
- // dataPriv.set( this, "blur", ... )
- leverageNative( this, type, expectSync );
-
- // Return false to allow normal processing in the caller
- return false;
- },
- trigger: function() {
-
- // Force setup before trigger
- leverageNative( this, type );
-
- // Return non-false to allow normal event-path propagation
- return true;
- },
-
- // Suppress native focus or blur as it's already being fired
- // in leverageNative.
- _default: function() {
- return true;
- },
-
- delegateType: delegateType
- };
-} );
-
-// 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
-
- // Support: IE <=10 - 11, Edge 12 - 13 only
- // In IE/Edge using regex groups here causes severe slowdowns.
- // See https://connect.microsoft.com/IE/feedback/details/1736512/
- rnoInnerhtml = /
+
+{% endblock scripts %}
\ No newline at end of file
diff --git a/legacy/Results/src/mainapp/tests.py b/src/mainapp/tests.py
similarity index 100%
rename from legacy/Results/src/mainapp/tests.py
rename to src/mainapp/tests.py
diff --git a/src/mainapp/urls.py b/src/mainapp/urls.py
new file mode 100644
index 0000000..5cef79f
--- /dev/null
+++ b/src/mainapp/urls.py
@@ -0,0 +1,13 @@
+from django.urls import path
+from . import views
+
+urlpatterns = [
+ path('', views.index, name='index'),
+ path('results/', views.results, name='results'),
+ path('scoreboard/', views.scoreboard, name='scoreboard'),
+ path('teams/', views.teams, name='teams'),
+
+ path('bulk-peg/', views.bulk_create_pegs, name='bulk-peg'),
+ path('get-teams/', views.get_teams, name='get-teams'),
+ path('update-member/', views.update_member, name='update-member')
+]
\ No newline at end of file
diff --git a/src/mainapp/views.py b/src/mainapp/views.py
new file mode 100644
index 0000000..17620e0
--- /dev/null
+++ b/src/mainapp/views.py
@@ -0,0 +1,115 @@
+"""Views for the main app."""
+
+from functools import reduce
+
+from django.shortcuts import render, redirect
+from django.http import JsonResponse
+from django.db.models import Q, Case, When, Value, IntegerField
+
+from .models import Peg, Team, Member
+
+
+def index(request):
+ return render(request, 'index.html')
+
+def results(request):
+ return render(request, 'results.html')
+
+def scoreboard(request):
+ return render(request, 'scoreboard.html')
+
+def teams(request):
+ return render(request, 'teams.html')
+
+def bulk_create_pegs(request):
+ """Bulk create pegs"""
+
+ number_of_pegs = request.POST.get("pegAmount")
+ for i in range(int(number_of_pegs)):
+ Peg.objects.create()
+
+ # return to previous page
+ return redirect(request.META.get('HTTP_REFERER'))
+
+def get_teams(request):
+ """Returns a JsonResponse containing a dictionary with a k/v pair for a list of teams.
+
+ Args:
+ request: the web request object.
+ Returns:
+ JsonResponse: dictionary of teams like so {'teams': [{}, {}, {}]}.
+ """
+
+ if not request.POST:
+ return
+
+ search = request.POST.get("search")
+ sort_teams = request.POST.get("sortTeams") or "team_number"
+ sort_members = request.POST.get("sortMembers") or "peg_number"
+
+ teams = Team.objects.order_by(sort_teams).all()
+
+ # Filter out teams that don't contain members being searched for
+ if search:
+ search_terms = search.split()
+ members = Member.objects.filter(
+ reduce(
+ lambda x, y: x | y,
+ [
+ Q(first_name__icontains=term) | Q(last_name__icontains=term)
+ for term in search_terms
+ ]
+ )
+ )
+ teams = teams.filter(members__in=members).distinct()
+
+ # Create a dictionary for the data that is JSON safe
+ response_data = {"teams": []}
+ for team in teams:
+ team_data = {
+ "team_number": team.team_number,
+ "section_letter": team.section_letter if team.section_letter else None,
+ "members": [
+ {
+ "first": member.first_name,
+ "last": member.last_name,
+ "id": member.id,
+ "team": team.team_number,
+ "peg": member.peg_number
+ }
+ for member in team.members.order_by(sort_members).all()
+ ]
+ }
+ response_data["teams"].append(team_data)
+
+ response_data["sortTeams"] = sort_teams
+ response_data["sortMembers"] = sort_members
+
+ return JsonResponse(response_data)
+
+def update_member(request):
+ """Update a member. Returns a JsonResponse with the updated teams."""
+
+ if not request.POST:
+ return
+
+ # Get the updated values
+ member_id = request.POST.get("memberId")
+ first = request.POST.get("first")
+ last = request.POST.get("last")
+ team_number = request.POST.get("teamNumber")
+ peg_number = request.POST.get("pegNumber")
+
+ # Get the member and team
+ member = Member.objects.get(id=member_id)
+ team = Team.objects.get(team_number=team_number)
+
+ # Update the member
+ member.first_name = first
+ member.last_name = last
+ member.team = team
+ member.peg_number = peg_number
+
+ member.save()
+
+ return get_teams(request)
diff --git a/src/manage.py b/src/manage.py
index 81695b5..4fe5c19 100644
--- a/src/manage.py
+++ b/src/manage.py
@@ -6,7 +6,7 @@ import sys
def main():
"""Run administrative tasks."""
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Site.settings')
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Results.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
diff --git a/src/static/css/bootstrap.min.css b/src/static/css/bootstrap.min.css
index 596784f..cc56179 100644
--- a/src/static/css/bootstrap.min.css
+++ b/src/static/css/bootstrap.min.css
@@ -1,6 +1,6 @@
@charset "UTF-8";/*!
- * Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/)
- * Copyright 2011-2022 The Bootstrap Authors
+ * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/)
+ * Copyright 2011-2023 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text:#0a58ca;--bs-secondary-text:#6c757d;--bs-success-text:#146c43;--bs-info-text:#087990;--bs-warning-text:#997404;--bs-danger-text:#b02a37;--bs-light-text:#6c757d;--bs-dark-text:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#f8f9fa;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#e9ecef;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075);--bs-emphasis-color:#000;--bs-form-control-bg:var(--bs-body-bg);--bs-form-control-disabled-bg:var(--bs-secondary-bg);--bs-highlight-bg:#fff3cd;--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}[data-bs-theme=dark]{--bs-body-color:#adb5bd;--bs-body-color-rgb:173,181,189;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#f8f9fa;--bs-emphasis-color-rgb:248,249,250;--bs-secondary-color:rgba(173, 181, 189, 0.75);--bs-secondary-color-rgb:173,181,189;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(173, 181, 189, 0.5);--bs-tertiary-color-rgb:173,181,189;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-emphasis-color:#fff;--bs-primary-text:#6ea8fe;--bs-secondary-text:#dee2e6;--bs-success-text:#75b798;--bs-info-text:#6edff6;--bs-warning-text:#ffda6a;--bs-danger-text:#ea868f;--bs-light-text:#f8f9fa;--bs-dark-text:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#212529;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#495057;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#055160;--bs-warning-border-subtle:#664d03;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:#fff;--bs-link-color:#6ea8fe;--bs-link-hover-color:#9ec5fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:158,197,254;--bs-code-color:#e685b5;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15)}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color,inherit)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-form-control-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-form-control-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-form-control-disabled-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-form-control-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-form-control-disabled-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-form-control-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating::before:not(.form-control:disabled){position:absolute;top:var(--bs-border-width);left:var(--bs-border-width);width:calc(100% - (calc(calc(.375em + .1875rem) + calc(.75em + .375rem))));height:1.875em;content:"";background-color:var(--bs-form-control-bg);border-radius:.375rem}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-success-text)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-success);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-success);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-success)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-success);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-success)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-success-text)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-success-text)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-danger-text)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-danger);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-danger);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-danger)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-danger);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-danger)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-danger-text)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-danger-text)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(0.375rem - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-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,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a58ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text)}.alert-success{--bs-alert-color:var(--bs-success-text);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text)}.alert-info{--bs-alert-color:var(--bs-info-text);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text)}.alert-warning{--bs-alert-color:var(--bs-warning-text);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text)}.alert-danger{--bs-alert-color:var(--bs-danger-text);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text)}.alert-light{--bs-alert-color:var(--bs-light-text);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text)}.alert-dark{--bs-alert-color:var(--bs-dark-text);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle)}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle)}.list-group-item-primary.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-primary-text);--bs-list-group-active-border-color:var(--bs-primary-text)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle)}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle)}.list-group-item-secondary.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-secondary-text);--bs-list-group-active-border-color:var(--bs-secondary-text)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle)}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle)}.list-group-item-success.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-success-text);--bs-list-group-active-border-color:var(--bs-success-text)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle)}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle)}.list-group-item-info.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-info-text);--bs-list-group-active-border-color:var(--bs-info-text)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle)}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle)}.list-group-item-warning.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-warning-text);--bs-list-group-active-border-color:var(--bs-warning-text)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle)}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle)}.list-group-item-danger.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-danger-text);--bs-list-group-active-border-color:var(--bs-danger-text)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle)}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle)}.list-group-item-light.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-light-text);--bs-list-group-active-border-color:var(--bs-light-text)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle)}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle)}.list-group-item-dark.list-group-item-action:active{--bs-list-group-active-color:var(--bs-emphasis-color);--bs-list-group-active-bg:var(--bs-dark-text);--bs-list-group-active-border-color:var(--bs-dark-text)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(var(--bs-body-color-rgb),.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(var(--bs-body-color-rgb),.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(var(--bs-body-color-rgb),.175)!important}.shadow-none{box-shadow: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}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text)!important}.text-secondary-emphasis{color:var(--bs-secondary-text)!important}.text-success-emphasis{color:var(--bs-success-text)!important}.text-info-emphasis{color:var(--bs-info-text)!important}.text-warning-emphasis{color:var(--bs-warning-text)!important}.text-danger-emphasis{color:var(--bs-danger-text)!important}.text-light-emphasis{color:var(--bs-light-text)!important}.text-dark-emphasis{color:var(--bs-dark-text)!important}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-emphasis{--bs-bg-opacity:1;background-color:rgba(var(--bs-emphasis-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-2xl)!important;border-top-right-radius:var(--bs-border-radius-2xl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-2xl)!important;border-bottom-right-radius:var(--bs-border-radius-2xl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-2xl)!important;border-bottom-left-radius:var(--bs-border-radius-2xl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-2xl)!important;border-top-left-radius:var(--bs-border-radius-2xl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+ */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#adb5bd;--bs-body-color-rgb:173,181,189;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(173, 181, 189, 0.75);--bs-secondary-color-rgb:173,181,189;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(173, 181, 189, 0.5);--bs-tertiary-color-rgb:173,181,189;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color,inherit)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label{color:#6c757d}.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-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,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);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;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))}.link-secondary{color:RGBA(var(--bs-secondary-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))}.link-success{color:RGBA(var(--bs-success-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))}.link-info{color:RGBA(var(--bs-info-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))}.link-warning{color:RGBA(var(--bs-warning-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))}.link-danger{color:RGBA(var(--bs-danger-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))}.link-light{color:RGBA(var(--bs-light-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))}.link-dark{color:RGBA(var(--bs-dark-rgb,var(--bs-link-opacity,1)));-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1));-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1));text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75));-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75));text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.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}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/src/static/css/custom.css b/src/static/css/custom.css
new file mode 100644
index 0000000..a971403
--- /dev/null
+++ b/src/static/css/custom.css
@@ -0,0 +1,42 @@
+
+.ul-cols-2 {
+ column-count: 2;
+ column-gap: 20px;
+}
+
+.ul-cols-2 li {
+ display: inline-block;
+ width: 100%;
+ box-sizing: border-box;
+ padding: 5px;
+}
+
+.spinner-border-lg {
+ width: 3rem;
+ height: 3rem;
+}
+
+.fluid-hover-zoom {
+ transition:
+ .3s transform cubic-bezier(.155,1.105,.295,1.12),
+ .3s box-shadow,
+ .3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
+ backface-visibility: hidden;
+}
+
+.fluid-hover-zoom:hover {
+ transform: scale(1.035);
+}
+
+.no-transform {
+ transform: none !important;
+}
+
+.shadow-on-hover:not(:hover) {
+ box-shadow: none !important;
+}
+
+.team-column {
+ opacity: 0;
+ transition: 5s opacity ease-in;
+}
\ No newline at end of file
diff --git a/src/static/css/index.css b/src/static/css/index.css
new file mode 100644
index 0000000..41afdd0
--- /dev/null
+++ b/src/static/css/index.css
@@ -0,0 +1,67 @@
+body {
+ background-color: #0d5979;
+}
+
+.bd-placeholder-img {
+ font-size: 1.125rem;
+ text-anchor: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+@media (min-width: 768px) {
+ .bd-placeholder-img-lg {
+ font-size: 3.5rem;
+ }
+}
+
+.b-example-divider {
+ height: 3rem;
+ background-color: rgba(0, 0, 0, .1);
+ border: solid rgba(0, 0, 0, .15);
+ border-width: 1px 0;
+ box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
+}
+
+.b-example-vr {
+ flex-shrink: 0;
+ width: 1.5rem;
+ height: 100vh;
+}
+
+.bi {
+ vertical-align: -.125em;
+ fill: currentColor;
+}
+
+.nav-scroller {
+ position: relative;
+ z-index: 2;
+ height: 2.75rem;
+ overflow-y: hidden;
+}
+
+.nav-scroller .nav {
+ display: flex;
+ flex-wrap: nowrap;
+ padding-bottom: 1rem;
+ margin-top: -1px;
+ overflow-x: auto;
+ text-align: center;
+ white-space: nowrap;
+ -webkit-overflow-scrolling: touch;
+}
+
+.card{
+ border-radius: 4px;
+ background: #fff;
+ box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
+ transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
+ cursor: pointer;
+}
+
+.card:hover{
+ transform: scale(1.05);
+ box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
+}
\ No newline at end of file
diff --git a/src/static/css/keyframes.css b/src/static/css/keyframes.css
new file mode 100644
index 0000000..cc9302b
--- /dev/null
+++ b/src/static/css/keyframes.css
@@ -0,0 +1,2218 @@
+/*!
+Animate.css - http://daneden.me/animate
+Licensed under the MIT license - http://opensource.org/licenses/MIT
+
+Copyright (c) 2014 Daniel Eden
+*/
+/* line 10, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.animated {
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both; }
+
+/* line 17, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.animated.infinite {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite; }
+
+/* line 22, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.animated.hinge {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s; }
+
+@-webkit-keyframes bounce {
+ 0%, 20%, 53%, 80%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ 40%, 43% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0); }
+ 70% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0); } }
+@keyframes bounce {
+ 0%, 20%, 53%, 80%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ 40%, 43% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ -ms-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0); }
+ 70% {
+ -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ -ms-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ -ms-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0); } }
+/* line 87, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounce {
+ -webkit-animation-name: bounce;
+ animation-name: bounce;
+ -webkit-transform-origin: center bottom;
+ -ms-transform-origin: center bottom;
+ transform-origin: center bottom; }
+
+@-webkit-keyframes flash {
+ 0%, 50%, 100% {
+ opacity: 1; }
+ 25%, 75% {
+ opacity: 0; } }
+@keyframes flash {
+ 0%, 50%, 100% {
+ opacity: 1; }
+ 25%, 75% {
+ opacity: 0; } }
+/* line 115, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.flash {
+ -webkit-animation-name: flash;
+ animation-name: flash; }
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+@-webkit-keyframes pulse {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+@keyframes pulse {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ -ms-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+/* line 159, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.pulse {
+ -webkit-animation-name: pulse;
+ animation-name: pulse; }
+
+@-webkit-keyframes rubberBand {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1); }
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1); }
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1); }
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1); }
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+@keyframes rubberBand {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ -ms-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1); }
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ -ms-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1); }
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ -ms-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1); }
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ -ms-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1); }
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ -ms-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+/* line 245, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rubberBand {
+ -webkit-animation-name: rubberBand;
+ animation-name: rubberBand; }
+
+@-webkit-keyframes shake {
+ 0%, 100% {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ 10%, 30%, 50%, 70%, 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0); }
+ 20%, 40%, 60%, 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0); } }
+@keyframes shake {
+ 0%, 100% {
+ -webkit-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ 10%, 30%, 50%, 70%, 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ -ms-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0); }
+ 20%, 40%, 60%, 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ -ms-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0); } }
+/* line 287, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.shake {
+ -webkit-animation-name: shake;
+ animation-name: shake; }
+
+@-webkit-keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg); }
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg); }
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg); }
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg); }
+ 100% {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg); } }
+@keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ -ms-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg); }
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ -ms-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg); }
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ -ms-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg); }
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ -ms-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg); }
+ 100% {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ -ms-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg); } }
+/* line 351, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.swing {
+ -webkit-transform-origin: top center;
+ -ms-transform-origin: top center;
+ transform-origin: top center;
+ -webkit-animation-name: swing;
+ animation-name: swing; }
+
+@-webkit-keyframes tada {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 10%, 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
+ 30%, 50%, 70%, 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
+ 40%, 60%, 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+@keyframes tada {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); }
+ 10%, 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ -ms-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
+ 30%, 50%, 70%, 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
+ 40%, 60%, 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+/* line 418, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.tada {
+ -webkit-animation-name: tada;
+ animation-name: tada; }
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+@-webkit-keyframes wobble {
+ 0% {
+ -webkit-transform: none;
+ transform: none; }
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
+ 100% {
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes wobble {
+ 0% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; }
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ -ms-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ -ms-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ -ms-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ -ms-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ -ms-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
+ 100% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 506, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.wobble {
+ -webkit-animation-name: wobble;
+ animation-name: wobble; }
+
+@-webkit-keyframes bounceIn {
+ 0%, 20%, 40%, 60%, 80%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1); }
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03); }
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+@keyframes bounceIn {
+ 0%, 20%, 40%, 60%, 80%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ -ms-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ -ms-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1); }
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ -ms-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ -ms-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03); }
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ -ms-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ -ms-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1); } }
+/* line 597, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceIn {
+ -webkit-animation-name: bounceIn;
+ animation-name: bounceIn;
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s; }
+
+@-webkit-keyframes bounceInDown {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0); }
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0); }
+ 100% {
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes bounceInDown {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ -ms-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ -ms-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0); }
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ -ms-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ -ms-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0); }
+ 100% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 677, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceInDown {
+ -webkit-animation-name: bounceInDown;
+ animation-name: bounceInDown; }
+
+@-webkit-keyframes bounceInLeft {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0); }
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0); }
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0); }
+ 100% {
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes bounceInLeft {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ -ms-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ -ms-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0); }
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ -ms-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0); }
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ -ms-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0); }
+ 100% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 755, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceInLeft {
+ -webkit-animation-name: bounceInLeft;
+ animation-name: bounceInLeft; }
+
+@-webkit-keyframes bounceInRight {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0); }
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0); }
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0); }
+ 100% {
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes bounceInRight {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ -ms-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ -ms-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0); }
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ -ms-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0); }
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ -ms-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0); }
+ 100% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 833, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceInRight {
+ -webkit-animation-name: bounceInRight;
+ animation-name: bounceInRight; }
+
+@-webkit-keyframes bounceInUp {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0); }
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0); }
+ 100% {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); } }
+@keyframes bounceInUp {
+ 0%, 60%, 75%, 90%, 100% {
+ -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ -ms-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ -ms-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0); }
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ -ms-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0); }
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ -ms-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0); }
+ 100% {
+ -webkit-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); } }
+/* line 911, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceInUp {
+ -webkit-animation-name: bounceInUp;
+ animation-name: bounceInUp; }
+
+@-webkit-keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9); }
+ 50%, 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); } }
+@keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ -ms-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9); }
+ 50%, 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ -ms-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ -ms-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); } }
+/* line 957, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceOut {
+ -webkit-animation-name: bounceOut;
+ animation-name: bounceOut;
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s; }
+
+@-webkit-keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0); }
+ 40%, 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); } }
+@keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ -ms-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0); }
+ 40%, 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ -ms-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ -ms-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); } }
+/* line 1005, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceOutDown {
+ -webkit-animation-name: bounceOutDown;
+ animation-name: bounceOutDown; }
+
+@-webkit-keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); } }
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ -ms-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ -ms-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); } }
+/* line 1040, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceOutLeft {
+ -webkit-animation-name: bounceOutLeft;
+ animation-name: bounceOutLeft; }
+
+@-webkit-keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); } }
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ -ms-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ -ms-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); } }
+/* line 1075, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceOutRight {
+ -webkit-animation-name: bounceOutRight;
+ animation-name: bounceOutRight; }
+
+@-webkit-keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0); }
+ 40%, 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); } }
+@keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ -ms-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0); }
+ 40%, 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ -ms-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ -ms-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); } }
+/* line 1121, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.bounceOutUp {
+ -webkit-animation-name: bounceOutUp;
+ animation-name: bounceOutUp; }
+
+@-webkit-keyframes fadeIn {
+ 0% {
+ opacity: 0; }
+ 100% {
+ opacity: 1; } }
+@keyframes fadeIn {
+ 0% {
+ opacity: 0; }
+ 100% {
+ opacity: 1; } }
+/* line 1146, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeIn {
+ -webkit-animation-name: fadeIn;
+ animation-name: fadeIn; }
+
+@-webkit-keyframes fadeInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ -ms-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1181, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInDown {
+ -webkit-animation-name: fadeInDown;
+ animation-name: fadeInDown; }
+
+@-webkit-keyframes fadeInDownBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInDownBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ -ms-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1216, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInDownBig {
+ -webkit-animation-name: fadeInDownBig;
+ animation-name: fadeInDownBig; }
+
+@-webkit-keyframes fadeInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ -ms-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1251, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInLeft {
+ -webkit-animation-name: fadeInLeft;
+ animation-name: fadeInLeft; }
+
+@-webkit-keyframes fadeInLeftBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInLeftBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ -ms-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1286, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInLeftBig {
+ -webkit-animation-name: fadeInLeftBig;
+ animation-name: fadeInLeftBig; }
+
+@-webkit-keyframes fadeInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ -ms-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1321, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInRight {
+ -webkit-animation-name: fadeInRight;
+ animation-name: fadeInRight; }
+
+@-webkit-keyframes fadeInRightBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInRightBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ -ms-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1356, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInRightBig {
+ -webkit-animation-name: fadeInRightBig;
+ animation-name: fadeInRightBig; }
+
+@-webkit-keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ -ms-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1391, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInUp {
+ -webkit-animation-name: fadeInUp;
+ animation-name: fadeInUp; }
+
+@-webkit-keyframes fadeInUpBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes fadeInUpBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ -ms-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 1426, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeInUpBig {
+ -webkit-animation-name: fadeInUpBig;
+ animation-name: fadeInUpBig; }
+
+@-webkit-keyframes fadeOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0; } }
+@keyframes fadeOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0; } }
+/* line 1451, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOut {
+ -webkit-animation-name: fadeOut;
+ animation-name: fadeOut; }
+
+@-webkit-keyframes fadeOutDown {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0); } }
+@keyframes fadeOutDown {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ -ms-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0); } }
+/* line 1481, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutDown {
+ -webkit-animation-name: fadeOutDown;
+ animation-name: fadeOutDown; }
+
+@-webkit-keyframes fadeOutDownBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); } }
+@keyframes fadeOutDownBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ -ms-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0); } }
+/* line 1511, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutDownBig {
+ -webkit-animation-name: fadeOutDownBig;
+ animation-name: fadeOutDownBig; }
+
+@-webkit-keyframes fadeOutLeft {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); } }
+@keyframes fadeOutLeft {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ -ms-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); } }
+/* line 1541, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutLeft {
+ -webkit-animation-name: fadeOutLeft;
+ animation-name: fadeOutLeft; }
+
+@-webkit-keyframes fadeOutLeftBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); } }
+@keyframes fadeOutLeftBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ -ms-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0); } }
+/* line 1571, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutLeftBig {
+ -webkit-animation-name: fadeOutLeftBig;
+ animation-name: fadeOutLeftBig; }
+
+@-webkit-keyframes fadeOutRight {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0); } }
+@keyframes fadeOutRight {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ -ms-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0); } }
+/* line 1601, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutRight {
+ -webkit-animation-name: fadeOutRight;
+ animation-name: fadeOutRight; }
+
+@-webkit-keyframes fadeOutRightBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); } }
+@keyframes fadeOutRightBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ -ms-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0); } }
+/* line 1631, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutRightBig {
+ -webkit-animation-name: fadeOutRightBig;
+ animation-name: fadeOutRightBig; }
+
+@-webkit-keyframes fadeOutUp {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0); } }
+@keyframes fadeOutUp {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ -ms-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0); } }
+/* line 1661, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutUp {
+ -webkit-animation-name: fadeOutUp;
+ animation-name: fadeOutUp; }
+
+@-webkit-keyframes fadeOutUpBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); } }
+@keyframes fadeOutUpBig {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ -ms-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0); } }
+/* line 1691, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.fadeOutUpBig {
+ -webkit-animation-name: fadeOutUpBig;
+ animation-name: fadeOutUpBig; }
+
+@-webkit-keyframes flip {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out; }
+ 40% {
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out; }
+ 50% {
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; }
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; }
+ 100% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; } }
+@keyframes flip {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out; }
+ 40% {
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out; }
+ 50% {
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; }
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
+ -ms-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; }
+ 100% {
+ -webkit-transform: perspective(400px);
+ -ms-transform: perspective(400px);
+ transform: perspective(400px);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; } }
+/* line 1775, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.animated.flip {
+ -webkit-backface-visibility: visible;
+ -ms-backface-visibility: visible;
+ backface-visibility: visible;
+ -webkit-animation-name: flip;
+ animation-name: flip; }
+
+@-webkit-keyframes flipInX {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in;
+ opacity: 0; }
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in; }
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
+ 100% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px); } }
+@keyframes flipInX {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in;
+ opacity: 0; }
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in; }
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
+ 100% {
+ -webkit-transform: perspective(400px);
+ -ms-transform: perspective(400px);
+ transform: perspective(400px); } }
+/* line 1854, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.flipInX {
+ -webkit-backface-visibility: visible !important;
+ -ms-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInX;
+ animation-name: flipInX; }
+
+@-webkit-keyframes flipInY {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in;
+ opacity: 0; }
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in; }
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
+ 100% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px); } }
+@keyframes flipInY {
+ 0% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in;
+ opacity: 0; }
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-transition-timing-function: ease-in;
+ transition-timing-function: ease-in; }
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
+ 100% {
+ -webkit-transform: perspective(400px);
+ -ms-transform: perspective(400px);
+ transform: perspective(400px); } }
+/* line 1933, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.flipInY {
+ -webkit-backface-visibility: visible !important;
+ -ms-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInY;
+ animation-name: flipInY; }
+
+@-webkit-keyframes flipOutX {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px); }
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0; } }
+@keyframes flipOutX {
+ 0% {
+ -webkit-transform: perspective(400px);
+ -ms-transform: perspective(400px);
+ transform: perspective(400px); }
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0; } }
+/* line 1982, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.flipOutX {
+ -webkit-animation-name: flipOutX;
+ animation-name: flipOutX;
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s;
+ -webkit-backface-visibility: visible !important;
+ -ms-backface-visibility: visible !important;
+ backface-visibility: visible !important; }
+
+@-webkit-keyframes flipOutY {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px); }
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0; } }
+@keyframes flipOutY {
+ 0% {
+ -webkit-transform: perspective(400px);
+ -ms-transform: perspective(400px);
+ transform: perspective(400px); }
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0; } }
+/* line 2033, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.flipOutY {
+ -webkit-backface-visibility: visible !important;
+ -ms-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipOutY;
+ animation-name: flipOutY;
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s; }
+
+@-webkit-keyframes lightSpeedIn {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0; }
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes lightSpeedIn {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ -ms-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0; }
+ 60% {
+ -webkit-transform: skewX(20deg);
+ -ms-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1; }
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ -ms-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2099, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.lightSpeedIn {
+ -webkit-animation-name: lightSpeedIn;
+ animation-name: lightSpeedIn;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out; }
+
+@-webkit-keyframes lightSpeedOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0; } }
+@keyframes lightSpeedOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ -ms-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0; } }
+/* line 2131, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.lightSpeedOut {
+ -webkit-animation-name: lightSpeedOut;
+ animation-name: lightSpeedOut;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in; }
+
+@-webkit-keyframes rotateIn {
+ 0% {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes rotateIn {
+ 0% {
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ -ms-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2178, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateIn {
+ -webkit-animation-name: rotateIn;
+ animation-name: rotateIn; }
+
+@-webkit-keyframes rotateInDownLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes rotateInDownLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ -ms-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2223, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateInDownLeft {
+ -webkit-animation-name: rotateInDownLeft;
+ animation-name: rotateInDownLeft; }
+
+@-webkit-keyframes rotateInDownRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes rotateInDownRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ -ms-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2268, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateInDownRight {
+ -webkit-animation-name: rotateInDownRight;
+ animation-name: rotateInDownRight; }
+
+@-webkit-keyframes rotateInUpLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes rotateInUpLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ -ms-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2313, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateInUpLeft {
+ -webkit-animation-name: rotateInUpLeft;
+ animation-name: rotateInUpLeft; }
+
+@-webkit-keyframes rotateInUpRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: none;
+ transform: none;
+ opacity: 1; } }
+@keyframes rotateInUpRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ -ms-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ opacity: 1; } }
+/* line 2358, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateInUpRight {
+ -webkit-animation-name: rotateInUpRight;
+ animation-name: rotateInUpRight; }
+
+@-webkit-keyframes rotateOut {
+ 0% {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0; } }
+@keyframes rotateOut {
+ 0% {
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ -ms-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0; } }
+/* line 2398, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateOut {
+ -webkit-animation-name: rotateOut;
+ animation-name: rotateOut; }
+
+@-webkit-keyframes rotateOutDownLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate(0, 0, 1, 45deg);
+ transform: rotate(0, 0, 1, 45deg);
+ opacity: 0; } }
+@keyframes rotateOutDownLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate(0, 0, 1, 45deg);
+ -ms-transform: rotate(0, 0, 1, 45deg);
+ transform: rotate(0, 0, 1, 45deg);
+ opacity: 0; } }
+/* line 2438, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateOutDownLeft {
+ -webkit-animation-name: rotateOutDownLeft;
+ animation-name: rotateOutDownLeft; }
+
+@-webkit-keyframes rotateOutDownRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; } }
+@keyframes rotateOutDownRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ -ms-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; } }
+/* line 2478, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateOutDownRight {
+ -webkit-animation-name: rotateOutDownRight;
+ animation-name: rotateOutDownRight; }
+
+@-webkit-keyframes rotateOutUpLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; } }
+@keyframes rotateOutUpLeft {
+ 0% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: left bottom;
+ -ms-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ -ms-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0; } }
+/* line 2518, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateOutUpLeft {
+ -webkit-animation-name: rotateOutUpLeft;
+ animation-name: rotateOutUpLeft; }
+
+@-webkit-keyframes rotateOutUpRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0; } }
+@keyframes rotateOutUpRight {
+ 0% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1; }
+ 100% {
+ -webkit-transform-origin: right bottom;
+ -ms-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ -ms-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0; } }
+/* line 2558, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rotateOutUpRight {
+ -webkit-animation-name: rotateOutUpRight;
+ animation-name: rotateOutUpRight; }
+
+@-webkit-keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out; }
+ 20%, 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out; }
+ 40%, 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1; }
+ 100% {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0; } }
+@keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ -ms-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out; }
+ 20%, 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ -ms-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ -ms-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out; }
+ 40%, 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ -ms-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ -ms-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1; }
+ 100% {
+ -webkit-transform: translate3d(0, 700px, 0);
+ -ms-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0; } }
+/* line 2637, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.hinge {
+ -webkit-animation-name: hinge;
+ animation-name: hinge; }
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+@-webkit-keyframes rollIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none; } }
+@keyframes rollIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ -ms-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
+ 100% {
+ opacity: 1;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none; } }
+/* line 2674, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rollIn {
+ -webkit-animation-name: rollIn;
+ animation-name: rollIn; }
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+@-webkit-keyframes rollOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
+@keyframes rollOut {
+ 0% {
+ opacity: 1; }
+ 100% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ -ms-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
+/* line 2706, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.rollOut {
+ -webkit-animation-name: rollOut;
+ animation-name: rollOut; }
+
+@-webkit-keyframes zoomIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 50% {
+ opacity: 1; } }
+@keyframes zoomIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ -ms-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 50% {
+ opacity: 1; } }
+/* line 2736, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomIn {
+ -webkit-animation-name: zoomIn;
+ animation-name: zoomIn; }
+
+@-webkit-keyframes zoomInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 2779, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomInDown {
+ -webkit-animation-name: zoomInDown;
+ animation-name: zoomInDown; }
+
+@-webkit-keyframes zoomInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 2822, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomInLeft {
+ -webkit-animation-name: zoomInLeft;
+ animation-name: zoomInLeft; }
+
+@-webkit-keyframes zoomInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 2865, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomInRight {
+ -webkit-animation-name: zoomInRight;
+ animation-name: zoomInRight; }
+
+@-webkit-keyframes zoomInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 2908, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomInUp {
+ -webkit-animation-name: zoomInUp;
+ animation-name: zoomInUp; }
+
+@-webkit-keyframes zoomOut {
+ 0% {
+ opacity: 1; }
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 100% {
+ opacity: 0; } }
+@keyframes zoomOut {
+ 0% {
+ opacity: 1; }
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ -ms-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3); }
+ 100% {
+ opacity: 0; } }
+/* line 2946, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomOut {
+ -webkit-animation-name: zoomOut;
+ animation-name: zoomOut; }
+
+@-webkit-keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ -ms-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 2994, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomOutDown {
+ -webkit-animation-name: zoomOutDown;
+ animation-name: zoomOutDown; }
+
+@-webkit-keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center; } }
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -ms-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ -ms-transform-origin: left center;
+ transform-origin: left center; } }
+/* line 3034, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomOutLeft {
+ -webkit-animation-name: zoomOutLeft;
+ animation-name: zoomOutLeft; }
+
+@-webkit-keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ transform-origin: right center; } }
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ -ms-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ -ms-transform-origin: right center;
+ transform-origin: right center; } }
+/* line 3074, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomOutRight {
+ -webkit-animation-name: zoomOutRight;
+ animation-name: zoomOutRight; }
+
+@-webkit-keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -ms-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
+ 100% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -ms-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ -ms-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
+/* line 3122, /Users/miguelperez/Sites/csstricks/source/stylesheets/keyframes.css.scss */
+.zoomOutUp {
+ -webkit-animation-name: zoomOutUp;
+ animation-name: zoomOutUp; }
diff --git a/legacy/Results/data.json b/src/static/css/pageTransitions.css
similarity index 100%
rename from legacy/Results/data.json
rename to src/static/css/pageTransitions.css
diff --git a/src/static/icons/0-circle-fill.svg b/src/static/icons/0-circle-fill.svg
new file mode 100644
index 0000000..08afbb1
--- /dev/null
+++ b/src/static/icons/0-circle-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/0-circle.svg b/src/static/icons/0-circle.svg
new file mode 100644
index 0000000..8c518f7
--- /dev/null
+++ b/src/static/icons/0-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/0-square-fill.svg b/src/static/icons/0-square-fill.svg
new file mode 100644
index 0000000..d5375d4
--- /dev/null
+++ b/src/static/icons/0-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/0-square.svg b/src/static/icons/0-square.svg
new file mode 100644
index 0000000..aa66709
--- /dev/null
+++ b/src/static/icons/0-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/1-circle-fill.svg b/src/static/icons/1-circle-fill.svg
new file mode 100644
index 0000000..9b257b9
--- /dev/null
+++ b/src/static/icons/1-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/1-circle.svg b/src/static/icons/1-circle.svg
new file mode 100644
index 0000000..785af34
--- /dev/null
+++ b/src/static/icons/1-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/1-square-fill.svg b/src/static/icons/1-square-fill.svg
new file mode 100644
index 0000000..de579e6
--- /dev/null
+++ b/src/static/icons/1-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/1-square.svg b/src/static/icons/1-square.svg
new file mode 100644
index 0000000..4f57d79
--- /dev/null
+++ b/src/static/icons/1-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/123.svg b/src/static/icons/123.svg
new file mode 100644
index 0000000..3ee3396
--- /dev/null
+++ b/src/static/icons/123.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/2-circle-fill.svg b/src/static/icons/2-circle-fill.svg
new file mode 100644
index 0000000..03a9251
--- /dev/null
+++ b/src/static/icons/2-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/2-circle.svg b/src/static/icons/2-circle.svg
new file mode 100644
index 0000000..fea4a56
--- /dev/null
+++ b/src/static/icons/2-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/2-square-fill.svg b/src/static/icons/2-square-fill.svg
new file mode 100644
index 0000000..a89e1f7
--- /dev/null
+++ b/src/static/icons/2-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/2-square.svg b/src/static/icons/2-square.svg
new file mode 100644
index 0000000..558c78b
--- /dev/null
+++ b/src/static/icons/2-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/3-circle-fill.svg b/src/static/icons/3-circle-fill.svg
new file mode 100644
index 0000000..06d2ea5
--- /dev/null
+++ b/src/static/icons/3-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/3-circle.svg b/src/static/icons/3-circle.svg
new file mode 100644
index 0000000..23c3479
--- /dev/null
+++ b/src/static/icons/3-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/3-square-fill.svg b/src/static/icons/3-square-fill.svg
new file mode 100644
index 0000000..c6890a3
--- /dev/null
+++ b/src/static/icons/3-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/3-square.svg b/src/static/icons/3-square.svg
new file mode 100644
index 0000000..b56b684
--- /dev/null
+++ b/src/static/icons/3-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/4-circle-fill.svg b/src/static/icons/4-circle-fill.svg
new file mode 100644
index 0000000..199a5e2
--- /dev/null
+++ b/src/static/icons/4-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/4-circle.svg b/src/static/icons/4-circle.svg
new file mode 100644
index 0000000..3af547d
--- /dev/null
+++ b/src/static/icons/4-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/4-square-fill.svg b/src/static/icons/4-square-fill.svg
new file mode 100644
index 0000000..03b0f94
--- /dev/null
+++ b/src/static/icons/4-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/4-square.svg b/src/static/icons/4-square.svg
new file mode 100644
index 0000000..dd85455
--- /dev/null
+++ b/src/static/icons/4-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/5-circle-fill.svg b/src/static/icons/5-circle-fill.svg
new file mode 100644
index 0000000..e940e98
--- /dev/null
+++ b/src/static/icons/5-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/5-circle.svg b/src/static/icons/5-circle.svg
new file mode 100644
index 0000000..47eefd0
--- /dev/null
+++ b/src/static/icons/5-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/5-square-fill.svg b/src/static/icons/5-square-fill.svg
new file mode 100644
index 0000000..1a87860
--- /dev/null
+++ b/src/static/icons/5-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/5-square.svg b/src/static/icons/5-square.svg
new file mode 100644
index 0000000..9c54c77
--- /dev/null
+++ b/src/static/icons/5-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/6-circle-fill.svg b/src/static/icons/6-circle-fill.svg
new file mode 100644
index 0000000..18f66ef
--- /dev/null
+++ b/src/static/icons/6-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/6-circle.svg b/src/static/icons/6-circle.svg
new file mode 100644
index 0000000..ab5f748
--- /dev/null
+++ b/src/static/icons/6-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/6-square-fill.svg b/src/static/icons/6-square-fill.svg
new file mode 100644
index 0000000..d67fa52
--- /dev/null
+++ b/src/static/icons/6-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/6-square.svg b/src/static/icons/6-square.svg
new file mode 100644
index 0000000..79762c8
--- /dev/null
+++ b/src/static/icons/6-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/7-circle-fill.svg b/src/static/icons/7-circle-fill.svg
new file mode 100644
index 0000000..bb4522b
--- /dev/null
+++ b/src/static/icons/7-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/7-circle.svg b/src/static/icons/7-circle.svg
new file mode 100644
index 0000000..0dc4685
--- /dev/null
+++ b/src/static/icons/7-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/7-square-fill.svg b/src/static/icons/7-square-fill.svg
new file mode 100644
index 0000000..8a4789c
--- /dev/null
+++ b/src/static/icons/7-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/7-square.svg b/src/static/icons/7-square.svg
new file mode 100644
index 0000000..a314c4a
--- /dev/null
+++ b/src/static/icons/7-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/8-circle-fill.svg b/src/static/icons/8-circle-fill.svg
new file mode 100644
index 0000000..15cd6b4
--- /dev/null
+++ b/src/static/icons/8-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/8-circle.svg b/src/static/icons/8-circle.svg
new file mode 100644
index 0000000..fb14542
--- /dev/null
+++ b/src/static/icons/8-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/8-square-fill.svg b/src/static/icons/8-square-fill.svg
new file mode 100644
index 0000000..766d42a
--- /dev/null
+++ b/src/static/icons/8-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/8-square.svg b/src/static/icons/8-square.svg
new file mode 100644
index 0000000..f450b17
--- /dev/null
+++ b/src/static/icons/8-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/9-circle-fill.svg b/src/static/icons/9-circle-fill.svg
new file mode 100644
index 0000000..6ebd865
--- /dev/null
+++ b/src/static/icons/9-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/9-circle.svg b/src/static/icons/9-circle.svg
new file mode 100644
index 0000000..7c97f29
--- /dev/null
+++ b/src/static/icons/9-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/9-square-fill.svg b/src/static/icons/9-square-fill.svg
new file mode 100644
index 0000000..daee3e8
--- /dev/null
+++ b/src/static/icons/9-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/9-square.svg b/src/static/icons/9-square.svg
new file mode 100644
index 0000000..ade9233
--- /dev/null
+++ b/src/static/icons/9-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/activity.svg b/src/static/icons/activity.svg
new file mode 100644
index 0000000..1c45d1b
--- /dev/null
+++ b/src/static/icons/activity.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/airplane-engines-fill.svg b/src/static/icons/airplane-engines-fill.svg
new file mode 100644
index 0000000..b58d49f
--- /dev/null
+++ b/src/static/icons/airplane-engines-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/airplane-engines.svg b/src/static/icons/airplane-engines.svg
new file mode 100644
index 0000000..78b7934
--- /dev/null
+++ b/src/static/icons/airplane-engines.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/airplane-fill.svg b/src/static/icons/airplane-fill.svg
new file mode 100644
index 0000000..c8f2fce
--- /dev/null
+++ b/src/static/icons/airplane-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/airplane.svg b/src/static/icons/airplane.svg
new file mode 100644
index 0000000..2e04c92
--- /dev/null
+++ b/src/static/icons/airplane.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/alarm-fill.svg b/src/static/icons/alarm-fill.svg
new file mode 100644
index 0000000..bec569f
--- /dev/null
+++ b/src/static/icons/alarm-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/alarm.svg b/src/static/icons/alarm.svg
new file mode 100644
index 0000000..53f7cbe
--- /dev/null
+++ b/src/static/icons/alarm.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/alexa.svg b/src/static/icons/alexa.svg
new file mode 100644
index 0000000..a68f1d9
--- /dev/null
+++ b/src/static/icons/alexa.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-bottom.svg b/src/static/icons/align-bottom.svg
new file mode 100644
index 0000000..d9484c0
--- /dev/null
+++ b/src/static/icons/align-bottom.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-center.svg b/src/static/icons/align-center.svg
new file mode 100644
index 0000000..af0d75b
--- /dev/null
+++ b/src/static/icons/align-center.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-end.svg b/src/static/icons/align-end.svg
new file mode 100644
index 0000000..28f861d
--- /dev/null
+++ b/src/static/icons/align-end.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-middle.svg b/src/static/icons/align-middle.svg
new file mode 100644
index 0000000..95c6598
--- /dev/null
+++ b/src/static/icons/align-middle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-start.svg b/src/static/icons/align-start.svg
new file mode 100644
index 0000000..a72ba98
--- /dev/null
+++ b/src/static/icons/align-start.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/align-top.svg b/src/static/icons/align-top.svg
new file mode 100644
index 0000000..d2934f5
--- /dev/null
+++ b/src/static/icons/align-top.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/alipay.svg b/src/static/icons/alipay.svg
new file mode 100644
index 0000000..df7def9
--- /dev/null
+++ b/src/static/icons/alipay.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/alt.svg b/src/static/icons/alt.svg
new file mode 100644
index 0000000..22b7886
--- /dev/null
+++ b/src/static/icons/alt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/amd.svg b/src/static/icons/amd.svg
new file mode 100644
index 0000000..15dab80
--- /dev/null
+++ b/src/static/icons/amd.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/android.svg b/src/static/icons/android.svg
new file mode 100644
index 0000000..d890952
--- /dev/null
+++ b/src/static/icons/android.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/android2.svg b/src/static/icons/android2.svg
new file mode 100644
index 0000000..37613cc
--- /dev/null
+++ b/src/static/icons/android2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/app-indicator.svg b/src/static/icons/app-indicator.svg
new file mode 100644
index 0000000..450a011
--- /dev/null
+++ b/src/static/icons/app-indicator.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/app.svg b/src/static/icons/app.svg
new file mode 100644
index 0000000..819df1b
--- /dev/null
+++ b/src/static/icons/app.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/apple.svg b/src/static/icons/apple.svg
new file mode 100644
index 0000000..b8bc2a0
--- /dev/null
+++ b/src/static/icons/apple.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/archive-fill.svg b/src/static/icons/archive-fill.svg
new file mode 100644
index 0000000..077aa29
--- /dev/null
+++ b/src/static/icons/archive-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/archive.svg b/src/static/icons/archive.svg
new file mode 100644
index 0000000..b41be30
--- /dev/null
+++ b/src/static/icons/archive.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-90deg-down.svg b/src/static/icons/arrow-90deg-down.svg
new file mode 100644
index 0000000..1193b5d
--- /dev/null
+++ b/src/static/icons/arrow-90deg-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-90deg-left.svg b/src/static/icons/arrow-90deg-left.svg
new file mode 100644
index 0000000..1656b22
--- /dev/null
+++ b/src/static/icons/arrow-90deg-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-90deg-right.svg b/src/static/icons/arrow-90deg-right.svg
new file mode 100644
index 0000000..a7d32ce
--- /dev/null
+++ b/src/static/icons/arrow-90deg-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-90deg-up.svg b/src/static/icons/arrow-90deg-up.svg
new file mode 100644
index 0000000..6c95e3d
--- /dev/null
+++ b/src/static/icons/arrow-90deg-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-bar-down.svg b/src/static/icons/arrow-bar-down.svg
new file mode 100644
index 0000000..fe18e39
--- /dev/null
+++ b/src/static/icons/arrow-bar-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-bar-left.svg b/src/static/icons/arrow-bar-left.svg
new file mode 100644
index 0000000..8f9252e
--- /dev/null
+++ b/src/static/icons/arrow-bar-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-bar-right.svg b/src/static/icons/arrow-bar-right.svg
new file mode 100644
index 0000000..9b64347
--- /dev/null
+++ b/src/static/icons/arrow-bar-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-bar-up.svg b/src/static/icons/arrow-bar-up.svg
new file mode 100644
index 0000000..090b6bd
--- /dev/null
+++ b/src/static/icons/arrow-bar-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-clockwise.svg b/src/static/icons/arrow-clockwise.svg
new file mode 100644
index 0000000..b072eb0
--- /dev/null
+++ b/src/static/icons/arrow-clockwise.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-counterclockwise.svg b/src/static/icons/arrow-counterclockwise.svg
new file mode 100644
index 0000000..b0b23b9
--- /dev/null
+++ b/src/static/icons/arrow-counterclockwise.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-circle-fill.svg b/src/static/icons/arrow-down-circle-fill.svg
new file mode 100644
index 0000000..8e837c0
--- /dev/null
+++ b/src/static/icons/arrow-down-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-circle.svg b/src/static/icons/arrow-down-circle.svg
new file mode 100644
index 0000000..fe215b9
--- /dev/null
+++ b/src/static/icons/arrow-down-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-left-circle-fill.svg b/src/static/icons/arrow-down-left-circle-fill.svg
new file mode 100644
index 0000000..bcebc12
--- /dev/null
+++ b/src/static/icons/arrow-down-left-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-left-circle.svg b/src/static/icons/arrow-down-left-circle.svg
new file mode 100644
index 0000000..8b52276
--- /dev/null
+++ b/src/static/icons/arrow-down-left-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-left-square-fill.svg b/src/static/icons/arrow-down-left-square-fill.svg
new file mode 100644
index 0000000..57c099f
--- /dev/null
+++ b/src/static/icons/arrow-down-left-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-left-square.svg b/src/static/icons/arrow-down-left-square.svg
new file mode 100644
index 0000000..08e0028
--- /dev/null
+++ b/src/static/icons/arrow-down-left-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-left.svg b/src/static/icons/arrow-down-left.svg
new file mode 100644
index 0000000..96a6b08
--- /dev/null
+++ b/src/static/icons/arrow-down-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-right-circle-fill.svg b/src/static/icons/arrow-down-right-circle-fill.svg
new file mode 100644
index 0000000..35ab8c2
--- /dev/null
+++ b/src/static/icons/arrow-down-right-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-right-circle.svg b/src/static/icons/arrow-down-right-circle.svg
new file mode 100644
index 0000000..1cd51bc
--- /dev/null
+++ b/src/static/icons/arrow-down-right-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-right-square-fill.svg b/src/static/icons/arrow-down-right-square-fill.svg
new file mode 100644
index 0000000..3ccff9b
--- /dev/null
+++ b/src/static/icons/arrow-down-right-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-right-square.svg b/src/static/icons/arrow-down-right-square.svg
new file mode 100644
index 0000000..5019b26
--- /dev/null
+++ b/src/static/icons/arrow-down-right-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-right.svg b/src/static/icons/arrow-down-right.svg
new file mode 100644
index 0000000..80487bd
--- /dev/null
+++ b/src/static/icons/arrow-down-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-short.svg b/src/static/icons/arrow-down-short.svg
new file mode 100644
index 0000000..2fda340
--- /dev/null
+++ b/src/static/icons/arrow-down-short.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-square-fill.svg b/src/static/icons/arrow-down-square-fill.svg
new file mode 100644
index 0000000..ea8f14b
--- /dev/null
+++ b/src/static/icons/arrow-down-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-square.svg b/src/static/icons/arrow-down-square.svg
new file mode 100644
index 0000000..633671f
--- /dev/null
+++ b/src/static/icons/arrow-down-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down-up.svg b/src/static/icons/arrow-down-up.svg
new file mode 100644
index 0000000..a128d9b
--- /dev/null
+++ b/src/static/icons/arrow-down-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-down.svg b/src/static/icons/arrow-down.svg
new file mode 100644
index 0000000..1344ca9
--- /dev/null
+++ b/src/static/icons/arrow-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-circle-fill.svg b/src/static/icons/arrow-left-circle-fill.svg
new file mode 100644
index 0000000..2eebe62
--- /dev/null
+++ b/src/static/icons/arrow-left-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-circle.svg b/src/static/icons/arrow-left-circle.svg
new file mode 100644
index 0000000..39f86b8
--- /dev/null
+++ b/src/static/icons/arrow-left-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-right.svg b/src/static/icons/arrow-left-right.svg
new file mode 100644
index 0000000..8aabd7b
--- /dev/null
+++ b/src/static/icons/arrow-left-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-short.svg b/src/static/icons/arrow-left-short.svg
new file mode 100644
index 0000000..13005fb
--- /dev/null
+++ b/src/static/icons/arrow-left-short.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-square-fill.svg b/src/static/icons/arrow-left-square-fill.svg
new file mode 100644
index 0000000..76dbe9e
--- /dev/null
+++ b/src/static/icons/arrow-left-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left-square.svg b/src/static/icons/arrow-left-square.svg
new file mode 100644
index 0000000..4db19b3
--- /dev/null
+++ b/src/static/icons/arrow-left-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-left.svg b/src/static/icons/arrow-left.svg
new file mode 100644
index 0000000..9d88501
--- /dev/null
+++ b/src/static/icons/arrow-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-repeat.svg b/src/static/icons/arrow-repeat.svg
new file mode 100644
index 0000000..d0d7154
--- /dev/null
+++ b/src/static/icons/arrow-repeat.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-return-left.svg b/src/static/icons/arrow-return-left.svg
new file mode 100644
index 0000000..f6b125e
--- /dev/null
+++ b/src/static/icons/arrow-return-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-return-right.svg b/src/static/icons/arrow-return-right.svg
new file mode 100644
index 0000000..228e24b
--- /dev/null
+++ b/src/static/icons/arrow-return-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right-circle-fill.svg b/src/static/icons/arrow-right-circle-fill.svg
new file mode 100644
index 0000000..336a34e
--- /dev/null
+++ b/src/static/icons/arrow-right-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right-circle.svg b/src/static/icons/arrow-right-circle.svg
new file mode 100644
index 0000000..1339b52
--- /dev/null
+++ b/src/static/icons/arrow-right-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right-short.svg b/src/static/icons/arrow-right-short.svg
new file mode 100644
index 0000000..4626398
--- /dev/null
+++ b/src/static/icons/arrow-right-short.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right-square-fill.svg b/src/static/icons/arrow-right-square-fill.svg
new file mode 100644
index 0000000..55285eb
--- /dev/null
+++ b/src/static/icons/arrow-right-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right-square.svg b/src/static/icons/arrow-right-square.svg
new file mode 100644
index 0000000..7209ead
--- /dev/null
+++ b/src/static/icons/arrow-right-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-right.svg b/src/static/icons/arrow-right.svg
new file mode 100644
index 0000000..d4b878b
--- /dev/null
+++ b/src/static/icons/arrow-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-through-heart-fill.svg b/src/static/icons/arrow-through-heart-fill.svg
new file mode 100644
index 0000000..1b3c30f
--- /dev/null
+++ b/src/static/icons/arrow-through-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-through-heart.svg b/src/static/icons/arrow-through-heart.svg
new file mode 100644
index 0000000..f352870
--- /dev/null
+++ b/src/static/icons/arrow-through-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-circle-fill.svg b/src/static/icons/arrow-up-circle-fill.svg
new file mode 100644
index 0000000..ab0a54c
--- /dev/null
+++ b/src/static/icons/arrow-up-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-circle.svg b/src/static/icons/arrow-up-circle.svg
new file mode 100644
index 0000000..9923ae3
--- /dev/null
+++ b/src/static/icons/arrow-up-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-left-circle-fill.svg b/src/static/icons/arrow-up-left-circle-fill.svg
new file mode 100644
index 0000000..df6e194
--- /dev/null
+++ b/src/static/icons/arrow-up-left-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-left-circle.svg b/src/static/icons/arrow-up-left-circle.svg
new file mode 100644
index 0000000..dfdaf71
--- /dev/null
+++ b/src/static/icons/arrow-up-left-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-left-square-fill.svg b/src/static/icons/arrow-up-left-square-fill.svg
new file mode 100644
index 0000000..220169d
--- /dev/null
+++ b/src/static/icons/arrow-up-left-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-left-square.svg b/src/static/icons/arrow-up-left-square.svg
new file mode 100644
index 0000000..9d3767f
--- /dev/null
+++ b/src/static/icons/arrow-up-left-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-left.svg b/src/static/icons/arrow-up-left.svg
new file mode 100644
index 0000000..da5bb6c
--- /dev/null
+++ b/src/static/icons/arrow-up-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-right-circle-fill.svg b/src/static/icons/arrow-up-right-circle-fill.svg
new file mode 100644
index 0000000..ba547c8
--- /dev/null
+++ b/src/static/icons/arrow-up-right-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-right-circle.svg b/src/static/icons/arrow-up-right-circle.svg
new file mode 100644
index 0000000..f2fcabc
--- /dev/null
+++ b/src/static/icons/arrow-up-right-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-right-square-fill.svg b/src/static/icons/arrow-up-right-square-fill.svg
new file mode 100644
index 0000000..7454537
--- /dev/null
+++ b/src/static/icons/arrow-up-right-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-right-square.svg b/src/static/icons/arrow-up-right-square.svg
new file mode 100644
index 0000000..9754423
--- /dev/null
+++ b/src/static/icons/arrow-up-right-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-right.svg b/src/static/icons/arrow-up-right.svg
new file mode 100644
index 0000000..6924a38
--- /dev/null
+++ b/src/static/icons/arrow-up-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-short.svg b/src/static/icons/arrow-up-short.svg
new file mode 100644
index 0000000..3863f15
--- /dev/null
+++ b/src/static/icons/arrow-up-short.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-square-fill.svg b/src/static/icons/arrow-up-square-fill.svg
new file mode 100644
index 0000000..bb51b25
--- /dev/null
+++ b/src/static/icons/arrow-up-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up-square.svg b/src/static/icons/arrow-up-square.svg
new file mode 100644
index 0000000..d21f03e
--- /dev/null
+++ b/src/static/icons/arrow-up-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrow-up.svg b/src/static/icons/arrow-up.svg
new file mode 100644
index 0000000..c46d49e
--- /dev/null
+++ b/src/static/icons/arrow-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-angle-contract.svg b/src/static/icons/arrows-angle-contract.svg
new file mode 100644
index 0000000..d140e19
--- /dev/null
+++ b/src/static/icons/arrows-angle-contract.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-angle-expand.svg b/src/static/icons/arrows-angle-expand.svg
new file mode 100644
index 0000000..3697f60
--- /dev/null
+++ b/src/static/icons/arrows-angle-expand.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-collapse.svg b/src/static/icons/arrows-collapse.svg
new file mode 100644
index 0000000..d60fbee
--- /dev/null
+++ b/src/static/icons/arrows-collapse.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-expand.svg b/src/static/icons/arrows-expand.svg
new file mode 100644
index 0000000..d5d00f4
--- /dev/null
+++ b/src/static/icons/arrows-expand.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-fullscreen.svg b/src/static/icons/arrows-fullscreen.svg
new file mode 100644
index 0000000..dc0acc3
--- /dev/null
+++ b/src/static/icons/arrows-fullscreen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/arrows-move.svg b/src/static/icons/arrows-move.svg
new file mode 100644
index 0000000..eef62ef
--- /dev/null
+++ b/src/static/icons/arrows-move.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/aspect-ratio-fill.svg b/src/static/icons/aspect-ratio-fill.svg
new file mode 100644
index 0000000..81dcfcb
--- /dev/null
+++ b/src/static/icons/aspect-ratio-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/aspect-ratio.svg b/src/static/icons/aspect-ratio.svg
new file mode 100644
index 0000000..66719a7
--- /dev/null
+++ b/src/static/icons/aspect-ratio.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/asterisk.svg b/src/static/icons/asterisk.svg
new file mode 100644
index 0000000..8b0a9da
--- /dev/null
+++ b/src/static/icons/asterisk.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/at.svg b/src/static/icons/at.svg
new file mode 100644
index 0000000..4a85e14
--- /dev/null
+++ b/src/static/icons/at.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/award-fill.svg b/src/static/icons/award-fill.svg
new file mode 100644
index 0000000..6b58996
--- /dev/null
+++ b/src/static/icons/award-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/award.svg b/src/static/icons/award.svg
new file mode 100644
index 0000000..8f572ff
--- /dev/null
+++ b/src/static/icons/award.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/back.svg b/src/static/icons/back.svg
new file mode 100644
index 0000000..4c6cbcb
--- /dev/null
+++ b/src/static/icons/back.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/backspace-fill.svg b/src/static/icons/backspace-fill.svg
new file mode 100644
index 0000000..ab63109
--- /dev/null
+++ b/src/static/icons/backspace-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/backspace-reverse-fill.svg b/src/static/icons/backspace-reverse-fill.svg
new file mode 100644
index 0000000..ed509ec
--- /dev/null
+++ b/src/static/icons/backspace-reverse-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/backspace-reverse.svg b/src/static/icons/backspace-reverse.svg
new file mode 100644
index 0000000..446e019
--- /dev/null
+++ b/src/static/icons/backspace-reverse.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/backspace.svg b/src/static/icons/backspace.svg
new file mode 100644
index 0000000..55c802c
--- /dev/null
+++ b/src/static/icons/backspace.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-3d-fill.svg b/src/static/icons/badge-3d-fill.svg
new file mode 100644
index 0000000..ac61cb5
--- /dev/null
+++ b/src/static/icons/badge-3d-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-3d.svg b/src/static/icons/badge-3d.svg
new file mode 100644
index 0000000..3485837
--- /dev/null
+++ b/src/static/icons/badge-3d.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-4k-fill.svg b/src/static/icons/badge-4k-fill.svg
new file mode 100644
index 0000000..f353033
--- /dev/null
+++ b/src/static/icons/badge-4k-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-4k.svg b/src/static/icons/badge-4k.svg
new file mode 100644
index 0000000..24ddcb1
--- /dev/null
+++ b/src/static/icons/badge-4k.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-8k-fill.svg b/src/static/icons/badge-8k-fill.svg
new file mode 100644
index 0000000..1e1d4c1
--- /dev/null
+++ b/src/static/icons/badge-8k-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-8k.svg b/src/static/icons/badge-8k.svg
new file mode 100644
index 0000000..7df4c75
--- /dev/null
+++ b/src/static/icons/badge-8k.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-ad-fill.svg b/src/static/icons/badge-ad-fill.svg
new file mode 100644
index 0000000..b383de6
--- /dev/null
+++ b/src/static/icons/badge-ad-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-ad.svg b/src/static/icons/badge-ad.svg
new file mode 100644
index 0000000..942b018
--- /dev/null
+++ b/src/static/icons/badge-ad.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-ar-fill.svg b/src/static/icons/badge-ar-fill.svg
new file mode 100644
index 0000000..f98caac
--- /dev/null
+++ b/src/static/icons/badge-ar-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-ar.svg b/src/static/icons/badge-ar.svg
new file mode 100644
index 0000000..2210506
--- /dev/null
+++ b/src/static/icons/badge-ar.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-cc-fill.svg b/src/static/icons/badge-cc-fill.svg
new file mode 100644
index 0000000..d9783fe
--- /dev/null
+++ b/src/static/icons/badge-cc-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-cc.svg b/src/static/icons/badge-cc.svg
new file mode 100644
index 0000000..7868cb4
--- /dev/null
+++ b/src/static/icons/badge-cc.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-hd-fill.svg b/src/static/icons/badge-hd-fill.svg
new file mode 100644
index 0000000..9f0a498
--- /dev/null
+++ b/src/static/icons/badge-hd-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-hd.svg b/src/static/icons/badge-hd.svg
new file mode 100644
index 0000000..e3f4ae7
--- /dev/null
+++ b/src/static/icons/badge-hd.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-sd-fill.svg b/src/static/icons/badge-sd-fill.svg
new file mode 100644
index 0000000..538b642
--- /dev/null
+++ b/src/static/icons/badge-sd-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-sd.svg b/src/static/icons/badge-sd.svg
new file mode 100644
index 0000000..68667dd
--- /dev/null
+++ b/src/static/icons/badge-sd.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-tm-fill.svg b/src/static/icons/badge-tm-fill.svg
new file mode 100644
index 0000000..7d334ce
--- /dev/null
+++ b/src/static/icons/badge-tm-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-tm.svg b/src/static/icons/badge-tm.svg
new file mode 100644
index 0000000..452dd3b
--- /dev/null
+++ b/src/static/icons/badge-tm.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-vo-fill.svg b/src/static/icons/badge-vo-fill.svg
new file mode 100644
index 0000000..1f74e75
--- /dev/null
+++ b/src/static/icons/badge-vo-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-vo.svg b/src/static/icons/badge-vo.svg
new file mode 100644
index 0000000..500d98f
--- /dev/null
+++ b/src/static/icons/badge-vo.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-vr-fill.svg b/src/static/icons/badge-vr-fill.svg
new file mode 100644
index 0000000..6cde11f
--- /dev/null
+++ b/src/static/icons/badge-vr-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-vr.svg b/src/static/icons/badge-vr.svg
new file mode 100644
index 0000000..5c06852
--- /dev/null
+++ b/src/static/icons/badge-vr.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-wc-fill.svg b/src/static/icons/badge-wc-fill.svg
new file mode 100644
index 0000000..47db37b
--- /dev/null
+++ b/src/static/icons/badge-wc-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/badge-wc.svg b/src/static/icons/badge-wc.svg
new file mode 100644
index 0000000..3f0cc5b
--- /dev/null
+++ b/src/static/icons/badge-wc.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-check-fill.svg b/src/static/icons/bag-check-fill.svg
new file mode 100644
index 0000000..a1ba2d2
--- /dev/null
+++ b/src/static/icons/bag-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-check.svg b/src/static/icons/bag-check.svg
new file mode 100644
index 0000000..c6ad9ac
--- /dev/null
+++ b/src/static/icons/bag-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-dash-fill.svg b/src/static/icons/bag-dash-fill.svg
new file mode 100644
index 0000000..a739242
--- /dev/null
+++ b/src/static/icons/bag-dash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-dash.svg b/src/static/icons/bag-dash.svg
new file mode 100644
index 0000000..9bcb202
--- /dev/null
+++ b/src/static/icons/bag-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-fill.svg b/src/static/icons/bag-fill.svg
new file mode 100644
index 0000000..1a1e2e2
--- /dev/null
+++ b/src/static/icons/bag-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-heart-fill.svg b/src/static/icons/bag-heart-fill.svg
new file mode 100644
index 0000000..a859e05
--- /dev/null
+++ b/src/static/icons/bag-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-heart.svg b/src/static/icons/bag-heart.svg
new file mode 100644
index 0000000..2a6bd30
--- /dev/null
+++ b/src/static/icons/bag-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-plus-fill.svg b/src/static/icons/bag-plus-fill.svg
new file mode 100644
index 0000000..a110b32
--- /dev/null
+++ b/src/static/icons/bag-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-plus.svg b/src/static/icons/bag-plus.svg
new file mode 100644
index 0000000..b99a1a5
--- /dev/null
+++ b/src/static/icons/bag-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-x-fill.svg b/src/static/icons/bag-x-fill.svg
new file mode 100644
index 0000000..879bffe
--- /dev/null
+++ b/src/static/icons/bag-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag-x.svg b/src/static/icons/bag-x.svg
new file mode 100644
index 0000000..616532c
--- /dev/null
+++ b/src/static/icons/bag-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bag.svg b/src/static/icons/bag.svg
new file mode 100644
index 0000000..603de5f
--- /dev/null
+++ b/src/static/icons/bag.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/balloon-fill.svg b/src/static/icons/balloon-fill.svg
new file mode 100644
index 0000000..b663894
--- /dev/null
+++ b/src/static/icons/balloon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/balloon-heart-fill.svg b/src/static/icons/balloon-heart-fill.svg
new file mode 100644
index 0000000..cebfb93
--- /dev/null
+++ b/src/static/icons/balloon-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/balloon-heart.svg b/src/static/icons/balloon-heart.svg
new file mode 100644
index 0000000..dadf467
--- /dev/null
+++ b/src/static/icons/balloon-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/balloon.svg b/src/static/icons/balloon.svg
new file mode 100644
index 0000000..6ca06c3
--- /dev/null
+++ b/src/static/icons/balloon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bandaid-fill.svg b/src/static/icons/bandaid-fill.svg
new file mode 100644
index 0000000..41d350a
--- /dev/null
+++ b/src/static/icons/bandaid-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bandaid.svg b/src/static/icons/bandaid.svg
new file mode 100644
index 0000000..de16de9
--- /dev/null
+++ b/src/static/icons/bandaid.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bank.svg b/src/static/icons/bank.svg
new file mode 100644
index 0000000..264eaaa
--- /dev/null
+++ b/src/static/icons/bank.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bank2.svg b/src/static/icons/bank2.svg
new file mode 100644
index 0000000..b03840c
--- /dev/null
+++ b/src/static/icons/bank2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bar-chart-fill.svg b/src/static/icons/bar-chart-fill.svg
new file mode 100644
index 0000000..23ba4f6
--- /dev/null
+++ b/src/static/icons/bar-chart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bar-chart-line-fill.svg b/src/static/icons/bar-chart-line-fill.svg
new file mode 100644
index 0000000..a5059c4
--- /dev/null
+++ b/src/static/icons/bar-chart-line-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bar-chart-line.svg b/src/static/icons/bar-chart-line.svg
new file mode 100644
index 0000000..e3f0cf2
--- /dev/null
+++ b/src/static/icons/bar-chart-line.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bar-chart-steps.svg b/src/static/icons/bar-chart-steps.svg
new file mode 100644
index 0000000..933fba8
--- /dev/null
+++ b/src/static/icons/bar-chart-steps.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bar-chart.svg b/src/static/icons/bar-chart.svg
new file mode 100644
index 0000000..c34c0d4
--- /dev/null
+++ b/src/static/icons/bar-chart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket-fill.svg b/src/static/icons/basket-fill.svg
new file mode 100644
index 0000000..ebf223c
--- /dev/null
+++ b/src/static/icons/basket-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket.svg b/src/static/icons/basket.svg
new file mode 100644
index 0000000..4bc584b
--- /dev/null
+++ b/src/static/icons/basket.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket2-fill.svg b/src/static/icons/basket2-fill.svg
new file mode 100644
index 0000000..9ebf8db
--- /dev/null
+++ b/src/static/icons/basket2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket2.svg b/src/static/icons/basket2.svg
new file mode 100644
index 0000000..94f0bcb
--- /dev/null
+++ b/src/static/icons/basket2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket3-fill.svg b/src/static/icons/basket3-fill.svg
new file mode 100644
index 0000000..e26f0ee
--- /dev/null
+++ b/src/static/icons/basket3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/basket3.svg b/src/static/icons/basket3.svg
new file mode 100644
index 0000000..ac46c01
--- /dev/null
+++ b/src/static/icons/basket3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/battery-charging.svg b/src/static/icons/battery-charging.svg
new file mode 100644
index 0000000..cbd9107
--- /dev/null
+++ b/src/static/icons/battery-charging.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/battery-full.svg b/src/static/icons/battery-full.svg
new file mode 100644
index 0000000..48cf92e
--- /dev/null
+++ b/src/static/icons/battery-full.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/battery-half.svg b/src/static/icons/battery-half.svg
new file mode 100644
index 0000000..8c3afca
--- /dev/null
+++ b/src/static/icons/battery-half.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/battery.svg b/src/static/icons/battery.svg
new file mode 100644
index 0000000..1260360
--- /dev/null
+++ b/src/static/icons/battery.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/behance.svg b/src/static/icons/behance.svg
new file mode 100644
index 0000000..a6a2c42
--- /dev/null
+++ b/src/static/icons/behance.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bell-fill.svg b/src/static/icons/bell-fill.svg
new file mode 100644
index 0000000..76d9b60
--- /dev/null
+++ b/src/static/icons/bell-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bell-slash-fill.svg b/src/static/icons/bell-slash-fill.svg
new file mode 100644
index 0000000..2e6f8cf
--- /dev/null
+++ b/src/static/icons/bell-slash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bell-slash.svg b/src/static/icons/bell-slash.svg
new file mode 100644
index 0000000..eddbb8a
--- /dev/null
+++ b/src/static/icons/bell-slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bell.svg b/src/static/icons/bell.svg
new file mode 100644
index 0000000..585d417
--- /dev/null
+++ b/src/static/icons/bell.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bezier.svg b/src/static/icons/bezier.svg
new file mode 100644
index 0000000..21ec7b3
--- /dev/null
+++ b/src/static/icons/bezier.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bezier2.svg b/src/static/icons/bezier2.svg
new file mode 100644
index 0000000..48722d0
--- /dev/null
+++ b/src/static/icons/bezier2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bicycle.svg b/src/static/icons/bicycle.svg
new file mode 100644
index 0000000..17a2105
--- /dev/null
+++ b/src/static/icons/bicycle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/binoculars-fill.svg b/src/static/icons/binoculars-fill.svg
new file mode 100644
index 0000000..de09c73
--- /dev/null
+++ b/src/static/icons/binoculars-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/binoculars.svg b/src/static/icons/binoculars.svg
new file mode 100644
index 0000000..47bca44
--- /dev/null
+++ b/src/static/icons/binoculars.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/blockquote-left.svg b/src/static/icons/blockquote-left.svg
new file mode 100644
index 0000000..f2e0fa2
--- /dev/null
+++ b/src/static/icons/blockquote-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/blockquote-right.svg b/src/static/icons/blockquote-right.svg
new file mode 100644
index 0000000..253518d
--- /dev/null
+++ b/src/static/icons/blockquote-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bluetooth.svg b/src/static/icons/bluetooth.svg
new file mode 100644
index 0000000..5021e77
--- /dev/null
+++ b/src/static/icons/bluetooth.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/body-text.svg b/src/static/icons/body-text.svg
new file mode 100644
index 0000000..81ede13
--- /dev/null
+++ b/src/static/icons/body-text.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/book-fill.svg b/src/static/icons/book-fill.svg
new file mode 100644
index 0000000..276a281
--- /dev/null
+++ b/src/static/icons/book-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/book-half.svg b/src/static/icons/book-half.svg
new file mode 100644
index 0000000..76589a5
--- /dev/null
+++ b/src/static/icons/book-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/book.svg b/src/static/icons/book.svg
new file mode 100644
index 0000000..f0e5e49
--- /dev/null
+++ b/src/static/icons/book.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-check-fill.svg b/src/static/icons/bookmark-check-fill.svg
new file mode 100644
index 0000000..039e455
--- /dev/null
+++ b/src/static/icons/bookmark-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-check.svg b/src/static/icons/bookmark-check.svg
new file mode 100644
index 0000000..b1f572f
--- /dev/null
+++ b/src/static/icons/bookmark-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-dash-fill.svg b/src/static/icons/bookmark-dash-fill.svg
new file mode 100644
index 0000000..e171192
--- /dev/null
+++ b/src/static/icons/bookmark-dash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-dash.svg b/src/static/icons/bookmark-dash.svg
new file mode 100644
index 0000000..1138dbb
--- /dev/null
+++ b/src/static/icons/bookmark-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-fill.svg b/src/static/icons/bookmark-fill.svg
new file mode 100644
index 0000000..9466102
--- /dev/null
+++ b/src/static/icons/bookmark-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-heart-fill.svg b/src/static/icons/bookmark-heart-fill.svg
new file mode 100644
index 0000000..83db817
--- /dev/null
+++ b/src/static/icons/bookmark-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-heart.svg b/src/static/icons/bookmark-heart.svg
new file mode 100644
index 0000000..be0adb1
--- /dev/null
+++ b/src/static/icons/bookmark-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-plus-fill.svg b/src/static/icons/bookmark-plus-fill.svg
new file mode 100644
index 0000000..bb4502a
--- /dev/null
+++ b/src/static/icons/bookmark-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-plus.svg b/src/static/icons/bookmark-plus.svg
new file mode 100644
index 0000000..986a222
--- /dev/null
+++ b/src/static/icons/bookmark-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-star-fill.svg b/src/static/icons/bookmark-star-fill.svg
new file mode 100644
index 0000000..220f16f
--- /dev/null
+++ b/src/static/icons/bookmark-star-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-star.svg b/src/static/icons/bookmark-star.svg
new file mode 100644
index 0000000..0d2f262
--- /dev/null
+++ b/src/static/icons/bookmark-star.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-x-fill.svg b/src/static/icons/bookmark-x-fill.svg
new file mode 100644
index 0000000..69fd982
--- /dev/null
+++ b/src/static/icons/bookmark-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark-x.svg b/src/static/icons/bookmark-x.svg
new file mode 100644
index 0000000..6ac9e80
--- /dev/null
+++ b/src/static/icons/bookmark-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmark.svg b/src/static/icons/bookmark.svg
new file mode 100644
index 0000000..93e1d99
--- /dev/null
+++ b/src/static/icons/bookmark.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmarks-fill.svg b/src/static/icons/bookmarks-fill.svg
new file mode 100644
index 0000000..eb5a2db
--- /dev/null
+++ b/src/static/icons/bookmarks-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookmarks.svg b/src/static/icons/bookmarks.svg
new file mode 100644
index 0000000..6efa0bc
--- /dev/null
+++ b/src/static/icons/bookmarks.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bookshelf.svg b/src/static/icons/bookshelf.svg
new file mode 100644
index 0000000..6549ea1
--- /dev/null
+++ b/src/static/icons/bookshelf.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/boombox-fill.svg b/src/static/icons/boombox-fill.svg
new file mode 100644
index 0000000..6103ae2
--- /dev/null
+++ b/src/static/icons/boombox-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/boombox.svg b/src/static/icons/boombox.svg
new file mode 100644
index 0000000..520f23e
--- /dev/null
+++ b/src/static/icons/boombox.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bootstrap-fill.svg b/src/static/icons/bootstrap-fill.svg
new file mode 100644
index 0000000..9d16320
--- /dev/null
+++ b/src/static/icons/bootstrap-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bootstrap-icons.svg b/src/static/icons/bootstrap-icons.svg
new file mode 100644
index 0000000..60bb38e
--- /dev/null
+++ b/src/static/icons/bootstrap-icons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/static/icons/bootstrap-reboot.svg b/src/static/icons/bootstrap-reboot.svg
new file mode 100644
index 0000000..4a184cf
--- /dev/null
+++ b/src/static/icons/bootstrap-reboot.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bootstrap.svg b/src/static/icons/bootstrap.svg
new file mode 100644
index 0000000..b6aed61
--- /dev/null
+++ b/src/static/icons/bootstrap.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-all.svg b/src/static/icons/border-all.svg
new file mode 100644
index 0000000..803f5e2
--- /dev/null
+++ b/src/static/icons/border-all.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-bottom.svg b/src/static/icons/border-bottom.svg
new file mode 100644
index 0000000..dbc2192
--- /dev/null
+++ b/src/static/icons/border-bottom.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-center.svg b/src/static/icons/border-center.svg
new file mode 100644
index 0000000..009b97d
--- /dev/null
+++ b/src/static/icons/border-center.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-inner.svg b/src/static/icons/border-inner.svg
new file mode 100644
index 0000000..2beaa0c
--- /dev/null
+++ b/src/static/icons/border-inner.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-left.svg b/src/static/icons/border-left.svg
new file mode 100644
index 0000000..69df882
--- /dev/null
+++ b/src/static/icons/border-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-middle.svg b/src/static/icons/border-middle.svg
new file mode 100644
index 0000000..90296f9
--- /dev/null
+++ b/src/static/icons/border-middle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-outer.svg b/src/static/icons/border-outer.svg
new file mode 100644
index 0000000..355e05e
--- /dev/null
+++ b/src/static/icons/border-outer.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-right.svg b/src/static/icons/border-right.svg
new file mode 100644
index 0000000..b0c16da
--- /dev/null
+++ b/src/static/icons/border-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-style.svg b/src/static/icons/border-style.svg
new file mode 100644
index 0000000..d742b2c
--- /dev/null
+++ b/src/static/icons/border-style.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-top.svg b/src/static/icons/border-top.svg
new file mode 100644
index 0000000..5aab368
--- /dev/null
+++ b/src/static/icons/border-top.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border-width.svg b/src/static/icons/border-width.svg
new file mode 100644
index 0000000..0cbd0e6
--- /dev/null
+++ b/src/static/icons/border-width.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/border.svg b/src/static/icons/border.svg
new file mode 100644
index 0000000..0e8c9b5
--- /dev/null
+++ b/src/static/icons/border.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bounding-box-circles.svg b/src/static/icons/bounding-box-circles.svg
new file mode 100644
index 0000000..2e59f31
--- /dev/null
+++ b/src/static/icons/bounding-box-circles.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bounding-box.svg b/src/static/icons/bounding-box.svg
new file mode 100644
index 0000000..d529292
--- /dev/null
+++ b/src/static/icons/bounding-box.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-down-left.svg b/src/static/icons/box-arrow-down-left.svg
new file mode 100644
index 0000000..6ad3e17
--- /dev/null
+++ b/src/static/icons/box-arrow-down-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-down-right.svg b/src/static/icons/box-arrow-down-right.svg
new file mode 100644
index 0000000..321cddf
--- /dev/null
+++ b/src/static/icons/box-arrow-down-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-down.svg b/src/static/icons/box-arrow-down.svg
new file mode 100644
index 0000000..9a2ca12
--- /dev/null
+++ b/src/static/icons/box-arrow-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-down-left.svg b/src/static/icons/box-arrow-in-down-left.svg
new file mode 100644
index 0000000..76a687a
--- /dev/null
+++ b/src/static/icons/box-arrow-in-down-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-down-right.svg b/src/static/icons/box-arrow-in-down-right.svg
new file mode 100644
index 0000000..9237293
--- /dev/null
+++ b/src/static/icons/box-arrow-in-down-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-down.svg b/src/static/icons/box-arrow-in-down.svg
new file mode 100644
index 0000000..90f9301
--- /dev/null
+++ b/src/static/icons/box-arrow-in-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-left.svg b/src/static/icons/box-arrow-in-left.svg
new file mode 100644
index 0000000..a237daf
--- /dev/null
+++ b/src/static/icons/box-arrow-in-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-right.svg b/src/static/icons/box-arrow-in-right.svg
new file mode 100644
index 0000000..d158dae
--- /dev/null
+++ b/src/static/icons/box-arrow-in-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-up-left.svg b/src/static/icons/box-arrow-in-up-left.svg
new file mode 100644
index 0000000..6937f6a
--- /dev/null
+++ b/src/static/icons/box-arrow-in-up-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-up-right.svg b/src/static/icons/box-arrow-in-up-right.svg
new file mode 100644
index 0000000..8918611
--- /dev/null
+++ b/src/static/icons/box-arrow-in-up-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-in-up.svg b/src/static/icons/box-arrow-in-up.svg
new file mode 100644
index 0000000..e6a4a7b
--- /dev/null
+++ b/src/static/icons/box-arrow-in-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-left.svg b/src/static/icons/box-arrow-left.svg
new file mode 100644
index 0000000..8602603
--- /dev/null
+++ b/src/static/icons/box-arrow-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-right.svg b/src/static/icons/box-arrow-right.svg
new file mode 100644
index 0000000..2c4e26c
--- /dev/null
+++ b/src/static/icons/box-arrow-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-up-left.svg b/src/static/icons/box-arrow-up-left.svg
new file mode 100644
index 0000000..7fb0b45
--- /dev/null
+++ b/src/static/icons/box-arrow-up-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-up-right.svg b/src/static/icons/box-arrow-up-right.svg
new file mode 100644
index 0000000..1d93acb
--- /dev/null
+++ b/src/static/icons/box-arrow-up-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-arrow-up.svg b/src/static/icons/box-arrow-up.svg
new file mode 100644
index 0000000..beaf334
--- /dev/null
+++ b/src/static/icons/box-arrow-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-fill.svg b/src/static/icons/box-fill.svg
new file mode 100644
index 0000000..8cf213f
--- /dev/null
+++ b/src/static/icons/box-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-seam-fill.svg b/src/static/icons/box-seam-fill.svg
new file mode 100644
index 0000000..97566ab
--- /dev/null
+++ b/src/static/icons/box-seam-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box-seam.svg b/src/static/icons/box-seam.svg
new file mode 100644
index 0000000..e1506b8
--- /dev/null
+++ b/src/static/icons/box-seam.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box.svg b/src/static/icons/box.svg
new file mode 100644
index 0000000..58cbe2c
--- /dev/null
+++ b/src/static/icons/box.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box2-fill.svg b/src/static/icons/box2-fill.svg
new file mode 100644
index 0000000..242ad6a
--- /dev/null
+++ b/src/static/icons/box2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box2-heart-fill.svg b/src/static/icons/box2-heart-fill.svg
new file mode 100644
index 0000000..810e2ee
--- /dev/null
+++ b/src/static/icons/box2-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box2-heart.svg b/src/static/icons/box2-heart.svg
new file mode 100644
index 0000000..400eb43
--- /dev/null
+++ b/src/static/icons/box2-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/box2.svg b/src/static/icons/box2.svg
new file mode 100644
index 0000000..6020baf
--- /dev/null
+++ b/src/static/icons/box2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/boxes.svg b/src/static/icons/boxes.svg
new file mode 100644
index 0000000..b53fac8
--- /dev/null
+++ b/src/static/icons/boxes.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/braces-asterisk.svg b/src/static/icons/braces-asterisk.svg
new file mode 100644
index 0000000..0a1a25b
--- /dev/null
+++ b/src/static/icons/braces-asterisk.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/braces.svg b/src/static/icons/braces.svg
new file mode 100644
index 0000000..3fed8c9
--- /dev/null
+++ b/src/static/icons/braces.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bricks.svg b/src/static/icons/bricks.svg
new file mode 100644
index 0000000..99e2886
--- /dev/null
+++ b/src/static/icons/bricks.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/briefcase-fill.svg b/src/static/icons/briefcase-fill.svg
new file mode 100644
index 0000000..bc6150d
--- /dev/null
+++ b/src/static/icons/briefcase-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/briefcase.svg b/src/static/icons/briefcase.svg
new file mode 100644
index 0000000..95d13a2
--- /dev/null
+++ b/src/static/icons/briefcase.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-alt-high-fill.svg b/src/static/icons/brightness-alt-high-fill.svg
new file mode 100644
index 0000000..7660658
--- /dev/null
+++ b/src/static/icons/brightness-alt-high-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-alt-high.svg b/src/static/icons/brightness-alt-high.svg
new file mode 100644
index 0000000..88f5255
--- /dev/null
+++ b/src/static/icons/brightness-alt-high.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-alt-low-fill.svg b/src/static/icons/brightness-alt-low-fill.svg
new file mode 100644
index 0000000..1692df2
--- /dev/null
+++ b/src/static/icons/brightness-alt-low-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-alt-low.svg b/src/static/icons/brightness-alt-low.svg
new file mode 100644
index 0000000..2d68fb0
--- /dev/null
+++ b/src/static/icons/brightness-alt-low.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-high-fill.svg b/src/static/icons/brightness-high-fill.svg
new file mode 100644
index 0000000..8969e9b
--- /dev/null
+++ b/src/static/icons/brightness-high-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-high.svg b/src/static/icons/brightness-high.svg
new file mode 100644
index 0000000..42b2c20
--- /dev/null
+++ b/src/static/icons/brightness-high.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-low-fill.svg b/src/static/icons/brightness-low-fill.svg
new file mode 100644
index 0000000..29a1c3b
--- /dev/null
+++ b/src/static/icons/brightness-low-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brightness-low.svg b/src/static/icons/brightness-low.svg
new file mode 100644
index 0000000..fdd251d
--- /dev/null
+++ b/src/static/icons/brightness-low.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/broadcast-pin.svg b/src/static/icons/broadcast-pin.svg
new file mode 100644
index 0000000..5576e0e
--- /dev/null
+++ b/src/static/icons/broadcast-pin.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/broadcast.svg b/src/static/icons/broadcast.svg
new file mode 100644
index 0000000..776a237
--- /dev/null
+++ b/src/static/icons/broadcast.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/browser-chrome.svg b/src/static/icons/browser-chrome.svg
new file mode 100644
index 0000000..a34ab42
--- /dev/null
+++ b/src/static/icons/browser-chrome.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/browser-edge.svg b/src/static/icons/browser-edge.svg
new file mode 100644
index 0000000..c8191d8
--- /dev/null
+++ b/src/static/icons/browser-edge.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/browser-firefox.svg b/src/static/icons/browser-firefox.svg
new file mode 100644
index 0000000..2bfdba7
--- /dev/null
+++ b/src/static/icons/browser-firefox.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/browser-safari.svg b/src/static/icons/browser-safari.svg
new file mode 100644
index 0000000..b304b1b
--- /dev/null
+++ b/src/static/icons/browser-safari.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brush-fill.svg b/src/static/icons/brush-fill.svg
new file mode 100644
index 0000000..53ec4d6
--- /dev/null
+++ b/src/static/icons/brush-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/brush.svg b/src/static/icons/brush.svg
new file mode 100644
index 0000000..cc3429b
--- /dev/null
+++ b/src/static/icons/brush.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bucket-fill.svg b/src/static/icons/bucket-fill.svg
new file mode 100644
index 0000000..e14f4a8
--- /dev/null
+++ b/src/static/icons/bucket-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bucket.svg b/src/static/icons/bucket.svg
new file mode 100644
index 0000000..4911ef2
--- /dev/null
+++ b/src/static/icons/bucket.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bug-fill.svg b/src/static/icons/bug-fill.svg
new file mode 100644
index 0000000..bf16447
--- /dev/null
+++ b/src/static/icons/bug-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bug.svg b/src/static/icons/bug.svg
new file mode 100644
index 0000000..a97ffa1
--- /dev/null
+++ b/src/static/icons/bug.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-add.svg b/src/static/icons/building-add.svg
new file mode 100644
index 0000000..d5016d4
--- /dev/null
+++ b/src/static/icons/building-add.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-check.svg b/src/static/icons/building-check.svg
new file mode 100644
index 0000000..151712d
--- /dev/null
+++ b/src/static/icons/building-check.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-dash.svg b/src/static/icons/building-dash.svg
new file mode 100644
index 0000000..df489c8
--- /dev/null
+++ b/src/static/icons/building-dash.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-down.svg b/src/static/icons/building-down.svg
new file mode 100644
index 0000000..2493f51
--- /dev/null
+++ b/src/static/icons/building-down.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-exclamation.svg b/src/static/icons/building-exclamation.svg
new file mode 100644
index 0000000..f2d8f62
--- /dev/null
+++ b/src/static/icons/building-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-add.svg b/src/static/icons/building-fill-add.svg
new file mode 100644
index 0000000..2019e92
--- /dev/null
+++ b/src/static/icons/building-fill-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-check.svg b/src/static/icons/building-fill-check.svg
new file mode 100644
index 0000000..50485c6
--- /dev/null
+++ b/src/static/icons/building-fill-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-dash.svg b/src/static/icons/building-fill-dash.svg
new file mode 100644
index 0000000..67107eb
--- /dev/null
+++ b/src/static/icons/building-fill-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-down.svg b/src/static/icons/building-fill-down.svg
new file mode 100644
index 0000000..b072754
--- /dev/null
+++ b/src/static/icons/building-fill-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-exclamation.svg b/src/static/icons/building-fill-exclamation.svg
new file mode 100644
index 0000000..6ca39dc
--- /dev/null
+++ b/src/static/icons/building-fill-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-gear.svg b/src/static/icons/building-fill-gear.svg
new file mode 100644
index 0000000..95d6126
--- /dev/null
+++ b/src/static/icons/building-fill-gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-lock.svg b/src/static/icons/building-fill-lock.svg
new file mode 100644
index 0000000..ddd8e6c
--- /dev/null
+++ b/src/static/icons/building-fill-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-slash.svg b/src/static/icons/building-fill-slash.svg
new file mode 100644
index 0000000..7e30330
--- /dev/null
+++ b/src/static/icons/building-fill-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-up.svg b/src/static/icons/building-fill-up.svg
new file mode 100644
index 0000000..ef87446
--- /dev/null
+++ b/src/static/icons/building-fill-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill-x.svg b/src/static/icons/building-fill-x.svg
new file mode 100644
index 0000000..0311537
--- /dev/null
+++ b/src/static/icons/building-fill-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-fill.svg b/src/static/icons/building-fill.svg
new file mode 100644
index 0000000..fa95d1f
--- /dev/null
+++ b/src/static/icons/building-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-gear.svg b/src/static/icons/building-gear.svg
new file mode 100644
index 0000000..698a746
--- /dev/null
+++ b/src/static/icons/building-gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-lock.svg b/src/static/icons/building-lock.svg
new file mode 100644
index 0000000..f4da96c
--- /dev/null
+++ b/src/static/icons/building-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-slash.svg b/src/static/icons/building-slash.svg
new file mode 100644
index 0000000..9920301
--- /dev/null
+++ b/src/static/icons/building-slash.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-up.svg b/src/static/icons/building-up.svg
new file mode 100644
index 0000000..b2b0433
--- /dev/null
+++ b/src/static/icons/building-up.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building-x.svg b/src/static/icons/building-x.svg
new file mode 100644
index 0000000..81bff0f
--- /dev/null
+++ b/src/static/icons/building-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/building.svg b/src/static/icons/building.svg
new file mode 100644
index 0000000..2555f8f
--- /dev/null
+++ b/src/static/icons/building.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/buildings-fill.svg b/src/static/icons/buildings-fill.svg
new file mode 100644
index 0000000..3799c1d
--- /dev/null
+++ b/src/static/icons/buildings-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/buildings.svg b/src/static/icons/buildings.svg
new file mode 100644
index 0000000..b842c0c
--- /dev/null
+++ b/src/static/icons/buildings.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bullseye.svg b/src/static/icons/bullseye.svg
new file mode 100644
index 0000000..85a807c
--- /dev/null
+++ b/src/static/icons/bullseye.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bus-front-fill.svg b/src/static/icons/bus-front-fill.svg
new file mode 100644
index 0000000..c71376d
--- /dev/null
+++ b/src/static/icons/bus-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/bus-front.svg b/src/static/icons/bus-front.svg
new file mode 100644
index 0000000..bdf6b61
--- /dev/null
+++ b/src/static/icons/bus-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/c-circle-fill.svg b/src/static/icons/c-circle-fill.svg
new file mode 100644
index 0000000..0b4adad
--- /dev/null
+++ b/src/static/icons/c-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/c-circle.svg b/src/static/icons/c-circle.svg
new file mode 100644
index 0000000..3e4e268
--- /dev/null
+++ b/src/static/icons/c-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/c-square-fill.svg b/src/static/icons/c-square-fill.svg
new file mode 100644
index 0000000..0b24f73
--- /dev/null
+++ b/src/static/icons/c-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/c-square.svg b/src/static/icons/c-square.svg
new file mode 100644
index 0000000..822ae02
--- /dev/null
+++ b/src/static/icons/c-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calculator-fill.svg b/src/static/icons/calculator-fill.svg
new file mode 100644
index 0000000..c4ee270
--- /dev/null
+++ b/src/static/icons/calculator-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calculator.svg b/src/static/icons/calculator.svg
new file mode 100644
index 0000000..be8e11a
--- /dev/null
+++ b/src/static/icons/calculator.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-check-fill.svg b/src/static/icons/calendar-check-fill.svg
new file mode 100644
index 0000000..76afaa2
--- /dev/null
+++ b/src/static/icons/calendar-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-check.svg b/src/static/icons/calendar-check.svg
new file mode 100644
index 0000000..125b358
--- /dev/null
+++ b/src/static/icons/calendar-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-date-fill.svg b/src/static/icons/calendar-date-fill.svg
new file mode 100644
index 0000000..37e9cb5
--- /dev/null
+++ b/src/static/icons/calendar-date-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-date.svg b/src/static/icons/calendar-date.svg
new file mode 100644
index 0000000..7c53231
--- /dev/null
+++ b/src/static/icons/calendar-date.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-day-fill.svg b/src/static/icons/calendar-day-fill.svg
new file mode 100644
index 0000000..7f1c3c1
--- /dev/null
+++ b/src/static/icons/calendar-day-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-day.svg b/src/static/icons/calendar-day.svg
new file mode 100644
index 0000000..f043369
--- /dev/null
+++ b/src/static/icons/calendar-day.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-event-fill.svg b/src/static/icons/calendar-event-fill.svg
new file mode 100644
index 0000000..844dd15
--- /dev/null
+++ b/src/static/icons/calendar-event-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-event.svg b/src/static/icons/calendar-event.svg
new file mode 100644
index 0000000..41c0ef9
--- /dev/null
+++ b/src/static/icons/calendar-event.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-fill.svg b/src/static/icons/calendar-fill.svg
new file mode 100644
index 0000000..0cdeb35
--- /dev/null
+++ b/src/static/icons/calendar-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-heart-fill.svg b/src/static/icons/calendar-heart-fill.svg
new file mode 100644
index 0000000..bed00d8
--- /dev/null
+++ b/src/static/icons/calendar-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-heart.svg b/src/static/icons/calendar-heart.svg
new file mode 100644
index 0000000..2fe7c13
--- /dev/null
+++ b/src/static/icons/calendar-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-minus-fill.svg b/src/static/icons/calendar-minus-fill.svg
new file mode 100644
index 0000000..f23e648
--- /dev/null
+++ b/src/static/icons/calendar-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-minus.svg b/src/static/icons/calendar-minus.svg
new file mode 100644
index 0000000..8f970ac
--- /dev/null
+++ b/src/static/icons/calendar-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-month-fill.svg b/src/static/icons/calendar-month-fill.svg
new file mode 100644
index 0000000..9123437
--- /dev/null
+++ b/src/static/icons/calendar-month-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-month.svg b/src/static/icons/calendar-month.svg
new file mode 100644
index 0000000..ad6a330
--- /dev/null
+++ b/src/static/icons/calendar-month.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-plus-fill.svg b/src/static/icons/calendar-plus-fill.svg
new file mode 100644
index 0000000..3928c63
--- /dev/null
+++ b/src/static/icons/calendar-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-plus.svg b/src/static/icons/calendar-plus.svg
new file mode 100644
index 0000000..70746db
--- /dev/null
+++ b/src/static/icons/calendar-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-range-fill.svg b/src/static/icons/calendar-range-fill.svg
new file mode 100644
index 0000000..41bb2a2
--- /dev/null
+++ b/src/static/icons/calendar-range-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-range.svg b/src/static/icons/calendar-range.svg
new file mode 100644
index 0000000..934a45c
--- /dev/null
+++ b/src/static/icons/calendar-range.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-week-fill.svg b/src/static/icons/calendar-week-fill.svg
new file mode 100644
index 0000000..00930aa
--- /dev/null
+++ b/src/static/icons/calendar-week-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-week.svg b/src/static/icons/calendar-week.svg
new file mode 100644
index 0000000..06d6995
--- /dev/null
+++ b/src/static/icons/calendar-week.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-x-fill.svg b/src/static/icons/calendar-x-fill.svg
new file mode 100644
index 0000000..01be301
--- /dev/null
+++ b/src/static/icons/calendar-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar-x.svg b/src/static/icons/calendar-x.svg
new file mode 100644
index 0000000..faf46e1
--- /dev/null
+++ b/src/static/icons/calendar-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar.svg b/src/static/icons/calendar.svg
new file mode 100644
index 0000000..c8590dd
--- /dev/null
+++ b/src/static/icons/calendar.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-check-fill.svg b/src/static/icons/calendar2-check-fill.svg
new file mode 100644
index 0000000..f49354e
--- /dev/null
+++ b/src/static/icons/calendar2-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-check.svg b/src/static/icons/calendar2-check.svg
new file mode 100644
index 0000000..f826056
--- /dev/null
+++ b/src/static/icons/calendar2-check.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-date-fill.svg b/src/static/icons/calendar2-date-fill.svg
new file mode 100644
index 0000000..ac005e0
--- /dev/null
+++ b/src/static/icons/calendar2-date-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-date.svg b/src/static/icons/calendar2-date.svg
new file mode 100644
index 0000000..2dd64e8
--- /dev/null
+++ b/src/static/icons/calendar2-date.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-day-fill.svg b/src/static/icons/calendar2-day-fill.svg
new file mode 100644
index 0000000..2ab1b21
--- /dev/null
+++ b/src/static/icons/calendar2-day-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-day.svg b/src/static/icons/calendar2-day.svg
new file mode 100644
index 0000000..d4d4856
--- /dev/null
+++ b/src/static/icons/calendar2-day.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-event-fill.svg b/src/static/icons/calendar2-event-fill.svg
new file mode 100644
index 0000000..5bdbc27
--- /dev/null
+++ b/src/static/icons/calendar2-event-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-event.svg b/src/static/icons/calendar2-event.svg
new file mode 100644
index 0000000..8c1c7cd
--- /dev/null
+++ b/src/static/icons/calendar2-event.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-fill.svg b/src/static/icons/calendar2-fill.svg
new file mode 100644
index 0000000..4b81563
--- /dev/null
+++ b/src/static/icons/calendar2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-heart-fill.svg b/src/static/icons/calendar2-heart-fill.svg
new file mode 100644
index 0000000..a1782e3
--- /dev/null
+++ b/src/static/icons/calendar2-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-heart.svg b/src/static/icons/calendar2-heart.svg
new file mode 100644
index 0000000..6d66981
--- /dev/null
+++ b/src/static/icons/calendar2-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-minus-fill.svg b/src/static/icons/calendar2-minus-fill.svg
new file mode 100644
index 0000000..af87213
--- /dev/null
+++ b/src/static/icons/calendar2-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-minus.svg b/src/static/icons/calendar2-minus.svg
new file mode 100644
index 0000000..eff8110
--- /dev/null
+++ b/src/static/icons/calendar2-minus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-month-fill.svg b/src/static/icons/calendar2-month-fill.svg
new file mode 100644
index 0000000..58deabc
--- /dev/null
+++ b/src/static/icons/calendar2-month-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-month.svg b/src/static/icons/calendar2-month.svg
new file mode 100644
index 0000000..88c922e
--- /dev/null
+++ b/src/static/icons/calendar2-month.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-plus-fill.svg b/src/static/icons/calendar2-plus-fill.svg
new file mode 100644
index 0000000..8b41682
--- /dev/null
+++ b/src/static/icons/calendar2-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-plus.svg b/src/static/icons/calendar2-plus.svg
new file mode 100644
index 0000000..7ec7d49
--- /dev/null
+++ b/src/static/icons/calendar2-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-range-fill.svg b/src/static/icons/calendar2-range-fill.svg
new file mode 100644
index 0000000..39ba322
--- /dev/null
+++ b/src/static/icons/calendar2-range-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-range.svg b/src/static/icons/calendar2-range.svg
new file mode 100644
index 0000000..4a8d9ad
--- /dev/null
+++ b/src/static/icons/calendar2-range.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-week-fill.svg b/src/static/icons/calendar2-week-fill.svg
new file mode 100644
index 0000000..8303779
--- /dev/null
+++ b/src/static/icons/calendar2-week-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-week.svg b/src/static/icons/calendar2-week.svg
new file mode 100644
index 0000000..835ce06
--- /dev/null
+++ b/src/static/icons/calendar2-week.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-x-fill.svg b/src/static/icons/calendar2-x-fill.svg
new file mode 100644
index 0000000..2157939
--- /dev/null
+++ b/src/static/icons/calendar2-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2-x.svg b/src/static/icons/calendar2-x.svg
new file mode 100644
index 0000000..e7cc339
--- /dev/null
+++ b/src/static/icons/calendar2-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar2.svg b/src/static/icons/calendar2.svg
new file mode 100644
index 0000000..db2e06d
--- /dev/null
+++ b/src/static/icons/calendar2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-event-fill.svg b/src/static/icons/calendar3-event-fill.svg
new file mode 100644
index 0000000..c494090
--- /dev/null
+++ b/src/static/icons/calendar3-event-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-event.svg b/src/static/icons/calendar3-event.svg
new file mode 100644
index 0000000..681ce4d
--- /dev/null
+++ b/src/static/icons/calendar3-event.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-fill.svg b/src/static/icons/calendar3-fill.svg
new file mode 100644
index 0000000..e37c234
--- /dev/null
+++ b/src/static/icons/calendar3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-range-fill.svg b/src/static/icons/calendar3-range-fill.svg
new file mode 100644
index 0000000..00875b2
--- /dev/null
+++ b/src/static/icons/calendar3-range-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-range.svg b/src/static/icons/calendar3-range.svg
new file mode 100644
index 0000000..a452516
--- /dev/null
+++ b/src/static/icons/calendar3-range.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-week-fill.svg b/src/static/icons/calendar3-week-fill.svg
new file mode 100644
index 0000000..53e5bc7
--- /dev/null
+++ b/src/static/icons/calendar3-week-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3-week.svg b/src/static/icons/calendar3-week.svg
new file mode 100644
index 0000000..e9a768c
--- /dev/null
+++ b/src/static/icons/calendar3-week.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar3.svg b/src/static/icons/calendar3.svg
new file mode 100644
index 0000000..eb3c5f2
--- /dev/null
+++ b/src/static/icons/calendar3.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar4-event.svg b/src/static/icons/calendar4-event.svg
new file mode 100644
index 0000000..51d40e8
--- /dev/null
+++ b/src/static/icons/calendar4-event.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar4-range.svg b/src/static/icons/calendar4-range.svg
new file mode 100644
index 0000000..129d7c1
--- /dev/null
+++ b/src/static/icons/calendar4-range.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar4-week.svg b/src/static/icons/calendar4-week.svg
new file mode 100644
index 0000000..5644238
--- /dev/null
+++ b/src/static/icons/calendar4-week.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/calendar4.svg b/src/static/icons/calendar4.svg
new file mode 100644
index 0000000..1c62685
--- /dev/null
+++ b/src/static/icons/calendar4.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-fill.svg b/src/static/icons/camera-fill.svg
new file mode 100644
index 0000000..be16451
--- /dev/null
+++ b/src/static/icons/camera-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-reels-fill.svg b/src/static/icons/camera-reels-fill.svg
new file mode 100644
index 0000000..347f44e
--- /dev/null
+++ b/src/static/icons/camera-reels-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-reels.svg b/src/static/icons/camera-reels.svg
new file mode 100644
index 0000000..1aa7b1c
--- /dev/null
+++ b/src/static/icons/camera-reels.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-video-fill.svg b/src/static/icons/camera-video-fill.svg
new file mode 100644
index 0000000..0222b95
--- /dev/null
+++ b/src/static/icons/camera-video-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-video-off-fill.svg b/src/static/icons/camera-video-off-fill.svg
new file mode 100644
index 0000000..9909060
--- /dev/null
+++ b/src/static/icons/camera-video-off-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-video-off.svg b/src/static/icons/camera-video-off.svg
new file mode 100644
index 0000000..7635e9b
--- /dev/null
+++ b/src/static/icons/camera-video-off.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera-video.svg b/src/static/icons/camera-video.svg
new file mode 100644
index 0000000..199e7a8
--- /dev/null
+++ b/src/static/icons/camera-video.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera.svg b/src/static/icons/camera.svg
new file mode 100644
index 0000000..fb337fe
--- /dev/null
+++ b/src/static/icons/camera.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/camera2.svg b/src/static/icons/camera2.svg
new file mode 100644
index 0000000..a33ae6b
--- /dev/null
+++ b/src/static/icons/camera2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/capslock-fill.svg b/src/static/icons/capslock-fill.svg
new file mode 100644
index 0000000..e4af909
--- /dev/null
+++ b/src/static/icons/capslock-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/capslock.svg b/src/static/icons/capslock.svg
new file mode 100644
index 0000000..12155de
--- /dev/null
+++ b/src/static/icons/capslock.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/capsule-pill.svg b/src/static/icons/capsule-pill.svg
new file mode 100644
index 0000000..0167f85
--- /dev/null
+++ b/src/static/icons/capsule-pill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/capsule.svg b/src/static/icons/capsule.svg
new file mode 100644
index 0000000..98863d8
--- /dev/null
+++ b/src/static/icons/capsule.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/car-front-fill.svg b/src/static/icons/car-front-fill.svg
new file mode 100644
index 0000000..a9b9603
--- /dev/null
+++ b/src/static/icons/car-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/car-front.svg b/src/static/icons/car-front.svg
new file mode 100644
index 0000000..bb5fa3d
--- /dev/null
+++ b/src/static/icons/car-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/card-checklist.svg b/src/static/icons/card-checklist.svg
new file mode 100644
index 0000000..ce2a553
--- /dev/null
+++ b/src/static/icons/card-checklist.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/card-heading.svg b/src/static/icons/card-heading.svg
new file mode 100644
index 0000000..682bd4e
--- /dev/null
+++ b/src/static/icons/card-heading.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/card-image.svg b/src/static/icons/card-image.svg
new file mode 100644
index 0000000..473ff03
--- /dev/null
+++ b/src/static/icons/card-image.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/card-list.svg b/src/static/icons/card-list.svg
new file mode 100644
index 0000000..3dc5d42
--- /dev/null
+++ b/src/static/icons/card-list.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/card-text.svg b/src/static/icons/card-text.svg
new file mode 100644
index 0000000..d218f55
--- /dev/null
+++ b/src/static/icons/card-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-down-fill.svg b/src/static/icons/caret-down-fill.svg
new file mode 100644
index 0000000..d7c3990
--- /dev/null
+++ b/src/static/icons/caret-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-down-square-fill.svg b/src/static/icons/caret-down-square-fill.svg
new file mode 100644
index 0000000..ae8fbb4
--- /dev/null
+++ b/src/static/icons/caret-down-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-down-square.svg b/src/static/icons/caret-down-square.svg
new file mode 100644
index 0000000..cf34038
--- /dev/null
+++ b/src/static/icons/caret-down-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-down.svg b/src/static/icons/caret-down.svg
new file mode 100644
index 0000000..026b0ff
--- /dev/null
+++ b/src/static/icons/caret-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-left-fill.svg b/src/static/icons/caret-left-fill.svg
new file mode 100644
index 0000000..d989dff
--- /dev/null
+++ b/src/static/icons/caret-left-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-left-square-fill.svg b/src/static/icons/caret-left-square-fill.svg
new file mode 100644
index 0000000..5d8ab56
--- /dev/null
+++ b/src/static/icons/caret-left-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-left-square.svg b/src/static/icons/caret-left-square.svg
new file mode 100644
index 0000000..099b54d
--- /dev/null
+++ b/src/static/icons/caret-left-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-left.svg b/src/static/icons/caret-left.svg
new file mode 100644
index 0000000..89732f0
--- /dev/null
+++ b/src/static/icons/caret-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-right-fill.svg b/src/static/icons/caret-right-fill.svg
new file mode 100644
index 0000000..b445551
--- /dev/null
+++ b/src/static/icons/caret-right-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-right-square-fill.svg b/src/static/icons/caret-right-square-fill.svg
new file mode 100644
index 0000000..ea06657
--- /dev/null
+++ b/src/static/icons/caret-right-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-right-square.svg b/src/static/icons/caret-right-square.svg
new file mode 100644
index 0000000..4039064
--- /dev/null
+++ b/src/static/icons/caret-right-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-right.svg b/src/static/icons/caret-right.svg
new file mode 100644
index 0000000..451686e
--- /dev/null
+++ b/src/static/icons/caret-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-up-fill.svg b/src/static/icons/caret-up-fill.svg
new file mode 100644
index 0000000..a87820e
--- /dev/null
+++ b/src/static/icons/caret-up-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-up-square-fill.svg b/src/static/icons/caret-up-square-fill.svg
new file mode 100644
index 0000000..25c66a5
--- /dev/null
+++ b/src/static/icons/caret-up-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-up-square.svg b/src/static/icons/caret-up-square.svg
new file mode 100644
index 0000000..d59ecbf
--- /dev/null
+++ b/src/static/icons/caret-up-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/caret-up.svg b/src/static/icons/caret-up.svg
new file mode 100644
index 0000000..36ca8f0
--- /dev/null
+++ b/src/static/icons/caret-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-check-fill.svg b/src/static/icons/cart-check-fill.svg
new file mode 100644
index 0000000..019c1fc
--- /dev/null
+++ b/src/static/icons/cart-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-check.svg b/src/static/icons/cart-check.svg
new file mode 100644
index 0000000..986706a
--- /dev/null
+++ b/src/static/icons/cart-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-dash-fill.svg b/src/static/icons/cart-dash-fill.svg
new file mode 100644
index 0000000..2562744
--- /dev/null
+++ b/src/static/icons/cart-dash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-dash.svg b/src/static/icons/cart-dash.svg
new file mode 100644
index 0000000..ecd23f3
--- /dev/null
+++ b/src/static/icons/cart-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-fill.svg b/src/static/icons/cart-fill.svg
new file mode 100644
index 0000000..a2b95bf
--- /dev/null
+++ b/src/static/icons/cart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-plus-fill.svg b/src/static/icons/cart-plus-fill.svg
new file mode 100644
index 0000000..9858fe1
--- /dev/null
+++ b/src/static/icons/cart-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-plus.svg b/src/static/icons/cart-plus.svg
new file mode 100644
index 0000000..acafe13
--- /dev/null
+++ b/src/static/icons/cart-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-x-fill.svg b/src/static/icons/cart-x-fill.svg
new file mode 100644
index 0000000..a9a32ca
--- /dev/null
+++ b/src/static/icons/cart-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart-x.svg b/src/static/icons/cart-x.svg
new file mode 100644
index 0000000..feddfdd
--- /dev/null
+++ b/src/static/icons/cart-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart.svg b/src/static/icons/cart.svg
new file mode 100644
index 0000000..486adb1
--- /dev/null
+++ b/src/static/icons/cart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart2.svg b/src/static/icons/cart2.svg
new file mode 100644
index 0000000..7e1bd9a
--- /dev/null
+++ b/src/static/icons/cart2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart3.svg b/src/static/icons/cart3.svg
new file mode 100644
index 0000000..2187149
--- /dev/null
+++ b/src/static/icons/cart3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cart4.svg b/src/static/icons/cart4.svg
new file mode 100644
index 0000000..b40891f
--- /dev/null
+++ b/src/static/icons/cart4.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cash-coin.svg b/src/static/icons/cash-coin.svg
new file mode 100644
index 0000000..bc82c64
--- /dev/null
+++ b/src/static/icons/cash-coin.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cash-stack.svg b/src/static/icons/cash-stack.svg
new file mode 100644
index 0000000..492cb38
--- /dev/null
+++ b/src/static/icons/cash-stack.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cash.svg b/src/static/icons/cash.svg
new file mode 100644
index 0000000..ef3a4e7
--- /dev/null
+++ b/src/static/icons/cash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cassette-fill.svg b/src/static/icons/cassette-fill.svg
new file mode 100644
index 0000000..e8dd8f1
--- /dev/null
+++ b/src/static/icons/cassette-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cassette.svg b/src/static/icons/cassette.svg
new file mode 100644
index 0000000..c28170c
--- /dev/null
+++ b/src/static/icons/cassette.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cast.svg b/src/static/icons/cast.svg
new file mode 100644
index 0000000..1eda173
--- /dev/null
+++ b/src/static/icons/cast.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cc-circle-fill.svg b/src/static/icons/cc-circle-fill.svg
new file mode 100644
index 0000000..ca9779e
--- /dev/null
+++ b/src/static/icons/cc-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cc-circle.svg b/src/static/icons/cc-circle.svg
new file mode 100644
index 0000000..6de6b76
--- /dev/null
+++ b/src/static/icons/cc-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cc-square-fill.svg b/src/static/icons/cc-square-fill.svg
new file mode 100644
index 0000000..f9b44d5
--- /dev/null
+++ b/src/static/icons/cc-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cc-square.svg b/src/static/icons/cc-square.svg
new file mode 100644
index 0000000..90c52bc
--- /dev/null
+++ b/src/static/icons/cc-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-dots-fill.svg b/src/static/icons/chat-dots-fill.svg
new file mode 100644
index 0000000..2e3d225
--- /dev/null
+++ b/src/static/icons/chat-dots-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-dots.svg b/src/static/icons/chat-dots.svg
new file mode 100644
index 0000000..a74267d
--- /dev/null
+++ b/src/static/icons/chat-dots.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-fill.svg b/src/static/icons/chat-fill.svg
new file mode 100644
index 0000000..69ed44b
--- /dev/null
+++ b/src/static/icons/chat-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-heart-fill.svg b/src/static/icons/chat-heart-fill.svg
new file mode 100644
index 0000000..9be92ca
--- /dev/null
+++ b/src/static/icons/chat-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-heart.svg b/src/static/icons/chat-heart.svg
new file mode 100644
index 0000000..90c276b
--- /dev/null
+++ b/src/static/icons/chat-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-dots-fill.svg b/src/static/icons/chat-left-dots-fill.svg
new file mode 100644
index 0000000..eb7f531
--- /dev/null
+++ b/src/static/icons/chat-left-dots-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-dots.svg b/src/static/icons/chat-left-dots.svg
new file mode 100644
index 0000000..c73169d
--- /dev/null
+++ b/src/static/icons/chat-left-dots.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-fill.svg b/src/static/icons/chat-left-fill.svg
new file mode 100644
index 0000000..38c389f
--- /dev/null
+++ b/src/static/icons/chat-left-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-heart-fill.svg b/src/static/icons/chat-left-heart-fill.svg
new file mode 100644
index 0000000..787ed61
--- /dev/null
+++ b/src/static/icons/chat-left-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-heart.svg b/src/static/icons/chat-left-heart.svg
new file mode 100644
index 0000000..1604e7b
--- /dev/null
+++ b/src/static/icons/chat-left-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-quote-fill.svg b/src/static/icons/chat-left-quote-fill.svg
new file mode 100644
index 0000000..b115a9f
--- /dev/null
+++ b/src/static/icons/chat-left-quote-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-quote.svg b/src/static/icons/chat-left-quote.svg
new file mode 100644
index 0000000..448827f
--- /dev/null
+++ b/src/static/icons/chat-left-quote.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-text-fill.svg b/src/static/icons/chat-left-text-fill.svg
new file mode 100644
index 0000000..28a0f47
--- /dev/null
+++ b/src/static/icons/chat-left-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left-text.svg b/src/static/icons/chat-left-text.svg
new file mode 100644
index 0000000..2b69a98
--- /dev/null
+++ b/src/static/icons/chat-left-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-left.svg b/src/static/icons/chat-left.svg
new file mode 100644
index 0000000..fd2f4ee
--- /dev/null
+++ b/src/static/icons/chat-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-quote-fill.svg b/src/static/icons/chat-quote-fill.svg
new file mode 100644
index 0000000..4a3af86
--- /dev/null
+++ b/src/static/icons/chat-quote-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-quote.svg b/src/static/icons/chat-quote.svg
new file mode 100644
index 0000000..f890c38
--- /dev/null
+++ b/src/static/icons/chat-quote.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-dots-fill.svg b/src/static/icons/chat-right-dots-fill.svg
new file mode 100644
index 0000000..49ce097
--- /dev/null
+++ b/src/static/icons/chat-right-dots-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-dots.svg b/src/static/icons/chat-right-dots.svg
new file mode 100644
index 0000000..423d221
--- /dev/null
+++ b/src/static/icons/chat-right-dots.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-fill.svg b/src/static/icons/chat-right-fill.svg
new file mode 100644
index 0000000..41b767b
--- /dev/null
+++ b/src/static/icons/chat-right-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-heart-fill.svg b/src/static/icons/chat-right-heart-fill.svg
new file mode 100644
index 0000000..b55dc62
--- /dev/null
+++ b/src/static/icons/chat-right-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-heart.svg b/src/static/icons/chat-right-heart.svg
new file mode 100644
index 0000000..744e8a0
--- /dev/null
+++ b/src/static/icons/chat-right-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-quote-fill.svg b/src/static/icons/chat-right-quote-fill.svg
new file mode 100644
index 0000000..e63f92b
--- /dev/null
+++ b/src/static/icons/chat-right-quote-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-quote.svg b/src/static/icons/chat-right-quote.svg
new file mode 100644
index 0000000..42c8dbe
--- /dev/null
+++ b/src/static/icons/chat-right-quote.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-text-fill.svg b/src/static/icons/chat-right-text-fill.svg
new file mode 100644
index 0000000..32df921
--- /dev/null
+++ b/src/static/icons/chat-right-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right-text.svg b/src/static/icons/chat-right-text.svg
new file mode 100644
index 0000000..d8b6004
--- /dev/null
+++ b/src/static/icons/chat-right-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-right.svg b/src/static/icons/chat-right.svg
new file mode 100644
index 0000000..b702b5d
--- /dev/null
+++ b/src/static/icons/chat-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-dots-fill.svg b/src/static/icons/chat-square-dots-fill.svg
new file mode 100644
index 0000000..1025978
--- /dev/null
+++ b/src/static/icons/chat-square-dots-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-dots.svg b/src/static/icons/chat-square-dots.svg
new file mode 100644
index 0000000..e59cd1a
--- /dev/null
+++ b/src/static/icons/chat-square-dots.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-fill.svg b/src/static/icons/chat-square-fill.svg
new file mode 100644
index 0000000..2fb73ac
--- /dev/null
+++ b/src/static/icons/chat-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-heart-fill.svg b/src/static/icons/chat-square-heart-fill.svg
new file mode 100644
index 0000000..f200049
--- /dev/null
+++ b/src/static/icons/chat-square-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-heart.svg b/src/static/icons/chat-square-heart.svg
new file mode 100644
index 0000000..89ca6ef
--- /dev/null
+++ b/src/static/icons/chat-square-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-quote-fill.svg b/src/static/icons/chat-square-quote-fill.svg
new file mode 100644
index 0000000..761cb91
--- /dev/null
+++ b/src/static/icons/chat-square-quote-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-quote.svg b/src/static/icons/chat-square-quote.svg
new file mode 100644
index 0000000..40893f4
--- /dev/null
+++ b/src/static/icons/chat-square-quote.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-text-fill.svg b/src/static/icons/chat-square-text-fill.svg
new file mode 100644
index 0000000..1dd17c5
--- /dev/null
+++ b/src/static/icons/chat-square-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square-text.svg b/src/static/icons/chat-square-text.svg
new file mode 100644
index 0000000..ae3fd8d
--- /dev/null
+++ b/src/static/icons/chat-square-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-square.svg b/src/static/icons/chat-square.svg
new file mode 100644
index 0000000..7611729
--- /dev/null
+++ b/src/static/icons/chat-square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-text-fill.svg b/src/static/icons/chat-text-fill.svg
new file mode 100644
index 0000000..fff3db3
--- /dev/null
+++ b/src/static/icons/chat-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat-text.svg b/src/static/icons/chat-text.svg
new file mode 100644
index 0000000..75a79f1
--- /dev/null
+++ b/src/static/icons/chat-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chat.svg b/src/static/icons/chat.svg
new file mode 100644
index 0000000..3cb81b2
--- /dev/null
+++ b/src/static/icons/chat.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-all.svg b/src/static/icons/check-all.svg
new file mode 100644
index 0000000..b0019d0
--- /dev/null
+++ b/src/static/icons/check-all.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-circle-fill.svg b/src/static/icons/check-circle-fill.svg
new file mode 100644
index 0000000..e861174
--- /dev/null
+++ b/src/static/icons/check-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-circle.svg b/src/static/icons/check-circle.svg
new file mode 100644
index 0000000..d8dd0cd
--- /dev/null
+++ b/src/static/icons/check-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-lg.svg b/src/static/icons/check-lg.svg
new file mode 100644
index 0000000..7afb0ae
--- /dev/null
+++ b/src/static/icons/check-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-square-fill.svg b/src/static/icons/check-square-fill.svg
new file mode 100644
index 0000000..45d6828
--- /dev/null
+++ b/src/static/icons/check-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check-square.svg b/src/static/icons/check-square.svg
new file mode 100644
index 0000000..d71c1f3
--- /dev/null
+++ b/src/static/icons/check-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check.svg b/src/static/icons/check.svg
new file mode 100644
index 0000000..9de6cc7
--- /dev/null
+++ b/src/static/icons/check.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check2-all.svg b/src/static/icons/check2-all.svg
new file mode 100644
index 0000000..25d8ba5
--- /dev/null
+++ b/src/static/icons/check2-all.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check2-circle.svg b/src/static/icons/check2-circle.svg
new file mode 100644
index 0000000..7319d37
--- /dev/null
+++ b/src/static/icons/check2-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check2-square.svg b/src/static/icons/check2-square.svg
new file mode 100644
index 0000000..2d5e6eb
--- /dev/null
+++ b/src/static/icons/check2-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/check2.svg b/src/static/icons/check2.svg
new file mode 100644
index 0000000..e187956
--- /dev/null
+++ b/src/static/icons/check2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-contract.svg b/src/static/icons/chevron-bar-contract.svg
new file mode 100644
index 0000000..f12917f
--- /dev/null
+++ b/src/static/icons/chevron-bar-contract.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-down.svg b/src/static/icons/chevron-bar-down.svg
new file mode 100644
index 0000000..4df2259
--- /dev/null
+++ b/src/static/icons/chevron-bar-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-expand.svg b/src/static/icons/chevron-bar-expand.svg
new file mode 100644
index 0000000..6cb775f
--- /dev/null
+++ b/src/static/icons/chevron-bar-expand.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-left.svg b/src/static/icons/chevron-bar-left.svg
new file mode 100644
index 0000000..5d53406
--- /dev/null
+++ b/src/static/icons/chevron-bar-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-right.svg b/src/static/icons/chevron-bar-right.svg
new file mode 100644
index 0000000..b71553c
--- /dev/null
+++ b/src/static/icons/chevron-bar-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-bar-up.svg b/src/static/icons/chevron-bar-up.svg
new file mode 100644
index 0000000..9ca1408
--- /dev/null
+++ b/src/static/icons/chevron-bar-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-compact-down.svg b/src/static/icons/chevron-compact-down.svg
new file mode 100644
index 0000000..fb1767e
--- /dev/null
+++ b/src/static/icons/chevron-compact-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-compact-left.svg b/src/static/icons/chevron-compact-left.svg
new file mode 100644
index 0000000..5dd6b6b
--- /dev/null
+++ b/src/static/icons/chevron-compact-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-compact-right.svg b/src/static/icons/chevron-compact-right.svg
new file mode 100644
index 0000000..ecb5994
--- /dev/null
+++ b/src/static/icons/chevron-compact-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-compact-up.svg b/src/static/icons/chevron-compact-up.svg
new file mode 100644
index 0000000..8bc0a55
--- /dev/null
+++ b/src/static/icons/chevron-compact-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-contract.svg b/src/static/icons/chevron-contract.svg
new file mode 100644
index 0000000..5243d43
--- /dev/null
+++ b/src/static/icons/chevron-contract.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-double-down.svg b/src/static/icons/chevron-double-down.svg
new file mode 100644
index 0000000..0df76ee
--- /dev/null
+++ b/src/static/icons/chevron-double-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-double-left.svg b/src/static/icons/chevron-double-left.svg
new file mode 100644
index 0000000..7181fd1
--- /dev/null
+++ b/src/static/icons/chevron-double-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-double-right.svg b/src/static/icons/chevron-double-right.svg
new file mode 100644
index 0000000..73e1b35
--- /dev/null
+++ b/src/static/icons/chevron-double-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-double-up.svg b/src/static/icons/chevron-double-up.svg
new file mode 100644
index 0000000..5c9a013
--- /dev/null
+++ b/src/static/icons/chevron-double-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-down.svg b/src/static/icons/chevron-down.svg
new file mode 100644
index 0000000..1f0b8bc
--- /dev/null
+++ b/src/static/icons/chevron-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-expand.svg b/src/static/icons/chevron-expand.svg
new file mode 100644
index 0000000..0a2b81a
--- /dev/null
+++ b/src/static/icons/chevron-expand.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-left.svg b/src/static/icons/chevron-left.svg
new file mode 100644
index 0000000..018f8b6
--- /dev/null
+++ b/src/static/icons/chevron-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-right.svg b/src/static/icons/chevron-right.svg
new file mode 100644
index 0000000..d621289
--- /dev/null
+++ b/src/static/icons/chevron-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/chevron-up.svg b/src/static/icons/chevron-up.svg
new file mode 100644
index 0000000..3b2bd42
--- /dev/null
+++ b/src/static/icons/chevron-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/circle-fill.svg b/src/static/icons/circle-fill.svg
new file mode 100644
index 0000000..e0d1b51
--- /dev/null
+++ b/src/static/icons/circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/circle-half.svg b/src/static/icons/circle-half.svg
new file mode 100644
index 0000000..5380929
--- /dev/null
+++ b/src/static/icons/circle-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/circle-square.svg b/src/static/icons/circle-square.svg
new file mode 100644
index 0000000..37d8622
--- /dev/null
+++ b/src/static/icons/circle-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/circle.svg b/src/static/icons/circle.svg
new file mode 100644
index 0000000..dc57919
--- /dev/null
+++ b/src/static/icons/circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-check-fill.svg b/src/static/icons/clipboard-check-fill.svg
new file mode 100644
index 0000000..4c0c18f
--- /dev/null
+++ b/src/static/icons/clipboard-check-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-check.svg b/src/static/icons/clipboard-check.svg
new file mode 100644
index 0000000..f7591ae
--- /dev/null
+++ b/src/static/icons/clipboard-check.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-data-fill.svg b/src/static/icons/clipboard-data-fill.svg
new file mode 100644
index 0000000..e7de45a
--- /dev/null
+++ b/src/static/icons/clipboard-data-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-data.svg b/src/static/icons/clipboard-data.svg
new file mode 100644
index 0000000..b4fcb33
--- /dev/null
+++ b/src/static/icons/clipboard-data.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-fill.svg b/src/static/icons/clipboard-fill.svg
new file mode 100644
index 0000000..86d3da0
--- /dev/null
+++ b/src/static/icons/clipboard-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-heart-fill.svg b/src/static/icons/clipboard-heart-fill.svg
new file mode 100644
index 0000000..c653de1
--- /dev/null
+++ b/src/static/icons/clipboard-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-heart.svg b/src/static/icons/clipboard-heart.svg
new file mode 100644
index 0000000..0b5b319
--- /dev/null
+++ b/src/static/icons/clipboard-heart.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-minus-fill.svg b/src/static/icons/clipboard-minus-fill.svg
new file mode 100644
index 0000000..7828cb8
--- /dev/null
+++ b/src/static/icons/clipboard-minus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-minus.svg b/src/static/icons/clipboard-minus.svg
new file mode 100644
index 0000000..4826c3e
--- /dev/null
+++ b/src/static/icons/clipboard-minus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-plus-fill.svg b/src/static/icons/clipboard-plus-fill.svg
new file mode 100644
index 0000000..2ebdba4
--- /dev/null
+++ b/src/static/icons/clipboard-plus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-plus.svg b/src/static/icons/clipboard-plus.svg
new file mode 100644
index 0000000..79020c0
--- /dev/null
+++ b/src/static/icons/clipboard-plus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-pulse.svg b/src/static/icons/clipboard-pulse.svg
new file mode 100644
index 0000000..0c43dab
--- /dev/null
+++ b/src/static/icons/clipboard-pulse.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-x-fill.svg b/src/static/icons/clipboard-x-fill.svg
new file mode 100644
index 0000000..8cba1ea
--- /dev/null
+++ b/src/static/icons/clipboard-x-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard-x.svg b/src/static/icons/clipboard-x.svg
new file mode 100644
index 0000000..bba444d
--- /dev/null
+++ b/src/static/icons/clipboard-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard.svg b/src/static/icons/clipboard.svg
new file mode 100644
index 0000000..360e089
--- /dev/null
+++ b/src/static/icons/clipboard.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-check-fill.svg b/src/static/icons/clipboard2-check-fill.svg
new file mode 100644
index 0000000..01aed62
--- /dev/null
+++ b/src/static/icons/clipboard2-check-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-check.svg b/src/static/icons/clipboard2-check.svg
new file mode 100644
index 0000000..c235208
--- /dev/null
+++ b/src/static/icons/clipboard2-check.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-data-fill.svg b/src/static/icons/clipboard2-data-fill.svg
new file mode 100644
index 0000000..40656a7
--- /dev/null
+++ b/src/static/icons/clipboard2-data-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-data.svg b/src/static/icons/clipboard2-data.svg
new file mode 100644
index 0000000..74b26f5
--- /dev/null
+++ b/src/static/icons/clipboard2-data.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-fill.svg b/src/static/icons/clipboard2-fill.svg
new file mode 100644
index 0000000..ca2df57
--- /dev/null
+++ b/src/static/icons/clipboard2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-heart-fill.svg b/src/static/icons/clipboard2-heart-fill.svg
new file mode 100644
index 0000000..2abc359
--- /dev/null
+++ b/src/static/icons/clipboard2-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-heart.svg b/src/static/icons/clipboard2-heart.svg
new file mode 100644
index 0000000..4883c3f
--- /dev/null
+++ b/src/static/icons/clipboard2-heart.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-minus-fill.svg b/src/static/icons/clipboard2-minus-fill.svg
new file mode 100644
index 0000000..000a2c6
--- /dev/null
+++ b/src/static/icons/clipboard2-minus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-minus.svg b/src/static/icons/clipboard2-minus.svg
new file mode 100644
index 0000000..a634bb0
--- /dev/null
+++ b/src/static/icons/clipboard2-minus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-plus-fill.svg b/src/static/icons/clipboard2-plus-fill.svg
new file mode 100644
index 0000000..f1702d8
--- /dev/null
+++ b/src/static/icons/clipboard2-plus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-plus.svg b/src/static/icons/clipboard2-plus.svg
new file mode 100644
index 0000000..474ffdc
--- /dev/null
+++ b/src/static/icons/clipboard2-plus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-pulse-fill.svg b/src/static/icons/clipboard2-pulse-fill.svg
new file mode 100644
index 0000000..5017f6d
--- /dev/null
+++ b/src/static/icons/clipboard2-pulse-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-pulse.svg b/src/static/icons/clipboard2-pulse.svg
new file mode 100644
index 0000000..1e6370c
--- /dev/null
+++ b/src/static/icons/clipboard2-pulse.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-x-fill.svg b/src/static/icons/clipboard2-x-fill.svg
new file mode 100644
index 0000000..8f63584
--- /dev/null
+++ b/src/static/icons/clipboard2-x-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2-x.svg b/src/static/icons/clipboard2-x.svg
new file mode 100644
index 0000000..9ac8211
--- /dev/null
+++ b/src/static/icons/clipboard2-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clipboard2.svg b/src/static/icons/clipboard2.svg
new file mode 100644
index 0000000..d729ddb
--- /dev/null
+++ b/src/static/icons/clipboard2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clock-fill.svg b/src/static/icons/clock-fill.svg
new file mode 100644
index 0000000..189dec1
--- /dev/null
+++ b/src/static/icons/clock-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clock-history.svg b/src/static/icons/clock-history.svg
new file mode 100644
index 0000000..414b526
--- /dev/null
+++ b/src/static/icons/clock-history.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clock.svg b/src/static/icons/clock.svg
new file mode 100644
index 0000000..72f2939
--- /dev/null
+++ b/src/static/icons/clock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-arrow-down-fill.svg b/src/static/icons/cloud-arrow-down-fill.svg
new file mode 100644
index 0000000..6e18ca9
--- /dev/null
+++ b/src/static/icons/cloud-arrow-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-arrow-down.svg b/src/static/icons/cloud-arrow-down.svg
new file mode 100644
index 0000000..cb8e33a
--- /dev/null
+++ b/src/static/icons/cloud-arrow-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-arrow-up-fill.svg b/src/static/icons/cloud-arrow-up-fill.svg
new file mode 100644
index 0000000..89d72fb
--- /dev/null
+++ b/src/static/icons/cloud-arrow-up-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-arrow-up.svg b/src/static/icons/cloud-arrow-up.svg
new file mode 100644
index 0000000..6f69abc
--- /dev/null
+++ b/src/static/icons/cloud-arrow-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-check-fill.svg b/src/static/icons/cloud-check-fill.svg
new file mode 100644
index 0000000..81f28b5
--- /dev/null
+++ b/src/static/icons/cloud-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-check.svg b/src/static/icons/cloud-check.svg
new file mode 100644
index 0000000..917d5c2
--- /dev/null
+++ b/src/static/icons/cloud-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-download-fill.svg b/src/static/icons/cloud-download-fill.svg
new file mode 100644
index 0000000..53c4242
--- /dev/null
+++ b/src/static/icons/cloud-download-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-download.svg b/src/static/icons/cloud-download.svg
new file mode 100644
index 0000000..c6b3fe3
--- /dev/null
+++ b/src/static/icons/cloud-download.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-drizzle-fill.svg b/src/static/icons/cloud-drizzle-fill.svg
new file mode 100644
index 0000000..996aec4
--- /dev/null
+++ b/src/static/icons/cloud-drizzle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-drizzle.svg b/src/static/icons/cloud-drizzle.svg
new file mode 100644
index 0000000..bb1e68b
--- /dev/null
+++ b/src/static/icons/cloud-drizzle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-fill.svg b/src/static/icons/cloud-fill.svg
new file mode 100644
index 0000000..23755bd
--- /dev/null
+++ b/src/static/icons/cloud-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-fog-fill.svg b/src/static/icons/cloud-fog-fill.svg
new file mode 100644
index 0000000..07f10f4
--- /dev/null
+++ b/src/static/icons/cloud-fog-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-fog.svg b/src/static/icons/cloud-fog.svg
new file mode 100644
index 0000000..b40c983
--- /dev/null
+++ b/src/static/icons/cloud-fog.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-fog2-fill.svg b/src/static/icons/cloud-fog2-fill.svg
new file mode 100644
index 0000000..1d49851
--- /dev/null
+++ b/src/static/icons/cloud-fog2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-fog2.svg b/src/static/icons/cloud-fog2.svg
new file mode 100644
index 0000000..1bd3c25
--- /dev/null
+++ b/src/static/icons/cloud-fog2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-hail-fill.svg b/src/static/icons/cloud-hail-fill.svg
new file mode 100644
index 0000000..d8a096b
--- /dev/null
+++ b/src/static/icons/cloud-hail-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-hail.svg b/src/static/icons/cloud-hail.svg
new file mode 100644
index 0000000..2f9bec1
--- /dev/null
+++ b/src/static/icons/cloud-hail.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-haze-fill.svg b/src/static/icons/cloud-haze-fill.svg
new file mode 100644
index 0000000..002fc26
--- /dev/null
+++ b/src/static/icons/cloud-haze-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-haze.svg b/src/static/icons/cloud-haze.svg
new file mode 100644
index 0000000..513e346
--- /dev/null
+++ b/src/static/icons/cloud-haze.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-haze2-fill.svg b/src/static/icons/cloud-haze2-fill.svg
new file mode 100644
index 0000000..e9b7bda
--- /dev/null
+++ b/src/static/icons/cloud-haze2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-haze2.svg b/src/static/icons/cloud-haze2.svg
new file mode 100644
index 0000000..c213dfb
--- /dev/null
+++ b/src/static/icons/cloud-haze2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-lightning-fill.svg b/src/static/icons/cloud-lightning-fill.svg
new file mode 100644
index 0000000..1d30904
--- /dev/null
+++ b/src/static/icons/cloud-lightning-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-lightning-rain-fill.svg b/src/static/icons/cloud-lightning-rain-fill.svg
new file mode 100644
index 0000000..2b6d4a1
--- /dev/null
+++ b/src/static/icons/cloud-lightning-rain-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-lightning-rain.svg b/src/static/icons/cloud-lightning-rain.svg
new file mode 100644
index 0000000..31badb3
--- /dev/null
+++ b/src/static/icons/cloud-lightning-rain.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-lightning.svg b/src/static/icons/cloud-lightning.svg
new file mode 100644
index 0000000..5a8bafd
--- /dev/null
+++ b/src/static/icons/cloud-lightning.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-minus-fill.svg b/src/static/icons/cloud-minus-fill.svg
new file mode 100644
index 0000000..753727f
--- /dev/null
+++ b/src/static/icons/cloud-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-minus.svg b/src/static/icons/cloud-minus.svg
new file mode 100644
index 0000000..a4ab6f9
--- /dev/null
+++ b/src/static/icons/cloud-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-moon-fill.svg b/src/static/icons/cloud-moon-fill.svg
new file mode 100644
index 0000000..d968faf
--- /dev/null
+++ b/src/static/icons/cloud-moon-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-moon.svg b/src/static/icons/cloud-moon.svg
new file mode 100644
index 0000000..1089204
--- /dev/null
+++ b/src/static/icons/cloud-moon.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-plus-fill.svg b/src/static/icons/cloud-plus-fill.svg
new file mode 100644
index 0000000..92620aa
--- /dev/null
+++ b/src/static/icons/cloud-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-plus.svg b/src/static/icons/cloud-plus.svg
new file mode 100644
index 0000000..4ef51f2
--- /dev/null
+++ b/src/static/icons/cloud-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-rain-fill.svg b/src/static/icons/cloud-rain-fill.svg
new file mode 100644
index 0000000..94cddba
--- /dev/null
+++ b/src/static/icons/cloud-rain-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-rain-heavy-fill.svg b/src/static/icons/cloud-rain-heavy-fill.svg
new file mode 100644
index 0000000..167c8af
--- /dev/null
+++ b/src/static/icons/cloud-rain-heavy-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-rain-heavy.svg b/src/static/icons/cloud-rain-heavy.svg
new file mode 100644
index 0000000..a5c41e5
--- /dev/null
+++ b/src/static/icons/cloud-rain-heavy.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-rain.svg b/src/static/icons/cloud-rain.svg
new file mode 100644
index 0000000..eb40032
--- /dev/null
+++ b/src/static/icons/cloud-rain.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-slash-fill.svg b/src/static/icons/cloud-slash-fill.svg
new file mode 100644
index 0000000..a4b8bad
--- /dev/null
+++ b/src/static/icons/cloud-slash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-slash.svg b/src/static/icons/cloud-slash.svg
new file mode 100644
index 0000000..fe89178
--- /dev/null
+++ b/src/static/icons/cloud-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-sleet-fill.svg b/src/static/icons/cloud-sleet-fill.svg
new file mode 100644
index 0000000..73764dc
--- /dev/null
+++ b/src/static/icons/cloud-sleet-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-sleet.svg b/src/static/icons/cloud-sleet.svg
new file mode 100644
index 0000000..d3c8f2e
--- /dev/null
+++ b/src/static/icons/cloud-sleet.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-snow-fill.svg b/src/static/icons/cloud-snow-fill.svg
new file mode 100644
index 0000000..0ffc577
--- /dev/null
+++ b/src/static/icons/cloud-snow-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-snow.svg b/src/static/icons/cloud-snow.svg
new file mode 100644
index 0000000..b1643fb
--- /dev/null
+++ b/src/static/icons/cloud-snow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-sun-fill.svg b/src/static/icons/cloud-sun-fill.svg
new file mode 100644
index 0000000..9ecf7de
--- /dev/null
+++ b/src/static/icons/cloud-sun-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-sun.svg b/src/static/icons/cloud-sun.svg
new file mode 100644
index 0000000..76ebc49
--- /dev/null
+++ b/src/static/icons/cloud-sun.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-upload-fill.svg b/src/static/icons/cloud-upload-fill.svg
new file mode 100644
index 0000000..766015d
--- /dev/null
+++ b/src/static/icons/cloud-upload-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud-upload.svg b/src/static/icons/cloud-upload.svg
new file mode 100644
index 0000000..6184b72
--- /dev/null
+++ b/src/static/icons/cloud-upload.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloud.svg b/src/static/icons/cloud.svg
new file mode 100644
index 0000000..7b0b9b3
--- /dev/null
+++ b/src/static/icons/cloud.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clouds-fill.svg b/src/static/icons/clouds-fill.svg
new file mode 100644
index 0000000..fe7fc07
--- /dev/null
+++ b/src/static/icons/clouds-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/clouds.svg b/src/static/icons/clouds.svg
new file mode 100644
index 0000000..c9a5ba0
--- /dev/null
+++ b/src/static/icons/clouds.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloudy-fill.svg b/src/static/icons/cloudy-fill.svg
new file mode 100644
index 0000000..3e90f9e
--- /dev/null
+++ b/src/static/icons/cloudy-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cloudy.svg b/src/static/icons/cloudy.svg
new file mode 100644
index 0000000..0783bca
--- /dev/null
+++ b/src/static/icons/cloudy.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/code-slash.svg b/src/static/icons/code-slash.svg
new file mode 100644
index 0000000..ef0ef01
--- /dev/null
+++ b/src/static/icons/code-slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/code-square.svg b/src/static/icons/code-square.svg
new file mode 100644
index 0000000..415b56c
--- /dev/null
+++ b/src/static/icons/code-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/code.svg b/src/static/icons/code.svg
new file mode 100644
index 0000000..079f5c6
--- /dev/null
+++ b/src/static/icons/code.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/coin.svg b/src/static/icons/coin.svg
new file mode 100644
index 0000000..045d428
--- /dev/null
+++ b/src/static/icons/coin.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/collection-fill.svg b/src/static/icons/collection-fill.svg
new file mode 100644
index 0000000..fee7f54
--- /dev/null
+++ b/src/static/icons/collection-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/collection-play-fill.svg b/src/static/icons/collection-play-fill.svg
new file mode 100644
index 0000000..2601e48
--- /dev/null
+++ b/src/static/icons/collection-play-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/collection-play.svg b/src/static/icons/collection-play.svg
new file mode 100644
index 0000000..96b5c6e
--- /dev/null
+++ b/src/static/icons/collection-play.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/collection.svg b/src/static/icons/collection.svg
new file mode 100644
index 0000000..0870f5a
--- /dev/null
+++ b/src/static/icons/collection.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/columns-gap.svg b/src/static/icons/columns-gap.svg
new file mode 100644
index 0000000..b3cb175
--- /dev/null
+++ b/src/static/icons/columns-gap.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/columns.svg b/src/static/icons/columns.svg
new file mode 100644
index 0000000..d785491
--- /dev/null
+++ b/src/static/icons/columns.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/command.svg b/src/static/icons/command.svg
new file mode 100644
index 0000000..d162254
--- /dev/null
+++ b/src/static/icons/command.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/compass-fill.svg b/src/static/icons/compass-fill.svg
new file mode 100644
index 0000000..ad821c4
--- /dev/null
+++ b/src/static/icons/compass-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/compass.svg b/src/static/icons/compass.svg
new file mode 100644
index 0000000..8649461
--- /dev/null
+++ b/src/static/icons/compass.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cone-striped.svg b/src/static/icons/cone-striped.svg
new file mode 100644
index 0000000..44e9606
--- /dev/null
+++ b/src/static/icons/cone-striped.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cone.svg b/src/static/icons/cone.svg
new file mode 100644
index 0000000..2de05c5
--- /dev/null
+++ b/src/static/icons/cone.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/controller.svg b/src/static/icons/controller.svg
new file mode 100644
index 0000000..15e7774
--- /dev/null
+++ b/src/static/icons/controller.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cpu-fill.svg b/src/static/icons/cpu-fill.svg
new file mode 100644
index 0000000..50d0a07
--- /dev/null
+++ b/src/static/icons/cpu-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cpu.svg b/src/static/icons/cpu.svg
new file mode 100644
index 0000000..a9fbaa3
--- /dev/null
+++ b/src/static/icons/cpu.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card-2-back-fill.svg b/src/static/icons/credit-card-2-back-fill.svg
new file mode 100644
index 0000000..c80bb6c
--- /dev/null
+++ b/src/static/icons/credit-card-2-back-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card-2-back.svg b/src/static/icons/credit-card-2-back.svg
new file mode 100644
index 0000000..e99159c
--- /dev/null
+++ b/src/static/icons/credit-card-2-back.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card-2-front-fill.svg b/src/static/icons/credit-card-2-front-fill.svg
new file mode 100644
index 0000000..c082ef0
--- /dev/null
+++ b/src/static/icons/credit-card-2-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card-2-front.svg b/src/static/icons/credit-card-2-front.svg
new file mode 100644
index 0000000..95b071d
--- /dev/null
+++ b/src/static/icons/credit-card-2-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card-fill.svg b/src/static/icons/credit-card-fill.svg
new file mode 100644
index 0000000..d0686a8
--- /dev/null
+++ b/src/static/icons/credit-card-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/credit-card.svg b/src/static/icons/credit-card.svg
new file mode 100644
index 0000000..f716d39
--- /dev/null
+++ b/src/static/icons/credit-card.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/crop.svg b/src/static/icons/crop.svg
new file mode 100644
index 0000000..b7e1749
--- /dev/null
+++ b/src/static/icons/crop.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cup-fill.svg b/src/static/icons/cup-fill.svg
new file mode 100644
index 0000000..c811935
--- /dev/null
+++ b/src/static/icons/cup-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cup-hot-fill.svg b/src/static/icons/cup-hot-fill.svg
new file mode 100644
index 0000000..f512ae0
--- /dev/null
+++ b/src/static/icons/cup-hot-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cup-hot.svg b/src/static/icons/cup-hot.svg
new file mode 100644
index 0000000..789f1ea
--- /dev/null
+++ b/src/static/icons/cup-hot.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cup-straw.svg b/src/static/icons/cup-straw.svg
new file mode 100644
index 0000000..bda9d07
--- /dev/null
+++ b/src/static/icons/cup-straw.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cup.svg b/src/static/icons/cup.svg
new file mode 100644
index 0000000..490fe09
--- /dev/null
+++ b/src/static/icons/cup.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-bitcoin.svg b/src/static/icons/currency-bitcoin.svg
new file mode 100644
index 0000000..488adca
--- /dev/null
+++ b/src/static/icons/currency-bitcoin.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-dollar.svg b/src/static/icons/currency-dollar.svg
new file mode 100644
index 0000000..572e34c
--- /dev/null
+++ b/src/static/icons/currency-dollar.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-euro.svg b/src/static/icons/currency-euro.svg
new file mode 100644
index 0000000..1fcaa7c
--- /dev/null
+++ b/src/static/icons/currency-euro.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-exchange.svg b/src/static/icons/currency-exchange.svg
new file mode 100644
index 0000000..1e3eaf3
--- /dev/null
+++ b/src/static/icons/currency-exchange.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-pound.svg b/src/static/icons/currency-pound.svg
new file mode 100644
index 0000000..60dbd58
--- /dev/null
+++ b/src/static/icons/currency-pound.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-rupee.svg b/src/static/icons/currency-rupee.svg
new file mode 100644
index 0000000..843d0fa
--- /dev/null
+++ b/src/static/icons/currency-rupee.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/currency-yen.svg b/src/static/icons/currency-yen.svg
new file mode 100644
index 0000000..5bbf1a2
--- /dev/null
+++ b/src/static/icons/currency-yen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cursor-fill.svg b/src/static/icons/cursor-fill.svg
new file mode 100644
index 0000000..093372b
--- /dev/null
+++ b/src/static/icons/cursor-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cursor-text.svg b/src/static/icons/cursor-text.svg
new file mode 100644
index 0000000..42a48fa
--- /dev/null
+++ b/src/static/icons/cursor-text.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/cursor.svg b/src/static/icons/cursor.svg
new file mode 100644
index 0000000..315106b
--- /dev/null
+++ b/src/static/icons/cursor.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-circle-dotted.svg b/src/static/icons/dash-circle-dotted.svg
new file mode 100644
index 0000000..7e29372
--- /dev/null
+++ b/src/static/icons/dash-circle-dotted.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-circle-fill.svg b/src/static/icons/dash-circle-fill.svg
new file mode 100644
index 0000000..db27419
--- /dev/null
+++ b/src/static/icons/dash-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-circle.svg b/src/static/icons/dash-circle.svg
new file mode 100644
index 0000000..17483d6
--- /dev/null
+++ b/src/static/icons/dash-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-lg.svg b/src/static/icons/dash-lg.svg
new file mode 100644
index 0000000..0f4c5e9
--- /dev/null
+++ b/src/static/icons/dash-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-square-dotted.svg b/src/static/icons/dash-square-dotted.svg
new file mode 100644
index 0000000..15b8d4b
--- /dev/null
+++ b/src/static/icons/dash-square-dotted.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-square-fill.svg b/src/static/icons/dash-square-fill.svg
new file mode 100644
index 0000000..85a95b2
--- /dev/null
+++ b/src/static/icons/dash-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash-square.svg b/src/static/icons/dash-square.svg
new file mode 100644
index 0000000..b63e536
--- /dev/null
+++ b/src/static/icons/dash-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dash.svg b/src/static/icons/dash.svg
new file mode 100644
index 0000000..4ac4288
--- /dev/null
+++ b/src/static/icons/dash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-add.svg b/src/static/icons/database-add.svg
new file mode 100644
index 0000000..8b9e0cc
--- /dev/null
+++ b/src/static/icons/database-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-check.svg b/src/static/icons/database-check.svg
new file mode 100644
index 0000000..f193084
--- /dev/null
+++ b/src/static/icons/database-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-dash.svg b/src/static/icons/database-dash.svg
new file mode 100644
index 0000000..1bcb011
--- /dev/null
+++ b/src/static/icons/database-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-down.svg b/src/static/icons/database-down.svg
new file mode 100644
index 0000000..49dfd2e
--- /dev/null
+++ b/src/static/icons/database-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-exclamation.svg b/src/static/icons/database-exclamation.svg
new file mode 100644
index 0000000..178b61a
--- /dev/null
+++ b/src/static/icons/database-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-add.svg b/src/static/icons/database-fill-add.svg
new file mode 100644
index 0000000..993b4df
--- /dev/null
+++ b/src/static/icons/database-fill-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-check.svg b/src/static/icons/database-fill-check.svg
new file mode 100644
index 0000000..579da2e
--- /dev/null
+++ b/src/static/icons/database-fill-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-dash.svg b/src/static/icons/database-fill-dash.svg
new file mode 100644
index 0000000..ce9c8c7
--- /dev/null
+++ b/src/static/icons/database-fill-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-down.svg b/src/static/icons/database-fill-down.svg
new file mode 100644
index 0000000..433b9ad
--- /dev/null
+++ b/src/static/icons/database-fill-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-exclamation.svg b/src/static/icons/database-fill-exclamation.svg
new file mode 100644
index 0000000..f935d0b
--- /dev/null
+++ b/src/static/icons/database-fill-exclamation.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-gear.svg b/src/static/icons/database-fill-gear.svg
new file mode 100644
index 0000000..1501670
--- /dev/null
+++ b/src/static/icons/database-fill-gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-lock.svg b/src/static/icons/database-fill-lock.svg
new file mode 100644
index 0000000..27dce6d
--- /dev/null
+++ b/src/static/icons/database-fill-lock.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-slash.svg b/src/static/icons/database-fill-slash.svg
new file mode 100644
index 0000000..8ccdf44
--- /dev/null
+++ b/src/static/icons/database-fill-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-up.svg b/src/static/icons/database-fill-up.svg
new file mode 100644
index 0000000..6f767b5
--- /dev/null
+++ b/src/static/icons/database-fill-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill-x.svg b/src/static/icons/database-fill-x.svg
new file mode 100644
index 0000000..1f65f61
--- /dev/null
+++ b/src/static/icons/database-fill-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-fill.svg b/src/static/icons/database-fill.svg
new file mode 100644
index 0000000..2c7e04c
--- /dev/null
+++ b/src/static/icons/database-fill.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-gear.svg b/src/static/icons/database-gear.svg
new file mode 100644
index 0000000..77a5855
--- /dev/null
+++ b/src/static/icons/database-gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-lock.svg b/src/static/icons/database-lock.svg
new file mode 100644
index 0000000..ad5a8f9
--- /dev/null
+++ b/src/static/icons/database-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-slash.svg b/src/static/icons/database-slash.svg
new file mode 100644
index 0000000..d1f6a97
--- /dev/null
+++ b/src/static/icons/database-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-up.svg b/src/static/icons/database-up.svg
new file mode 100644
index 0000000..cfb75ed
--- /dev/null
+++ b/src/static/icons/database-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database-x.svg b/src/static/icons/database-x.svg
new file mode 100644
index 0000000..314a6fd
--- /dev/null
+++ b/src/static/icons/database-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/database.svg b/src/static/icons/database.svg
new file mode 100644
index 0000000..45e4eb8
--- /dev/null
+++ b/src/static/icons/database.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/device-hdd-fill.svg b/src/static/icons/device-hdd-fill.svg
new file mode 100644
index 0000000..5b5ae29
--- /dev/null
+++ b/src/static/icons/device-hdd-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/device-hdd.svg b/src/static/icons/device-hdd.svg
new file mode 100644
index 0000000..960e609
--- /dev/null
+++ b/src/static/icons/device-hdd.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/device-ssd-fill.svg b/src/static/icons/device-ssd-fill.svg
new file mode 100644
index 0000000..9ba5802
--- /dev/null
+++ b/src/static/icons/device-ssd-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/device-ssd.svg b/src/static/icons/device-ssd.svg
new file mode 100644
index 0000000..0dd8ae5
--- /dev/null
+++ b/src/static/icons/device-ssd.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diagram-2-fill.svg b/src/static/icons/diagram-2-fill.svg
new file mode 100644
index 0000000..b46a212
--- /dev/null
+++ b/src/static/icons/diagram-2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diagram-2.svg b/src/static/icons/diagram-2.svg
new file mode 100644
index 0000000..2b330e5
--- /dev/null
+++ b/src/static/icons/diagram-2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diagram-3-fill.svg b/src/static/icons/diagram-3-fill.svg
new file mode 100644
index 0000000..6cc31c0
--- /dev/null
+++ b/src/static/icons/diagram-3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diagram-3.svg b/src/static/icons/diagram-3.svg
new file mode 100644
index 0000000..464b051
--- /dev/null
+++ b/src/static/icons/diagram-3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diamond-fill.svg b/src/static/icons/diamond-fill.svg
new file mode 100644
index 0000000..e6e3151
--- /dev/null
+++ b/src/static/icons/diamond-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diamond-half.svg b/src/static/icons/diamond-half.svg
new file mode 100644
index 0000000..4e13791
--- /dev/null
+++ b/src/static/icons/diamond-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/diamond.svg b/src/static/icons/diamond.svg
new file mode 100644
index 0000000..4cddafa
--- /dev/null
+++ b/src/static/icons/diamond.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-1-fill.svg b/src/static/icons/dice-1-fill.svg
new file mode 100644
index 0000000..0b20aa0
--- /dev/null
+++ b/src/static/icons/dice-1-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-1.svg b/src/static/icons/dice-1.svg
new file mode 100644
index 0000000..97c2432
--- /dev/null
+++ b/src/static/icons/dice-1.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-2-fill.svg b/src/static/icons/dice-2-fill.svg
new file mode 100644
index 0000000..f55f921
--- /dev/null
+++ b/src/static/icons/dice-2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-2.svg b/src/static/icons/dice-2.svg
new file mode 100644
index 0000000..38013a8
--- /dev/null
+++ b/src/static/icons/dice-2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-3-fill.svg b/src/static/icons/dice-3-fill.svg
new file mode 100644
index 0000000..ae5a1ba
--- /dev/null
+++ b/src/static/icons/dice-3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-3.svg b/src/static/icons/dice-3.svg
new file mode 100644
index 0000000..705b7e7
--- /dev/null
+++ b/src/static/icons/dice-3.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-4-fill.svg b/src/static/icons/dice-4-fill.svg
new file mode 100644
index 0000000..6dad92b
--- /dev/null
+++ b/src/static/icons/dice-4-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-4.svg b/src/static/icons/dice-4.svg
new file mode 100644
index 0000000..070f981
--- /dev/null
+++ b/src/static/icons/dice-4.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-5-fill.svg b/src/static/icons/dice-5-fill.svg
new file mode 100644
index 0000000..a92382b
--- /dev/null
+++ b/src/static/icons/dice-5-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-5.svg b/src/static/icons/dice-5.svg
new file mode 100644
index 0000000..b4369c7
--- /dev/null
+++ b/src/static/icons/dice-5.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-6-fill.svg b/src/static/icons/dice-6-fill.svg
new file mode 100644
index 0000000..fce8cb4
--- /dev/null
+++ b/src/static/icons/dice-6-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dice-6.svg b/src/static/icons/dice-6.svg
new file mode 100644
index 0000000..44d25dc
--- /dev/null
+++ b/src/static/icons/dice-6.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/disc-fill.svg b/src/static/icons/disc-fill.svg
new file mode 100644
index 0000000..b03f34d
--- /dev/null
+++ b/src/static/icons/disc-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/disc.svg b/src/static/icons/disc.svg
new file mode 100644
index 0000000..f3475a2
--- /dev/null
+++ b/src/static/icons/disc.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/discord.svg b/src/static/icons/discord.svg
new file mode 100644
index 0000000..877cfdf
--- /dev/null
+++ b/src/static/icons/discord.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/display-fill.svg b/src/static/icons/display-fill.svg
new file mode 100644
index 0000000..f7c3fca
--- /dev/null
+++ b/src/static/icons/display-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/display.svg b/src/static/icons/display.svg
new file mode 100644
index 0000000..700d780
--- /dev/null
+++ b/src/static/icons/display.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/displayport-fill.svg b/src/static/icons/displayport-fill.svg
new file mode 100644
index 0000000..17fe771
--- /dev/null
+++ b/src/static/icons/displayport-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/displayport.svg b/src/static/icons/displayport.svg
new file mode 100644
index 0000000..3e5748a
--- /dev/null
+++ b/src/static/icons/displayport.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/distribute-horizontal.svg b/src/static/icons/distribute-horizontal.svg
new file mode 100644
index 0000000..fe90ff8
--- /dev/null
+++ b/src/static/icons/distribute-horizontal.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/distribute-vertical.svg b/src/static/icons/distribute-vertical.svg
new file mode 100644
index 0000000..234b2c2
--- /dev/null
+++ b/src/static/icons/distribute-vertical.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/door-closed-fill.svg b/src/static/icons/door-closed-fill.svg
new file mode 100644
index 0000000..1d2a036
--- /dev/null
+++ b/src/static/icons/door-closed-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/door-closed.svg b/src/static/icons/door-closed.svg
new file mode 100644
index 0000000..3eab448
--- /dev/null
+++ b/src/static/icons/door-closed.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/door-open-fill.svg b/src/static/icons/door-open-fill.svg
new file mode 100644
index 0000000..d4833a3
--- /dev/null
+++ b/src/static/icons/door-open-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/door-open.svg b/src/static/icons/door-open.svg
new file mode 100644
index 0000000..d9638a3
--- /dev/null
+++ b/src/static/icons/door-open.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dot.svg b/src/static/icons/dot.svg
new file mode 100644
index 0000000..183e4a8
--- /dev/null
+++ b/src/static/icons/dot.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/download.svg b/src/static/icons/download.svg
new file mode 100644
index 0000000..80a5817
--- /dev/null
+++ b/src/static/icons/download.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dpad-fill.svg b/src/static/icons/dpad-fill.svg
new file mode 100644
index 0000000..ea54468
--- /dev/null
+++ b/src/static/icons/dpad-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dpad.svg b/src/static/icons/dpad.svg
new file mode 100644
index 0000000..9363c90
--- /dev/null
+++ b/src/static/icons/dpad.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dribbble.svg b/src/static/icons/dribbble.svg
new file mode 100644
index 0000000..809f2d3
--- /dev/null
+++ b/src/static/icons/dribbble.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/dropbox.svg b/src/static/icons/dropbox.svg
new file mode 100644
index 0000000..6431141
--- /dev/null
+++ b/src/static/icons/dropbox.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/droplet-fill.svg b/src/static/icons/droplet-fill.svg
new file mode 100644
index 0000000..a240876
--- /dev/null
+++ b/src/static/icons/droplet-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/droplet-half.svg b/src/static/icons/droplet-half.svg
new file mode 100644
index 0000000..43eb208
--- /dev/null
+++ b/src/static/icons/droplet-half.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/droplet.svg b/src/static/icons/droplet.svg
new file mode 100644
index 0000000..2b405d6
--- /dev/null
+++ b/src/static/icons/droplet.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ear-fill.svg b/src/static/icons/ear-fill.svg
new file mode 100644
index 0000000..8e564c0
--- /dev/null
+++ b/src/static/icons/ear-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ear.svg b/src/static/icons/ear.svg
new file mode 100644
index 0000000..8c8b869
--- /dev/null
+++ b/src/static/icons/ear.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/earbuds.svg b/src/static/icons/earbuds.svg
new file mode 100644
index 0000000..7bc0019
--- /dev/null
+++ b/src/static/icons/earbuds.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel-fill.svg b/src/static/icons/easel-fill.svg
new file mode 100644
index 0000000..db00798
--- /dev/null
+++ b/src/static/icons/easel-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel.svg b/src/static/icons/easel.svg
new file mode 100644
index 0000000..f95976e
--- /dev/null
+++ b/src/static/icons/easel.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel2-fill.svg b/src/static/icons/easel2-fill.svg
new file mode 100644
index 0000000..c393242
--- /dev/null
+++ b/src/static/icons/easel2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel2.svg b/src/static/icons/easel2.svg
new file mode 100644
index 0000000..d1736de
--- /dev/null
+++ b/src/static/icons/easel2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel3-fill.svg b/src/static/icons/easel3-fill.svg
new file mode 100644
index 0000000..2e57223
--- /dev/null
+++ b/src/static/icons/easel3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/easel3.svg b/src/static/icons/easel3.svg
new file mode 100644
index 0000000..a39ad3d
--- /dev/null
+++ b/src/static/icons/easel3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/egg-fill.svg b/src/static/icons/egg-fill.svg
new file mode 100644
index 0000000..33b7d44
--- /dev/null
+++ b/src/static/icons/egg-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/egg-fried.svg b/src/static/icons/egg-fried.svg
new file mode 100644
index 0000000..b99cac3
--- /dev/null
+++ b/src/static/icons/egg-fried.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/egg.svg b/src/static/icons/egg.svg
new file mode 100644
index 0000000..9fb5c1e
--- /dev/null
+++ b/src/static/icons/egg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eject-fill.svg b/src/static/icons/eject-fill.svg
new file mode 100644
index 0000000..3255af6
--- /dev/null
+++ b/src/static/icons/eject-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eject.svg b/src/static/icons/eject.svg
new file mode 100644
index 0000000..540cbc8
--- /dev/null
+++ b/src/static/icons/eject.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-angry-fill.svg b/src/static/icons/emoji-angry-fill.svg
new file mode 100644
index 0000000..1bf7eb6
--- /dev/null
+++ b/src/static/icons/emoji-angry-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-angry.svg b/src/static/icons/emoji-angry.svg
new file mode 100644
index 0000000..d6d8914
--- /dev/null
+++ b/src/static/icons/emoji-angry.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-dizzy-fill.svg b/src/static/icons/emoji-dizzy-fill.svg
new file mode 100644
index 0000000..d801800
--- /dev/null
+++ b/src/static/icons/emoji-dizzy-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-dizzy.svg b/src/static/icons/emoji-dizzy.svg
new file mode 100644
index 0000000..f64fade
--- /dev/null
+++ b/src/static/icons/emoji-dizzy.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-expressionless-fill.svg b/src/static/icons/emoji-expressionless-fill.svg
new file mode 100644
index 0000000..f70140a
--- /dev/null
+++ b/src/static/icons/emoji-expressionless-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-expressionless.svg b/src/static/icons/emoji-expressionless.svg
new file mode 100644
index 0000000..208a72d
--- /dev/null
+++ b/src/static/icons/emoji-expressionless.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-frown-fill.svg b/src/static/icons/emoji-frown-fill.svg
new file mode 100644
index 0000000..c8a9ddc
--- /dev/null
+++ b/src/static/icons/emoji-frown-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-frown.svg b/src/static/icons/emoji-frown.svg
new file mode 100644
index 0000000..b7766eb
--- /dev/null
+++ b/src/static/icons/emoji-frown.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-heart-eyes-fill.svg b/src/static/icons/emoji-heart-eyes-fill.svg
new file mode 100644
index 0000000..cc91552
--- /dev/null
+++ b/src/static/icons/emoji-heart-eyes-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-heart-eyes.svg b/src/static/icons/emoji-heart-eyes.svg
new file mode 100644
index 0000000..c19ec51
--- /dev/null
+++ b/src/static/icons/emoji-heart-eyes.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-kiss-fill.svg b/src/static/icons/emoji-kiss-fill.svg
new file mode 100644
index 0000000..ab46245
--- /dev/null
+++ b/src/static/icons/emoji-kiss-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-kiss.svg b/src/static/icons/emoji-kiss.svg
new file mode 100644
index 0000000..4646628
--- /dev/null
+++ b/src/static/icons/emoji-kiss.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-laughing-fill.svg b/src/static/icons/emoji-laughing-fill.svg
new file mode 100644
index 0000000..cc8c69b
--- /dev/null
+++ b/src/static/icons/emoji-laughing-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-laughing.svg b/src/static/icons/emoji-laughing.svg
new file mode 100644
index 0000000..68d9b25
--- /dev/null
+++ b/src/static/icons/emoji-laughing.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-neutral-fill.svg b/src/static/icons/emoji-neutral-fill.svg
new file mode 100644
index 0000000..58bcb6b
--- /dev/null
+++ b/src/static/icons/emoji-neutral-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-neutral.svg b/src/static/icons/emoji-neutral.svg
new file mode 100644
index 0000000..2f3204a
--- /dev/null
+++ b/src/static/icons/emoji-neutral.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-smile-fill.svg b/src/static/icons/emoji-smile-fill.svg
new file mode 100644
index 0000000..76a6a16
--- /dev/null
+++ b/src/static/icons/emoji-smile-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-smile-upside-down-fill.svg b/src/static/icons/emoji-smile-upside-down-fill.svg
new file mode 100644
index 0000000..c682933
--- /dev/null
+++ b/src/static/icons/emoji-smile-upside-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-smile-upside-down.svg b/src/static/icons/emoji-smile-upside-down.svg
new file mode 100644
index 0000000..1e18424
--- /dev/null
+++ b/src/static/icons/emoji-smile-upside-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-smile.svg b/src/static/icons/emoji-smile.svg
new file mode 100644
index 0000000..d222a9a
--- /dev/null
+++ b/src/static/icons/emoji-smile.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-sunglasses-fill.svg b/src/static/icons/emoji-sunglasses-fill.svg
new file mode 100644
index 0000000..00e7bc0
--- /dev/null
+++ b/src/static/icons/emoji-sunglasses-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-sunglasses.svg b/src/static/icons/emoji-sunglasses.svg
new file mode 100644
index 0000000..4771e4d
--- /dev/null
+++ b/src/static/icons/emoji-sunglasses.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-wink-fill.svg b/src/static/icons/emoji-wink-fill.svg
new file mode 100644
index 0000000..8601a58
--- /dev/null
+++ b/src/static/icons/emoji-wink-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/emoji-wink.svg b/src/static/icons/emoji-wink.svg
new file mode 100644
index 0000000..ee3b3d0
--- /dev/null
+++ b/src/static/icons/emoji-wink.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-at-fill.svg b/src/static/icons/envelope-at-fill.svg
new file mode 100644
index 0000000..7102a5b
--- /dev/null
+++ b/src/static/icons/envelope-at-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-at.svg b/src/static/icons/envelope-at.svg
new file mode 100644
index 0000000..46b9134
--- /dev/null
+++ b/src/static/icons/envelope-at.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-check-fill.svg b/src/static/icons/envelope-check-fill.svg
new file mode 100644
index 0000000..ca06ad0
--- /dev/null
+++ b/src/static/icons/envelope-check-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-check.svg b/src/static/icons/envelope-check.svg
new file mode 100644
index 0000000..8a50181
--- /dev/null
+++ b/src/static/icons/envelope-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-dash-fill.svg b/src/static/icons/envelope-dash-fill.svg
new file mode 100644
index 0000000..7275d3d
--- /dev/null
+++ b/src/static/icons/envelope-dash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-dash.svg b/src/static/icons/envelope-dash.svg
new file mode 100644
index 0000000..7ae3e5c
--- /dev/null
+++ b/src/static/icons/envelope-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-exclamation-fill.svg b/src/static/icons/envelope-exclamation-fill.svg
new file mode 100644
index 0000000..4bc91d2
--- /dev/null
+++ b/src/static/icons/envelope-exclamation-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-exclamation.svg b/src/static/icons/envelope-exclamation.svg
new file mode 100644
index 0000000..936b777
--- /dev/null
+++ b/src/static/icons/envelope-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-fill.svg b/src/static/icons/envelope-fill.svg
new file mode 100644
index 0000000..0b28c86
--- /dev/null
+++ b/src/static/icons/envelope-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-heart-fill.svg b/src/static/icons/envelope-heart-fill.svg
new file mode 100644
index 0000000..8ed9e02
--- /dev/null
+++ b/src/static/icons/envelope-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-heart.svg b/src/static/icons/envelope-heart.svg
new file mode 100644
index 0000000..b104999
--- /dev/null
+++ b/src/static/icons/envelope-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-open-fill.svg b/src/static/icons/envelope-open-fill.svg
new file mode 100644
index 0000000..29d8fe7
--- /dev/null
+++ b/src/static/icons/envelope-open-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-open-heart-fill.svg b/src/static/icons/envelope-open-heart-fill.svg
new file mode 100644
index 0000000..478b85b
--- /dev/null
+++ b/src/static/icons/envelope-open-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-open-heart.svg b/src/static/icons/envelope-open-heart.svg
new file mode 100644
index 0000000..7d324a2
--- /dev/null
+++ b/src/static/icons/envelope-open-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-open.svg b/src/static/icons/envelope-open.svg
new file mode 100644
index 0000000..9a542d2
--- /dev/null
+++ b/src/static/icons/envelope-open.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-paper-fill.svg b/src/static/icons/envelope-paper-fill.svg
new file mode 100644
index 0000000..14f613e
--- /dev/null
+++ b/src/static/icons/envelope-paper-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-paper-heart-fill.svg b/src/static/icons/envelope-paper-heart-fill.svg
new file mode 100644
index 0000000..e422acc
--- /dev/null
+++ b/src/static/icons/envelope-paper-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-paper-heart.svg b/src/static/icons/envelope-paper-heart.svg
new file mode 100644
index 0000000..2d925ae
--- /dev/null
+++ b/src/static/icons/envelope-paper-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-paper.svg b/src/static/icons/envelope-paper.svg
new file mode 100644
index 0000000..a909c63
--- /dev/null
+++ b/src/static/icons/envelope-paper.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-plus-fill.svg b/src/static/icons/envelope-plus-fill.svg
new file mode 100644
index 0000000..96703c2
--- /dev/null
+++ b/src/static/icons/envelope-plus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-plus.svg b/src/static/icons/envelope-plus.svg
new file mode 100644
index 0000000..0abb966
--- /dev/null
+++ b/src/static/icons/envelope-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-slash-fill.svg b/src/static/icons/envelope-slash-fill.svg
new file mode 100644
index 0000000..09690e5
--- /dev/null
+++ b/src/static/icons/envelope-slash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-slash.svg b/src/static/icons/envelope-slash.svg
new file mode 100644
index 0000000..35b3783
--- /dev/null
+++ b/src/static/icons/envelope-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-x-fill.svg b/src/static/icons/envelope-x-fill.svg
new file mode 100644
index 0000000..b8348b1
--- /dev/null
+++ b/src/static/icons/envelope-x-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope-x.svg b/src/static/icons/envelope-x.svg
new file mode 100644
index 0000000..cd78475
--- /dev/null
+++ b/src/static/icons/envelope-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/envelope.svg b/src/static/icons/envelope.svg
new file mode 100644
index 0000000..122fc35
--- /dev/null
+++ b/src/static/icons/envelope.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eraser-fill.svg b/src/static/icons/eraser-fill.svg
new file mode 100644
index 0000000..10959b3
--- /dev/null
+++ b/src/static/icons/eraser-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eraser.svg b/src/static/icons/eraser.svg
new file mode 100644
index 0000000..e7060e5
--- /dev/null
+++ b/src/static/icons/eraser.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/escape.svg b/src/static/icons/escape.svg
new file mode 100644
index 0000000..112c87b
--- /dev/null
+++ b/src/static/icons/escape.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ethernet.svg b/src/static/icons/ethernet.svg
new file mode 100644
index 0000000..9b97a3a
--- /dev/null
+++ b/src/static/icons/ethernet.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ev-front-fill.svg b/src/static/icons/ev-front-fill.svg
new file mode 100644
index 0000000..6926f52
--- /dev/null
+++ b/src/static/icons/ev-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ev-front.svg b/src/static/icons/ev-front.svg
new file mode 100644
index 0000000..2e0acc6
--- /dev/null
+++ b/src/static/icons/ev-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ev-station-fill.svg b/src/static/icons/ev-station-fill.svg
new file mode 100644
index 0000000..a30f613
--- /dev/null
+++ b/src/static/icons/ev-station-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ev-station.svg b/src/static/icons/ev-station.svg
new file mode 100644
index 0000000..faec20c
--- /dev/null
+++ b/src/static/icons/ev-station.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-circle-fill.svg b/src/static/icons/exclamation-circle-fill.svg
new file mode 100644
index 0000000..f7a7d17
--- /dev/null
+++ b/src/static/icons/exclamation-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-circle.svg b/src/static/icons/exclamation-circle.svg
new file mode 100644
index 0000000..73c7e8d
--- /dev/null
+++ b/src/static/icons/exclamation-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-diamond-fill.svg b/src/static/icons/exclamation-diamond-fill.svg
new file mode 100644
index 0000000..5987fe7
--- /dev/null
+++ b/src/static/icons/exclamation-diamond-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-diamond.svg b/src/static/icons/exclamation-diamond.svg
new file mode 100644
index 0000000..6c0388b
--- /dev/null
+++ b/src/static/icons/exclamation-diamond.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-lg.svg b/src/static/icons/exclamation-lg.svg
new file mode 100644
index 0000000..b21e727
--- /dev/null
+++ b/src/static/icons/exclamation-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-octagon-fill.svg b/src/static/icons/exclamation-octagon-fill.svg
new file mode 100644
index 0000000..3347f64
--- /dev/null
+++ b/src/static/icons/exclamation-octagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-octagon.svg b/src/static/icons/exclamation-octagon.svg
new file mode 100644
index 0000000..6ef1db9
--- /dev/null
+++ b/src/static/icons/exclamation-octagon.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-square-fill.svg b/src/static/icons/exclamation-square-fill.svg
new file mode 100644
index 0000000..e99eab8
--- /dev/null
+++ b/src/static/icons/exclamation-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-square.svg b/src/static/icons/exclamation-square.svg
new file mode 100644
index 0000000..41436cb
--- /dev/null
+++ b/src/static/icons/exclamation-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-triangle-fill.svg b/src/static/icons/exclamation-triangle-fill.svg
new file mode 100644
index 0000000..50e1752
--- /dev/null
+++ b/src/static/icons/exclamation-triangle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation-triangle.svg b/src/static/icons/exclamation-triangle.svg
new file mode 100644
index 0000000..7ca0dc7
--- /dev/null
+++ b/src/static/icons/exclamation-triangle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclamation.svg b/src/static/icons/exclamation.svg
new file mode 100644
index 0000000..953004b
--- /dev/null
+++ b/src/static/icons/exclamation.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/exclude.svg b/src/static/icons/exclude.svg
new file mode 100644
index 0000000..9be5f93
--- /dev/null
+++ b/src/static/icons/exclude.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/explicit-fill.svg b/src/static/icons/explicit-fill.svg
new file mode 100644
index 0000000..159d365
--- /dev/null
+++ b/src/static/icons/explicit-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/explicit.svg b/src/static/icons/explicit.svg
new file mode 100644
index 0000000..22a0ef4
--- /dev/null
+++ b/src/static/icons/explicit.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eye-fill.svg b/src/static/icons/eye-fill.svg
new file mode 100644
index 0000000..2697206
--- /dev/null
+++ b/src/static/icons/eye-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eye-slash-fill.svg b/src/static/icons/eye-slash-fill.svg
new file mode 100644
index 0000000..9339262
--- /dev/null
+++ b/src/static/icons/eye-slash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eye-slash.svg b/src/static/icons/eye-slash.svg
new file mode 100644
index 0000000..c520837
--- /dev/null
+++ b/src/static/icons/eye-slash.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eye.svg b/src/static/icons/eye.svg
new file mode 100644
index 0000000..412ff69
--- /dev/null
+++ b/src/static/icons/eye.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eyedropper.svg b/src/static/icons/eyedropper.svg
new file mode 100644
index 0000000..698d40d
--- /dev/null
+++ b/src/static/icons/eyedropper.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/eyeglasses.svg b/src/static/icons/eyeglasses.svg
new file mode 100644
index 0000000..020d943
--- /dev/null
+++ b/src/static/icons/eyeglasses.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/facebook.svg b/src/static/icons/facebook.svg
new file mode 100644
index 0000000..e8d1443
--- /dev/null
+++ b/src/static/icons/facebook.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fan.svg b/src/static/icons/fan.svg
new file mode 100644
index 0000000..fab6eab
--- /dev/null
+++ b/src/static/icons/fan.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward-btn-fill.svg b/src/static/icons/fast-forward-btn-fill.svg
new file mode 100644
index 0000000..9c9a1c6
--- /dev/null
+++ b/src/static/icons/fast-forward-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward-btn.svg b/src/static/icons/fast-forward-btn.svg
new file mode 100644
index 0000000..a3d605c
--- /dev/null
+++ b/src/static/icons/fast-forward-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward-circle-fill.svg b/src/static/icons/fast-forward-circle-fill.svg
new file mode 100644
index 0000000..aa5c37b
--- /dev/null
+++ b/src/static/icons/fast-forward-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward-circle.svg b/src/static/icons/fast-forward-circle.svg
new file mode 100644
index 0000000..2eceb91
--- /dev/null
+++ b/src/static/icons/fast-forward-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward-fill.svg b/src/static/icons/fast-forward-fill.svg
new file mode 100644
index 0000000..329cad0
--- /dev/null
+++ b/src/static/icons/fast-forward-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fast-forward.svg b/src/static/icons/fast-forward.svg
new file mode 100644
index 0000000..1064360
--- /dev/null
+++ b/src/static/icons/fast-forward.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-arrow-down-fill.svg b/src/static/icons/file-arrow-down-fill.svg
new file mode 100644
index 0000000..910fc07
--- /dev/null
+++ b/src/static/icons/file-arrow-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-arrow-down.svg b/src/static/icons/file-arrow-down.svg
new file mode 100644
index 0000000..6f75d50
--- /dev/null
+++ b/src/static/icons/file-arrow-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-arrow-up-fill.svg b/src/static/icons/file-arrow-up-fill.svg
new file mode 100644
index 0000000..9dba205
--- /dev/null
+++ b/src/static/icons/file-arrow-up-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-arrow-up.svg b/src/static/icons/file-arrow-up.svg
new file mode 100644
index 0000000..223379e
--- /dev/null
+++ b/src/static/icons/file-arrow-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-bar-graph-fill.svg b/src/static/icons/file-bar-graph-fill.svg
new file mode 100644
index 0000000..a0e31d6
--- /dev/null
+++ b/src/static/icons/file-bar-graph-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-bar-graph.svg b/src/static/icons/file-bar-graph.svg
new file mode 100644
index 0000000..e66be6a
--- /dev/null
+++ b/src/static/icons/file-bar-graph.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-binary-fill.svg b/src/static/icons/file-binary-fill.svg
new file mode 100644
index 0000000..13343bf
--- /dev/null
+++ b/src/static/icons/file-binary-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-binary.svg b/src/static/icons/file-binary.svg
new file mode 100644
index 0000000..7e667bc
--- /dev/null
+++ b/src/static/icons/file-binary.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-break-fill.svg b/src/static/icons/file-break-fill.svg
new file mode 100644
index 0000000..4eddc4a
--- /dev/null
+++ b/src/static/icons/file-break-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-break.svg b/src/static/icons/file-break.svg
new file mode 100644
index 0000000..b4485d7
--- /dev/null
+++ b/src/static/icons/file-break.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-check-fill.svg b/src/static/icons/file-check-fill.svg
new file mode 100644
index 0000000..fb54b18
--- /dev/null
+++ b/src/static/icons/file-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-check.svg b/src/static/icons/file-check.svg
new file mode 100644
index 0000000..1426311
--- /dev/null
+++ b/src/static/icons/file-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-code-fill.svg b/src/static/icons/file-code-fill.svg
new file mode 100644
index 0000000..ee2f0f6
--- /dev/null
+++ b/src/static/icons/file-code-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-code.svg b/src/static/icons/file-code.svg
new file mode 100644
index 0000000..a8c390b
--- /dev/null
+++ b/src/static/icons/file-code.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-diff-fill.svg b/src/static/icons/file-diff-fill.svg
new file mode 100644
index 0000000..945aef1
--- /dev/null
+++ b/src/static/icons/file-diff-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-diff.svg b/src/static/icons/file-diff.svg
new file mode 100644
index 0000000..dd848f0
--- /dev/null
+++ b/src/static/icons/file-diff.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-arrow-down-fill.svg b/src/static/icons/file-earmark-arrow-down-fill.svg
new file mode 100644
index 0000000..0e96047
--- /dev/null
+++ b/src/static/icons/file-earmark-arrow-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-arrow-down.svg b/src/static/icons/file-earmark-arrow-down.svg
new file mode 100644
index 0000000..81cc43a
--- /dev/null
+++ b/src/static/icons/file-earmark-arrow-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-arrow-up-fill.svg b/src/static/icons/file-earmark-arrow-up-fill.svg
new file mode 100644
index 0000000..ce881cc
--- /dev/null
+++ b/src/static/icons/file-earmark-arrow-up-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-arrow-up.svg b/src/static/icons/file-earmark-arrow-up.svg
new file mode 100644
index 0000000..6cf324a
--- /dev/null
+++ b/src/static/icons/file-earmark-arrow-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-bar-graph-fill.svg b/src/static/icons/file-earmark-bar-graph-fill.svg
new file mode 100644
index 0000000..7dc0df9
--- /dev/null
+++ b/src/static/icons/file-earmark-bar-graph-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-bar-graph.svg b/src/static/icons/file-earmark-bar-graph.svg
new file mode 100644
index 0000000..eefb687
--- /dev/null
+++ b/src/static/icons/file-earmark-bar-graph.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-binary-fill.svg b/src/static/icons/file-earmark-binary-fill.svg
new file mode 100644
index 0000000..1652562
--- /dev/null
+++ b/src/static/icons/file-earmark-binary-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-binary.svg b/src/static/icons/file-earmark-binary.svg
new file mode 100644
index 0000000..e068bf6
--- /dev/null
+++ b/src/static/icons/file-earmark-binary.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-break-fill.svg b/src/static/icons/file-earmark-break-fill.svg
new file mode 100644
index 0000000..b36ea25
--- /dev/null
+++ b/src/static/icons/file-earmark-break-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-break.svg b/src/static/icons/file-earmark-break.svg
new file mode 100644
index 0000000..e98c647
--- /dev/null
+++ b/src/static/icons/file-earmark-break.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-check-fill.svg b/src/static/icons/file-earmark-check-fill.svg
new file mode 100644
index 0000000..de7bf69
--- /dev/null
+++ b/src/static/icons/file-earmark-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-check.svg b/src/static/icons/file-earmark-check.svg
new file mode 100644
index 0000000..f2fbf66
--- /dev/null
+++ b/src/static/icons/file-earmark-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-code-fill.svg b/src/static/icons/file-earmark-code-fill.svg
new file mode 100644
index 0000000..c23a7b6
--- /dev/null
+++ b/src/static/icons/file-earmark-code-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-code.svg b/src/static/icons/file-earmark-code.svg
new file mode 100644
index 0000000..1b94a6a
--- /dev/null
+++ b/src/static/icons/file-earmark-code.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-diff-fill.svg b/src/static/icons/file-earmark-diff-fill.svg
new file mode 100644
index 0000000..5f18a88
--- /dev/null
+++ b/src/static/icons/file-earmark-diff-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-diff.svg b/src/static/icons/file-earmark-diff.svg
new file mode 100644
index 0000000..0b28667
--- /dev/null
+++ b/src/static/icons/file-earmark-diff.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-easel-fill.svg b/src/static/icons/file-earmark-easel-fill.svg
new file mode 100644
index 0000000..0743de4
--- /dev/null
+++ b/src/static/icons/file-earmark-easel-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-easel.svg b/src/static/icons/file-earmark-easel.svg
new file mode 100644
index 0000000..045fc87
--- /dev/null
+++ b/src/static/icons/file-earmark-easel.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-excel-fill.svg b/src/static/icons/file-earmark-excel-fill.svg
new file mode 100644
index 0000000..2d492a8
--- /dev/null
+++ b/src/static/icons/file-earmark-excel-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-excel.svg b/src/static/icons/file-earmark-excel.svg
new file mode 100644
index 0000000..c40f16b
--- /dev/null
+++ b/src/static/icons/file-earmark-excel.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-fill.svg b/src/static/icons/file-earmark-fill.svg
new file mode 100644
index 0000000..668247e
--- /dev/null
+++ b/src/static/icons/file-earmark-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-font-fill.svg b/src/static/icons/file-earmark-font-fill.svg
new file mode 100644
index 0000000..c4fe9a4
--- /dev/null
+++ b/src/static/icons/file-earmark-font-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-font.svg b/src/static/icons/file-earmark-font.svg
new file mode 100644
index 0000000..f7aad0b
--- /dev/null
+++ b/src/static/icons/file-earmark-font.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-image-fill.svg b/src/static/icons/file-earmark-image-fill.svg
new file mode 100644
index 0000000..e568ee7
--- /dev/null
+++ b/src/static/icons/file-earmark-image-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-image.svg b/src/static/icons/file-earmark-image.svg
new file mode 100644
index 0000000..1e1964b
--- /dev/null
+++ b/src/static/icons/file-earmark-image.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-lock-fill.svg b/src/static/icons/file-earmark-lock-fill.svg
new file mode 100644
index 0000000..18a7fb7
--- /dev/null
+++ b/src/static/icons/file-earmark-lock-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-lock.svg b/src/static/icons/file-earmark-lock.svg
new file mode 100644
index 0000000..b15ec6a
--- /dev/null
+++ b/src/static/icons/file-earmark-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-lock2-fill.svg b/src/static/icons/file-earmark-lock2-fill.svg
new file mode 100644
index 0000000..828a545
--- /dev/null
+++ b/src/static/icons/file-earmark-lock2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-lock2.svg b/src/static/icons/file-earmark-lock2.svg
new file mode 100644
index 0000000..cf76d3f
--- /dev/null
+++ b/src/static/icons/file-earmark-lock2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-medical-fill.svg b/src/static/icons/file-earmark-medical-fill.svg
new file mode 100644
index 0000000..ed5f6bc
--- /dev/null
+++ b/src/static/icons/file-earmark-medical-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-medical.svg b/src/static/icons/file-earmark-medical.svg
new file mode 100644
index 0000000..6fa8a39
--- /dev/null
+++ b/src/static/icons/file-earmark-medical.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-minus-fill.svg b/src/static/icons/file-earmark-minus-fill.svg
new file mode 100644
index 0000000..25e708f
--- /dev/null
+++ b/src/static/icons/file-earmark-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-minus.svg b/src/static/icons/file-earmark-minus.svg
new file mode 100644
index 0000000..e87b163
--- /dev/null
+++ b/src/static/icons/file-earmark-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-music-fill.svg b/src/static/icons/file-earmark-music-fill.svg
new file mode 100644
index 0000000..c64c797
--- /dev/null
+++ b/src/static/icons/file-earmark-music-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-music.svg b/src/static/icons/file-earmark-music.svg
new file mode 100644
index 0000000..cc25eb9
--- /dev/null
+++ b/src/static/icons/file-earmark-music.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-pdf-fill.svg b/src/static/icons/file-earmark-pdf-fill.svg
new file mode 100644
index 0000000..0ba21ab
--- /dev/null
+++ b/src/static/icons/file-earmark-pdf-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-pdf.svg b/src/static/icons/file-earmark-pdf.svg
new file mode 100644
index 0000000..52da96f
--- /dev/null
+++ b/src/static/icons/file-earmark-pdf.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-person-fill.svg b/src/static/icons/file-earmark-person-fill.svg
new file mode 100644
index 0000000..29a8129
--- /dev/null
+++ b/src/static/icons/file-earmark-person-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-person.svg b/src/static/icons/file-earmark-person.svg
new file mode 100644
index 0000000..59a6a2a
--- /dev/null
+++ b/src/static/icons/file-earmark-person.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-play-fill.svg b/src/static/icons/file-earmark-play-fill.svg
new file mode 100644
index 0000000..80731db
--- /dev/null
+++ b/src/static/icons/file-earmark-play-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-play.svg b/src/static/icons/file-earmark-play.svg
new file mode 100644
index 0000000..62042ab
--- /dev/null
+++ b/src/static/icons/file-earmark-play.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-plus-fill.svg b/src/static/icons/file-earmark-plus-fill.svg
new file mode 100644
index 0000000..6cead3a
--- /dev/null
+++ b/src/static/icons/file-earmark-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-plus.svg b/src/static/icons/file-earmark-plus.svg
new file mode 100644
index 0000000..9284026
--- /dev/null
+++ b/src/static/icons/file-earmark-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-post-fill.svg b/src/static/icons/file-earmark-post-fill.svg
new file mode 100644
index 0000000..0c0e7b8
--- /dev/null
+++ b/src/static/icons/file-earmark-post-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-post.svg b/src/static/icons/file-earmark-post.svg
new file mode 100644
index 0000000..1f0d435
--- /dev/null
+++ b/src/static/icons/file-earmark-post.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-ppt-fill.svg b/src/static/icons/file-earmark-ppt-fill.svg
new file mode 100644
index 0000000..68e9793
--- /dev/null
+++ b/src/static/icons/file-earmark-ppt-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-ppt.svg b/src/static/icons/file-earmark-ppt.svg
new file mode 100644
index 0000000..bedf552
--- /dev/null
+++ b/src/static/icons/file-earmark-ppt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-richtext-fill.svg b/src/static/icons/file-earmark-richtext-fill.svg
new file mode 100644
index 0000000..e5c82ee
--- /dev/null
+++ b/src/static/icons/file-earmark-richtext-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-richtext.svg b/src/static/icons/file-earmark-richtext.svg
new file mode 100644
index 0000000..35af146
--- /dev/null
+++ b/src/static/icons/file-earmark-richtext.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-ruled-fill.svg b/src/static/icons/file-earmark-ruled-fill.svg
new file mode 100644
index 0000000..43aecce
--- /dev/null
+++ b/src/static/icons/file-earmark-ruled-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-ruled.svg b/src/static/icons/file-earmark-ruled.svg
new file mode 100644
index 0000000..4f28858
--- /dev/null
+++ b/src/static/icons/file-earmark-ruled.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-slides-fill.svg b/src/static/icons/file-earmark-slides-fill.svg
new file mode 100644
index 0000000..98b59df
--- /dev/null
+++ b/src/static/icons/file-earmark-slides-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-slides.svg b/src/static/icons/file-earmark-slides.svg
new file mode 100644
index 0000000..2d97fa7
--- /dev/null
+++ b/src/static/icons/file-earmark-slides.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-spreadsheet-fill.svg b/src/static/icons/file-earmark-spreadsheet-fill.svg
new file mode 100644
index 0000000..9a71e73
--- /dev/null
+++ b/src/static/icons/file-earmark-spreadsheet-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-spreadsheet.svg b/src/static/icons/file-earmark-spreadsheet.svg
new file mode 100644
index 0000000..a111232
--- /dev/null
+++ b/src/static/icons/file-earmark-spreadsheet.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-text-fill.svg b/src/static/icons/file-earmark-text-fill.svg
new file mode 100644
index 0000000..b329919
--- /dev/null
+++ b/src/static/icons/file-earmark-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-text.svg b/src/static/icons/file-earmark-text.svg
new file mode 100644
index 0000000..0d60c79
--- /dev/null
+++ b/src/static/icons/file-earmark-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-word-fill.svg b/src/static/icons/file-earmark-word-fill.svg
new file mode 100644
index 0000000..717b049
--- /dev/null
+++ b/src/static/icons/file-earmark-word-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-word.svg b/src/static/icons/file-earmark-word.svg
new file mode 100644
index 0000000..7186b69
--- /dev/null
+++ b/src/static/icons/file-earmark-word.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-x-fill.svg b/src/static/icons/file-earmark-x-fill.svg
new file mode 100644
index 0000000..a19d14b
--- /dev/null
+++ b/src/static/icons/file-earmark-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-x.svg b/src/static/icons/file-earmark-x.svg
new file mode 100644
index 0000000..bedb970
--- /dev/null
+++ b/src/static/icons/file-earmark-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-zip-fill.svg b/src/static/icons/file-earmark-zip-fill.svg
new file mode 100644
index 0000000..b92ff9a
--- /dev/null
+++ b/src/static/icons/file-earmark-zip-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark-zip.svg b/src/static/icons/file-earmark-zip.svg
new file mode 100644
index 0000000..b82afcc
--- /dev/null
+++ b/src/static/icons/file-earmark-zip.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-earmark.svg b/src/static/icons/file-earmark.svg
new file mode 100644
index 0000000..c3d086b
--- /dev/null
+++ b/src/static/icons/file-earmark.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-easel-fill.svg b/src/static/icons/file-easel-fill.svg
new file mode 100644
index 0000000..e1122e5
--- /dev/null
+++ b/src/static/icons/file-easel-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-easel.svg b/src/static/icons/file-easel.svg
new file mode 100644
index 0000000..c6d6a4d
--- /dev/null
+++ b/src/static/icons/file-easel.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-excel-fill.svg b/src/static/icons/file-excel-fill.svg
new file mode 100644
index 0000000..350a7df
--- /dev/null
+++ b/src/static/icons/file-excel-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-excel.svg b/src/static/icons/file-excel.svg
new file mode 100644
index 0000000..0f43afe
--- /dev/null
+++ b/src/static/icons/file-excel.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-fill.svg b/src/static/icons/file-fill.svg
new file mode 100644
index 0000000..a1f4de0
--- /dev/null
+++ b/src/static/icons/file-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-font-fill.svg b/src/static/icons/file-font-fill.svg
new file mode 100644
index 0000000..198a259
--- /dev/null
+++ b/src/static/icons/file-font-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-font.svg b/src/static/icons/file-font.svg
new file mode 100644
index 0000000..1d67f5e
--- /dev/null
+++ b/src/static/icons/file-font.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-image-fill.svg b/src/static/icons/file-image-fill.svg
new file mode 100644
index 0000000..f4e81ab
--- /dev/null
+++ b/src/static/icons/file-image-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-image.svg b/src/static/icons/file-image.svg
new file mode 100644
index 0000000..127fd89
--- /dev/null
+++ b/src/static/icons/file-image.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-lock-fill.svg b/src/static/icons/file-lock-fill.svg
new file mode 100644
index 0000000..a14dafc
--- /dev/null
+++ b/src/static/icons/file-lock-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-lock.svg b/src/static/icons/file-lock.svg
new file mode 100644
index 0000000..4206978
--- /dev/null
+++ b/src/static/icons/file-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-lock2-fill.svg b/src/static/icons/file-lock2-fill.svg
new file mode 100644
index 0000000..a68a5d4
--- /dev/null
+++ b/src/static/icons/file-lock2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-lock2.svg b/src/static/icons/file-lock2.svg
new file mode 100644
index 0000000..134f747
--- /dev/null
+++ b/src/static/icons/file-lock2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-medical-fill.svg b/src/static/icons/file-medical-fill.svg
new file mode 100644
index 0000000..6caf0a3
--- /dev/null
+++ b/src/static/icons/file-medical-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-medical.svg b/src/static/icons/file-medical.svg
new file mode 100644
index 0000000..afec18e
--- /dev/null
+++ b/src/static/icons/file-medical.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-minus-fill.svg b/src/static/icons/file-minus-fill.svg
new file mode 100644
index 0000000..85d9999
--- /dev/null
+++ b/src/static/icons/file-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-minus.svg b/src/static/icons/file-minus.svg
new file mode 100644
index 0000000..67a4538
--- /dev/null
+++ b/src/static/icons/file-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-music-fill.svg b/src/static/icons/file-music-fill.svg
new file mode 100644
index 0000000..c7dfa82
--- /dev/null
+++ b/src/static/icons/file-music-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-music.svg b/src/static/icons/file-music.svg
new file mode 100644
index 0000000..6531a95
--- /dev/null
+++ b/src/static/icons/file-music.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-pdf-fill.svg b/src/static/icons/file-pdf-fill.svg
new file mode 100644
index 0000000..87543f5
--- /dev/null
+++ b/src/static/icons/file-pdf-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-pdf.svg b/src/static/icons/file-pdf.svg
new file mode 100644
index 0000000..e8ba0a1
--- /dev/null
+++ b/src/static/icons/file-pdf.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-person-fill.svg b/src/static/icons/file-person-fill.svg
new file mode 100644
index 0000000..d7e05e4
--- /dev/null
+++ b/src/static/icons/file-person-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-person.svg b/src/static/icons/file-person.svg
new file mode 100644
index 0000000..892800a
--- /dev/null
+++ b/src/static/icons/file-person.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-play-fill.svg b/src/static/icons/file-play-fill.svg
new file mode 100644
index 0000000..838dda9
--- /dev/null
+++ b/src/static/icons/file-play-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-play.svg b/src/static/icons/file-play.svg
new file mode 100644
index 0000000..fef9adf
--- /dev/null
+++ b/src/static/icons/file-play.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-plus-fill.svg b/src/static/icons/file-plus-fill.svg
new file mode 100644
index 0000000..1730c27
--- /dev/null
+++ b/src/static/icons/file-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-plus.svg b/src/static/icons/file-plus.svg
new file mode 100644
index 0000000..d0ef464
--- /dev/null
+++ b/src/static/icons/file-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-post-fill.svg b/src/static/icons/file-post-fill.svg
new file mode 100644
index 0000000..c3fc7e0
--- /dev/null
+++ b/src/static/icons/file-post-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-post.svg b/src/static/icons/file-post.svg
new file mode 100644
index 0000000..dd8aefc
--- /dev/null
+++ b/src/static/icons/file-post.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-ppt-fill.svg b/src/static/icons/file-ppt-fill.svg
new file mode 100644
index 0000000..3d3ac35
--- /dev/null
+++ b/src/static/icons/file-ppt-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-ppt.svg b/src/static/icons/file-ppt.svg
new file mode 100644
index 0000000..0100d0b
--- /dev/null
+++ b/src/static/icons/file-ppt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-richtext-fill.svg b/src/static/icons/file-richtext-fill.svg
new file mode 100644
index 0000000..64c1fc8
--- /dev/null
+++ b/src/static/icons/file-richtext-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-richtext.svg b/src/static/icons/file-richtext.svg
new file mode 100644
index 0000000..22edf68
--- /dev/null
+++ b/src/static/icons/file-richtext.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-ruled-fill.svg b/src/static/icons/file-ruled-fill.svg
new file mode 100644
index 0000000..f93c255
--- /dev/null
+++ b/src/static/icons/file-ruled-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-ruled.svg b/src/static/icons/file-ruled.svg
new file mode 100644
index 0000000..431b4eb
--- /dev/null
+++ b/src/static/icons/file-ruled.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-slides-fill.svg b/src/static/icons/file-slides-fill.svg
new file mode 100644
index 0000000..e8cb12a
--- /dev/null
+++ b/src/static/icons/file-slides-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-slides.svg b/src/static/icons/file-slides.svg
new file mode 100644
index 0000000..df3f65d
--- /dev/null
+++ b/src/static/icons/file-slides.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-spreadsheet-fill.svg b/src/static/icons/file-spreadsheet-fill.svg
new file mode 100644
index 0000000..a3977e1
--- /dev/null
+++ b/src/static/icons/file-spreadsheet-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-spreadsheet.svg b/src/static/icons/file-spreadsheet.svg
new file mode 100644
index 0000000..e83e733
--- /dev/null
+++ b/src/static/icons/file-spreadsheet.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-text-fill.svg b/src/static/icons/file-text-fill.svg
new file mode 100644
index 0000000..29c9fc4
--- /dev/null
+++ b/src/static/icons/file-text-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-text.svg b/src/static/icons/file-text.svg
new file mode 100644
index 0000000..fa1e861
--- /dev/null
+++ b/src/static/icons/file-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-word-fill.svg b/src/static/icons/file-word-fill.svg
new file mode 100644
index 0000000..2df1fca
--- /dev/null
+++ b/src/static/icons/file-word-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-word.svg b/src/static/icons/file-word.svg
new file mode 100644
index 0000000..61a96c2
--- /dev/null
+++ b/src/static/icons/file-word.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-x-fill.svg b/src/static/icons/file-x-fill.svg
new file mode 100644
index 0000000..980e405
--- /dev/null
+++ b/src/static/icons/file-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-x.svg b/src/static/icons/file-x.svg
new file mode 100644
index 0000000..1fe66e6
--- /dev/null
+++ b/src/static/icons/file-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-zip-fill.svg b/src/static/icons/file-zip-fill.svg
new file mode 100644
index 0000000..95d3966
--- /dev/null
+++ b/src/static/icons/file-zip-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file-zip.svg b/src/static/icons/file-zip.svg
new file mode 100644
index 0000000..3da93c8
--- /dev/null
+++ b/src/static/icons/file-zip.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/file.svg b/src/static/icons/file.svg
new file mode 100644
index 0000000..3562fb2
--- /dev/null
+++ b/src/static/icons/file.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/files-alt.svg b/src/static/icons/files-alt.svg
new file mode 100644
index 0000000..1d4d069
--- /dev/null
+++ b/src/static/icons/files-alt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/files.svg b/src/static/icons/files.svg
new file mode 100644
index 0000000..f8842f8
--- /dev/null
+++ b/src/static/icons/files.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-aac.svg b/src/static/icons/filetype-aac.svg
new file mode 100644
index 0000000..8a2d02a
--- /dev/null
+++ b/src/static/icons/filetype-aac.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-ai.svg b/src/static/icons/filetype-ai.svg
new file mode 100644
index 0000000..23e2ebc
--- /dev/null
+++ b/src/static/icons/filetype-ai.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-bmp.svg b/src/static/icons/filetype-bmp.svg
new file mode 100644
index 0000000..acf902f
--- /dev/null
+++ b/src/static/icons/filetype-bmp.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-cs.svg b/src/static/icons/filetype-cs.svg
new file mode 100644
index 0000000..fb76aec
--- /dev/null
+++ b/src/static/icons/filetype-cs.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-css.svg b/src/static/icons/filetype-css.svg
new file mode 100644
index 0000000..da12ac6
--- /dev/null
+++ b/src/static/icons/filetype-css.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-csv.svg b/src/static/icons/filetype-csv.svg
new file mode 100644
index 0000000..efda95c
--- /dev/null
+++ b/src/static/icons/filetype-csv.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-doc.svg b/src/static/icons/filetype-doc.svg
new file mode 100644
index 0000000..14fb544
--- /dev/null
+++ b/src/static/icons/filetype-doc.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-docx.svg b/src/static/icons/filetype-docx.svg
new file mode 100644
index 0000000..29a54ff
--- /dev/null
+++ b/src/static/icons/filetype-docx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-exe.svg b/src/static/icons/filetype-exe.svg
new file mode 100644
index 0000000..2c4bea4
--- /dev/null
+++ b/src/static/icons/filetype-exe.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-gif.svg b/src/static/icons/filetype-gif.svg
new file mode 100644
index 0000000..6b016d8
--- /dev/null
+++ b/src/static/icons/filetype-gif.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-heic.svg b/src/static/icons/filetype-heic.svg
new file mode 100644
index 0000000..dcdb6f1
--- /dev/null
+++ b/src/static/icons/filetype-heic.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-html.svg b/src/static/icons/filetype-html.svg
new file mode 100644
index 0000000..35d7218
--- /dev/null
+++ b/src/static/icons/filetype-html.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-java.svg b/src/static/icons/filetype-java.svg
new file mode 100644
index 0000000..c9dc543
--- /dev/null
+++ b/src/static/icons/filetype-java.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-jpg.svg b/src/static/icons/filetype-jpg.svg
new file mode 100644
index 0000000..5e4ae64
--- /dev/null
+++ b/src/static/icons/filetype-jpg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-js.svg b/src/static/icons/filetype-js.svg
new file mode 100644
index 0000000..8b198bf
--- /dev/null
+++ b/src/static/icons/filetype-js.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-json.svg b/src/static/icons/filetype-json.svg
new file mode 100644
index 0000000..2b9d988
--- /dev/null
+++ b/src/static/icons/filetype-json.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-jsx.svg b/src/static/icons/filetype-jsx.svg
new file mode 100644
index 0000000..c23ba4c
--- /dev/null
+++ b/src/static/icons/filetype-jsx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-key.svg b/src/static/icons/filetype-key.svg
new file mode 100644
index 0000000..5b98050
--- /dev/null
+++ b/src/static/icons/filetype-key.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-m4p.svg b/src/static/icons/filetype-m4p.svg
new file mode 100644
index 0000000..a10dc24
--- /dev/null
+++ b/src/static/icons/filetype-m4p.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-md.svg b/src/static/icons/filetype-md.svg
new file mode 100644
index 0000000..ca5cd59
--- /dev/null
+++ b/src/static/icons/filetype-md.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-mdx.svg b/src/static/icons/filetype-mdx.svg
new file mode 100644
index 0000000..e8774d2
--- /dev/null
+++ b/src/static/icons/filetype-mdx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-mov.svg b/src/static/icons/filetype-mov.svg
new file mode 100644
index 0000000..9f05d63
--- /dev/null
+++ b/src/static/icons/filetype-mov.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-mp3.svg b/src/static/icons/filetype-mp3.svg
new file mode 100644
index 0000000..0170351
--- /dev/null
+++ b/src/static/icons/filetype-mp3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-mp4.svg b/src/static/icons/filetype-mp4.svg
new file mode 100644
index 0000000..997c427
--- /dev/null
+++ b/src/static/icons/filetype-mp4.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-otf.svg b/src/static/icons/filetype-otf.svg
new file mode 100644
index 0000000..44d0c8e
--- /dev/null
+++ b/src/static/icons/filetype-otf.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-pdf.svg b/src/static/icons/filetype-pdf.svg
new file mode 100644
index 0000000..e1fc9b6
--- /dev/null
+++ b/src/static/icons/filetype-pdf.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-php.svg b/src/static/icons/filetype-php.svg
new file mode 100644
index 0000000..422cc2d
--- /dev/null
+++ b/src/static/icons/filetype-php.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-png.svg b/src/static/icons/filetype-png.svg
new file mode 100644
index 0000000..f719344
--- /dev/null
+++ b/src/static/icons/filetype-png.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-ppt.svg b/src/static/icons/filetype-ppt.svg
new file mode 100644
index 0000000..cfaaf1b
--- /dev/null
+++ b/src/static/icons/filetype-ppt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-pptx.svg b/src/static/icons/filetype-pptx.svg
new file mode 100644
index 0000000..88ef369
--- /dev/null
+++ b/src/static/icons/filetype-pptx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-psd.svg b/src/static/icons/filetype-psd.svg
new file mode 100644
index 0000000..cfcb13b
--- /dev/null
+++ b/src/static/icons/filetype-psd.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-py.svg b/src/static/icons/filetype-py.svg
new file mode 100644
index 0000000..654df70
--- /dev/null
+++ b/src/static/icons/filetype-py.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-raw.svg b/src/static/icons/filetype-raw.svg
new file mode 100644
index 0000000..fdbeefc
--- /dev/null
+++ b/src/static/icons/filetype-raw.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-rb.svg b/src/static/icons/filetype-rb.svg
new file mode 100644
index 0000000..e3387b4
--- /dev/null
+++ b/src/static/icons/filetype-rb.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-sass.svg b/src/static/icons/filetype-sass.svg
new file mode 100644
index 0000000..5ff5ae5
--- /dev/null
+++ b/src/static/icons/filetype-sass.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-scss.svg b/src/static/icons/filetype-scss.svg
new file mode 100644
index 0000000..68f195a
--- /dev/null
+++ b/src/static/icons/filetype-scss.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-sh.svg b/src/static/icons/filetype-sh.svg
new file mode 100644
index 0000000..200fae4
--- /dev/null
+++ b/src/static/icons/filetype-sh.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-sql.svg b/src/static/icons/filetype-sql.svg
new file mode 100644
index 0000000..b523b37
--- /dev/null
+++ b/src/static/icons/filetype-sql.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-svg.svg b/src/static/icons/filetype-svg.svg
new file mode 100644
index 0000000..ea1264c
--- /dev/null
+++ b/src/static/icons/filetype-svg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-tiff.svg b/src/static/icons/filetype-tiff.svg
new file mode 100644
index 0000000..d6f9e9b
--- /dev/null
+++ b/src/static/icons/filetype-tiff.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-tsx.svg b/src/static/icons/filetype-tsx.svg
new file mode 100644
index 0000000..cef1dc4
--- /dev/null
+++ b/src/static/icons/filetype-tsx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-ttf.svg b/src/static/icons/filetype-ttf.svg
new file mode 100644
index 0000000..549d4df
--- /dev/null
+++ b/src/static/icons/filetype-ttf.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-txt.svg b/src/static/icons/filetype-txt.svg
new file mode 100644
index 0000000..6fae02a
--- /dev/null
+++ b/src/static/icons/filetype-txt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-wav.svg b/src/static/icons/filetype-wav.svg
new file mode 100644
index 0000000..bd226e8
--- /dev/null
+++ b/src/static/icons/filetype-wav.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-woff.svg b/src/static/icons/filetype-woff.svg
new file mode 100644
index 0000000..d8ec582
--- /dev/null
+++ b/src/static/icons/filetype-woff.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-xls.svg b/src/static/icons/filetype-xls.svg
new file mode 100644
index 0000000..9c266cd
--- /dev/null
+++ b/src/static/icons/filetype-xls.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-xlsx.svg b/src/static/icons/filetype-xlsx.svg
new file mode 100644
index 0000000..a1aa802
--- /dev/null
+++ b/src/static/icons/filetype-xlsx.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-xml.svg b/src/static/icons/filetype-xml.svg
new file mode 100644
index 0000000..d822645
--- /dev/null
+++ b/src/static/icons/filetype-xml.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filetype-yml.svg b/src/static/icons/filetype-yml.svg
new file mode 100644
index 0000000..e8bf63d
--- /dev/null
+++ b/src/static/icons/filetype-yml.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/film.svg b/src/static/icons/film.svg
new file mode 100644
index 0000000..5cef939
--- /dev/null
+++ b/src/static/icons/film.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-circle-fill.svg b/src/static/icons/filter-circle-fill.svg
new file mode 100644
index 0000000..f60fd59
--- /dev/null
+++ b/src/static/icons/filter-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-circle.svg b/src/static/icons/filter-circle.svg
new file mode 100644
index 0000000..bbdc85f
--- /dev/null
+++ b/src/static/icons/filter-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-left.svg b/src/static/icons/filter-left.svg
new file mode 100644
index 0000000..22441de
--- /dev/null
+++ b/src/static/icons/filter-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-right.svg b/src/static/icons/filter-right.svg
new file mode 100644
index 0000000..466a9b1
--- /dev/null
+++ b/src/static/icons/filter-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-square-fill.svg b/src/static/icons/filter-square-fill.svg
new file mode 100644
index 0000000..f8813b8
--- /dev/null
+++ b/src/static/icons/filter-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter-square.svg b/src/static/icons/filter-square.svg
new file mode 100644
index 0000000..ae8c837
--- /dev/null
+++ b/src/static/icons/filter-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/filter.svg b/src/static/icons/filter.svg
new file mode 100644
index 0000000..555c612
--- /dev/null
+++ b/src/static/icons/filter.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fingerprint.svg b/src/static/icons/fingerprint.svg
new file mode 100644
index 0000000..3cf2042
--- /dev/null
+++ b/src/static/icons/fingerprint.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fire.svg b/src/static/icons/fire.svg
new file mode 100644
index 0000000..f702837
--- /dev/null
+++ b/src/static/icons/fire.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/flag-fill.svg b/src/static/icons/flag-fill.svg
new file mode 100644
index 0000000..73fffc2
--- /dev/null
+++ b/src/static/icons/flag-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/flag.svg b/src/static/icons/flag.svg
new file mode 100644
index 0000000..357c481
--- /dev/null
+++ b/src/static/icons/flag.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/flower1.svg b/src/static/icons/flower1.svg
new file mode 100644
index 0000000..08a7e2e
--- /dev/null
+++ b/src/static/icons/flower1.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/flower2.svg b/src/static/icons/flower2.svg
new file mode 100644
index 0000000..d793728
--- /dev/null
+++ b/src/static/icons/flower2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/flower3.svg b/src/static/icons/flower3.svg
new file mode 100644
index 0000000..147e32f
--- /dev/null
+++ b/src/static/icons/flower3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-check.svg b/src/static/icons/folder-check.svg
new file mode 100644
index 0000000..d599554
--- /dev/null
+++ b/src/static/icons/folder-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-fill.svg b/src/static/icons/folder-fill.svg
new file mode 100644
index 0000000..fd10c8e
--- /dev/null
+++ b/src/static/icons/folder-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-minus.svg b/src/static/icons/folder-minus.svg
new file mode 100644
index 0000000..f41b660
--- /dev/null
+++ b/src/static/icons/folder-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-plus.svg b/src/static/icons/folder-plus.svg
new file mode 100644
index 0000000..c18e2a5
--- /dev/null
+++ b/src/static/icons/folder-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-symlink-fill.svg b/src/static/icons/folder-symlink-fill.svg
new file mode 100644
index 0000000..91dc0c0
--- /dev/null
+++ b/src/static/icons/folder-symlink-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-symlink.svg b/src/static/icons/folder-symlink.svg
new file mode 100644
index 0000000..b258b6a
--- /dev/null
+++ b/src/static/icons/folder-symlink.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder-x.svg b/src/static/icons/folder-x.svg
new file mode 100644
index 0000000..d571d08
--- /dev/null
+++ b/src/static/icons/folder-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder.svg b/src/static/icons/folder.svg
new file mode 100644
index 0000000..fd4dc5a
--- /dev/null
+++ b/src/static/icons/folder.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder2-open.svg b/src/static/icons/folder2-open.svg
new file mode 100644
index 0000000..59d8382
--- /dev/null
+++ b/src/static/icons/folder2-open.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/folder2.svg b/src/static/icons/folder2.svg
new file mode 100644
index 0000000..4145753
--- /dev/null
+++ b/src/static/icons/folder2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/font/bootstrap-icons.css b/src/static/icons/font/bootstrap-icons.css
new file mode 100644
index 0000000..8bda018
--- /dev/null
+++ b/src/static/icons/font/bootstrap-icons.css
@@ -0,0 +1,1981 @@
+/*!
+ * Bootstrap Icons v1.10.5 (https://icons.getbootstrap.com/)
+ * Copyright 2019-2023 The Bootstrap Authors
+ * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
+ */
+
+@font-face {
+ font-display: block;
+ font-family: "bootstrap-icons";
+ src: url("./fonts/bootstrap-icons.woff2?1fa40e8900654d2863d011707b9fb6f2") format("woff2"),
+url("./fonts/bootstrap-icons.woff?1fa40e8900654d2863d011707b9fb6f2") format("woff");
+}
+
+.bi::before,
+[class^="bi-"]::before,
+[class*=" bi-"]::before {
+ display: inline-block;
+ font-family: bootstrap-icons !important;
+ font-style: normal;
+ font-weight: normal !important;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ vertical-align: -.125em;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.bi-123::before { content: "\f67f"; }
+.bi-alarm-fill::before { content: "\f101"; }
+.bi-alarm::before { content: "\f102"; }
+.bi-align-bottom::before { content: "\f103"; }
+.bi-align-center::before { content: "\f104"; }
+.bi-align-end::before { content: "\f105"; }
+.bi-align-middle::before { content: "\f106"; }
+.bi-align-start::before { content: "\f107"; }
+.bi-align-top::before { content: "\f108"; }
+.bi-alt::before { content: "\f109"; }
+.bi-app-indicator::before { content: "\f10a"; }
+.bi-app::before { content: "\f10b"; }
+.bi-archive-fill::before { content: "\f10c"; }
+.bi-archive::before { content: "\f10d"; }
+.bi-arrow-90deg-down::before { content: "\f10e"; }
+.bi-arrow-90deg-left::before { content: "\f10f"; }
+.bi-arrow-90deg-right::before { content: "\f110"; }
+.bi-arrow-90deg-up::before { content: "\f111"; }
+.bi-arrow-bar-down::before { content: "\f112"; }
+.bi-arrow-bar-left::before { content: "\f113"; }
+.bi-arrow-bar-right::before { content: "\f114"; }
+.bi-arrow-bar-up::before { content: "\f115"; }
+.bi-arrow-clockwise::before { content: "\f116"; }
+.bi-arrow-counterclockwise::before { content: "\f117"; }
+.bi-arrow-down-circle-fill::before { content: "\f118"; }
+.bi-arrow-down-circle::before { content: "\f119"; }
+.bi-arrow-down-left-circle-fill::before { content: "\f11a"; }
+.bi-arrow-down-left-circle::before { content: "\f11b"; }
+.bi-arrow-down-left-square-fill::before { content: "\f11c"; }
+.bi-arrow-down-left-square::before { content: "\f11d"; }
+.bi-arrow-down-left::before { content: "\f11e"; }
+.bi-arrow-down-right-circle-fill::before { content: "\f11f"; }
+.bi-arrow-down-right-circle::before { content: "\f120"; }
+.bi-arrow-down-right-square-fill::before { content: "\f121"; }
+.bi-arrow-down-right-square::before { content: "\f122"; }
+.bi-arrow-down-right::before { content: "\f123"; }
+.bi-arrow-down-short::before { content: "\f124"; }
+.bi-arrow-down-square-fill::before { content: "\f125"; }
+.bi-arrow-down-square::before { content: "\f126"; }
+.bi-arrow-down-up::before { content: "\f127"; }
+.bi-arrow-down::before { content: "\f128"; }
+.bi-arrow-left-circle-fill::before { content: "\f129"; }
+.bi-arrow-left-circle::before { content: "\f12a"; }
+.bi-arrow-left-right::before { content: "\f12b"; }
+.bi-arrow-left-short::before { content: "\f12c"; }
+.bi-arrow-left-square-fill::before { content: "\f12d"; }
+.bi-arrow-left-square::before { content: "\f12e"; }
+.bi-arrow-left::before { content: "\f12f"; }
+.bi-arrow-repeat::before { content: "\f130"; }
+.bi-arrow-return-left::before { content: "\f131"; }
+.bi-arrow-return-right::before { content: "\f132"; }
+.bi-arrow-right-circle-fill::before { content: "\f133"; }
+.bi-arrow-right-circle::before { content: "\f134"; }
+.bi-arrow-right-short::before { content: "\f135"; }
+.bi-arrow-right-square-fill::before { content: "\f136"; }
+.bi-arrow-right-square::before { content: "\f137"; }
+.bi-arrow-right::before { content: "\f138"; }
+.bi-arrow-up-circle-fill::before { content: "\f139"; }
+.bi-arrow-up-circle::before { content: "\f13a"; }
+.bi-arrow-up-left-circle-fill::before { content: "\f13b"; }
+.bi-arrow-up-left-circle::before { content: "\f13c"; }
+.bi-arrow-up-left-square-fill::before { content: "\f13d"; }
+.bi-arrow-up-left-square::before { content: "\f13e"; }
+.bi-arrow-up-left::before { content: "\f13f"; }
+.bi-arrow-up-right-circle-fill::before { content: "\f140"; }
+.bi-arrow-up-right-circle::before { content: "\f141"; }
+.bi-arrow-up-right-square-fill::before { content: "\f142"; }
+.bi-arrow-up-right-square::before { content: "\f143"; }
+.bi-arrow-up-right::before { content: "\f144"; }
+.bi-arrow-up-short::before { content: "\f145"; }
+.bi-arrow-up-square-fill::before { content: "\f146"; }
+.bi-arrow-up-square::before { content: "\f147"; }
+.bi-arrow-up::before { content: "\f148"; }
+.bi-arrows-angle-contract::before { content: "\f149"; }
+.bi-arrows-angle-expand::before { content: "\f14a"; }
+.bi-arrows-collapse::before { content: "\f14b"; }
+.bi-arrows-expand::before { content: "\f14c"; }
+.bi-arrows-fullscreen::before { content: "\f14d"; }
+.bi-arrows-move::before { content: "\f14e"; }
+.bi-aspect-ratio-fill::before { content: "\f14f"; }
+.bi-aspect-ratio::before { content: "\f150"; }
+.bi-asterisk::before { content: "\f151"; }
+.bi-at::before { content: "\f152"; }
+.bi-award-fill::before { content: "\f153"; }
+.bi-award::before { content: "\f154"; }
+.bi-back::before { content: "\f155"; }
+.bi-backspace-fill::before { content: "\f156"; }
+.bi-backspace-reverse-fill::before { content: "\f157"; }
+.bi-backspace-reverse::before { content: "\f158"; }
+.bi-backspace::before { content: "\f159"; }
+.bi-badge-3d-fill::before { content: "\f15a"; }
+.bi-badge-3d::before { content: "\f15b"; }
+.bi-badge-4k-fill::before { content: "\f15c"; }
+.bi-badge-4k::before { content: "\f15d"; }
+.bi-badge-8k-fill::before { content: "\f15e"; }
+.bi-badge-8k::before { content: "\f15f"; }
+.bi-badge-ad-fill::before { content: "\f160"; }
+.bi-badge-ad::before { content: "\f161"; }
+.bi-badge-ar-fill::before { content: "\f162"; }
+.bi-badge-ar::before { content: "\f163"; }
+.bi-badge-cc-fill::before { content: "\f164"; }
+.bi-badge-cc::before { content: "\f165"; }
+.bi-badge-hd-fill::before { content: "\f166"; }
+.bi-badge-hd::before { content: "\f167"; }
+.bi-badge-tm-fill::before { content: "\f168"; }
+.bi-badge-tm::before { content: "\f169"; }
+.bi-badge-vo-fill::before { content: "\f16a"; }
+.bi-badge-vo::before { content: "\f16b"; }
+.bi-badge-vr-fill::before { content: "\f16c"; }
+.bi-badge-vr::before { content: "\f16d"; }
+.bi-badge-wc-fill::before { content: "\f16e"; }
+.bi-badge-wc::before { content: "\f16f"; }
+.bi-bag-check-fill::before { content: "\f170"; }
+.bi-bag-check::before { content: "\f171"; }
+.bi-bag-dash-fill::before { content: "\f172"; }
+.bi-bag-dash::before { content: "\f173"; }
+.bi-bag-fill::before { content: "\f174"; }
+.bi-bag-plus-fill::before { content: "\f175"; }
+.bi-bag-plus::before { content: "\f176"; }
+.bi-bag-x-fill::before { content: "\f177"; }
+.bi-bag-x::before { content: "\f178"; }
+.bi-bag::before { content: "\f179"; }
+.bi-bar-chart-fill::before { content: "\f17a"; }
+.bi-bar-chart-line-fill::before { content: "\f17b"; }
+.bi-bar-chart-line::before { content: "\f17c"; }
+.bi-bar-chart-steps::before { content: "\f17d"; }
+.bi-bar-chart::before { content: "\f17e"; }
+.bi-basket-fill::before { content: "\f17f"; }
+.bi-basket::before { content: "\f180"; }
+.bi-basket2-fill::before { content: "\f181"; }
+.bi-basket2::before { content: "\f182"; }
+.bi-basket3-fill::before { content: "\f183"; }
+.bi-basket3::before { content: "\f184"; }
+.bi-battery-charging::before { content: "\f185"; }
+.bi-battery-full::before { content: "\f186"; }
+.bi-battery-half::before { content: "\f187"; }
+.bi-battery::before { content: "\f188"; }
+.bi-bell-fill::before { content: "\f189"; }
+.bi-bell::before { content: "\f18a"; }
+.bi-bezier::before { content: "\f18b"; }
+.bi-bezier2::before { content: "\f18c"; }
+.bi-bicycle::before { content: "\f18d"; }
+.bi-binoculars-fill::before { content: "\f18e"; }
+.bi-binoculars::before { content: "\f18f"; }
+.bi-blockquote-left::before { content: "\f190"; }
+.bi-blockquote-right::before { content: "\f191"; }
+.bi-book-fill::before { content: "\f192"; }
+.bi-book-half::before { content: "\f193"; }
+.bi-book::before { content: "\f194"; }
+.bi-bookmark-check-fill::before { content: "\f195"; }
+.bi-bookmark-check::before { content: "\f196"; }
+.bi-bookmark-dash-fill::before { content: "\f197"; }
+.bi-bookmark-dash::before { content: "\f198"; }
+.bi-bookmark-fill::before { content: "\f199"; }
+.bi-bookmark-heart-fill::before { content: "\f19a"; }
+.bi-bookmark-heart::before { content: "\f19b"; }
+.bi-bookmark-plus-fill::before { content: "\f19c"; }
+.bi-bookmark-plus::before { content: "\f19d"; }
+.bi-bookmark-star-fill::before { content: "\f19e"; }
+.bi-bookmark-star::before { content: "\f19f"; }
+.bi-bookmark-x-fill::before { content: "\f1a0"; }
+.bi-bookmark-x::before { content: "\f1a1"; }
+.bi-bookmark::before { content: "\f1a2"; }
+.bi-bookmarks-fill::before { content: "\f1a3"; }
+.bi-bookmarks::before { content: "\f1a4"; }
+.bi-bookshelf::before { content: "\f1a5"; }
+.bi-bootstrap-fill::before { content: "\f1a6"; }
+.bi-bootstrap-reboot::before { content: "\f1a7"; }
+.bi-bootstrap::before { content: "\f1a8"; }
+.bi-border-all::before { content: "\f1a9"; }
+.bi-border-bottom::before { content: "\f1aa"; }
+.bi-border-center::before { content: "\f1ab"; }
+.bi-border-inner::before { content: "\f1ac"; }
+.bi-border-left::before { content: "\f1ad"; }
+.bi-border-middle::before { content: "\f1ae"; }
+.bi-border-outer::before { content: "\f1af"; }
+.bi-border-right::before { content: "\f1b0"; }
+.bi-border-style::before { content: "\f1b1"; }
+.bi-border-top::before { content: "\f1b2"; }
+.bi-border-width::before { content: "\f1b3"; }
+.bi-border::before { content: "\f1b4"; }
+.bi-bounding-box-circles::before { content: "\f1b5"; }
+.bi-bounding-box::before { content: "\f1b6"; }
+.bi-box-arrow-down-left::before { content: "\f1b7"; }
+.bi-box-arrow-down-right::before { content: "\f1b8"; }
+.bi-box-arrow-down::before { content: "\f1b9"; }
+.bi-box-arrow-in-down-left::before { content: "\f1ba"; }
+.bi-box-arrow-in-down-right::before { content: "\f1bb"; }
+.bi-box-arrow-in-down::before { content: "\f1bc"; }
+.bi-box-arrow-in-left::before { content: "\f1bd"; }
+.bi-box-arrow-in-right::before { content: "\f1be"; }
+.bi-box-arrow-in-up-left::before { content: "\f1bf"; }
+.bi-box-arrow-in-up-right::before { content: "\f1c0"; }
+.bi-box-arrow-in-up::before { content: "\f1c1"; }
+.bi-box-arrow-left::before { content: "\f1c2"; }
+.bi-box-arrow-right::before { content: "\f1c3"; }
+.bi-box-arrow-up-left::before { content: "\f1c4"; }
+.bi-box-arrow-up-right::before { content: "\f1c5"; }
+.bi-box-arrow-up::before { content: "\f1c6"; }
+.bi-box-seam::before { content: "\f1c7"; }
+.bi-box::before { content: "\f1c8"; }
+.bi-braces::before { content: "\f1c9"; }
+.bi-bricks::before { content: "\f1ca"; }
+.bi-briefcase-fill::before { content: "\f1cb"; }
+.bi-briefcase::before { content: "\f1cc"; }
+.bi-brightness-alt-high-fill::before { content: "\f1cd"; }
+.bi-brightness-alt-high::before { content: "\f1ce"; }
+.bi-brightness-alt-low-fill::before { content: "\f1cf"; }
+.bi-brightness-alt-low::before { content: "\f1d0"; }
+.bi-brightness-high-fill::before { content: "\f1d1"; }
+.bi-brightness-high::before { content: "\f1d2"; }
+.bi-brightness-low-fill::before { content: "\f1d3"; }
+.bi-brightness-low::before { content: "\f1d4"; }
+.bi-broadcast-pin::before { content: "\f1d5"; }
+.bi-broadcast::before { content: "\f1d6"; }
+.bi-brush-fill::before { content: "\f1d7"; }
+.bi-brush::before { content: "\f1d8"; }
+.bi-bucket-fill::before { content: "\f1d9"; }
+.bi-bucket::before { content: "\f1da"; }
+.bi-bug-fill::before { content: "\f1db"; }
+.bi-bug::before { content: "\f1dc"; }
+.bi-building::before { content: "\f1dd"; }
+.bi-bullseye::before { content: "\f1de"; }
+.bi-calculator-fill::before { content: "\f1df"; }
+.bi-calculator::before { content: "\f1e0"; }
+.bi-calendar-check-fill::before { content: "\f1e1"; }
+.bi-calendar-check::before { content: "\f1e2"; }
+.bi-calendar-date-fill::before { content: "\f1e3"; }
+.bi-calendar-date::before { content: "\f1e4"; }
+.bi-calendar-day-fill::before { content: "\f1e5"; }
+.bi-calendar-day::before { content: "\f1e6"; }
+.bi-calendar-event-fill::before { content: "\f1e7"; }
+.bi-calendar-event::before { content: "\f1e8"; }
+.bi-calendar-fill::before { content: "\f1e9"; }
+.bi-calendar-minus-fill::before { content: "\f1ea"; }
+.bi-calendar-minus::before { content: "\f1eb"; }
+.bi-calendar-month-fill::before { content: "\f1ec"; }
+.bi-calendar-month::before { content: "\f1ed"; }
+.bi-calendar-plus-fill::before { content: "\f1ee"; }
+.bi-calendar-plus::before { content: "\f1ef"; }
+.bi-calendar-range-fill::before { content: "\f1f0"; }
+.bi-calendar-range::before { content: "\f1f1"; }
+.bi-calendar-week-fill::before { content: "\f1f2"; }
+.bi-calendar-week::before { content: "\f1f3"; }
+.bi-calendar-x-fill::before { content: "\f1f4"; }
+.bi-calendar-x::before { content: "\f1f5"; }
+.bi-calendar::before { content: "\f1f6"; }
+.bi-calendar2-check-fill::before { content: "\f1f7"; }
+.bi-calendar2-check::before { content: "\f1f8"; }
+.bi-calendar2-date-fill::before { content: "\f1f9"; }
+.bi-calendar2-date::before { content: "\f1fa"; }
+.bi-calendar2-day-fill::before { content: "\f1fb"; }
+.bi-calendar2-day::before { content: "\f1fc"; }
+.bi-calendar2-event-fill::before { content: "\f1fd"; }
+.bi-calendar2-event::before { content: "\f1fe"; }
+.bi-calendar2-fill::before { content: "\f1ff"; }
+.bi-calendar2-minus-fill::before { content: "\f200"; }
+.bi-calendar2-minus::before { content: "\f201"; }
+.bi-calendar2-month-fill::before { content: "\f202"; }
+.bi-calendar2-month::before { content: "\f203"; }
+.bi-calendar2-plus-fill::before { content: "\f204"; }
+.bi-calendar2-plus::before { content: "\f205"; }
+.bi-calendar2-range-fill::before { content: "\f206"; }
+.bi-calendar2-range::before { content: "\f207"; }
+.bi-calendar2-week-fill::before { content: "\f208"; }
+.bi-calendar2-week::before { content: "\f209"; }
+.bi-calendar2-x-fill::before { content: "\f20a"; }
+.bi-calendar2-x::before { content: "\f20b"; }
+.bi-calendar2::before { content: "\f20c"; }
+.bi-calendar3-event-fill::before { content: "\f20d"; }
+.bi-calendar3-event::before { content: "\f20e"; }
+.bi-calendar3-fill::before { content: "\f20f"; }
+.bi-calendar3-range-fill::before { content: "\f210"; }
+.bi-calendar3-range::before { content: "\f211"; }
+.bi-calendar3-week-fill::before { content: "\f212"; }
+.bi-calendar3-week::before { content: "\f213"; }
+.bi-calendar3::before { content: "\f214"; }
+.bi-calendar4-event::before { content: "\f215"; }
+.bi-calendar4-range::before { content: "\f216"; }
+.bi-calendar4-week::before { content: "\f217"; }
+.bi-calendar4::before { content: "\f218"; }
+.bi-camera-fill::before { content: "\f219"; }
+.bi-camera-reels-fill::before { content: "\f21a"; }
+.bi-camera-reels::before { content: "\f21b"; }
+.bi-camera-video-fill::before { content: "\f21c"; }
+.bi-camera-video-off-fill::before { content: "\f21d"; }
+.bi-camera-video-off::before { content: "\f21e"; }
+.bi-camera-video::before { content: "\f21f"; }
+.bi-camera::before { content: "\f220"; }
+.bi-camera2::before { content: "\f221"; }
+.bi-capslock-fill::before { content: "\f222"; }
+.bi-capslock::before { content: "\f223"; }
+.bi-card-checklist::before { content: "\f224"; }
+.bi-card-heading::before { content: "\f225"; }
+.bi-card-image::before { content: "\f226"; }
+.bi-card-list::before { content: "\f227"; }
+.bi-card-text::before { content: "\f228"; }
+.bi-caret-down-fill::before { content: "\f229"; }
+.bi-caret-down-square-fill::before { content: "\f22a"; }
+.bi-caret-down-square::before { content: "\f22b"; }
+.bi-caret-down::before { content: "\f22c"; }
+.bi-caret-left-fill::before { content: "\f22d"; }
+.bi-caret-left-square-fill::before { content: "\f22e"; }
+.bi-caret-left-square::before { content: "\f22f"; }
+.bi-caret-left::before { content: "\f230"; }
+.bi-caret-right-fill::before { content: "\f231"; }
+.bi-caret-right-square-fill::before { content: "\f232"; }
+.bi-caret-right-square::before { content: "\f233"; }
+.bi-caret-right::before { content: "\f234"; }
+.bi-caret-up-fill::before { content: "\f235"; }
+.bi-caret-up-square-fill::before { content: "\f236"; }
+.bi-caret-up-square::before { content: "\f237"; }
+.bi-caret-up::before { content: "\f238"; }
+.bi-cart-check-fill::before { content: "\f239"; }
+.bi-cart-check::before { content: "\f23a"; }
+.bi-cart-dash-fill::before { content: "\f23b"; }
+.bi-cart-dash::before { content: "\f23c"; }
+.bi-cart-fill::before { content: "\f23d"; }
+.bi-cart-plus-fill::before { content: "\f23e"; }
+.bi-cart-plus::before { content: "\f23f"; }
+.bi-cart-x-fill::before { content: "\f240"; }
+.bi-cart-x::before { content: "\f241"; }
+.bi-cart::before { content: "\f242"; }
+.bi-cart2::before { content: "\f243"; }
+.bi-cart3::before { content: "\f244"; }
+.bi-cart4::before { content: "\f245"; }
+.bi-cash-stack::before { content: "\f246"; }
+.bi-cash::before { content: "\f247"; }
+.bi-cast::before { content: "\f248"; }
+.bi-chat-dots-fill::before { content: "\f249"; }
+.bi-chat-dots::before { content: "\f24a"; }
+.bi-chat-fill::before { content: "\f24b"; }
+.bi-chat-left-dots-fill::before { content: "\f24c"; }
+.bi-chat-left-dots::before { content: "\f24d"; }
+.bi-chat-left-fill::before { content: "\f24e"; }
+.bi-chat-left-quote-fill::before { content: "\f24f"; }
+.bi-chat-left-quote::before { content: "\f250"; }
+.bi-chat-left-text-fill::before { content: "\f251"; }
+.bi-chat-left-text::before { content: "\f252"; }
+.bi-chat-left::before { content: "\f253"; }
+.bi-chat-quote-fill::before { content: "\f254"; }
+.bi-chat-quote::before { content: "\f255"; }
+.bi-chat-right-dots-fill::before { content: "\f256"; }
+.bi-chat-right-dots::before { content: "\f257"; }
+.bi-chat-right-fill::before { content: "\f258"; }
+.bi-chat-right-quote-fill::before { content: "\f259"; }
+.bi-chat-right-quote::before { content: "\f25a"; }
+.bi-chat-right-text-fill::before { content: "\f25b"; }
+.bi-chat-right-text::before { content: "\f25c"; }
+.bi-chat-right::before { content: "\f25d"; }
+.bi-chat-square-dots-fill::before { content: "\f25e"; }
+.bi-chat-square-dots::before { content: "\f25f"; }
+.bi-chat-square-fill::before { content: "\f260"; }
+.bi-chat-square-quote-fill::before { content: "\f261"; }
+.bi-chat-square-quote::before { content: "\f262"; }
+.bi-chat-square-text-fill::before { content: "\f263"; }
+.bi-chat-square-text::before { content: "\f264"; }
+.bi-chat-square::before { content: "\f265"; }
+.bi-chat-text-fill::before { content: "\f266"; }
+.bi-chat-text::before { content: "\f267"; }
+.bi-chat::before { content: "\f268"; }
+.bi-check-all::before { content: "\f269"; }
+.bi-check-circle-fill::before { content: "\f26a"; }
+.bi-check-circle::before { content: "\f26b"; }
+.bi-check-square-fill::before { content: "\f26c"; }
+.bi-check-square::before { content: "\f26d"; }
+.bi-check::before { content: "\f26e"; }
+.bi-check2-all::before { content: "\f26f"; }
+.bi-check2-circle::before { content: "\f270"; }
+.bi-check2-square::before { content: "\f271"; }
+.bi-check2::before { content: "\f272"; }
+.bi-chevron-bar-contract::before { content: "\f273"; }
+.bi-chevron-bar-down::before { content: "\f274"; }
+.bi-chevron-bar-expand::before { content: "\f275"; }
+.bi-chevron-bar-left::before { content: "\f276"; }
+.bi-chevron-bar-right::before { content: "\f277"; }
+.bi-chevron-bar-up::before { content: "\f278"; }
+.bi-chevron-compact-down::before { content: "\f279"; }
+.bi-chevron-compact-left::before { content: "\f27a"; }
+.bi-chevron-compact-right::before { content: "\f27b"; }
+.bi-chevron-compact-up::before { content: "\f27c"; }
+.bi-chevron-contract::before { content: "\f27d"; }
+.bi-chevron-double-down::before { content: "\f27e"; }
+.bi-chevron-double-left::before { content: "\f27f"; }
+.bi-chevron-double-right::before { content: "\f280"; }
+.bi-chevron-double-up::before { content: "\f281"; }
+.bi-chevron-down::before { content: "\f282"; }
+.bi-chevron-expand::before { content: "\f283"; }
+.bi-chevron-left::before { content: "\f284"; }
+.bi-chevron-right::before { content: "\f285"; }
+.bi-chevron-up::before { content: "\f286"; }
+.bi-circle-fill::before { content: "\f287"; }
+.bi-circle-half::before { content: "\f288"; }
+.bi-circle-square::before { content: "\f289"; }
+.bi-circle::before { content: "\f28a"; }
+.bi-clipboard-check::before { content: "\f28b"; }
+.bi-clipboard-data::before { content: "\f28c"; }
+.bi-clipboard-minus::before { content: "\f28d"; }
+.bi-clipboard-plus::before { content: "\f28e"; }
+.bi-clipboard-x::before { content: "\f28f"; }
+.bi-clipboard::before { content: "\f290"; }
+.bi-clock-fill::before { content: "\f291"; }
+.bi-clock-history::before { content: "\f292"; }
+.bi-clock::before { content: "\f293"; }
+.bi-cloud-arrow-down-fill::before { content: "\f294"; }
+.bi-cloud-arrow-down::before { content: "\f295"; }
+.bi-cloud-arrow-up-fill::before { content: "\f296"; }
+.bi-cloud-arrow-up::before { content: "\f297"; }
+.bi-cloud-check-fill::before { content: "\f298"; }
+.bi-cloud-check::before { content: "\f299"; }
+.bi-cloud-download-fill::before { content: "\f29a"; }
+.bi-cloud-download::before { content: "\f29b"; }
+.bi-cloud-drizzle-fill::before { content: "\f29c"; }
+.bi-cloud-drizzle::before { content: "\f29d"; }
+.bi-cloud-fill::before { content: "\f29e"; }
+.bi-cloud-fog-fill::before { content: "\f29f"; }
+.bi-cloud-fog::before { content: "\f2a0"; }
+.bi-cloud-fog2-fill::before { content: "\f2a1"; }
+.bi-cloud-fog2::before { content: "\f2a2"; }
+.bi-cloud-hail-fill::before { content: "\f2a3"; }
+.bi-cloud-hail::before { content: "\f2a4"; }
+.bi-cloud-haze-fill::before { content: "\f2a6"; }
+.bi-cloud-haze::before { content: "\f2a7"; }
+.bi-cloud-haze2-fill::before { content: "\f2a8"; }
+.bi-cloud-lightning-fill::before { content: "\f2a9"; }
+.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; }
+.bi-cloud-lightning-rain::before { content: "\f2ab"; }
+.bi-cloud-lightning::before { content: "\f2ac"; }
+.bi-cloud-minus-fill::before { content: "\f2ad"; }
+.bi-cloud-minus::before { content: "\f2ae"; }
+.bi-cloud-moon-fill::before { content: "\f2af"; }
+.bi-cloud-moon::before { content: "\f2b0"; }
+.bi-cloud-plus-fill::before { content: "\f2b1"; }
+.bi-cloud-plus::before { content: "\f2b2"; }
+.bi-cloud-rain-fill::before { content: "\f2b3"; }
+.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; }
+.bi-cloud-rain-heavy::before { content: "\f2b5"; }
+.bi-cloud-rain::before { content: "\f2b6"; }
+.bi-cloud-slash-fill::before { content: "\f2b7"; }
+.bi-cloud-slash::before { content: "\f2b8"; }
+.bi-cloud-sleet-fill::before { content: "\f2b9"; }
+.bi-cloud-sleet::before { content: "\f2ba"; }
+.bi-cloud-snow-fill::before { content: "\f2bb"; }
+.bi-cloud-snow::before { content: "\f2bc"; }
+.bi-cloud-sun-fill::before { content: "\f2bd"; }
+.bi-cloud-sun::before { content: "\f2be"; }
+.bi-cloud-upload-fill::before { content: "\f2bf"; }
+.bi-cloud-upload::before { content: "\f2c0"; }
+.bi-cloud::before { content: "\f2c1"; }
+.bi-clouds-fill::before { content: "\f2c2"; }
+.bi-clouds::before { content: "\f2c3"; }
+.bi-cloudy-fill::before { content: "\f2c4"; }
+.bi-cloudy::before { content: "\f2c5"; }
+.bi-code-slash::before { content: "\f2c6"; }
+.bi-code-square::before { content: "\f2c7"; }
+.bi-code::before { content: "\f2c8"; }
+.bi-collection-fill::before { content: "\f2c9"; }
+.bi-collection-play-fill::before { content: "\f2ca"; }
+.bi-collection-play::before { content: "\f2cb"; }
+.bi-collection::before { content: "\f2cc"; }
+.bi-columns-gap::before { content: "\f2cd"; }
+.bi-columns::before { content: "\f2ce"; }
+.bi-command::before { content: "\f2cf"; }
+.bi-compass-fill::before { content: "\f2d0"; }
+.bi-compass::before { content: "\f2d1"; }
+.bi-cone-striped::before { content: "\f2d2"; }
+.bi-cone::before { content: "\f2d3"; }
+.bi-controller::before { content: "\f2d4"; }
+.bi-cpu-fill::before { content: "\f2d5"; }
+.bi-cpu::before { content: "\f2d6"; }
+.bi-credit-card-2-back-fill::before { content: "\f2d7"; }
+.bi-credit-card-2-back::before { content: "\f2d8"; }
+.bi-credit-card-2-front-fill::before { content: "\f2d9"; }
+.bi-credit-card-2-front::before { content: "\f2da"; }
+.bi-credit-card-fill::before { content: "\f2db"; }
+.bi-credit-card::before { content: "\f2dc"; }
+.bi-crop::before { content: "\f2dd"; }
+.bi-cup-fill::before { content: "\f2de"; }
+.bi-cup-straw::before { content: "\f2df"; }
+.bi-cup::before { content: "\f2e0"; }
+.bi-cursor-fill::before { content: "\f2e1"; }
+.bi-cursor-text::before { content: "\f2e2"; }
+.bi-cursor::before { content: "\f2e3"; }
+.bi-dash-circle-dotted::before { content: "\f2e4"; }
+.bi-dash-circle-fill::before { content: "\f2e5"; }
+.bi-dash-circle::before { content: "\f2e6"; }
+.bi-dash-square-dotted::before { content: "\f2e7"; }
+.bi-dash-square-fill::before { content: "\f2e8"; }
+.bi-dash-square::before { content: "\f2e9"; }
+.bi-dash::before { content: "\f2ea"; }
+.bi-diagram-2-fill::before { content: "\f2eb"; }
+.bi-diagram-2::before { content: "\f2ec"; }
+.bi-diagram-3-fill::before { content: "\f2ed"; }
+.bi-diagram-3::before { content: "\f2ee"; }
+.bi-diamond-fill::before { content: "\f2ef"; }
+.bi-diamond-half::before { content: "\f2f0"; }
+.bi-diamond::before { content: "\f2f1"; }
+.bi-dice-1-fill::before { content: "\f2f2"; }
+.bi-dice-1::before { content: "\f2f3"; }
+.bi-dice-2-fill::before { content: "\f2f4"; }
+.bi-dice-2::before { content: "\f2f5"; }
+.bi-dice-3-fill::before { content: "\f2f6"; }
+.bi-dice-3::before { content: "\f2f7"; }
+.bi-dice-4-fill::before { content: "\f2f8"; }
+.bi-dice-4::before { content: "\f2f9"; }
+.bi-dice-5-fill::before { content: "\f2fa"; }
+.bi-dice-5::before { content: "\f2fb"; }
+.bi-dice-6-fill::before { content: "\f2fc"; }
+.bi-dice-6::before { content: "\f2fd"; }
+.bi-disc-fill::before { content: "\f2fe"; }
+.bi-disc::before { content: "\f2ff"; }
+.bi-discord::before { content: "\f300"; }
+.bi-display-fill::before { content: "\f301"; }
+.bi-display::before { content: "\f302"; }
+.bi-distribute-horizontal::before { content: "\f303"; }
+.bi-distribute-vertical::before { content: "\f304"; }
+.bi-door-closed-fill::before { content: "\f305"; }
+.bi-door-closed::before { content: "\f306"; }
+.bi-door-open-fill::before { content: "\f307"; }
+.bi-door-open::before { content: "\f308"; }
+.bi-dot::before { content: "\f309"; }
+.bi-download::before { content: "\f30a"; }
+.bi-droplet-fill::before { content: "\f30b"; }
+.bi-droplet-half::before { content: "\f30c"; }
+.bi-droplet::before { content: "\f30d"; }
+.bi-earbuds::before { content: "\f30e"; }
+.bi-easel-fill::before { content: "\f30f"; }
+.bi-easel::before { content: "\f310"; }
+.bi-egg-fill::before { content: "\f311"; }
+.bi-egg-fried::before { content: "\f312"; }
+.bi-egg::before { content: "\f313"; }
+.bi-eject-fill::before { content: "\f314"; }
+.bi-eject::before { content: "\f315"; }
+.bi-emoji-angry-fill::before { content: "\f316"; }
+.bi-emoji-angry::before { content: "\f317"; }
+.bi-emoji-dizzy-fill::before { content: "\f318"; }
+.bi-emoji-dizzy::before { content: "\f319"; }
+.bi-emoji-expressionless-fill::before { content: "\f31a"; }
+.bi-emoji-expressionless::before { content: "\f31b"; }
+.bi-emoji-frown-fill::before { content: "\f31c"; }
+.bi-emoji-frown::before { content: "\f31d"; }
+.bi-emoji-heart-eyes-fill::before { content: "\f31e"; }
+.bi-emoji-heart-eyes::before { content: "\f31f"; }
+.bi-emoji-laughing-fill::before { content: "\f320"; }
+.bi-emoji-laughing::before { content: "\f321"; }
+.bi-emoji-neutral-fill::before { content: "\f322"; }
+.bi-emoji-neutral::before { content: "\f323"; }
+.bi-emoji-smile-fill::before { content: "\f324"; }
+.bi-emoji-smile-upside-down-fill::before { content: "\f325"; }
+.bi-emoji-smile-upside-down::before { content: "\f326"; }
+.bi-emoji-smile::before { content: "\f327"; }
+.bi-emoji-sunglasses-fill::before { content: "\f328"; }
+.bi-emoji-sunglasses::before { content: "\f329"; }
+.bi-emoji-wink-fill::before { content: "\f32a"; }
+.bi-emoji-wink::before { content: "\f32b"; }
+.bi-envelope-fill::before { content: "\f32c"; }
+.bi-envelope-open-fill::before { content: "\f32d"; }
+.bi-envelope-open::before { content: "\f32e"; }
+.bi-envelope::before { content: "\f32f"; }
+.bi-eraser-fill::before { content: "\f330"; }
+.bi-eraser::before { content: "\f331"; }
+.bi-exclamation-circle-fill::before { content: "\f332"; }
+.bi-exclamation-circle::before { content: "\f333"; }
+.bi-exclamation-diamond-fill::before { content: "\f334"; }
+.bi-exclamation-diamond::before { content: "\f335"; }
+.bi-exclamation-octagon-fill::before { content: "\f336"; }
+.bi-exclamation-octagon::before { content: "\f337"; }
+.bi-exclamation-square-fill::before { content: "\f338"; }
+.bi-exclamation-square::before { content: "\f339"; }
+.bi-exclamation-triangle-fill::before { content: "\f33a"; }
+.bi-exclamation-triangle::before { content: "\f33b"; }
+.bi-exclamation::before { content: "\f33c"; }
+.bi-exclude::before { content: "\f33d"; }
+.bi-eye-fill::before { content: "\f33e"; }
+.bi-eye-slash-fill::before { content: "\f33f"; }
+.bi-eye-slash::before { content: "\f340"; }
+.bi-eye::before { content: "\f341"; }
+.bi-eyedropper::before { content: "\f342"; }
+.bi-eyeglasses::before { content: "\f343"; }
+.bi-facebook::before { content: "\f344"; }
+.bi-file-arrow-down-fill::before { content: "\f345"; }
+.bi-file-arrow-down::before { content: "\f346"; }
+.bi-file-arrow-up-fill::before { content: "\f347"; }
+.bi-file-arrow-up::before { content: "\f348"; }
+.bi-file-bar-graph-fill::before { content: "\f349"; }
+.bi-file-bar-graph::before { content: "\f34a"; }
+.bi-file-binary-fill::before { content: "\f34b"; }
+.bi-file-binary::before { content: "\f34c"; }
+.bi-file-break-fill::before { content: "\f34d"; }
+.bi-file-break::before { content: "\f34e"; }
+.bi-file-check-fill::before { content: "\f34f"; }
+.bi-file-check::before { content: "\f350"; }
+.bi-file-code-fill::before { content: "\f351"; }
+.bi-file-code::before { content: "\f352"; }
+.bi-file-diff-fill::before { content: "\f353"; }
+.bi-file-diff::before { content: "\f354"; }
+.bi-file-earmark-arrow-down-fill::before { content: "\f355"; }
+.bi-file-earmark-arrow-down::before { content: "\f356"; }
+.bi-file-earmark-arrow-up-fill::before { content: "\f357"; }
+.bi-file-earmark-arrow-up::before { content: "\f358"; }
+.bi-file-earmark-bar-graph-fill::before { content: "\f359"; }
+.bi-file-earmark-bar-graph::before { content: "\f35a"; }
+.bi-file-earmark-binary-fill::before { content: "\f35b"; }
+.bi-file-earmark-binary::before { content: "\f35c"; }
+.bi-file-earmark-break-fill::before { content: "\f35d"; }
+.bi-file-earmark-break::before { content: "\f35e"; }
+.bi-file-earmark-check-fill::before { content: "\f35f"; }
+.bi-file-earmark-check::before { content: "\f360"; }
+.bi-file-earmark-code-fill::before { content: "\f361"; }
+.bi-file-earmark-code::before { content: "\f362"; }
+.bi-file-earmark-diff-fill::before { content: "\f363"; }
+.bi-file-earmark-diff::before { content: "\f364"; }
+.bi-file-earmark-easel-fill::before { content: "\f365"; }
+.bi-file-earmark-easel::before { content: "\f366"; }
+.bi-file-earmark-excel-fill::before { content: "\f367"; }
+.bi-file-earmark-excel::before { content: "\f368"; }
+.bi-file-earmark-fill::before { content: "\f369"; }
+.bi-file-earmark-font-fill::before { content: "\f36a"; }
+.bi-file-earmark-font::before { content: "\f36b"; }
+.bi-file-earmark-image-fill::before { content: "\f36c"; }
+.bi-file-earmark-image::before { content: "\f36d"; }
+.bi-file-earmark-lock-fill::before { content: "\f36e"; }
+.bi-file-earmark-lock::before { content: "\f36f"; }
+.bi-file-earmark-lock2-fill::before { content: "\f370"; }
+.bi-file-earmark-lock2::before { content: "\f371"; }
+.bi-file-earmark-medical-fill::before { content: "\f372"; }
+.bi-file-earmark-medical::before { content: "\f373"; }
+.bi-file-earmark-minus-fill::before { content: "\f374"; }
+.bi-file-earmark-minus::before { content: "\f375"; }
+.bi-file-earmark-music-fill::before { content: "\f376"; }
+.bi-file-earmark-music::before { content: "\f377"; }
+.bi-file-earmark-person-fill::before { content: "\f378"; }
+.bi-file-earmark-person::before { content: "\f379"; }
+.bi-file-earmark-play-fill::before { content: "\f37a"; }
+.bi-file-earmark-play::before { content: "\f37b"; }
+.bi-file-earmark-plus-fill::before { content: "\f37c"; }
+.bi-file-earmark-plus::before { content: "\f37d"; }
+.bi-file-earmark-post-fill::before { content: "\f37e"; }
+.bi-file-earmark-post::before { content: "\f37f"; }
+.bi-file-earmark-ppt-fill::before { content: "\f380"; }
+.bi-file-earmark-ppt::before { content: "\f381"; }
+.bi-file-earmark-richtext-fill::before { content: "\f382"; }
+.bi-file-earmark-richtext::before { content: "\f383"; }
+.bi-file-earmark-ruled-fill::before { content: "\f384"; }
+.bi-file-earmark-ruled::before { content: "\f385"; }
+.bi-file-earmark-slides-fill::before { content: "\f386"; }
+.bi-file-earmark-slides::before { content: "\f387"; }
+.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; }
+.bi-file-earmark-spreadsheet::before { content: "\f389"; }
+.bi-file-earmark-text-fill::before { content: "\f38a"; }
+.bi-file-earmark-text::before { content: "\f38b"; }
+.bi-file-earmark-word-fill::before { content: "\f38c"; }
+.bi-file-earmark-word::before { content: "\f38d"; }
+.bi-file-earmark-x-fill::before { content: "\f38e"; }
+.bi-file-earmark-x::before { content: "\f38f"; }
+.bi-file-earmark-zip-fill::before { content: "\f390"; }
+.bi-file-earmark-zip::before { content: "\f391"; }
+.bi-file-earmark::before { content: "\f392"; }
+.bi-file-easel-fill::before { content: "\f393"; }
+.bi-file-easel::before { content: "\f394"; }
+.bi-file-excel-fill::before { content: "\f395"; }
+.bi-file-excel::before { content: "\f396"; }
+.bi-file-fill::before { content: "\f397"; }
+.bi-file-font-fill::before { content: "\f398"; }
+.bi-file-font::before { content: "\f399"; }
+.bi-file-image-fill::before { content: "\f39a"; }
+.bi-file-image::before { content: "\f39b"; }
+.bi-file-lock-fill::before { content: "\f39c"; }
+.bi-file-lock::before { content: "\f39d"; }
+.bi-file-lock2-fill::before { content: "\f39e"; }
+.bi-file-lock2::before { content: "\f39f"; }
+.bi-file-medical-fill::before { content: "\f3a0"; }
+.bi-file-medical::before { content: "\f3a1"; }
+.bi-file-minus-fill::before { content: "\f3a2"; }
+.bi-file-minus::before { content: "\f3a3"; }
+.bi-file-music-fill::before { content: "\f3a4"; }
+.bi-file-music::before { content: "\f3a5"; }
+.bi-file-person-fill::before { content: "\f3a6"; }
+.bi-file-person::before { content: "\f3a7"; }
+.bi-file-play-fill::before { content: "\f3a8"; }
+.bi-file-play::before { content: "\f3a9"; }
+.bi-file-plus-fill::before { content: "\f3aa"; }
+.bi-file-plus::before { content: "\f3ab"; }
+.bi-file-post-fill::before { content: "\f3ac"; }
+.bi-file-post::before { content: "\f3ad"; }
+.bi-file-ppt-fill::before { content: "\f3ae"; }
+.bi-file-ppt::before { content: "\f3af"; }
+.bi-file-richtext-fill::before { content: "\f3b0"; }
+.bi-file-richtext::before { content: "\f3b1"; }
+.bi-file-ruled-fill::before { content: "\f3b2"; }
+.bi-file-ruled::before { content: "\f3b3"; }
+.bi-file-slides-fill::before { content: "\f3b4"; }
+.bi-file-slides::before { content: "\f3b5"; }
+.bi-file-spreadsheet-fill::before { content: "\f3b6"; }
+.bi-file-spreadsheet::before { content: "\f3b7"; }
+.bi-file-text-fill::before { content: "\f3b8"; }
+.bi-file-text::before { content: "\f3b9"; }
+.bi-file-word-fill::before { content: "\f3ba"; }
+.bi-file-word::before { content: "\f3bb"; }
+.bi-file-x-fill::before { content: "\f3bc"; }
+.bi-file-x::before { content: "\f3bd"; }
+.bi-file-zip-fill::before { content: "\f3be"; }
+.bi-file-zip::before { content: "\f3bf"; }
+.bi-file::before { content: "\f3c0"; }
+.bi-files-alt::before { content: "\f3c1"; }
+.bi-files::before { content: "\f3c2"; }
+.bi-film::before { content: "\f3c3"; }
+.bi-filter-circle-fill::before { content: "\f3c4"; }
+.bi-filter-circle::before { content: "\f3c5"; }
+.bi-filter-left::before { content: "\f3c6"; }
+.bi-filter-right::before { content: "\f3c7"; }
+.bi-filter-square-fill::before { content: "\f3c8"; }
+.bi-filter-square::before { content: "\f3c9"; }
+.bi-filter::before { content: "\f3ca"; }
+.bi-flag-fill::before { content: "\f3cb"; }
+.bi-flag::before { content: "\f3cc"; }
+.bi-flower1::before { content: "\f3cd"; }
+.bi-flower2::before { content: "\f3ce"; }
+.bi-flower3::before { content: "\f3cf"; }
+.bi-folder-check::before { content: "\f3d0"; }
+.bi-folder-fill::before { content: "\f3d1"; }
+.bi-folder-minus::before { content: "\f3d2"; }
+.bi-folder-plus::before { content: "\f3d3"; }
+.bi-folder-symlink-fill::before { content: "\f3d4"; }
+.bi-folder-symlink::before { content: "\f3d5"; }
+.bi-folder-x::before { content: "\f3d6"; }
+.bi-folder::before { content: "\f3d7"; }
+.bi-folder2-open::before { content: "\f3d8"; }
+.bi-folder2::before { content: "\f3d9"; }
+.bi-fonts::before { content: "\f3da"; }
+.bi-forward-fill::before { content: "\f3db"; }
+.bi-forward::before { content: "\f3dc"; }
+.bi-front::before { content: "\f3dd"; }
+.bi-fullscreen-exit::before { content: "\f3de"; }
+.bi-fullscreen::before { content: "\f3df"; }
+.bi-funnel-fill::before { content: "\f3e0"; }
+.bi-funnel::before { content: "\f3e1"; }
+.bi-gear-fill::before { content: "\f3e2"; }
+.bi-gear-wide-connected::before { content: "\f3e3"; }
+.bi-gear-wide::before { content: "\f3e4"; }
+.bi-gear::before { content: "\f3e5"; }
+.bi-gem::before { content: "\f3e6"; }
+.bi-geo-alt-fill::before { content: "\f3e7"; }
+.bi-geo-alt::before { content: "\f3e8"; }
+.bi-geo-fill::before { content: "\f3e9"; }
+.bi-geo::before { content: "\f3ea"; }
+.bi-gift-fill::before { content: "\f3eb"; }
+.bi-gift::before { content: "\f3ec"; }
+.bi-github::before { content: "\f3ed"; }
+.bi-globe::before { content: "\f3ee"; }
+.bi-globe2::before { content: "\f3ef"; }
+.bi-google::before { content: "\f3f0"; }
+.bi-graph-down::before { content: "\f3f1"; }
+.bi-graph-up::before { content: "\f3f2"; }
+.bi-grid-1x2-fill::before { content: "\f3f3"; }
+.bi-grid-1x2::before { content: "\f3f4"; }
+.bi-grid-3x2-gap-fill::before { content: "\f3f5"; }
+.bi-grid-3x2-gap::before { content: "\f3f6"; }
+.bi-grid-3x2::before { content: "\f3f7"; }
+.bi-grid-3x3-gap-fill::before { content: "\f3f8"; }
+.bi-grid-3x3-gap::before { content: "\f3f9"; }
+.bi-grid-3x3::before { content: "\f3fa"; }
+.bi-grid-fill::before { content: "\f3fb"; }
+.bi-grid::before { content: "\f3fc"; }
+.bi-grip-horizontal::before { content: "\f3fd"; }
+.bi-grip-vertical::before { content: "\f3fe"; }
+.bi-hammer::before { content: "\f3ff"; }
+.bi-hand-index-fill::before { content: "\f400"; }
+.bi-hand-index-thumb-fill::before { content: "\f401"; }
+.bi-hand-index-thumb::before { content: "\f402"; }
+.bi-hand-index::before { content: "\f403"; }
+.bi-hand-thumbs-down-fill::before { content: "\f404"; }
+.bi-hand-thumbs-down::before { content: "\f405"; }
+.bi-hand-thumbs-up-fill::before { content: "\f406"; }
+.bi-hand-thumbs-up::before { content: "\f407"; }
+.bi-handbag-fill::before { content: "\f408"; }
+.bi-handbag::before { content: "\f409"; }
+.bi-hash::before { content: "\f40a"; }
+.bi-hdd-fill::before { content: "\f40b"; }
+.bi-hdd-network-fill::before { content: "\f40c"; }
+.bi-hdd-network::before { content: "\f40d"; }
+.bi-hdd-rack-fill::before { content: "\f40e"; }
+.bi-hdd-rack::before { content: "\f40f"; }
+.bi-hdd-stack-fill::before { content: "\f410"; }
+.bi-hdd-stack::before { content: "\f411"; }
+.bi-hdd::before { content: "\f412"; }
+.bi-headphones::before { content: "\f413"; }
+.bi-headset::before { content: "\f414"; }
+.bi-heart-fill::before { content: "\f415"; }
+.bi-heart-half::before { content: "\f416"; }
+.bi-heart::before { content: "\f417"; }
+.bi-heptagon-fill::before { content: "\f418"; }
+.bi-heptagon-half::before { content: "\f419"; }
+.bi-heptagon::before { content: "\f41a"; }
+.bi-hexagon-fill::before { content: "\f41b"; }
+.bi-hexagon-half::before { content: "\f41c"; }
+.bi-hexagon::before { content: "\f41d"; }
+.bi-hourglass-bottom::before { content: "\f41e"; }
+.bi-hourglass-split::before { content: "\f41f"; }
+.bi-hourglass-top::before { content: "\f420"; }
+.bi-hourglass::before { content: "\f421"; }
+.bi-house-door-fill::before { content: "\f422"; }
+.bi-house-door::before { content: "\f423"; }
+.bi-house-fill::before { content: "\f424"; }
+.bi-house::before { content: "\f425"; }
+.bi-hr::before { content: "\f426"; }
+.bi-hurricane::before { content: "\f427"; }
+.bi-image-alt::before { content: "\f428"; }
+.bi-image-fill::before { content: "\f429"; }
+.bi-image::before { content: "\f42a"; }
+.bi-images::before { content: "\f42b"; }
+.bi-inbox-fill::before { content: "\f42c"; }
+.bi-inbox::before { content: "\f42d"; }
+.bi-inboxes-fill::before { content: "\f42e"; }
+.bi-inboxes::before { content: "\f42f"; }
+.bi-info-circle-fill::before { content: "\f430"; }
+.bi-info-circle::before { content: "\f431"; }
+.bi-info-square-fill::before { content: "\f432"; }
+.bi-info-square::before { content: "\f433"; }
+.bi-info::before { content: "\f434"; }
+.bi-input-cursor-text::before { content: "\f435"; }
+.bi-input-cursor::before { content: "\f436"; }
+.bi-instagram::before { content: "\f437"; }
+.bi-intersect::before { content: "\f438"; }
+.bi-journal-album::before { content: "\f439"; }
+.bi-journal-arrow-down::before { content: "\f43a"; }
+.bi-journal-arrow-up::before { content: "\f43b"; }
+.bi-journal-bookmark-fill::before { content: "\f43c"; }
+.bi-journal-bookmark::before { content: "\f43d"; }
+.bi-journal-check::before { content: "\f43e"; }
+.bi-journal-code::before { content: "\f43f"; }
+.bi-journal-medical::before { content: "\f440"; }
+.bi-journal-minus::before { content: "\f441"; }
+.bi-journal-plus::before { content: "\f442"; }
+.bi-journal-richtext::before { content: "\f443"; }
+.bi-journal-text::before { content: "\f444"; }
+.bi-journal-x::before { content: "\f445"; }
+.bi-journal::before { content: "\f446"; }
+.bi-journals::before { content: "\f447"; }
+.bi-joystick::before { content: "\f448"; }
+.bi-justify-left::before { content: "\f449"; }
+.bi-justify-right::before { content: "\f44a"; }
+.bi-justify::before { content: "\f44b"; }
+.bi-kanban-fill::before { content: "\f44c"; }
+.bi-kanban::before { content: "\f44d"; }
+.bi-key-fill::before { content: "\f44e"; }
+.bi-key::before { content: "\f44f"; }
+.bi-keyboard-fill::before { content: "\f450"; }
+.bi-keyboard::before { content: "\f451"; }
+.bi-ladder::before { content: "\f452"; }
+.bi-lamp-fill::before { content: "\f453"; }
+.bi-lamp::before { content: "\f454"; }
+.bi-laptop-fill::before { content: "\f455"; }
+.bi-laptop::before { content: "\f456"; }
+.bi-layer-backward::before { content: "\f457"; }
+.bi-layer-forward::before { content: "\f458"; }
+.bi-layers-fill::before { content: "\f459"; }
+.bi-layers-half::before { content: "\f45a"; }
+.bi-layers::before { content: "\f45b"; }
+.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; }
+.bi-layout-sidebar-inset::before { content: "\f45d"; }
+.bi-layout-sidebar-reverse::before { content: "\f45e"; }
+.bi-layout-sidebar::before { content: "\f45f"; }
+.bi-layout-split::before { content: "\f460"; }
+.bi-layout-text-sidebar-reverse::before { content: "\f461"; }
+.bi-layout-text-sidebar::before { content: "\f462"; }
+.bi-layout-text-window-reverse::before { content: "\f463"; }
+.bi-layout-text-window::before { content: "\f464"; }
+.bi-layout-three-columns::before { content: "\f465"; }
+.bi-layout-wtf::before { content: "\f466"; }
+.bi-life-preserver::before { content: "\f467"; }
+.bi-lightbulb-fill::before { content: "\f468"; }
+.bi-lightbulb-off-fill::before { content: "\f469"; }
+.bi-lightbulb-off::before { content: "\f46a"; }
+.bi-lightbulb::before { content: "\f46b"; }
+.bi-lightning-charge-fill::before { content: "\f46c"; }
+.bi-lightning-charge::before { content: "\f46d"; }
+.bi-lightning-fill::before { content: "\f46e"; }
+.bi-lightning::before { content: "\f46f"; }
+.bi-link-45deg::before { content: "\f470"; }
+.bi-link::before { content: "\f471"; }
+.bi-linkedin::before { content: "\f472"; }
+.bi-list-check::before { content: "\f473"; }
+.bi-list-nested::before { content: "\f474"; }
+.bi-list-ol::before { content: "\f475"; }
+.bi-list-stars::before { content: "\f476"; }
+.bi-list-task::before { content: "\f477"; }
+.bi-list-ul::before { content: "\f478"; }
+.bi-list::before { content: "\f479"; }
+.bi-lock-fill::before { content: "\f47a"; }
+.bi-lock::before { content: "\f47b"; }
+.bi-mailbox::before { content: "\f47c"; }
+.bi-mailbox2::before { content: "\f47d"; }
+.bi-map-fill::before { content: "\f47e"; }
+.bi-map::before { content: "\f47f"; }
+.bi-markdown-fill::before { content: "\f480"; }
+.bi-markdown::before { content: "\f481"; }
+.bi-mask::before { content: "\f482"; }
+.bi-megaphone-fill::before { content: "\f483"; }
+.bi-megaphone::before { content: "\f484"; }
+.bi-menu-app-fill::before { content: "\f485"; }
+.bi-menu-app::before { content: "\f486"; }
+.bi-menu-button-fill::before { content: "\f487"; }
+.bi-menu-button-wide-fill::before { content: "\f488"; }
+.bi-menu-button-wide::before { content: "\f489"; }
+.bi-menu-button::before { content: "\f48a"; }
+.bi-menu-down::before { content: "\f48b"; }
+.bi-menu-up::before { content: "\f48c"; }
+.bi-mic-fill::before { content: "\f48d"; }
+.bi-mic-mute-fill::before { content: "\f48e"; }
+.bi-mic-mute::before { content: "\f48f"; }
+.bi-mic::before { content: "\f490"; }
+.bi-minecart-loaded::before { content: "\f491"; }
+.bi-minecart::before { content: "\f492"; }
+.bi-moisture::before { content: "\f493"; }
+.bi-moon-fill::before { content: "\f494"; }
+.bi-moon-stars-fill::before { content: "\f495"; }
+.bi-moon-stars::before { content: "\f496"; }
+.bi-moon::before { content: "\f497"; }
+.bi-mouse-fill::before { content: "\f498"; }
+.bi-mouse::before { content: "\f499"; }
+.bi-mouse2-fill::before { content: "\f49a"; }
+.bi-mouse2::before { content: "\f49b"; }
+.bi-mouse3-fill::before { content: "\f49c"; }
+.bi-mouse3::before { content: "\f49d"; }
+.bi-music-note-beamed::before { content: "\f49e"; }
+.bi-music-note-list::before { content: "\f49f"; }
+.bi-music-note::before { content: "\f4a0"; }
+.bi-music-player-fill::before { content: "\f4a1"; }
+.bi-music-player::before { content: "\f4a2"; }
+.bi-newspaper::before { content: "\f4a3"; }
+.bi-node-minus-fill::before { content: "\f4a4"; }
+.bi-node-minus::before { content: "\f4a5"; }
+.bi-node-plus-fill::before { content: "\f4a6"; }
+.bi-node-plus::before { content: "\f4a7"; }
+.bi-nut-fill::before { content: "\f4a8"; }
+.bi-nut::before { content: "\f4a9"; }
+.bi-octagon-fill::before { content: "\f4aa"; }
+.bi-octagon-half::before { content: "\f4ab"; }
+.bi-octagon::before { content: "\f4ac"; }
+.bi-option::before { content: "\f4ad"; }
+.bi-outlet::before { content: "\f4ae"; }
+.bi-paint-bucket::before { content: "\f4af"; }
+.bi-palette-fill::before { content: "\f4b0"; }
+.bi-palette::before { content: "\f4b1"; }
+.bi-palette2::before { content: "\f4b2"; }
+.bi-paperclip::before { content: "\f4b3"; }
+.bi-paragraph::before { content: "\f4b4"; }
+.bi-patch-check-fill::before { content: "\f4b5"; }
+.bi-patch-check::before { content: "\f4b6"; }
+.bi-patch-exclamation-fill::before { content: "\f4b7"; }
+.bi-patch-exclamation::before { content: "\f4b8"; }
+.bi-patch-minus-fill::before { content: "\f4b9"; }
+.bi-patch-minus::before { content: "\f4ba"; }
+.bi-patch-plus-fill::before { content: "\f4bb"; }
+.bi-patch-plus::before { content: "\f4bc"; }
+.bi-patch-question-fill::before { content: "\f4bd"; }
+.bi-patch-question::before { content: "\f4be"; }
+.bi-pause-btn-fill::before { content: "\f4bf"; }
+.bi-pause-btn::before { content: "\f4c0"; }
+.bi-pause-circle-fill::before { content: "\f4c1"; }
+.bi-pause-circle::before { content: "\f4c2"; }
+.bi-pause-fill::before { content: "\f4c3"; }
+.bi-pause::before { content: "\f4c4"; }
+.bi-peace-fill::before { content: "\f4c5"; }
+.bi-peace::before { content: "\f4c6"; }
+.bi-pen-fill::before { content: "\f4c7"; }
+.bi-pen::before { content: "\f4c8"; }
+.bi-pencil-fill::before { content: "\f4c9"; }
+.bi-pencil-square::before { content: "\f4ca"; }
+.bi-pencil::before { content: "\f4cb"; }
+.bi-pentagon-fill::before { content: "\f4cc"; }
+.bi-pentagon-half::before { content: "\f4cd"; }
+.bi-pentagon::before { content: "\f4ce"; }
+.bi-people-fill::before { content: "\f4cf"; }
+.bi-people::before { content: "\f4d0"; }
+.bi-percent::before { content: "\f4d1"; }
+.bi-person-badge-fill::before { content: "\f4d2"; }
+.bi-person-badge::before { content: "\f4d3"; }
+.bi-person-bounding-box::before { content: "\f4d4"; }
+.bi-person-check-fill::before { content: "\f4d5"; }
+.bi-person-check::before { content: "\f4d6"; }
+.bi-person-circle::before { content: "\f4d7"; }
+.bi-person-dash-fill::before { content: "\f4d8"; }
+.bi-person-dash::before { content: "\f4d9"; }
+.bi-person-fill::before { content: "\f4da"; }
+.bi-person-lines-fill::before { content: "\f4db"; }
+.bi-person-plus-fill::before { content: "\f4dc"; }
+.bi-person-plus::before { content: "\f4dd"; }
+.bi-person-square::before { content: "\f4de"; }
+.bi-person-x-fill::before { content: "\f4df"; }
+.bi-person-x::before { content: "\f4e0"; }
+.bi-person::before { content: "\f4e1"; }
+.bi-phone-fill::before { content: "\f4e2"; }
+.bi-phone-landscape-fill::before { content: "\f4e3"; }
+.bi-phone-landscape::before { content: "\f4e4"; }
+.bi-phone-vibrate-fill::before { content: "\f4e5"; }
+.bi-phone-vibrate::before { content: "\f4e6"; }
+.bi-phone::before { content: "\f4e7"; }
+.bi-pie-chart-fill::before { content: "\f4e8"; }
+.bi-pie-chart::before { content: "\f4e9"; }
+.bi-pin-angle-fill::before { content: "\f4ea"; }
+.bi-pin-angle::before { content: "\f4eb"; }
+.bi-pin-fill::before { content: "\f4ec"; }
+.bi-pin::before { content: "\f4ed"; }
+.bi-pip-fill::before { content: "\f4ee"; }
+.bi-pip::before { content: "\f4ef"; }
+.bi-play-btn-fill::before { content: "\f4f0"; }
+.bi-play-btn::before { content: "\f4f1"; }
+.bi-play-circle-fill::before { content: "\f4f2"; }
+.bi-play-circle::before { content: "\f4f3"; }
+.bi-play-fill::before { content: "\f4f4"; }
+.bi-play::before { content: "\f4f5"; }
+.bi-plug-fill::before { content: "\f4f6"; }
+.bi-plug::before { content: "\f4f7"; }
+.bi-plus-circle-dotted::before { content: "\f4f8"; }
+.bi-plus-circle-fill::before { content: "\f4f9"; }
+.bi-plus-circle::before { content: "\f4fa"; }
+.bi-plus-square-dotted::before { content: "\f4fb"; }
+.bi-plus-square-fill::before { content: "\f4fc"; }
+.bi-plus-square::before { content: "\f4fd"; }
+.bi-plus::before { content: "\f4fe"; }
+.bi-power::before { content: "\f4ff"; }
+.bi-printer-fill::before { content: "\f500"; }
+.bi-printer::before { content: "\f501"; }
+.bi-puzzle-fill::before { content: "\f502"; }
+.bi-puzzle::before { content: "\f503"; }
+.bi-question-circle-fill::before { content: "\f504"; }
+.bi-question-circle::before { content: "\f505"; }
+.bi-question-diamond-fill::before { content: "\f506"; }
+.bi-question-diamond::before { content: "\f507"; }
+.bi-question-octagon-fill::before { content: "\f508"; }
+.bi-question-octagon::before { content: "\f509"; }
+.bi-question-square-fill::before { content: "\f50a"; }
+.bi-question-square::before { content: "\f50b"; }
+.bi-question::before { content: "\f50c"; }
+.bi-rainbow::before { content: "\f50d"; }
+.bi-receipt-cutoff::before { content: "\f50e"; }
+.bi-receipt::before { content: "\f50f"; }
+.bi-reception-0::before { content: "\f510"; }
+.bi-reception-1::before { content: "\f511"; }
+.bi-reception-2::before { content: "\f512"; }
+.bi-reception-3::before { content: "\f513"; }
+.bi-reception-4::before { content: "\f514"; }
+.bi-record-btn-fill::before { content: "\f515"; }
+.bi-record-btn::before { content: "\f516"; }
+.bi-record-circle-fill::before { content: "\f517"; }
+.bi-record-circle::before { content: "\f518"; }
+.bi-record-fill::before { content: "\f519"; }
+.bi-record::before { content: "\f51a"; }
+.bi-record2-fill::before { content: "\f51b"; }
+.bi-record2::before { content: "\f51c"; }
+.bi-reply-all-fill::before { content: "\f51d"; }
+.bi-reply-all::before { content: "\f51e"; }
+.bi-reply-fill::before { content: "\f51f"; }
+.bi-reply::before { content: "\f520"; }
+.bi-rss-fill::before { content: "\f521"; }
+.bi-rss::before { content: "\f522"; }
+.bi-rulers::before { content: "\f523"; }
+.bi-save-fill::before { content: "\f524"; }
+.bi-save::before { content: "\f525"; }
+.bi-save2-fill::before { content: "\f526"; }
+.bi-save2::before { content: "\f527"; }
+.bi-scissors::before { content: "\f528"; }
+.bi-screwdriver::before { content: "\f529"; }
+.bi-search::before { content: "\f52a"; }
+.bi-segmented-nav::before { content: "\f52b"; }
+.bi-server::before { content: "\f52c"; }
+.bi-share-fill::before { content: "\f52d"; }
+.bi-share::before { content: "\f52e"; }
+.bi-shield-check::before { content: "\f52f"; }
+.bi-shield-exclamation::before { content: "\f530"; }
+.bi-shield-fill-check::before { content: "\f531"; }
+.bi-shield-fill-exclamation::before { content: "\f532"; }
+.bi-shield-fill-minus::before { content: "\f533"; }
+.bi-shield-fill-plus::before { content: "\f534"; }
+.bi-shield-fill-x::before { content: "\f535"; }
+.bi-shield-fill::before { content: "\f536"; }
+.bi-shield-lock-fill::before { content: "\f537"; }
+.bi-shield-lock::before { content: "\f538"; }
+.bi-shield-minus::before { content: "\f539"; }
+.bi-shield-plus::before { content: "\f53a"; }
+.bi-shield-shaded::before { content: "\f53b"; }
+.bi-shield-slash-fill::before { content: "\f53c"; }
+.bi-shield-slash::before { content: "\f53d"; }
+.bi-shield-x::before { content: "\f53e"; }
+.bi-shield::before { content: "\f53f"; }
+.bi-shift-fill::before { content: "\f540"; }
+.bi-shift::before { content: "\f541"; }
+.bi-shop-window::before { content: "\f542"; }
+.bi-shop::before { content: "\f543"; }
+.bi-shuffle::before { content: "\f544"; }
+.bi-signpost-2-fill::before { content: "\f545"; }
+.bi-signpost-2::before { content: "\f546"; }
+.bi-signpost-fill::before { content: "\f547"; }
+.bi-signpost-split-fill::before { content: "\f548"; }
+.bi-signpost-split::before { content: "\f549"; }
+.bi-signpost::before { content: "\f54a"; }
+.bi-sim-fill::before { content: "\f54b"; }
+.bi-sim::before { content: "\f54c"; }
+.bi-skip-backward-btn-fill::before { content: "\f54d"; }
+.bi-skip-backward-btn::before { content: "\f54e"; }
+.bi-skip-backward-circle-fill::before { content: "\f54f"; }
+.bi-skip-backward-circle::before { content: "\f550"; }
+.bi-skip-backward-fill::before { content: "\f551"; }
+.bi-skip-backward::before { content: "\f552"; }
+.bi-skip-end-btn-fill::before { content: "\f553"; }
+.bi-skip-end-btn::before { content: "\f554"; }
+.bi-skip-end-circle-fill::before { content: "\f555"; }
+.bi-skip-end-circle::before { content: "\f556"; }
+.bi-skip-end-fill::before { content: "\f557"; }
+.bi-skip-end::before { content: "\f558"; }
+.bi-skip-forward-btn-fill::before { content: "\f559"; }
+.bi-skip-forward-btn::before { content: "\f55a"; }
+.bi-skip-forward-circle-fill::before { content: "\f55b"; }
+.bi-skip-forward-circle::before { content: "\f55c"; }
+.bi-skip-forward-fill::before { content: "\f55d"; }
+.bi-skip-forward::before { content: "\f55e"; }
+.bi-skip-start-btn-fill::before { content: "\f55f"; }
+.bi-skip-start-btn::before { content: "\f560"; }
+.bi-skip-start-circle-fill::before { content: "\f561"; }
+.bi-skip-start-circle::before { content: "\f562"; }
+.bi-skip-start-fill::before { content: "\f563"; }
+.bi-skip-start::before { content: "\f564"; }
+.bi-slack::before { content: "\f565"; }
+.bi-slash-circle-fill::before { content: "\f566"; }
+.bi-slash-circle::before { content: "\f567"; }
+.bi-slash-square-fill::before { content: "\f568"; }
+.bi-slash-square::before { content: "\f569"; }
+.bi-slash::before { content: "\f56a"; }
+.bi-sliders::before { content: "\f56b"; }
+.bi-smartwatch::before { content: "\f56c"; }
+.bi-snow::before { content: "\f56d"; }
+.bi-snow2::before { content: "\f56e"; }
+.bi-snow3::before { content: "\f56f"; }
+.bi-sort-alpha-down-alt::before { content: "\f570"; }
+.bi-sort-alpha-down::before { content: "\f571"; }
+.bi-sort-alpha-up-alt::before { content: "\f572"; }
+.bi-sort-alpha-up::before { content: "\f573"; }
+.bi-sort-down-alt::before { content: "\f574"; }
+.bi-sort-down::before { content: "\f575"; }
+.bi-sort-numeric-down-alt::before { content: "\f576"; }
+.bi-sort-numeric-down::before { content: "\f577"; }
+.bi-sort-numeric-up-alt::before { content: "\f578"; }
+.bi-sort-numeric-up::before { content: "\f579"; }
+.bi-sort-up-alt::before { content: "\f57a"; }
+.bi-sort-up::before { content: "\f57b"; }
+.bi-soundwave::before { content: "\f57c"; }
+.bi-speaker-fill::before { content: "\f57d"; }
+.bi-speaker::before { content: "\f57e"; }
+.bi-speedometer::before { content: "\f57f"; }
+.bi-speedometer2::before { content: "\f580"; }
+.bi-spellcheck::before { content: "\f581"; }
+.bi-square-fill::before { content: "\f582"; }
+.bi-square-half::before { content: "\f583"; }
+.bi-square::before { content: "\f584"; }
+.bi-stack::before { content: "\f585"; }
+.bi-star-fill::before { content: "\f586"; }
+.bi-star-half::before { content: "\f587"; }
+.bi-star::before { content: "\f588"; }
+.bi-stars::before { content: "\f589"; }
+.bi-stickies-fill::before { content: "\f58a"; }
+.bi-stickies::before { content: "\f58b"; }
+.bi-sticky-fill::before { content: "\f58c"; }
+.bi-sticky::before { content: "\f58d"; }
+.bi-stop-btn-fill::before { content: "\f58e"; }
+.bi-stop-btn::before { content: "\f58f"; }
+.bi-stop-circle-fill::before { content: "\f590"; }
+.bi-stop-circle::before { content: "\f591"; }
+.bi-stop-fill::before { content: "\f592"; }
+.bi-stop::before { content: "\f593"; }
+.bi-stoplights-fill::before { content: "\f594"; }
+.bi-stoplights::before { content: "\f595"; }
+.bi-stopwatch-fill::before { content: "\f596"; }
+.bi-stopwatch::before { content: "\f597"; }
+.bi-subtract::before { content: "\f598"; }
+.bi-suit-club-fill::before { content: "\f599"; }
+.bi-suit-club::before { content: "\f59a"; }
+.bi-suit-diamond-fill::before { content: "\f59b"; }
+.bi-suit-diamond::before { content: "\f59c"; }
+.bi-suit-heart-fill::before { content: "\f59d"; }
+.bi-suit-heart::before { content: "\f59e"; }
+.bi-suit-spade-fill::before { content: "\f59f"; }
+.bi-suit-spade::before { content: "\f5a0"; }
+.bi-sun-fill::before { content: "\f5a1"; }
+.bi-sun::before { content: "\f5a2"; }
+.bi-sunglasses::before { content: "\f5a3"; }
+.bi-sunrise-fill::before { content: "\f5a4"; }
+.bi-sunrise::before { content: "\f5a5"; }
+.bi-sunset-fill::before { content: "\f5a6"; }
+.bi-sunset::before { content: "\f5a7"; }
+.bi-symmetry-horizontal::before { content: "\f5a8"; }
+.bi-symmetry-vertical::before { content: "\f5a9"; }
+.bi-table::before { content: "\f5aa"; }
+.bi-tablet-fill::before { content: "\f5ab"; }
+.bi-tablet-landscape-fill::before { content: "\f5ac"; }
+.bi-tablet-landscape::before { content: "\f5ad"; }
+.bi-tablet::before { content: "\f5ae"; }
+.bi-tag-fill::before { content: "\f5af"; }
+.bi-tag::before { content: "\f5b0"; }
+.bi-tags-fill::before { content: "\f5b1"; }
+.bi-tags::before { content: "\f5b2"; }
+.bi-telegram::before { content: "\f5b3"; }
+.bi-telephone-fill::before { content: "\f5b4"; }
+.bi-telephone-forward-fill::before { content: "\f5b5"; }
+.bi-telephone-forward::before { content: "\f5b6"; }
+.bi-telephone-inbound-fill::before { content: "\f5b7"; }
+.bi-telephone-inbound::before { content: "\f5b8"; }
+.bi-telephone-minus-fill::before { content: "\f5b9"; }
+.bi-telephone-minus::before { content: "\f5ba"; }
+.bi-telephone-outbound-fill::before { content: "\f5bb"; }
+.bi-telephone-outbound::before { content: "\f5bc"; }
+.bi-telephone-plus-fill::before { content: "\f5bd"; }
+.bi-telephone-plus::before { content: "\f5be"; }
+.bi-telephone-x-fill::before { content: "\f5bf"; }
+.bi-telephone-x::before { content: "\f5c0"; }
+.bi-telephone::before { content: "\f5c1"; }
+.bi-terminal-fill::before { content: "\f5c2"; }
+.bi-terminal::before { content: "\f5c3"; }
+.bi-text-center::before { content: "\f5c4"; }
+.bi-text-indent-left::before { content: "\f5c5"; }
+.bi-text-indent-right::before { content: "\f5c6"; }
+.bi-text-left::before { content: "\f5c7"; }
+.bi-text-paragraph::before { content: "\f5c8"; }
+.bi-text-right::before { content: "\f5c9"; }
+.bi-textarea-resize::before { content: "\f5ca"; }
+.bi-textarea-t::before { content: "\f5cb"; }
+.bi-textarea::before { content: "\f5cc"; }
+.bi-thermometer-half::before { content: "\f5cd"; }
+.bi-thermometer-high::before { content: "\f5ce"; }
+.bi-thermometer-low::before { content: "\f5cf"; }
+.bi-thermometer-snow::before { content: "\f5d0"; }
+.bi-thermometer-sun::before { content: "\f5d1"; }
+.bi-thermometer::before { content: "\f5d2"; }
+.bi-three-dots-vertical::before { content: "\f5d3"; }
+.bi-three-dots::before { content: "\f5d4"; }
+.bi-toggle-off::before { content: "\f5d5"; }
+.bi-toggle-on::before { content: "\f5d6"; }
+.bi-toggle2-off::before { content: "\f5d7"; }
+.bi-toggle2-on::before { content: "\f5d8"; }
+.bi-toggles::before { content: "\f5d9"; }
+.bi-toggles2::before { content: "\f5da"; }
+.bi-tools::before { content: "\f5db"; }
+.bi-tornado::before { content: "\f5dc"; }
+.bi-trash-fill::before { content: "\f5dd"; }
+.bi-trash::before { content: "\f5de"; }
+.bi-trash2-fill::before { content: "\f5df"; }
+.bi-trash2::before { content: "\f5e0"; }
+.bi-tree-fill::before { content: "\f5e1"; }
+.bi-tree::before { content: "\f5e2"; }
+.bi-triangle-fill::before { content: "\f5e3"; }
+.bi-triangle-half::before { content: "\f5e4"; }
+.bi-triangle::before { content: "\f5e5"; }
+.bi-trophy-fill::before { content: "\f5e6"; }
+.bi-trophy::before { content: "\f5e7"; }
+.bi-tropical-storm::before { content: "\f5e8"; }
+.bi-truck-flatbed::before { content: "\f5e9"; }
+.bi-truck::before { content: "\f5ea"; }
+.bi-tsunami::before { content: "\f5eb"; }
+.bi-tv-fill::before { content: "\f5ec"; }
+.bi-tv::before { content: "\f5ed"; }
+.bi-twitch::before { content: "\f5ee"; }
+.bi-twitter::before { content: "\f5ef"; }
+.bi-type-bold::before { content: "\f5f0"; }
+.bi-type-h1::before { content: "\f5f1"; }
+.bi-type-h2::before { content: "\f5f2"; }
+.bi-type-h3::before { content: "\f5f3"; }
+.bi-type-italic::before { content: "\f5f4"; }
+.bi-type-strikethrough::before { content: "\f5f5"; }
+.bi-type-underline::before { content: "\f5f6"; }
+.bi-type::before { content: "\f5f7"; }
+.bi-ui-checks-grid::before { content: "\f5f8"; }
+.bi-ui-checks::before { content: "\f5f9"; }
+.bi-ui-radios-grid::before { content: "\f5fa"; }
+.bi-ui-radios::before { content: "\f5fb"; }
+.bi-umbrella-fill::before { content: "\f5fc"; }
+.bi-umbrella::before { content: "\f5fd"; }
+.bi-union::before { content: "\f5fe"; }
+.bi-unlock-fill::before { content: "\f5ff"; }
+.bi-unlock::before { content: "\f600"; }
+.bi-upc-scan::before { content: "\f601"; }
+.bi-upc::before { content: "\f602"; }
+.bi-upload::before { content: "\f603"; }
+.bi-vector-pen::before { content: "\f604"; }
+.bi-view-list::before { content: "\f605"; }
+.bi-view-stacked::before { content: "\f606"; }
+.bi-vinyl-fill::before { content: "\f607"; }
+.bi-vinyl::before { content: "\f608"; }
+.bi-voicemail::before { content: "\f609"; }
+.bi-volume-down-fill::before { content: "\f60a"; }
+.bi-volume-down::before { content: "\f60b"; }
+.bi-volume-mute-fill::before { content: "\f60c"; }
+.bi-volume-mute::before { content: "\f60d"; }
+.bi-volume-off-fill::before { content: "\f60e"; }
+.bi-volume-off::before { content: "\f60f"; }
+.bi-volume-up-fill::before { content: "\f610"; }
+.bi-volume-up::before { content: "\f611"; }
+.bi-vr::before { content: "\f612"; }
+.bi-wallet-fill::before { content: "\f613"; }
+.bi-wallet::before { content: "\f614"; }
+.bi-wallet2::before { content: "\f615"; }
+.bi-watch::before { content: "\f616"; }
+.bi-water::before { content: "\f617"; }
+.bi-whatsapp::before { content: "\f618"; }
+.bi-wifi-1::before { content: "\f619"; }
+.bi-wifi-2::before { content: "\f61a"; }
+.bi-wifi-off::before { content: "\f61b"; }
+.bi-wifi::before { content: "\f61c"; }
+.bi-wind::before { content: "\f61d"; }
+.bi-window-dock::before { content: "\f61e"; }
+.bi-window-sidebar::before { content: "\f61f"; }
+.bi-window::before { content: "\f620"; }
+.bi-wrench::before { content: "\f621"; }
+.bi-x-circle-fill::before { content: "\f622"; }
+.bi-x-circle::before { content: "\f623"; }
+.bi-x-diamond-fill::before { content: "\f624"; }
+.bi-x-diamond::before { content: "\f625"; }
+.bi-x-octagon-fill::before { content: "\f626"; }
+.bi-x-octagon::before { content: "\f627"; }
+.bi-x-square-fill::before { content: "\f628"; }
+.bi-x-square::before { content: "\f629"; }
+.bi-x::before { content: "\f62a"; }
+.bi-youtube::before { content: "\f62b"; }
+.bi-zoom-in::before { content: "\f62c"; }
+.bi-zoom-out::before { content: "\f62d"; }
+.bi-bank::before { content: "\f62e"; }
+.bi-bank2::before { content: "\f62f"; }
+.bi-bell-slash-fill::before { content: "\f630"; }
+.bi-bell-slash::before { content: "\f631"; }
+.bi-cash-coin::before { content: "\f632"; }
+.bi-check-lg::before { content: "\f633"; }
+.bi-coin::before { content: "\f634"; }
+.bi-currency-bitcoin::before { content: "\f635"; }
+.bi-currency-dollar::before { content: "\f636"; }
+.bi-currency-euro::before { content: "\f637"; }
+.bi-currency-exchange::before { content: "\f638"; }
+.bi-currency-pound::before { content: "\f639"; }
+.bi-currency-yen::before { content: "\f63a"; }
+.bi-dash-lg::before { content: "\f63b"; }
+.bi-exclamation-lg::before { content: "\f63c"; }
+.bi-file-earmark-pdf-fill::before { content: "\f63d"; }
+.bi-file-earmark-pdf::before { content: "\f63e"; }
+.bi-file-pdf-fill::before { content: "\f63f"; }
+.bi-file-pdf::before { content: "\f640"; }
+.bi-gender-ambiguous::before { content: "\f641"; }
+.bi-gender-female::before { content: "\f642"; }
+.bi-gender-male::before { content: "\f643"; }
+.bi-gender-trans::before { content: "\f644"; }
+.bi-headset-vr::before { content: "\f645"; }
+.bi-info-lg::before { content: "\f646"; }
+.bi-mastodon::before { content: "\f647"; }
+.bi-messenger::before { content: "\f648"; }
+.bi-piggy-bank-fill::before { content: "\f649"; }
+.bi-piggy-bank::before { content: "\f64a"; }
+.bi-pin-map-fill::before { content: "\f64b"; }
+.bi-pin-map::before { content: "\f64c"; }
+.bi-plus-lg::before { content: "\f64d"; }
+.bi-question-lg::before { content: "\f64e"; }
+.bi-recycle::before { content: "\f64f"; }
+.bi-reddit::before { content: "\f650"; }
+.bi-safe-fill::before { content: "\f651"; }
+.bi-safe2-fill::before { content: "\f652"; }
+.bi-safe2::before { content: "\f653"; }
+.bi-sd-card-fill::before { content: "\f654"; }
+.bi-sd-card::before { content: "\f655"; }
+.bi-skype::before { content: "\f656"; }
+.bi-slash-lg::before { content: "\f657"; }
+.bi-translate::before { content: "\f658"; }
+.bi-x-lg::before { content: "\f659"; }
+.bi-safe::before { content: "\f65a"; }
+.bi-apple::before { content: "\f65b"; }
+.bi-microsoft::before { content: "\f65d"; }
+.bi-windows::before { content: "\f65e"; }
+.bi-behance::before { content: "\f65c"; }
+.bi-dribbble::before { content: "\f65f"; }
+.bi-line::before { content: "\f660"; }
+.bi-medium::before { content: "\f661"; }
+.bi-paypal::before { content: "\f662"; }
+.bi-pinterest::before { content: "\f663"; }
+.bi-signal::before { content: "\f664"; }
+.bi-snapchat::before { content: "\f665"; }
+.bi-spotify::before { content: "\f666"; }
+.bi-stack-overflow::before { content: "\f667"; }
+.bi-strava::before { content: "\f668"; }
+.bi-wordpress::before { content: "\f669"; }
+.bi-vimeo::before { content: "\f66a"; }
+.bi-activity::before { content: "\f66b"; }
+.bi-easel2-fill::before { content: "\f66c"; }
+.bi-easel2::before { content: "\f66d"; }
+.bi-easel3-fill::before { content: "\f66e"; }
+.bi-easel3::before { content: "\f66f"; }
+.bi-fan::before { content: "\f670"; }
+.bi-fingerprint::before { content: "\f671"; }
+.bi-graph-down-arrow::before { content: "\f672"; }
+.bi-graph-up-arrow::before { content: "\f673"; }
+.bi-hypnotize::before { content: "\f674"; }
+.bi-magic::before { content: "\f675"; }
+.bi-person-rolodex::before { content: "\f676"; }
+.bi-person-video::before { content: "\f677"; }
+.bi-person-video2::before { content: "\f678"; }
+.bi-person-video3::before { content: "\f679"; }
+.bi-person-workspace::before { content: "\f67a"; }
+.bi-radioactive::before { content: "\f67b"; }
+.bi-webcam-fill::before { content: "\f67c"; }
+.bi-webcam::before { content: "\f67d"; }
+.bi-yin-yang::before { content: "\f67e"; }
+.bi-bandaid-fill::before { content: "\f680"; }
+.bi-bandaid::before { content: "\f681"; }
+.bi-bluetooth::before { content: "\f682"; }
+.bi-body-text::before { content: "\f683"; }
+.bi-boombox::before { content: "\f684"; }
+.bi-boxes::before { content: "\f685"; }
+.bi-dpad-fill::before { content: "\f686"; }
+.bi-dpad::before { content: "\f687"; }
+.bi-ear-fill::before { content: "\f688"; }
+.bi-ear::before { content: "\f689"; }
+.bi-envelope-check-fill::before { content: "\f68b"; }
+.bi-envelope-check::before { content: "\f68c"; }
+.bi-envelope-dash-fill::before { content: "\f68e"; }
+.bi-envelope-dash::before { content: "\f68f"; }
+.bi-envelope-exclamation-fill::before { content: "\f691"; }
+.bi-envelope-exclamation::before { content: "\f692"; }
+.bi-envelope-plus-fill::before { content: "\f693"; }
+.bi-envelope-plus::before { content: "\f694"; }
+.bi-envelope-slash-fill::before { content: "\f696"; }
+.bi-envelope-slash::before { content: "\f697"; }
+.bi-envelope-x-fill::before { content: "\f699"; }
+.bi-envelope-x::before { content: "\f69a"; }
+.bi-explicit-fill::before { content: "\f69b"; }
+.bi-explicit::before { content: "\f69c"; }
+.bi-git::before { content: "\f69d"; }
+.bi-infinity::before { content: "\f69e"; }
+.bi-list-columns-reverse::before { content: "\f69f"; }
+.bi-list-columns::before { content: "\f6a0"; }
+.bi-meta::before { content: "\f6a1"; }
+.bi-nintendo-switch::before { content: "\f6a4"; }
+.bi-pc-display-horizontal::before { content: "\f6a5"; }
+.bi-pc-display::before { content: "\f6a6"; }
+.bi-pc-horizontal::before { content: "\f6a7"; }
+.bi-pc::before { content: "\f6a8"; }
+.bi-playstation::before { content: "\f6a9"; }
+.bi-plus-slash-minus::before { content: "\f6aa"; }
+.bi-projector-fill::before { content: "\f6ab"; }
+.bi-projector::before { content: "\f6ac"; }
+.bi-qr-code-scan::before { content: "\f6ad"; }
+.bi-qr-code::before { content: "\f6ae"; }
+.bi-quora::before { content: "\f6af"; }
+.bi-quote::before { content: "\f6b0"; }
+.bi-robot::before { content: "\f6b1"; }
+.bi-send-check-fill::before { content: "\f6b2"; }
+.bi-send-check::before { content: "\f6b3"; }
+.bi-send-dash-fill::before { content: "\f6b4"; }
+.bi-send-dash::before { content: "\f6b5"; }
+.bi-send-exclamation-fill::before { content: "\f6b7"; }
+.bi-send-exclamation::before { content: "\f6b8"; }
+.bi-send-fill::before { content: "\f6b9"; }
+.bi-send-plus-fill::before { content: "\f6ba"; }
+.bi-send-plus::before { content: "\f6bb"; }
+.bi-send-slash-fill::before { content: "\f6bc"; }
+.bi-send-slash::before { content: "\f6bd"; }
+.bi-send-x-fill::before { content: "\f6be"; }
+.bi-send-x::before { content: "\f6bf"; }
+.bi-send::before { content: "\f6c0"; }
+.bi-steam::before { content: "\f6c1"; }
+.bi-terminal-dash::before { content: "\f6c3"; }
+.bi-terminal-plus::before { content: "\f6c4"; }
+.bi-terminal-split::before { content: "\f6c5"; }
+.bi-ticket-detailed-fill::before { content: "\f6c6"; }
+.bi-ticket-detailed::before { content: "\f6c7"; }
+.bi-ticket-fill::before { content: "\f6c8"; }
+.bi-ticket-perforated-fill::before { content: "\f6c9"; }
+.bi-ticket-perforated::before { content: "\f6ca"; }
+.bi-ticket::before { content: "\f6cb"; }
+.bi-tiktok::before { content: "\f6cc"; }
+.bi-window-dash::before { content: "\f6cd"; }
+.bi-window-desktop::before { content: "\f6ce"; }
+.bi-window-fullscreen::before { content: "\f6cf"; }
+.bi-window-plus::before { content: "\f6d0"; }
+.bi-window-split::before { content: "\f6d1"; }
+.bi-window-stack::before { content: "\f6d2"; }
+.bi-window-x::before { content: "\f6d3"; }
+.bi-xbox::before { content: "\f6d4"; }
+.bi-ethernet::before { content: "\f6d5"; }
+.bi-hdmi-fill::before { content: "\f6d6"; }
+.bi-hdmi::before { content: "\f6d7"; }
+.bi-usb-c-fill::before { content: "\f6d8"; }
+.bi-usb-c::before { content: "\f6d9"; }
+.bi-usb-fill::before { content: "\f6da"; }
+.bi-usb-plug-fill::before { content: "\f6db"; }
+.bi-usb-plug::before { content: "\f6dc"; }
+.bi-usb-symbol::before { content: "\f6dd"; }
+.bi-usb::before { content: "\f6de"; }
+.bi-boombox-fill::before { content: "\f6df"; }
+.bi-displayport::before { content: "\f6e1"; }
+.bi-gpu-card::before { content: "\f6e2"; }
+.bi-memory::before { content: "\f6e3"; }
+.bi-modem-fill::before { content: "\f6e4"; }
+.bi-modem::before { content: "\f6e5"; }
+.bi-motherboard-fill::before { content: "\f6e6"; }
+.bi-motherboard::before { content: "\f6e7"; }
+.bi-optical-audio-fill::before { content: "\f6e8"; }
+.bi-optical-audio::before { content: "\f6e9"; }
+.bi-pci-card::before { content: "\f6ea"; }
+.bi-router-fill::before { content: "\f6eb"; }
+.bi-router::before { content: "\f6ec"; }
+.bi-thunderbolt-fill::before { content: "\f6ef"; }
+.bi-thunderbolt::before { content: "\f6f0"; }
+.bi-usb-drive-fill::before { content: "\f6f1"; }
+.bi-usb-drive::before { content: "\f6f2"; }
+.bi-usb-micro-fill::before { content: "\f6f3"; }
+.bi-usb-micro::before { content: "\f6f4"; }
+.bi-usb-mini-fill::before { content: "\f6f5"; }
+.bi-usb-mini::before { content: "\f6f6"; }
+.bi-cloud-haze2::before { content: "\f6f7"; }
+.bi-device-hdd-fill::before { content: "\f6f8"; }
+.bi-device-hdd::before { content: "\f6f9"; }
+.bi-device-ssd-fill::before { content: "\f6fa"; }
+.bi-device-ssd::before { content: "\f6fb"; }
+.bi-displayport-fill::before { content: "\f6fc"; }
+.bi-mortarboard-fill::before { content: "\f6fd"; }
+.bi-mortarboard::before { content: "\f6fe"; }
+.bi-terminal-x::before { content: "\f6ff"; }
+.bi-arrow-through-heart-fill::before { content: "\f700"; }
+.bi-arrow-through-heart::before { content: "\f701"; }
+.bi-badge-sd-fill::before { content: "\f702"; }
+.bi-badge-sd::before { content: "\f703"; }
+.bi-bag-heart-fill::before { content: "\f704"; }
+.bi-bag-heart::before { content: "\f705"; }
+.bi-balloon-fill::before { content: "\f706"; }
+.bi-balloon-heart-fill::before { content: "\f707"; }
+.bi-balloon-heart::before { content: "\f708"; }
+.bi-balloon::before { content: "\f709"; }
+.bi-box2-fill::before { content: "\f70a"; }
+.bi-box2-heart-fill::before { content: "\f70b"; }
+.bi-box2-heart::before { content: "\f70c"; }
+.bi-box2::before { content: "\f70d"; }
+.bi-braces-asterisk::before { content: "\f70e"; }
+.bi-calendar-heart-fill::before { content: "\f70f"; }
+.bi-calendar-heart::before { content: "\f710"; }
+.bi-calendar2-heart-fill::before { content: "\f711"; }
+.bi-calendar2-heart::before { content: "\f712"; }
+.bi-chat-heart-fill::before { content: "\f713"; }
+.bi-chat-heart::before { content: "\f714"; }
+.bi-chat-left-heart-fill::before { content: "\f715"; }
+.bi-chat-left-heart::before { content: "\f716"; }
+.bi-chat-right-heart-fill::before { content: "\f717"; }
+.bi-chat-right-heart::before { content: "\f718"; }
+.bi-chat-square-heart-fill::before { content: "\f719"; }
+.bi-chat-square-heart::before { content: "\f71a"; }
+.bi-clipboard-check-fill::before { content: "\f71b"; }
+.bi-clipboard-data-fill::before { content: "\f71c"; }
+.bi-clipboard-fill::before { content: "\f71d"; }
+.bi-clipboard-heart-fill::before { content: "\f71e"; }
+.bi-clipboard-heart::before { content: "\f71f"; }
+.bi-clipboard-minus-fill::before { content: "\f720"; }
+.bi-clipboard-plus-fill::before { content: "\f721"; }
+.bi-clipboard-pulse::before { content: "\f722"; }
+.bi-clipboard-x-fill::before { content: "\f723"; }
+.bi-clipboard2-check-fill::before { content: "\f724"; }
+.bi-clipboard2-check::before { content: "\f725"; }
+.bi-clipboard2-data-fill::before { content: "\f726"; }
+.bi-clipboard2-data::before { content: "\f727"; }
+.bi-clipboard2-fill::before { content: "\f728"; }
+.bi-clipboard2-heart-fill::before { content: "\f729"; }
+.bi-clipboard2-heart::before { content: "\f72a"; }
+.bi-clipboard2-minus-fill::before { content: "\f72b"; }
+.bi-clipboard2-minus::before { content: "\f72c"; }
+.bi-clipboard2-plus-fill::before { content: "\f72d"; }
+.bi-clipboard2-plus::before { content: "\f72e"; }
+.bi-clipboard2-pulse-fill::before { content: "\f72f"; }
+.bi-clipboard2-pulse::before { content: "\f730"; }
+.bi-clipboard2-x-fill::before { content: "\f731"; }
+.bi-clipboard2-x::before { content: "\f732"; }
+.bi-clipboard2::before { content: "\f733"; }
+.bi-emoji-kiss-fill::before { content: "\f734"; }
+.bi-emoji-kiss::before { content: "\f735"; }
+.bi-envelope-heart-fill::before { content: "\f736"; }
+.bi-envelope-heart::before { content: "\f737"; }
+.bi-envelope-open-heart-fill::before { content: "\f738"; }
+.bi-envelope-open-heart::before { content: "\f739"; }
+.bi-envelope-paper-fill::before { content: "\f73a"; }
+.bi-envelope-paper-heart-fill::before { content: "\f73b"; }
+.bi-envelope-paper-heart::before { content: "\f73c"; }
+.bi-envelope-paper::before { content: "\f73d"; }
+.bi-filetype-aac::before { content: "\f73e"; }
+.bi-filetype-ai::before { content: "\f73f"; }
+.bi-filetype-bmp::before { content: "\f740"; }
+.bi-filetype-cs::before { content: "\f741"; }
+.bi-filetype-css::before { content: "\f742"; }
+.bi-filetype-csv::before { content: "\f743"; }
+.bi-filetype-doc::before { content: "\f744"; }
+.bi-filetype-docx::before { content: "\f745"; }
+.bi-filetype-exe::before { content: "\f746"; }
+.bi-filetype-gif::before { content: "\f747"; }
+.bi-filetype-heic::before { content: "\f748"; }
+.bi-filetype-html::before { content: "\f749"; }
+.bi-filetype-java::before { content: "\f74a"; }
+.bi-filetype-jpg::before { content: "\f74b"; }
+.bi-filetype-js::before { content: "\f74c"; }
+.bi-filetype-jsx::before { content: "\f74d"; }
+.bi-filetype-key::before { content: "\f74e"; }
+.bi-filetype-m4p::before { content: "\f74f"; }
+.bi-filetype-md::before { content: "\f750"; }
+.bi-filetype-mdx::before { content: "\f751"; }
+.bi-filetype-mov::before { content: "\f752"; }
+.bi-filetype-mp3::before { content: "\f753"; }
+.bi-filetype-mp4::before { content: "\f754"; }
+.bi-filetype-otf::before { content: "\f755"; }
+.bi-filetype-pdf::before { content: "\f756"; }
+.bi-filetype-php::before { content: "\f757"; }
+.bi-filetype-png::before { content: "\f758"; }
+.bi-filetype-ppt::before { content: "\f75a"; }
+.bi-filetype-psd::before { content: "\f75b"; }
+.bi-filetype-py::before { content: "\f75c"; }
+.bi-filetype-raw::before { content: "\f75d"; }
+.bi-filetype-rb::before { content: "\f75e"; }
+.bi-filetype-sass::before { content: "\f75f"; }
+.bi-filetype-scss::before { content: "\f760"; }
+.bi-filetype-sh::before { content: "\f761"; }
+.bi-filetype-svg::before { content: "\f762"; }
+.bi-filetype-tiff::before { content: "\f763"; }
+.bi-filetype-tsx::before { content: "\f764"; }
+.bi-filetype-ttf::before { content: "\f765"; }
+.bi-filetype-txt::before { content: "\f766"; }
+.bi-filetype-wav::before { content: "\f767"; }
+.bi-filetype-woff::before { content: "\f768"; }
+.bi-filetype-xls::before { content: "\f76a"; }
+.bi-filetype-xml::before { content: "\f76b"; }
+.bi-filetype-yml::before { content: "\f76c"; }
+.bi-heart-arrow::before { content: "\f76d"; }
+.bi-heart-pulse-fill::before { content: "\f76e"; }
+.bi-heart-pulse::before { content: "\f76f"; }
+.bi-heartbreak-fill::before { content: "\f770"; }
+.bi-heartbreak::before { content: "\f771"; }
+.bi-hearts::before { content: "\f772"; }
+.bi-hospital-fill::before { content: "\f773"; }
+.bi-hospital::before { content: "\f774"; }
+.bi-house-heart-fill::before { content: "\f775"; }
+.bi-house-heart::before { content: "\f776"; }
+.bi-incognito::before { content: "\f777"; }
+.bi-magnet-fill::before { content: "\f778"; }
+.bi-magnet::before { content: "\f779"; }
+.bi-person-heart::before { content: "\f77a"; }
+.bi-person-hearts::before { content: "\f77b"; }
+.bi-phone-flip::before { content: "\f77c"; }
+.bi-plugin::before { content: "\f77d"; }
+.bi-postage-fill::before { content: "\f77e"; }
+.bi-postage-heart-fill::before { content: "\f77f"; }
+.bi-postage-heart::before { content: "\f780"; }
+.bi-postage::before { content: "\f781"; }
+.bi-postcard-fill::before { content: "\f782"; }
+.bi-postcard-heart-fill::before { content: "\f783"; }
+.bi-postcard-heart::before { content: "\f784"; }
+.bi-postcard::before { content: "\f785"; }
+.bi-search-heart-fill::before { content: "\f786"; }
+.bi-search-heart::before { content: "\f787"; }
+.bi-sliders2-vertical::before { content: "\f788"; }
+.bi-sliders2::before { content: "\f789"; }
+.bi-trash3-fill::before { content: "\f78a"; }
+.bi-trash3::before { content: "\f78b"; }
+.bi-valentine::before { content: "\f78c"; }
+.bi-valentine2::before { content: "\f78d"; }
+.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; }
+.bi-wrench-adjustable-circle::before { content: "\f78f"; }
+.bi-wrench-adjustable::before { content: "\f790"; }
+.bi-filetype-json::before { content: "\f791"; }
+.bi-filetype-pptx::before { content: "\f792"; }
+.bi-filetype-xlsx::before { content: "\f793"; }
+.bi-1-circle-fill::before { content: "\f796"; }
+.bi-1-circle::before { content: "\f797"; }
+.bi-1-square-fill::before { content: "\f798"; }
+.bi-1-square::before { content: "\f799"; }
+.bi-2-circle-fill::before { content: "\f79c"; }
+.bi-2-circle::before { content: "\f79d"; }
+.bi-2-square-fill::before { content: "\f79e"; }
+.bi-2-square::before { content: "\f79f"; }
+.bi-3-circle-fill::before { content: "\f7a2"; }
+.bi-3-circle::before { content: "\f7a3"; }
+.bi-3-square-fill::before { content: "\f7a4"; }
+.bi-3-square::before { content: "\f7a5"; }
+.bi-4-circle-fill::before { content: "\f7a8"; }
+.bi-4-circle::before { content: "\f7a9"; }
+.bi-4-square-fill::before { content: "\f7aa"; }
+.bi-4-square::before { content: "\f7ab"; }
+.bi-5-circle-fill::before { content: "\f7ae"; }
+.bi-5-circle::before { content: "\f7af"; }
+.bi-5-square-fill::before { content: "\f7b0"; }
+.bi-5-square::before { content: "\f7b1"; }
+.bi-6-circle-fill::before { content: "\f7b4"; }
+.bi-6-circle::before { content: "\f7b5"; }
+.bi-6-square-fill::before { content: "\f7b6"; }
+.bi-6-square::before { content: "\f7b7"; }
+.bi-7-circle-fill::before { content: "\f7ba"; }
+.bi-7-circle::before { content: "\f7bb"; }
+.bi-7-square-fill::before { content: "\f7bc"; }
+.bi-7-square::before { content: "\f7bd"; }
+.bi-8-circle-fill::before { content: "\f7c0"; }
+.bi-8-circle::before { content: "\f7c1"; }
+.bi-8-square-fill::before { content: "\f7c2"; }
+.bi-8-square::before { content: "\f7c3"; }
+.bi-9-circle-fill::before { content: "\f7c6"; }
+.bi-9-circle::before { content: "\f7c7"; }
+.bi-9-square-fill::before { content: "\f7c8"; }
+.bi-9-square::before { content: "\f7c9"; }
+.bi-airplane-engines-fill::before { content: "\f7ca"; }
+.bi-airplane-engines::before { content: "\f7cb"; }
+.bi-airplane-fill::before { content: "\f7cc"; }
+.bi-airplane::before { content: "\f7cd"; }
+.bi-alexa::before { content: "\f7ce"; }
+.bi-alipay::before { content: "\f7cf"; }
+.bi-android::before { content: "\f7d0"; }
+.bi-android2::before { content: "\f7d1"; }
+.bi-box-fill::before { content: "\f7d2"; }
+.bi-box-seam-fill::before { content: "\f7d3"; }
+.bi-browser-chrome::before { content: "\f7d4"; }
+.bi-browser-edge::before { content: "\f7d5"; }
+.bi-browser-firefox::before { content: "\f7d6"; }
+.bi-browser-safari::before { content: "\f7d7"; }
+.bi-c-circle-fill::before { content: "\f7da"; }
+.bi-c-circle::before { content: "\f7db"; }
+.bi-c-square-fill::before { content: "\f7dc"; }
+.bi-c-square::before { content: "\f7dd"; }
+.bi-capsule-pill::before { content: "\f7de"; }
+.bi-capsule::before { content: "\f7df"; }
+.bi-car-front-fill::before { content: "\f7e0"; }
+.bi-car-front::before { content: "\f7e1"; }
+.bi-cassette-fill::before { content: "\f7e2"; }
+.bi-cassette::before { content: "\f7e3"; }
+.bi-cc-circle-fill::before { content: "\f7e6"; }
+.bi-cc-circle::before { content: "\f7e7"; }
+.bi-cc-square-fill::before { content: "\f7e8"; }
+.bi-cc-square::before { content: "\f7e9"; }
+.bi-cup-hot-fill::before { content: "\f7ea"; }
+.bi-cup-hot::before { content: "\f7eb"; }
+.bi-currency-rupee::before { content: "\f7ec"; }
+.bi-dropbox::before { content: "\f7ed"; }
+.bi-escape::before { content: "\f7ee"; }
+.bi-fast-forward-btn-fill::before { content: "\f7ef"; }
+.bi-fast-forward-btn::before { content: "\f7f0"; }
+.bi-fast-forward-circle-fill::before { content: "\f7f1"; }
+.bi-fast-forward-circle::before { content: "\f7f2"; }
+.bi-fast-forward-fill::before { content: "\f7f3"; }
+.bi-fast-forward::before { content: "\f7f4"; }
+.bi-filetype-sql::before { content: "\f7f5"; }
+.bi-fire::before { content: "\f7f6"; }
+.bi-google-play::before { content: "\f7f7"; }
+.bi-h-circle-fill::before { content: "\f7fa"; }
+.bi-h-circle::before { content: "\f7fb"; }
+.bi-h-square-fill::before { content: "\f7fc"; }
+.bi-h-square::before { content: "\f7fd"; }
+.bi-indent::before { content: "\f7fe"; }
+.bi-lungs-fill::before { content: "\f7ff"; }
+.bi-lungs::before { content: "\f800"; }
+.bi-microsoft-teams::before { content: "\f801"; }
+.bi-p-circle-fill::before { content: "\f804"; }
+.bi-p-circle::before { content: "\f805"; }
+.bi-p-square-fill::before { content: "\f806"; }
+.bi-p-square::before { content: "\f807"; }
+.bi-pass-fill::before { content: "\f808"; }
+.bi-pass::before { content: "\f809"; }
+.bi-prescription::before { content: "\f80a"; }
+.bi-prescription2::before { content: "\f80b"; }
+.bi-r-circle-fill::before { content: "\f80e"; }
+.bi-r-circle::before { content: "\f80f"; }
+.bi-r-square-fill::before { content: "\f810"; }
+.bi-r-square::before { content: "\f811"; }
+.bi-repeat-1::before { content: "\f812"; }
+.bi-repeat::before { content: "\f813"; }
+.bi-rewind-btn-fill::before { content: "\f814"; }
+.bi-rewind-btn::before { content: "\f815"; }
+.bi-rewind-circle-fill::before { content: "\f816"; }
+.bi-rewind-circle::before { content: "\f817"; }
+.bi-rewind-fill::before { content: "\f818"; }
+.bi-rewind::before { content: "\f819"; }
+.bi-train-freight-front-fill::before { content: "\f81a"; }
+.bi-train-freight-front::before { content: "\f81b"; }
+.bi-train-front-fill::before { content: "\f81c"; }
+.bi-train-front::before { content: "\f81d"; }
+.bi-train-lightrail-front-fill::before { content: "\f81e"; }
+.bi-train-lightrail-front::before { content: "\f81f"; }
+.bi-truck-front-fill::before { content: "\f820"; }
+.bi-truck-front::before { content: "\f821"; }
+.bi-ubuntu::before { content: "\f822"; }
+.bi-unindent::before { content: "\f823"; }
+.bi-unity::before { content: "\f824"; }
+.bi-universal-access-circle::before { content: "\f825"; }
+.bi-universal-access::before { content: "\f826"; }
+.bi-virus::before { content: "\f827"; }
+.bi-virus2::before { content: "\f828"; }
+.bi-wechat::before { content: "\f829"; }
+.bi-yelp::before { content: "\f82a"; }
+.bi-sign-stop-fill::before { content: "\f82b"; }
+.bi-sign-stop-lights-fill::before { content: "\f82c"; }
+.bi-sign-stop-lights::before { content: "\f82d"; }
+.bi-sign-stop::before { content: "\f82e"; }
+.bi-sign-turn-left-fill::before { content: "\f82f"; }
+.bi-sign-turn-left::before { content: "\f830"; }
+.bi-sign-turn-right-fill::before { content: "\f831"; }
+.bi-sign-turn-right::before { content: "\f832"; }
+.bi-sign-turn-slight-left-fill::before { content: "\f833"; }
+.bi-sign-turn-slight-left::before { content: "\f834"; }
+.bi-sign-turn-slight-right-fill::before { content: "\f835"; }
+.bi-sign-turn-slight-right::before { content: "\f836"; }
+.bi-sign-yield-fill::before { content: "\f837"; }
+.bi-sign-yield::before { content: "\f838"; }
+.bi-ev-station-fill::before { content: "\f839"; }
+.bi-ev-station::before { content: "\f83a"; }
+.bi-fuel-pump-diesel-fill::before { content: "\f83b"; }
+.bi-fuel-pump-diesel::before { content: "\f83c"; }
+.bi-fuel-pump-fill::before { content: "\f83d"; }
+.bi-fuel-pump::before { content: "\f83e"; }
+.bi-0-circle-fill::before { content: "\f83f"; }
+.bi-0-circle::before { content: "\f840"; }
+.bi-0-square-fill::before { content: "\f841"; }
+.bi-0-square::before { content: "\f842"; }
+.bi-rocket-fill::before { content: "\f843"; }
+.bi-rocket-takeoff-fill::before { content: "\f844"; }
+.bi-rocket-takeoff::before { content: "\f845"; }
+.bi-rocket::before { content: "\f846"; }
+.bi-stripe::before { content: "\f847"; }
+.bi-subscript::before { content: "\f848"; }
+.bi-superscript::before { content: "\f849"; }
+.bi-trello::before { content: "\f84a"; }
+.bi-envelope-at-fill::before { content: "\f84b"; }
+.bi-envelope-at::before { content: "\f84c"; }
+.bi-regex::before { content: "\f84d"; }
+.bi-text-wrap::before { content: "\f84e"; }
+.bi-sign-dead-end-fill::before { content: "\f84f"; }
+.bi-sign-dead-end::before { content: "\f850"; }
+.bi-sign-do-not-enter-fill::before { content: "\f851"; }
+.bi-sign-do-not-enter::before { content: "\f852"; }
+.bi-sign-intersection-fill::before { content: "\f853"; }
+.bi-sign-intersection-side-fill::before { content: "\f854"; }
+.bi-sign-intersection-side::before { content: "\f855"; }
+.bi-sign-intersection-t-fill::before { content: "\f856"; }
+.bi-sign-intersection-t::before { content: "\f857"; }
+.bi-sign-intersection-y-fill::before { content: "\f858"; }
+.bi-sign-intersection-y::before { content: "\f859"; }
+.bi-sign-intersection::before { content: "\f85a"; }
+.bi-sign-merge-left-fill::before { content: "\f85b"; }
+.bi-sign-merge-left::before { content: "\f85c"; }
+.bi-sign-merge-right-fill::before { content: "\f85d"; }
+.bi-sign-merge-right::before { content: "\f85e"; }
+.bi-sign-no-left-turn-fill::before { content: "\f85f"; }
+.bi-sign-no-left-turn::before { content: "\f860"; }
+.bi-sign-no-parking-fill::before { content: "\f861"; }
+.bi-sign-no-parking::before { content: "\f862"; }
+.bi-sign-no-right-turn-fill::before { content: "\f863"; }
+.bi-sign-no-right-turn::before { content: "\f864"; }
+.bi-sign-railroad-fill::before { content: "\f865"; }
+.bi-sign-railroad::before { content: "\f866"; }
+.bi-building-add::before { content: "\f867"; }
+.bi-building-check::before { content: "\f868"; }
+.bi-building-dash::before { content: "\f869"; }
+.bi-building-down::before { content: "\f86a"; }
+.bi-building-exclamation::before { content: "\f86b"; }
+.bi-building-fill-add::before { content: "\f86c"; }
+.bi-building-fill-check::before { content: "\f86d"; }
+.bi-building-fill-dash::before { content: "\f86e"; }
+.bi-building-fill-down::before { content: "\f86f"; }
+.bi-building-fill-exclamation::before { content: "\f870"; }
+.bi-building-fill-gear::before { content: "\f871"; }
+.bi-building-fill-lock::before { content: "\f872"; }
+.bi-building-fill-slash::before { content: "\f873"; }
+.bi-building-fill-up::before { content: "\f874"; }
+.bi-building-fill-x::before { content: "\f875"; }
+.bi-building-fill::before { content: "\f876"; }
+.bi-building-gear::before { content: "\f877"; }
+.bi-building-lock::before { content: "\f878"; }
+.bi-building-slash::before { content: "\f879"; }
+.bi-building-up::before { content: "\f87a"; }
+.bi-building-x::before { content: "\f87b"; }
+.bi-buildings-fill::before { content: "\f87c"; }
+.bi-buildings::before { content: "\f87d"; }
+.bi-bus-front-fill::before { content: "\f87e"; }
+.bi-bus-front::before { content: "\f87f"; }
+.bi-ev-front-fill::before { content: "\f880"; }
+.bi-ev-front::before { content: "\f881"; }
+.bi-globe-americas::before { content: "\f882"; }
+.bi-globe-asia-australia::before { content: "\f883"; }
+.bi-globe-central-south-asia::before { content: "\f884"; }
+.bi-globe-europe-africa::before { content: "\f885"; }
+.bi-house-add-fill::before { content: "\f886"; }
+.bi-house-add::before { content: "\f887"; }
+.bi-house-check-fill::before { content: "\f888"; }
+.bi-house-check::before { content: "\f889"; }
+.bi-house-dash-fill::before { content: "\f88a"; }
+.bi-house-dash::before { content: "\f88b"; }
+.bi-house-down-fill::before { content: "\f88c"; }
+.bi-house-down::before { content: "\f88d"; }
+.bi-house-exclamation-fill::before { content: "\f88e"; }
+.bi-house-exclamation::before { content: "\f88f"; }
+.bi-house-gear-fill::before { content: "\f890"; }
+.bi-house-gear::before { content: "\f891"; }
+.bi-house-lock-fill::before { content: "\f892"; }
+.bi-house-lock::before { content: "\f893"; }
+.bi-house-slash-fill::before { content: "\f894"; }
+.bi-house-slash::before { content: "\f895"; }
+.bi-house-up-fill::before { content: "\f896"; }
+.bi-house-up::before { content: "\f897"; }
+.bi-house-x-fill::before { content: "\f898"; }
+.bi-house-x::before { content: "\f899"; }
+.bi-person-add::before { content: "\f89a"; }
+.bi-person-down::before { content: "\f89b"; }
+.bi-person-exclamation::before { content: "\f89c"; }
+.bi-person-fill-add::before { content: "\f89d"; }
+.bi-person-fill-check::before { content: "\f89e"; }
+.bi-person-fill-dash::before { content: "\f89f"; }
+.bi-person-fill-down::before { content: "\f8a0"; }
+.bi-person-fill-exclamation::before { content: "\f8a1"; }
+.bi-person-fill-gear::before { content: "\f8a2"; }
+.bi-person-fill-lock::before { content: "\f8a3"; }
+.bi-person-fill-slash::before { content: "\f8a4"; }
+.bi-person-fill-up::before { content: "\f8a5"; }
+.bi-person-fill-x::before { content: "\f8a6"; }
+.bi-person-gear::before { content: "\f8a7"; }
+.bi-person-lock::before { content: "\f8a8"; }
+.bi-person-slash::before { content: "\f8a9"; }
+.bi-person-up::before { content: "\f8aa"; }
+.bi-scooter::before { content: "\f8ab"; }
+.bi-taxi-front-fill::before { content: "\f8ac"; }
+.bi-taxi-front::before { content: "\f8ad"; }
+.bi-amd::before { content: "\f8ae"; }
+.bi-database-add::before { content: "\f8af"; }
+.bi-database-check::before { content: "\f8b0"; }
+.bi-database-dash::before { content: "\f8b1"; }
+.bi-database-down::before { content: "\f8b2"; }
+.bi-database-exclamation::before { content: "\f8b3"; }
+.bi-database-fill-add::before { content: "\f8b4"; }
+.bi-database-fill-check::before { content: "\f8b5"; }
+.bi-database-fill-dash::before { content: "\f8b6"; }
+.bi-database-fill-down::before { content: "\f8b7"; }
+.bi-database-fill-exclamation::before { content: "\f8b8"; }
+.bi-database-fill-gear::before { content: "\f8b9"; }
+.bi-database-fill-lock::before { content: "\f8ba"; }
+.bi-database-fill-slash::before { content: "\f8bb"; }
+.bi-database-fill-up::before { content: "\f8bc"; }
+.bi-database-fill-x::before { content: "\f8bd"; }
+.bi-database-fill::before { content: "\f8be"; }
+.bi-database-gear::before { content: "\f8bf"; }
+.bi-database-lock::before { content: "\f8c0"; }
+.bi-database-slash::before { content: "\f8c1"; }
+.bi-database-up::before { content: "\f8c2"; }
+.bi-database-x::before { content: "\f8c3"; }
+.bi-database::before { content: "\f8c4"; }
+.bi-houses-fill::before { content: "\f8c5"; }
+.bi-houses::before { content: "\f8c6"; }
+.bi-nvidia::before { content: "\f8c7"; }
+.bi-person-vcard-fill::before { content: "\f8c8"; }
+.bi-person-vcard::before { content: "\f8c9"; }
+.bi-sina-weibo::before { content: "\f8ca"; }
+.bi-tencent-qq::before { content: "\f8cb"; }
+.bi-wikipedia::before { content: "\f8cc"; }
diff --git a/src/static/icons/font/bootstrap-icons.json b/src/static/icons/font/bootstrap-icons.json
new file mode 100644
index 0000000..d85eaaf
--- /dev/null
+++ b/src/static/icons/font/bootstrap-icons.json
@@ -0,0 +1,1955 @@
+{
+ "123": 63103,
+ "alarm-fill": 61697,
+ "alarm": 61698,
+ "align-bottom": 61699,
+ "align-center": 61700,
+ "align-end": 61701,
+ "align-middle": 61702,
+ "align-start": 61703,
+ "align-top": 61704,
+ "alt": 61705,
+ "app-indicator": 61706,
+ "app": 61707,
+ "archive-fill": 61708,
+ "archive": 61709,
+ "arrow-90deg-down": 61710,
+ "arrow-90deg-left": 61711,
+ "arrow-90deg-right": 61712,
+ "arrow-90deg-up": 61713,
+ "arrow-bar-down": 61714,
+ "arrow-bar-left": 61715,
+ "arrow-bar-right": 61716,
+ "arrow-bar-up": 61717,
+ "arrow-clockwise": 61718,
+ "arrow-counterclockwise": 61719,
+ "arrow-down-circle-fill": 61720,
+ "arrow-down-circle": 61721,
+ "arrow-down-left-circle-fill": 61722,
+ "arrow-down-left-circle": 61723,
+ "arrow-down-left-square-fill": 61724,
+ "arrow-down-left-square": 61725,
+ "arrow-down-left": 61726,
+ "arrow-down-right-circle-fill": 61727,
+ "arrow-down-right-circle": 61728,
+ "arrow-down-right-square-fill": 61729,
+ "arrow-down-right-square": 61730,
+ "arrow-down-right": 61731,
+ "arrow-down-short": 61732,
+ "arrow-down-square-fill": 61733,
+ "arrow-down-square": 61734,
+ "arrow-down-up": 61735,
+ "arrow-down": 61736,
+ "arrow-left-circle-fill": 61737,
+ "arrow-left-circle": 61738,
+ "arrow-left-right": 61739,
+ "arrow-left-short": 61740,
+ "arrow-left-square-fill": 61741,
+ "arrow-left-square": 61742,
+ "arrow-left": 61743,
+ "arrow-repeat": 61744,
+ "arrow-return-left": 61745,
+ "arrow-return-right": 61746,
+ "arrow-right-circle-fill": 61747,
+ "arrow-right-circle": 61748,
+ "arrow-right-short": 61749,
+ "arrow-right-square-fill": 61750,
+ "arrow-right-square": 61751,
+ "arrow-right": 61752,
+ "arrow-up-circle-fill": 61753,
+ "arrow-up-circle": 61754,
+ "arrow-up-left-circle-fill": 61755,
+ "arrow-up-left-circle": 61756,
+ "arrow-up-left-square-fill": 61757,
+ "arrow-up-left-square": 61758,
+ "arrow-up-left": 61759,
+ "arrow-up-right-circle-fill": 61760,
+ "arrow-up-right-circle": 61761,
+ "arrow-up-right-square-fill": 61762,
+ "arrow-up-right-square": 61763,
+ "arrow-up-right": 61764,
+ "arrow-up-short": 61765,
+ "arrow-up-square-fill": 61766,
+ "arrow-up-square": 61767,
+ "arrow-up": 61768,
+ "arrows-angle-contract": 61769,
+ "arrows-angle-expand": 61770,
+ "arrows-collapse": 61771,
+ "arrows-expand": 61772,
+ "arrows-fullscreen": 61773,
+ "arrows-move": 61774,
+ "aspect-ratio-fill": 61775,
+ "aspect-ratio": 61776,
+ "asterisk": 61777,
+ "at": 61778,
+ "award-fill": 61779,
+ "award": 61780,
+ "back": 61781,
+ "backspace-fill": 61782,
+ "backspace-reverse-fill": 61783,
+ "backspace-reverse": 61784,
+ "backspace": 61785,
+ "badge-3d-fill": 61786,
+ "badge-3d": 61787,
+ "badge-4k-fill": 61788,
+ "badge-4k": 61789,
+ "badge-8k-fill": 61790,
+ "badge-8k": 61791,
+ "badge-ad-fill": 61792,
+ "badge-ad": 61793,
+ "badge-ar-fill": 61794,
+ "badge-ar": 61795,
+ "badge-cc-fill": 61796,
+ "badge-cc": 61797,
+ "badge-hd-fill": 61798,
+ "badge-hd": 61799,
+ "badge-tm-fill": 61800,
+ "badge-tm": 61801,
+ "badge-vo-fill": 61802,
+ "badge-vo": 61803,
+ "badge-vr-fill": 61804,
+ "badge-vr": 61805,
+ "badge-wc-fill": 61806,
+ "badge-wc": 61807,
+ "bag-check-fill": 61808,
+ "bag-check": 61809,
+ "bag-dash-fill": 61810,
+ "bag-dash": 61811,
+ "bag-fill": 61812,
+ "bag-plus-fill": 61813,
+ "bag-plus": 61814,
+ "bag-x-fill": 61815,
+ "bag-x": 61816,
+ "bag": 61817,
+ "bar-chart-fill": 61818,
+ "bar-chart-line-fill": 61819,
+ "bar-chart-line": 61820,
+ "bar-chart-steps": 61821,
+ "bar-chart": 61822,
+ "basket-fill": 61823,
+ "basket": 61824,
+ "basket2-fill": 61825,
+ "basket2": 61826,
+ "basket3-fill": 61827,
+ "basket3": 61828,
+ "battery-charging": 61829,
+ "battery-full": 61830,
+ "battery-half": 61831,
+ "battery": 61832,
+ "bell-fill": 61833,
+ "bell": 61834,
+ "bezier": 61835,
+ "bezier2": 61836,
+ "bicycle": 61837,
+ "binoculars-fill": 61838,
+ "binoculars": 61839,
+ "blockquote-left": 61840,
+ "blockquote-right": 61841,
+ "book-fill": 61842,
+ "book-half": 61843,
+ "book": 61844,
+ "bookmark-check-fill": 61845,
+ "bookmark-check": 61846,
+ "bookmark-dash-fill": 61847,
+ "bookmark-dash": 61848,
+ "bookmark-fill": 61849,
+ "bookmark-heart-fill": 61850,
+ "bookmark-heart": 61851,
+ "bookmark-plus-fill": 61852,
+ "bookmark-plus": 61853,
+ "bookmark-star-fill": 61854,
+ "bookmark-star": 61855,
+ "bookmark-x-fill": 61856,
+ "bookmark-x": 61857,
+ "bookmark": 61858,
+ "bookmarks-fill": 61859,
+ "bookmarks": 61860,
+ "bookshelf": 61861,
+ "bootstrap-fill": 61862,
+ "bootstrap-reboot": 61863,
+ "bootstrap": 61864,
+ "border-all": 61865,
+ "border-bottom": 61866,
+ "border-center": 61867,
+ "border-inner": 61868,
+ "border-left": 61869,
+ "border-middle": 61870,
+ "border-outer": 61871,
+ "border-right": 61872,
+ "border-style": 61873,
+ "border-top": 61874,
+ "border-width": 61875,
+ "border": 61876,
+ "bounding-box-circles": 61877,
+ "bounding-box": 61878,
+ "box-arrow-down-left": 61879,
+ "box-arrow-down-right": 61880,
+ "box-arrow-down": 61881,
+ "box-arrow-in-down-left": 61882,
+ "box-arrow-in-down-right": 61883,
+ "box-arrow-in-down": 61884,
+ "box-arrow-in-left": 61885,
+ "box-arrow-in-right": 61886,
+ "box-arrow-in-up-left": 61887,
+ "box-arrow-in-up-right": 61888,
+ "box-arrow-in-up": 61889,
+ "box-arrow-left": 61890,
+ "box-arrow-right": 61891,
+ "box-arrow-up-left": 61892,
+ "box-arrow-up-right": 61893,
+ "box-arrow-up": 61894,
+ "box-seam": 61895,
+ "box": 61896,
+ "braces": 61897,
+ "bricks": 61898,
+ "briefcase-fill": 61899,
+ "briefcase": 61900,
+ "brightness-alt-high-fill": 61901,
+ "brightness-alt-high": 61902,
+ "brightness-alt-low-fill": 61903,
+ "brightness-alt-low": 61904,
+ "brightness-high-fill": 61905,
+ "brightness-high": 61906,
+ "brightness-low-fill": 61907,
+ "brightness-low": 61908,
+ "broadcast-pin": 61909,
+ "broadcast": 61910,
+ "brush-fill": 61911,
+ "brush": 61912,
+ "bucket-fill": 61913,
+ "bucket": 61914,
+ "bug-fill": 61915,
+ "bug": 61916,
+ "building": 61917,
+ "bullseye": 61918,
+ "calculator-fill": 61919,
+ "calculator": 61920,
+ "calendar-check-fill": 61921,
+ "calendar-check": 61922,
+ "calendar-date-fill": 61923,
+ "calendar-date": 61924,
+ "calendar-day-fill": 61925,
+ "calendar-day": 61926,
+ "calendar-event-fill": 61927,
+ "calendar-event": 61928,
+ "calendar-fill": 61929,
+ "calendar-minus-fill": 61930,
+ "calendar-minus": 61931,
+ "calendar-month-fill": 61932,
+ "calendar-month": 61933,
+ "calendar-plus-fill": 61934,
+ "calendar-plus": 61935,
+ "calendar-range-fill": 61936,
+ "calendar-range": 61937,
+ "calendar-week-fill": 61938,
+ "calendar-week": 61939,
+ "calendar-x-fill": 61940,
+ "calendar-x": 61941,
+ "calendar": 61942,
+ "calendar2-check-fill": 61943,
+ "calendar2-check": 61944,
+ "calendar2-date-fill": 61945,
+ "calendar2-date": 61946,
+ "calendar2-day-fill": 61947,
+ "calendar2-day": 61948,
+ "calendar2-event-fill": 61949,
+ "calendar2-event": 61950,
+ "calendar2-fill": 61951,
+ "calendar2-minus-fill": 61952,
+ "calendar2-minus": 61953,
+ "calendar2-month-fill": 61954,
+ "calendar2-month": 61955,
+ "calendar2-plus-fill": 61956,
+ "calendar2-plus": 61957,
+ "calendar2-range-fill": 61958,
+ "calendar2-range": 61959,
+ "calendar2-week-fill": 61960,
+ "calendar2-week": 61961,
+ "calendar2-x-fill": 61962,
+ "calendar2-x": 61963,
+ "calendar2": 61964,
+ "calendar3-event-fill": 61965,
+ "calendar3-event": 61966,
+ "calendar3-fill": 61967,
+ "calendar3-range-fill": 61968,
+ "calendar3-range": 61969,
+ "calendar3-week-fill": 61970,
+ "calendar3-week": 61971,
+ "calendar3": 61972,
+ "calendar4-event": 61973,
+ "calendar4-range": 61974,
+ "calendar4-week": 61975,
+ "calendar4": 61976,
+ "camera-fill": 61977,
+ "camera-reels-fill": 61978,
+ "camera-reels": 61979,
+ "camera-video-fill": 61980,
+ "camera-video-off-fill": 61981,
+ "camera-video-off": 61982,
+ "camera-video": 61983,
+ "camera": 61984,
+ "camera2": 61985,
+ "capslock-fill": 61986,
+ "capslock": 61987,
+ "card-checklist": 61988,
+ "card-heading": 61989,
+ "card-image": 61990,
+ "card-list": 61991,
+ "card-text": 61992,
+ "caret-down-fill": 61993,
+ "caret-down-square-fill": 61994,
+ "caret-down-square": 61995,
+ "caret-down": 61996,
+ "caret-left-fill": 61997,
+ "caret-left-square-fill": 61998,
+ "caret-left-square": 61999,
+ "caret-left": 62000,
+ "caret-right-fill": 62001,
+ "caret-right-square-fill": 62002,
+ "caret-right-square": 62003,
+ "caret-right": 62004,
+ "caret-up-fill": 62005,
+ "caret-up-square-fill": 62006,
+ "caret-up-square": 62007,
+ "caret-up": 62008,
+ "cart-check-fill": 62009,
+ "cart-check": 62010,
+ "cart-dash-fill": 62011,
+ "cart-dash": 62012,
+ "cart-fill": 62013,
+ "cart-plus-fill": 62014,
+ "cart-plus": 62015,
+ "cart-x-fill": 62016,
+ "cart-x": 62017,
+ "cart": 62018,
+ "cart2": 62019,
+ "cart3": 62020,
+ "cart4": 62021,
+ "cash-stack": 62022,
+ "cash": 62023,
+ "cast": 62024,
+ "chat-dots-fill": 62025,
+ "chat-dots": 62026,
+ "chat-fill": 62027,
+ "chat-left-dots-fill": 62028,
+ "chat-left-dots": 62029,
+ "chat-left-fill": 62030,
+ "chat-left-quote-fill": 62031,
+ "chat-left-quote": 62032,
+ "chat-left-text-fill": 62033,
+ "chat-left-text": 62034,
+ "chat-left": 62035,
+ "chat-quote-fill": 62036,
+ "chat-quote": 62037,
+ "chat-right-dots-fill": 62038,
+ "chat-right-dots": 62039,
+ "chat-right-fill": 62040,
+ "chat-right-quote-fill": 62041,
+ "chat-right-quote": 62042,
+ "chat-right-text-fill": 62043,
+ "chat-right-text": 62044,
+ "chat-right": 62045,
+ "chat-square-dots-fill": 62046,
+ "chat-square-dots": 62047,
+ "chat-square-fill": 62048,
+ "chat-square-quote-fill": 62049,
+ "chat-square-quote": 62050,
+ "chat-square-text-fill": 62051,
+ "chat-square-text": 62052,
+ "chat-square": 62053,
+ "chat-text-fill": 62054,
+ "chat-text": 62055,
+ "chat": 62056,
+ "check-all": 62057,
+ "check-circle-fill": 62058,
+ "check-circle": 62059,
+ "check-square-fill": 62060,
+ "check-square": 62061,
+ "check": 62062,
+ "check2-all": 62063,
+ "check2-circle": 62064,
+ "check2-square": 62065,
+ "check2": 62066,
+ "chevron-bar-contract": 62067,
+ "chevron-bar-down": 62068,
+ "chevron-bar-expand": 62069,
+ "chevron-bar-left": 62070,
+ "chevron-bar-right": 62071,
+ "chevron-bar-up": 62072,
+ "chevron-compact-down": 62073,
+ "chevron-compact-left": 62074,
+ "chevron-compact-right": 62075,
+ "chevron-compact-up": 62076,
+ "chevron-contract": 62077,
+ "chevron-double-down": 62078,
+ "chevron-double-left": 62079,
+ "chevron-double-right": 62080,
+ "chevron-double-up": 62081,
+ "chevron-down": 62082,
+ "chevron-expand": 62083,
+ "chevron-left": 62084,
+ "chevron-right": 62085,
+ "chevron-up": 62086,
+ "circle-fill": 62087,
+ "circle-half": 62088,
+ "circle-square": 62089,
+ "circle": 62090,
+ "clipboard-check": 62091,
+ "clipboard-data": 62092,
+ "clipboard-minus": 62093,
+ "clipboard-plus": 62094,
+ "clipboard-x": 62095,
+ "clipboard": 62096,
+ "clock-fill": 62097,
+ "clock-history": 62098,
+ "clock": 62099,
+ "cloud-arrow-down-fill": 62100,
+ "cloud-arrow-down": 62101,
+ "cloud-arrow-up-fill": 62102,
+ "cloud-arrow-up": 62103,
+ "cloud-check-fill": 62104,
+ "cloud-check": 62105,
+ "cloud-download-fill": 62106,
+ "cloud-download": 62107,
+ "cloud-drizzle-fill": 62108,
+ "cloud-drizzle": 62109,
+ "cloud-fill": 62110,
+ "cloud-fog-fill": 62111,
+ "cloud-fog": 62112,
+ "cloud-fog2-fill": 62113,
+ "cloud-fog2": 62114,
+ "cloud-hail-fill": 62115,
+ "cloud-hail": 62116,
+ "cloud-haze-fill": 62118,
+ "cloud-haze": 62119,
+ "cloud-haze2-fill": 62120,
+ "cloud-lightning-fill": 62121,
+ "cloud-lightning-rain-fill": 62122,
+ "cloud-lightning-rain": 62123,
+ "cloud-lightning": 62124,
+ "cloud-minus-fill": 62125,
+ "cloud-minus": 62126,
+ "cloud-moon-fill": 62127,
+ "cloud-moon": 62128,
+ "cloud-plus-fill": 62129,
+ "cloud-plus": 62130,
+ "cloud-rain-fill": 62131,
+ "cloud-rain-heavy-fill": 62132,
+ "cloud-rain-heavy": 62133,
+ "cloud-rain": 62134,
+ "cloud-slash-fill": 62135,
+ "cloud-slash": 62136,
+ "cloud-sleet-fill": 62137,
+ "cloud-sleet": 62138,
+ "cloud-snow-fill": 62139,
+ "cloud-snow": 62140,
+ "cloud-sun-fill": 62141,
+ "cloud-sun": 62142,
+ "cloud-upload-fill": 62143,
+ "cloud-upload": 62144,
+ "cloud": 62145,
+ "clouds-fill": 62146,
+ "clouds": 62147,
+ "cloudy-fill": 62148,
+ "cloudy": 62149,
+ "code-slash": 62150,
+ "code-square": 62151,
+ "code": 62152,
+ "collection-fill": 62153,
+ "collection-play-fill": 62154,
+ "collection-play": 62155,
+ "collection": 62156,
+ "columns-gap": 62157,
+ "columns": 62158,
+ "command": 62159,
+ "compass-fill": 62160,
+ "compass": 62161,
+ "cone-striped": 62162,
+ "cone": 62163,
+ "controller": 62164,
+ "cpu-fill": 62165,
+ "cpu": 62166,
+ "credit-card-2-back-fill": 62167,
+ "credit-card-2-back": 62168,
+ "credit-card-2-front-fill": 62169,
+ "credit-card-2-front": 62170,
+ "credit-card-fill": 62171,
+ "credit-card": 62172,
+ "crop": 62173,
+ "cup-fill": 62174,
+ "cup-straw": 62175,
+ "cup": 62176,
+ "cursor-fill": 62177,
+ "cursor-text": 62178,
+ "cursor": 62179,
+ "dash-circle-dotted": 62180,
+ "dash-circle-fill": 62181,
+ "dash-circle": 62182,
+ "dash-square-dotted": 62183,
+ "dash-square-fill": 62184,
+ "dash-square": 62185,
+ "dash": 62186,
+ "diagram-2-fill": 62187,
+ "diagram-2": 62188,
+ "diagram-3-fill": 62189,
+ "diagram-3": 62190,
+ "diamond-fill": 62191,
+ "diamond-half": 62192,
+ "diamond": 62193,
+ "dice-1-fill": 62194,
+ "dice-1": 62195,
+ "dice-2-fill": 62196,
+ "dice-2": 62197,
+ "dice-3-fill": 62198,
+ "dice-3": 62199,
+ "dice-4-fill": 62200,
+ "dice-4": 62201,
+ "dice-5-fill": 62202,
+ "dice-5": 62203,
+ "dice-6-fill": 62204,
+ "dice-6": 62205,
+ "disc-fill": 62206,
+ "disc": 62207,
+ "discord": 62208,
+ "display-fill": 62209,
+ "display": 62210,
+ "distribute-horizontal": 62211,
+ "distribute-vertical": 62212,
+ "door-closed-fill": 62213,
+ "door-closed": 62214,
+ "door-open-fill": 62215,
+ "door-open": 62216,
+ "dot": 62217,
+ "download": 62218,
+ "droplet-fill": 62219,
+ "droplet-half": 62220,
+ "droplet": 62221,
+ "earbuds": 62222,
+ "easel-fill": 62223,
+ "easel": 62224,
+ "egg-fill": 62225,
+ "egg-fried": 62226,
+ "egg": 62227,
+ "eject-fill": 62228,
+ "eject": 62229,
+ "emoji-angry-fill": 62230,
+ "emoji-angry": 62231,
+ "emoji-dizzy-fill": 62232,
+ "emoji-dizzy": 62233,
+ "emoji-expressionless-fill": 62234,
+ "emoji-expressionless": 62235,
+ "emoji-frown-fill": 62236,
+ "emoji-frown": 62237,
+ "emoji-heart-eyes-fill": 62238,
+ "emoji-heart-eyes": 62239,
+ "emoji-laughing-fill": 62240,
+ "emoji-laughing": 62241,
+ "emoji-neutral-fill": 62242,
+ "emoji-neutral": 62243,
+ "emoji-smile-fill": 62244,
+ "emoji-smile-upside-down-fill": 62245,
+ "emoji-smile-upside-down": 62246,
+ "emoji-smile": 62247,
+ "emoji-sunglasses-fill": 62248,
+ "emoji-sunglasses": 62249,
+ "emoji-wink-fill": 62250,
+ "emoji-wink": 62251,
+ "envelope-fill": 62252,
+ "envelope-open-fill": 62253,
+ "envelope-open": 62254,
+ "envelope": 62255,
+ "eraser-fill": 62256,
+ "eraser": 62257,
+ "exclamation-circle-fill": 62258,
+ "exclamation-circle": 62259,
+ "exclamation-diamond-fill": 62260,
+ "exclamation-diamond": 62261,
+ "exclamation-octagon-fill": 62262,
+ "exclamation-octagon": 62263,
+ "exclamation-square-fill": 62264,
+ "exclamation-square": 62265,
+ "exclamation-triangle-fill": 62266,
+ "exclamation-triangle": 62267,
+ "exclamation": 62268,
+ "exclude": 62269,
+ "eye-fill": 62270,
+ "eye-slash-fill": 62271,
+ "eye-slash": 62272,
+ "eye": 62273,
+ "eyedropper": 62274,
+ "eyeglasses": 62275,
+ "facebook": 62276,
+ "file-arrow-down-fill": 62277,
+ "file-arrow-down": 62278,
+ "file-arrow-up-fill": 62279,
+ "file-arrow-up": 62280,
+ "file-bar-graph-fill": 62281,
+ "file-bar-graph": 62282,
+ "file-binary-fill": 62283,
+ "file-binary": 62284,
+ "file-break-fill": 62285,
+ "file-break": 62286,
+ "file-check-fill": 62287,
+ "file-check": 62288,
+ "file-code-fill": 62289,
+ "file-code": 62290,
+ "file-diff-fill": 62291,
+ "file-diff": 62292,
+ "file-earmark-arrow-down-fill": 62293,
+ "file-earmark-arrow-down": 62294,
+ "file-earmark-arrow-up-fill": 62295,
+ "file-earmark-arrow-up": 62296,
+ "file-earmark-bar-graph-fill": 62297,
+ "file-earmark-bar-graph": 62298,
+ "file-earmark-binary-fill": 62299,
+ "file-earmark-binary": 62300,
+ "file-earmark-break-fill": 62301,
+ "file-earmark-break": 62302,
+ "file-earmark-check-fill": 62303,
+ "file-earmark-check": 62304,
+ "file-earmark-code-fill": 62305,
+ "file-earmark-code": 62306,
+ "file-earmark-diff-fill": 62307,
+ "file-earmark-diff": 62308,
+ "file-earmark-easel-fill": 62309,
+ "file-earmark-easel": 62310,
+ "file-earmark-excel-fill": 62311,
+ "file-earmark-excel": 62312,
+ "file-earmark-fill": 62313,
+ "file-earmark-font-fill": 62314,
+ "file-earmark-font": 62315,
+ "file-earmark-image-fill": 62316,
+ "file-earmark-image": 62317,
+ "file-earmark-lock-fill": 62318,
+ "file-earmark-lock": 62319,
+ "file-earmark-lock2-fill": 62320,
+ "file-earmark-lock2": 62321,
+ "file-earmark-medical-fill": 62322,
+ "file-earmark-medical": 62323,
+ "file-earmark-minus-fill": 62324,
+ "file-earmark-minus": 62325,
+ "file-earmark-music-fill": 62326,
+ "file-earmark-music": 62327,
+ "file-earmark-person-fill": 62328,
+ "file-earmark-person": 62329,
+ "file-earmark-play-fill": 62330,
+ "file-earmark-play": 62331,
+ "file-earmark-plus-fill": 62332,
+ "file-earmark-plus": 62333,
+ "file-earmark-post-fill": 62334,
+ "file-earmark-post": 62335,
+ "file-earmark-ppt-fill": 62336,
+ "file-earmark-ppt": 62337,
+ "file-earmark-richtext-fill": 62338,
+ "file-earmark-richtext": 62339,
+ "file-earmark-ruled-fill": 62340,
+ "file-earmark-ruled": 62341,
+ "file-earmark-slides-fill": 62342,
+ "file-earmark-slides": 62343,
+ "file-earmark-spreadsheet-fill": 62344,
+ "file-earmark-spreadsheet": 62345,
+ "file-earmark-text-fill": 62346,
+ "file-earmark-text": 62347,
+ "file-earmark-word-fill": 62348,
+ "file-earmark-word": 62349,
+ "file-earmark-x-fill": 62350,
+ "file-earmark-x": 62351,
+ "file-earmark-zip-fill": 62352,
+ "file-earmark-zip": 62353,
+ "file-earmark": 62354,
+ "file-easel-fill": 62355,
+ "file-easel": 62356,
+ "file-excel-fill": 62357,
+ "file-excel": 62358,
+ "file-fill": 62359,
+ "file-font-fill": 62360,
+ "file-font": 62361,
+ "file-image-fill": 62362,
+ "file-image": 62363,
+ "file-lock-fill": 62364,
+ "file-lock": 62365,
+ "file-lock2-fill": 62366,
+ "file-lock2": 62367,
+ "file-medical-fill": 62368,
+ "file-medical": 62369,
+ "file-minus-fill": 62370,
+ "file-minus": 62371,
+ "file-music-fill": 62372,
+ "file-music": 62373,
+ "file-person-fill": 62374,
+ "file-person": 62375,
+ "file-play-fill": 62376,
+ "file-play": 62377,
+ "file-plus-fill": 62378,
+ "file-plus": 62379,
+ "file-post-fill": 62380,
+ "file-post": 62381,
+ "file-ppt-fill": 62382,
+ "file-ppt": 62383,
+ "file-richtext-fill": 62384,
+ "file-richtext": 62385,
+ "file-ruled-fill": 62386,
+ "file-ruled": 62387,
+ "file-slides-fill": 62388,
+ "file-slides": 62389,
+ "file-spreadsheet-fill": 62390,
+ "file-spreadsheet": 62391,
+ "file-text-fill": 62392,
+ "file-text": 62393,
+ "file-word-fill": 62394,
+ "file-word": 62395,
+ "file-x-fill": 62396,
+ "file-x": 62397,
+ "file-zip-fill": 62398,
+ "file-zip": 62399,
+ "file": 62400,
+ "files-alt": 62401,
+ "files": 62402,
+ "film": 62403,
+ "filter-circle-fill": 62404,
+ "filter-circle": 62405,
+ "filter-left": 62406,
+ "filter-right": 62407,
+ "filter-square-fill": 62408,
+ "filter-square": 62409,
+ "filter": 62410,
+ "flag-fill": 62411,
+ "flag": 62412,
+ "flower1": 62413,
+ "flower2": 62414,
+ "flower3": 62415,
+ "folder-check": 62416,
+ "folder-fill": 62417,
+ "folder-minus": 62418,
+ "folder-plus": 62419,
+ "folder-symlink-fill": 62420,
+ "folder-symlink": 62421,
+ "folder-x": 62422,
+ "folder": 62423,
+ "folder2-open": 62424,
+ "folder2": 62425,
+ "fonts": 62426,
+ "forward-fill": 62427,
+ "forward": 62428,
+ "front": 62429,
+ "fullscreen-exit": 62430,
+ "fullscreen": 62431,
+ "funnel-fill": 62432,
+ "funnel": 62433,
+ "gear-fill": 62434,
+ "gear-wide-connected": 62435,
+ "gear-wide": 62436,
+ "gear": 62437,
+ "gem": 62438,
+ "geo-alt-fill": 62439,
+ "geo-alt": 62440,
+ "geo-fill": 62441,
+ "geo": 62442,
+ "gift-fill": 62443,
+ "gift": 62444,
+ "github": 62445,
+ "globe": 62446,
+ "globe2": 62447,
+ "google": 62448,
+ "graph-down": 62449,
+ "graph-up": 62450,
+ "grid-1x2-fill": 62451,
+ "grid-1x2": 62452,
+ "grid-3x2-gap-fill": 62453,
+ "grid-3x2-gap": 62454,
+ "grid-3x2": 62455,
+ "grid-3x3-gap-fill": 62456,
+ "grid-3x3-gap": 62457,
+ "grid-3x3": 62458,
+ "grid-fill": 62459,
+ "grid": 62460,
+ "grip-horizontal": 62461,
+ "grip-vertical": 62462,
+ "hammer": 62463,
+ "hand-index-fill": 62464,
+ "hand-index-thumb-fill": 62465,
+ "hand-index-thumb": 62466,
+ "hand-index": 62467,
+ "hand-thumbs-down-fill": 62468,
+ "hand-thumbs-down": 62469,
+ "hand-thumbs-up-fill": 62470,
+ "hand-thumbs-up": 62471,
+ "handbag-fill": 62472,
+ "handbag": 62473,
+ "hash": 62474,
+ "hdd-fill": 62475,
+ "hdd-network-fill": 62476,
+ "hdd-network": 62477,
+ "hdd-rack-fill": 62478,
+ "hdd-rack": 62479,
+ "hdd-stack-fill": 62480,
+ "hdd-stack": 62481,
+ "hdd": 62482,
+ "headphones": 62483,
+ "headset": 62484,
+ "heart-fill": 62485,
+ "heart-half": 62486,
+ "heart": 62487,
+ "heptagon-fill": 62488,
+ "heptagon-half": 62489,
+ "heptagon": 62490,
+ "hexagon-fill": 62491,
+ "hexagon-half": 62492,
+ "hexagon": 62493,
+ "hourglass-bottom": 62494,
+ "hourglass-split": 62495,
+ "hourglass-top": 62496,
+ "hourglass": 62497,
+ "house-door-fill": 62498,
+ "house-door": 62499,
+ "house-fill": 62500,
+ "house": 62501,
+ "hr": 62502,
+ "hurricane": 62503,
+ "image-alt": 62504,
+ "image-fill": 62505,
+ "image": 62506,
+ "images": 62507,
+ "inbox-fill": 62508,
+ "inbox": 62509,
+ "inboxes-fill": 62510,
+ "inboxes": 62511,
+ "info-circle-fill": 62512,
+ "info-circle": 62513,
+ "info-square-fill": 62514,
+ "info-square": 62515,
+ "info": 62516,
+ "input-cursor-text": 62517,
+ "input-cursor": 62518,
+ "instagram": 62519,
+ "intersect": 62520,
+ "journal-album": 62521,
+ "journal-arrow-down": 62522,
+ "journal-arrow-up": 62523,
+ "journal-bookmark-fill": 62524,
+ "journal-bookmark": 62525,
+ "journal-check": 62526,
+ "journal-code": 62527,
+ "journal-medical": 62528,
+ "journal-minus": 62529,
+ "journal-plus": 62530,
+ "journal-richtext": 62531,
+ "journal-text": 62532,
+ "journal-x": 62533,
+ "journal": 62534,
+ "journals": 62535,
+ "joystick": 62536,
+ "justify-left": 62537,
+ "justify-right": 62538,
+ "justify": 62539,
+ "kanban-fill": 62540,
+ "kanban": 62541,
+ "key-fill": 62542,
+ "key": 62543,
+ "keyboard-fill": 62544,
+ "keyboard": 62545,
+ "ladder": 62546,
+ "lamp-fill": 62547,
+ "lamp": 62548,
+ "laptop-fill": 62549,
+ "laptop": 62550,
+ "layer-backward": 62551,
+ "layer-forward": 62552,
+ "layers-fill": 62553,
+ "layers-half": 62554,
+ "layers": 62555,
+ "layout-sidebar-inset-reverse": 62556,
+ "layout-sidebar-inset": 62557,
+ "layout-sidebar-reverse": 62558,
+ "layout-sidebar": 62559,
+ "layout-split": 62560,
+ "layout-text-sidebar-reverse": 62561,
+ "layout-text-sidebar": 62562,
+ "layout-text-window-reverse": 62563,
+ "layout-text-window": 62564,
+ "layout-three-columns": 62565,
+ "layout-wtf": 62566,
+ "life-preserver": 62567,
+ "lightbulb-fill": 62568,
+ "lightbulb-off-fill": 62569,
+ "lightbulb-off": 62570,
+ "lightbulb": 62571,
+ "lightning-charge-fill": 62572,
+ "lightning-charge": 62573,
+ "lightning-fill": 62574,
+ "lightning": 62575,
+ "link-45deg": 62576,
+ "link": 62577,
+ "linkedin": 62578,
+ "list-check": 62579,
+ "list-nested": 62580,
+ "list-ol": 62581,
+ "list-stars": 62582,
+ "list-task": 62583,
+ "list-ul": 62584,
+ "list": 62585,
+ "lock-fill": 62586,
+ "lock": 62587,
+ "mailbox": 62588,
+ "mailbox2": 62589,
+ "map-fill": 62590,
+ "map": 62591,
+ "markdown-fill": 62592,
+ "markdown": 62593,
+ "mask": 62594,
+ "megaphone-fill": 62595,
+ "megaphone": 62596,
+ "menu-app-fill": 62597,
+ "menu-app": 62598,
+ "menu-button-fill": 62599,
+ "menu-button-wide-fill": 62600,
+ "menu-button-wide": 62601,
+ "menu-button": 62602,
+ "menu-down": 62603,
+ "menu-up": 62604,
+ "mic-fill": 62605,
+ "mic-mute-fill": 62606,
+ "mic-mute": 62607,
+ "mic": 62608,
+ "minecart-loaded": 62609,
+ "minecart": 62610,
+ "moisture": 62611,
+ "moon-fill": 62612,
+ "moon-stars-fill": 62613,
+ "moon-stars": 62614,
+ "moon": 62615,
+ "mouse-fill": 62616,
+ "mouse": 62617,
+ "mouse2-fill": 62618,
+ "mouse2": 62619,
+ "mouse3-fill": 62620,
+ "mouse3": 62621,
+ "music-note-beamed": 62622,
+ "music-note-list": 62623,
+ "music-note": 62624,
+ "music-player-fill": 62625,
+ "music-player": 62626,
+ "newspaper": 62627,
+ "node-minus-fill": 62628,
+ "node-minus": 62629,
+ "node-plus-fill": 62630,
+ "node-plus": 62631,
+ "nut-fill": 62632,
+ "nut": 62633,
+ "octagon-fill": 62634,
+ "octagon-half": 62635,
+ "octagon": 62636,
+ "option": 62637,
+ "outlet": 62638,
+ "paint-bucket": 62639,
+ "palette-fill": 62640,
+ "palette": 62641,
+ "palette2": 62642,
+ "paperclip": 62643,
+ "paragraph": 62644,
+ "patch-check-fill": 62645,
+ "patch-check": 62646,
+ "patch-exclamation-fill": 62647,
+ "patch-exclamation": 62648,
+ "patch-minus-fill": 62649,
+ "patch-minus": 62650,
+ "patch-plus-fill": 62651,
+ "patch-plus": 62652,
+ "patch-question-fill": 62653,
+ "patch-question": 62654,
+ "pause-btn-fill": 62655,
+ "pause-btn": 62656,
+ "pause-circle-fill": 62657,
+ "pause-circle": 62658,
+ "pause-fill": 62659,
+ "pause": 62660,
+ "peace-fill": 62661,
+ "peace": 62662,
+ "pen-fill": 62663,
+ "pen": 62664,
+ "pencil-fill": 62665,
+ "pencil-square": 62666,
+ "pencil": 62667,
+ "pentagon-fill": 62668,
+ "pentagon-half": 62669,
+ "pentagon": 62670,
+ "people-fill": 62671,
+ "people": 62672,
+ "percent": 62673,
+ "person-badge-fill": 62674,
+ "person-badge": 62675,
+ "person-bounding-box": 62676,
+ "person-check-fill": 62677,
+ "person-check": 62678,
+ "person-circle": 62679,
+ "person-dash-fill": 62680,
+ "person-dash": 62681,
+ "person-fill": 62682,
+ "person-lines-fill": 62683,
+ "person-plus-fill": 62684,
+ "person-plus": 62685,
+ "person-square": 62686,
+ "person-x-fill": 62687,
+ "person-x": 62688,
+ "person": 62689,
+ "phone-fill": 62690,
+ "phone-landscape-fill": 62691,
+ "phone-landscape": 62692,
+ "phone-vibrate-fill": 62693,
+ "phone-vibrate": 62694,
+ "phone": 62695,
+ "pie-chart-fill": 62696,
+ "pie-chart": 62697,
+ "pin-angle-fill": 62698,
+ "pin-angle": 62699,
+ "pin-fill": 62700,
+ "pin": 62701,
+ "pip-fill": 62702,
+ "pip": 62703,
+ "play-btn-fill": 62704,
+ "play-btn": 62705,
+ "play-circle-fill": 62706,
+ "play-circle": 62707,
+ "play-fill": 62708,
+ "play": 62709,
+ "plug-fill": 62710,
+ "plug": 62711,
+ "plus-circle-dotted": 62712,
+ "plus-circle-fill": 62713,
+ "plus-circle": 62714,
+ "plus-square-dotted": 62715,
+ "plus-square-fill": 62716,
+ "plus-square": 62717,
+ "plus": 62718,
+ "power": 62719,
+ "printer-fill": 62720,
+ "printer": 62721,
+ "puzzle-fill": 62722,
+ "puzzle": 62723,
+ "question-circle-fill": 62724,
+ "question-circle": 62725,
+ "question-diamond-fill": 62726,
+ "question-diamond": 62727,
+ "question-octagon-fill": 62728,
+ "question-octagon": 62729,
+ "question-square-fill": 62730,
+ "question-square": 62731,
+ "question": 62732,
+ "rainbow": 62733,
+ "receipt-cutoff": 62734,
+ "receipt": 62735,
+ "reception-0": 62736,
+ "reception-1": 62737,
+ "reception-2": 62738,
+ "reception-3": 62739,
+ "reception-4": 62740,
+ "record-btn-fill": 62741,
+ "record-btn": 62742,
+ "record-circle-fill": 62743,
+ "record-circle": 62744,
+ "record-fill": 62745,
+ "record": 62746,
+ "record2-fill": 62747,
+ "record2": 62748,
+ "reply-all-fill": 62749,
+ "reply-all": 62750,
+ "reply-fill": 62751,
+ "reply": 62752,
+ "rss-fill": 62753,
+ "rss": 62754,
+ "rulers": 62755,
+ "save-fill": 62756,
+ "save": 62757,
+ "save2-fill": 62758,
+ "save2": 62759,
+ "scissors": 62760,
+ "screwdriver": 62761,
+ "search": 62762,
+ "segmented-nav": 62763,
+ "server": 62764,
+ "share-fill": 62765,
+ "share": 62766,
+ "shield-check": 62767,
+ "shield-exclamation": 62768,
+ "shield-fill-check": 62769,
+ "shield-fill-exclamation": 62770,
+ "shield-fill-minus": 62771,
+ "shield-fill-plus": 62772,
+ "shield-fill-x": 62773,
+ "shield-fill": 62774,
+ "shield-lock-fill": 62775,
+ "shield-lock": 62776,
+ "shield-minus": 62777,
+ "shield-plus": 62778,
+ "shield-shaded": 62779,
+ "shield-slash-fill": 62780,
+ "shield-slash": 62781,
+ "shield-x": 62782,
+ "shield": 62783,
+ "shift-fill": 62784,
+ "shift": 62785,
+ "shop-window": 62786,
+ "shop": 62787,
+ "shuffle": 62788,
+ "signpost-2-fill": 62789,
+ "signpost-2": 62790,
+ "signpost-fill": 62791,
+ "signpost-split-fill": 62792,
+ "signpost-split": 62793,
+ "signpost": 62794,
+ "sim-fill": 62795,
+ "sim": 62796,
+ "skip-backward-btn-fill": 62797,
+ "skip-backward-btn": 62798,
+ "skip-backward-circle-fill": 62799,
+ "skip-backward-circle": 62800,
+ "skip-backward-fill": 62801,
+ "skip-backward": 62802,
+ "skip-end-btn-fill": 62803,
+ "skip-end-btn": 62804,
+ "skip-end-circle-fill": 62805,
+ "skip-end-circle": 62806,
+ "skip-end-fill": 62807,
+ "skip-end": 62808,
+ "skip-forward-btn-fill": 62809,
+ "skip-forward-btn": 62810,
+ "skip-forward-circle-fill": 62811,
+ "skip-forward-circle": 62812,
+ "skip-forward-fill": 62813,
+ "skip-forward": 62814,
+ "skip-start-btn-fill": 62815,
+ "skip-start-btn": 62816,
+ "skip-start-circle-fill": 62817,
+ "skip-start-circle": 62818,
+ "skip-start-fill": 62819,
+ "skip-start": 62820,
+ "slack": 62821,
+ "slash-circle-fill": 62822,
+ "slash-circle": 62823,
+ "slash-square-fill": 62824,
+ "slash-square": 62825,
+ "slash": 62826,
+ "sliders": 62827,
+ "smartwatch": 62828,
+ "snow": 62829,
+ "snow2": 62830,
+ "snow3": 62831,
+ "sort-alpha-down-alt": 62832,
+ "sort-alpha-down": 62833,
+ "sort-alpha-up-alt": 62834,
+ "sort-alpha-up": 62835,
+ "sort-down-alt": 62836,
+ "sort-down": 62837,
+ "sort-numeric-down-alt": 62838,
+ "sort-numeric-down": 62839,
+ "sort-numeric-up-alt": 62840,
+ "sort-numeric-up": 62841,
+ "sort-up-alt": 62842,
+ "sort-up": 62843,
+ "soundwave": 62844,
+ "speaker-fill": 62845,
+ "speaker": 62846,
+ "speedometer": 62847,
+ "speedometer2": 62848,
+ "spellcheck": 62849,
+ "square-fill": 62850,
+ "square-half": 62851,
+ "square": 62852,
+ "stack": 62853,
+ "star-fill": 62854,
+ "star-half": 62855,
+ "star": 62856,
+ "stars": 62857,
+ "stickies-fill": 62858,
+ "stickies": 62859,
+ "sticky-fill": 62860,
+ "sticky": 62861,
+ "stop-btn-fill": 62862,
+ "stop-btn": 62863,
+ "stop-circle-fill": 62864,
+ "stop-circle": 62865,
+ "stop-fill": 62866,
+ "stop": 62867,
+ "stoplights-fill": 62868,
+ "stoplights": 62869,
+ "stopwatch-fill": 62870,
+ "stopwatch": 62871,
+ "subtract": 62872,
+ "suit-club-fill": 62873,
+ "suit-club": 62874,
+ "suit-diamond-fill": 62875,
+ "suit-diamond": 62876,
+ "suit-heart-fill": 62877,
+ "suit-heart": 62878,
+ "suit-spade-fill": 62879,
+ "suit-spade": 62880,
+ "sun-fill": 62881,
+ "sun": 62882,
+ "sunglasses": 62883,
+ "sunrise-fill": 62884,
+ "sunrise": 62885,
+ "sunset-fill": 62886,
+ "sunset": 62887,
+ "symmetry-horizontal": 62888,
+ "symmetry-vertical": 62889,
+ "table": 62890,
+ "tablet-fill": 62891,
+ "tablet-landscape-fill": 62892,
+ "tablet-landscape": 62893,
+ "tablet": 62894,
+ "tag-fill": 62895,
+ "tag": 62896,
+ "tags-fill": 62897,
+ "tags": 62898,
+ "telegram": 62899,
+ "telephone-fill": 62900,
+ "telephone-forward-fill": 62901,
+ "telephone-forward": 62902,
+ "telephone-inbound-fill": 62903,
+ "telephone-inbound": 62904,
+ "telephone-minus-fill": 62905,
+ "telephone-minus": 62906,
+ "telephone-outbound-fill": 62907,
+ "telephone-outbound": 62908,
+ "telephone-plus-fill": 62909,
+ "telephone-plus": 62910,
+ "telephone-x-fill": 62911,
+ "telephone-x": 62912,
+ "telephone": 62913,
+ "terminal-fill": 62914,
+ "terminal": 62915,
+ "text-center": 62916,
+ "text-indent-left": 62917,
+ "text-indent-right": 62918,
+ "text-left": 62919,
+ "text-paragraph": 62920,
+ "text-right": 62921,
+ "textarea-resize": 62922,
+ "textarea-t": 62923,
+ "textarea": 62924,
+ "thermometer-half": 62925,
+ "thermometer-high": 62926,
+ "thermometer-low": 62927,
+ "thermometer-snow": 62928,
+ "thermometer-sun": 62929,
+ "thermometer": 62930,
+ "three-dots-vertical": 62931,
+ "three-dots": 62932,
+ "toggle-off": 62933,
+ "toggle-on": 62934,
+ "toggle2-off": 62935,
+ "toggle2-on": 62936,
+ "toggles": 62937,
+ "toggles2": 62938,
+ "tools": 62939,
+ "tornado": 62940,
+ "trash-fill": 62941,
+ "trash": 62942,
+ "trash2-fill": 62943,
+ "trash2": 62944,
+ "tree-fill": 62945,
+ "tree": 62946,
+ "triangle-fill": 62947,
+ "triangle-half": 62948,
+ "triangle": 62949,
+ "trophy-fill": 62950,
+ "trophy": 62951,
+ "tropical-storm": 62952,
+ "truck-flatbed": 62953,
+ "truck": 62954,
+ "tsunami": 62955,
+ "tv-fill": 62956,
+ "tv": 62957,
+ "twitch": 62958,
+ "twitter": 62959,
+ "type-bold": 62960,
+ "type-h1": 62961,
+ "type-h2": 62962,
+ "type-h3": 62963,
+ "type-italic": 62964,
+ "type-strikethrough": 62965,
+ "type-underline": 62966,
+ "type": 62967,
+ "ui-checks-grid": 62968,
+ "ui-checks": 62969,
+ "ui-radios-grid": 62970,
+ "ui-radios": 62971,
+ "umbrella-fill": 62972,
+ "umbrella": 62973,
+ "union": 62974,
+ "unlock-fill": 62975,
+ "unlock": 62976,
+ "upc-scan": 62977,
+ "upc": 62978,
+ "upload": 62979,
+ "vector-pen": 62980,
+ "view-list": 62981,
+ "view-stacked": 62982,
+ "vinyl-fill": 62983,
+ "vinyl": 62984,
+ "voicemail": 62985,
+ "volume-down-fill": 62986,
+ "volume-down": 62987,
+ "volume-mute-fill": 62988,
+ "volume-mute": 62989,
+ "volume-off-fill": 62990,
+ "volume-off": 62991,
+ "volume-up-fill": 62992,
+ "volume-up": 62993,
+ "vr": 62994,
+ "wallet-fill": 62995,
+ "wallet": 62996,
+ "wallet2": 62997,
+ "watch": 62998,
+ "water": 62999,
+ "whatsapp": 63000,
+ "wifi-1": 63001,
+ "wifi-2": 63002,
+ "wifi-off": 63003,
+ "wifi": 63004,
+ "wind": 63005,
+ "window-dock": 63006,
+ "window-sidebar": 63007,
+ "window": 63008,
+ "wrench": 63009,
+ "x-circle-fill": 63010,
+ "x-circle": 63011,
+ "x-diamond-fill": 63012,
+ "x-diamond": 63013,
+ "x-octagon-fill": 63014,
+ "x-octagon": 63015,
+ "x-square-fill": 63016,
+ "x-square": 63017,
+ "x": 63018,
+ "youtube": 63019,
+ "zoom-in": 63020,
+ "zoom-out": 63021,
+ "bank": 63022,
+ "bank2": 63023,
+ "bell-slash-fill": 63024,
+ "bell-slash": 63025,
+ "cash-coin": 63026,
+ "check-lg": 63027,
+ "coin": 63028,
+ "currency-bitcoin": 63029,
+ "currency-dollar": 63030,
+ "currency-euro": 63031,
+ "currency-exchange": 63032,
+ "currency-pound": 63033,
+ "currency-yen": 63034,
+ "dash-lg": 63035,
+ "exclamation-lg": 63036,
+ "file-earmark-pdf-fill": 63037,
+ "file-earmark-pdf": 63038,
+ "file-pdf-fill": 63039,
+ "file-pdf": 63040,
+ "gender-ambiguous": 63041,
+ "gender-female": 63042,
+ "gender-male": 63043,
+ "gender-trans": 63044,
+ "headset-vr": 63045,
+ "info-lg": 63046,
+ "mastodon": 63047,
+ "messenger": 63048,
+ "piggy-bank-fill": 63049,
+ "piggy-bank": 63050,
+ "pin-map-fill": 63051,
+ "pin-map": 63052,
+ "plus-lg": 63053,
+ "question-lg": 63054,
+ "recycle": 63055,
+ "reddit": 63056,
+ "safe-fill": 63057,
+ "safe2-fill": 63058,
+ "safe2": 63059,
+ "sd-card-fill": 63060,
+ "sd-card": 63061,
+ "skype": 63062,
+ "slash-lg": 63063,
+ "translate": 63064,
+ "x-lg": 63065,
+ "safe": 63066,
+ "apple": 63067,
+ "microsoft": 63069,
+ "windows": 63070,
+ "behance": 63068,
+ "dribbble": 63071,
+ "line": 63072,
+ "medium": 63073,
+ "paypal": 63074,
+ "pinterest": 63075,
+ "signal": 63076,
+ "snapchat": 63077,
+ "spotify": 63078,
+ "stack-overflow": 63079,
+ "strava": 63080,
+ "wordpress": 63081,
+ "vimeo": 63082,
+ "activity": 63083,
+ "easel2-fill": 63084,
+ "easel2": 63085,
+ "easel3-fill": 63086,
+ "easel3": 63087,
+ "fan": 63088,
+ "fingerprint": 63089,
+ "graph-down-arrow": 63090,
+ "graph-up-arrow": 63091,
+ "hypnotize": 63092,
+ "magic": 63093,
+ "person-rolodex": 63094,
+ "person-video": 63095,
+ "person-video2": 63096,
+ "person-video3": 63097,
+ "person-workspace": 63098,
+ "radioactive": 63099,
+ "webcam-fill": 63100,
+ "webcam": 63101,
+ "yin-yang": 63102,
+ "bandaid-fill": 63104,
+ "bandaid": 63105,
+ "bluetooth": 63106,
+ "body-text": 63107,
+ "boombox": 63108,
+ "boxes": 63109,
+ "dpad-fill": 63110,
+ "dpad": 63111,
+ "ear-fill": 63112,
+ "ear": 63113,
+ "envelope-check-fill": 63115,
+ "envelope-check": 63116,
+ "envelope-dash-fill": 63118,
+ "envelope-dash": 63119,
+ "envelope-exclamation-fill": 63121,
+ "envelope-exclamation": 63122,
+ "envelope-plus-fill": 63123,
+ "envelope-plus": 63124,
+ "envelope-slash-fill": 63126,
+ "envelope-slash": 63127,
+ "envelope-x-fill": 63129,
+ "envelope-x": 63130,
+ "explicit-fill": 63131,
+ "explicit": 63132,
+ "git": 63133,
+ "infinity": 63134,
+ "list-columns-reverse": 63135,
+ "list-columns": 63136,
+ "meta": 63137,
+ "nintendo-switch": 63140,
+ "pc-display-horizontal": 63141,
+ "pc-display": 63142,
+ "pc-horizontal": 63143,
+ "pc": 63144,
+ "playstation": 63145,
+ "plus-slash-minus": 63146,
+ "projector-fill": 63147,
+ "projector": 63148,
+ "qr-code-scan": 63149,
+ "qr-code": 63150,
+ "quora": 63151,
+ "quote": 63152,
+ "robot": 63153,
+ "send-check-fill": 63154,
+ "send-check": 63155,
+ "send-dash-fill": 63156,
+ "send-dash": 63157,
+ "send-exclamation-fill": 63159,
+ "send-exclamation": 63160,
+ "send-fill": 63161,
+ "send-plus-fill": 63162,
+ "send-plus": 63163,
+ "send-slash-fill": 63164,
+ "send-slash": 63165,
+ "send-x-fill": 63166,
+ "send-x": 63167,
+ "send": 63168,
+ "steam": 63169,
+ "terminal-dash": 63171,
+ "terminal-plus": 63172,
+ "terminal-split": 63173,
+ "ticket-detailed-fill": 63174,
+ "ticket-detailed": 63175,
+ "ticket-fill": 63176,
+ "ticket-perforated-fill": 63177,
+ "ticket-perforated": 63178,
+ "ticket": 63179,
+ "tiktok": 63180,
+ "window-dash": 63181,
+ "window-desktop": 63182,
+ "window-fullscreen": 63183,
+ "window-plus": 63184,
+ "window-split": 63185,
+ "window-stack": 63186,
+ "window-x": 63187,
+ "xbox": 63188,
+ "ethernet": 63189,
+ "hdmi-fill": 63190,
+ "hdmi": 63191,
+ "usb-c-fill": 63192,
+ "usb-c": 63193,
+ "usb-fill": 63194,
+ "usb-plug-fill": 63195,
+ "usb-plug": 63196,
+ "usb-symbol": 63197,
+ "usb": 63198,
+ "boombox-fill": 63199,
+ "displayport": 63201,
+ "gpu-card": 63202,
+ "memory": 63203,
+ "modem-fill": 63204,
+ "modem": 63205,
+ "motherboard-fill": 63206,
+ "motherboard": 63207,
+ "optical-audio-fill": 63208,
+ "optical-audio": 63209,
+ "pci-card": 63210,
+ "router-fill": 63211,
+ "router": 63212,
+ "thunderbolt-fill": 63215,
+ "thunderbolt": 63216,
+ "usb-drive-fill": 63217,
+ "usb-drive": 63218,
+ "usb-micro-fill": 63219,
+ "usb-micro": 63220,
+ "usb-mini-fill": 63221,
+ "usb-mini": 63222,
+ "cloud-haze2": 63223,
+ "device-hdd-fill": 63224,
+ "device-hdd": 63225,
+ "device-ssd-fill": 63226,
+ "device-ssd": 63227,
+ "displayport-fill": 63228,
+ "mortarboard-fill": 63229,
+ "mortarboard": 63230,
+ "terminal-x": 63231,
+ "arrow-through-heart-fill": 63232,
+ "arrow-through-heart": 63233,
+ "badge-sd-fill": 63234,
+ "badge-sd": 63235,
+ "bag-heart-fill": 63236,
+ "bag-heart": 63237,
+ "balloon-fill": 63238,
+ "balloon-heart-fill": 63239,
+ "balloon-heart": 63240,
+ "balloon": 63241,
+ "box2-fill": 63242,
+ "box2-heart-fill": 63243,
+ "box2-heart": 63244,
+ "box2": 63245,
+ "braces-asterisk": 63246,
+ "calendar-heart-fill": 63247,
+ "calendar-heart": 63248,
+ "calendar2-heart-fill": 63249,
+ "calendar2-heart": 63250,
+ "chat-heart-fill": 63251,
+ "chat-heart": 63252,
+ "chat-left-heart-fill": 63253,
+ "chat-left-heart": 63254,
+ "chat-right-heart-fill": 63255,
+ "chat-right-heart": 63256,
+ "chat-square-heart-fill": 63257,
+ "chat-square-heart": 63258,
+ "clipboard-check-fill": 63259,
+ "clipboard-data-fill": 63260,
+ "clipboard-fill": 63261,
+ "clipboard-heart-fill": 63262,
+ "clipboard-heart": 63263,
+ "clipboard-minus-fill": 63264,
+ "clipboard-plus-fill": 63265,
+ "clipboard-pulse": 63266,
+ "clipboard-x-fill": 63267,
+ "clipboard2-check-fill": 63268,
+ "clipboard2-check": 63269,
+ "clipboard2-data-fill": 63270,
+ "clipboard2-data": 63271,
+ "clipboard2-fill": 63272,
+ "clipboard2-heart-fill": 63273,
+ "clipboard2-heart": 63274,
+ "clipboard2-minus-fill": 63275,
+ "clipboard2-minus": 63276,
+ "clipboard2-plus-fill": 63277,
+ "clipboard2-plus": 63278,
+ "clipboard2-pulse-fill": 63279,
+ "clipboard2-pulse": 63280,
+ "clipboard2-x-fill": 63281,
+ "clipboard2-x": 63282,
+ "clipboard2": 63283,
+ "emoji-kiss-fill": 63284,
+ "emoji-kiss": 63285,
+ "envelope-heart-fill": 63286,
+ "envelope-heart": 63287,
+ "envelope-open-heart-fill": 63288,
+ "envelope-open-heart": 63289,
+ "envelope-paper-fill": 63290,
+ "envelope-paper-heart-fill": 63291,
+ "envelope-paper-heart": 63292,
+ "envelope-paper": 63293,
+ "filetype-aac": 63294,
+ "filetype-ai": 63295,
+ "filetype-bmp": 63296,
+ "filetype-cs": 63297,
+ "filetype-css": 63298,
+ "filetype-csv": 63299,
+ "filetype-doc": 63300,
+ "filetype-docx": 63301,
+ "filetype-exe": 63302,
+ "filetype-gif": 63303,
+ "filetype-heic": 63304,
+ "filetype-html": 63305,
+ "filetype-java": 63306,
+ "filetype-jpg": 63307,
+ "filetype-js": 63308,
+ "filetype-jsx": 63309,
+ "filetype-key": 63310,
+ "filetype-m4p": 63311,
+ "filetype-md": 63312,
+ "filetype-mdx": 63313,
+ "filetype-mov": 63314,
+ "filetype-mp3": 63315,
+ "filetype-mp4": 63316,
+ "filetype-otf": 63317,
+ "filetype-pdf": 63318,
+ "filetype-php": 63319,
+ "filetype-png": 63320,
+ "filetype-ppt": 63322,
+ "filetype-psd": 63323,
+ "filetype-py": 63324,
+ "filetype-raw": 63325,
+ "filetype-rb": 63326,
+ "filetype-sass": 63327,
+ "filetype-scss": 63328,
+ "filetype-sh": 63329,
+ "filetype-svg": 63330,
+ "filetype-tiff": 63331,
+ "filetype-tsx": 63332,
+ "filetype-ttf": 63333,
+ "filetype-txt": 63334,
+ "filetype-wav": 63335,
+ "filetype-woff": 63336,
+ "filetype-xls": 63338,
+ "filetype-xml": 63339,
+ "filetype-yml": 63340,
+ "heart-arrow": 63341,
+ "heart-pulse-fill": 63342,
+ "heart-pulse": 63343,
+ "heartbreak-fill": 63344,
+ "heartbreak": 63345,
+ "hearts": 63346,
+ "hospital-fill": 63347,
+ "hospital": 63348,
+ "house-heart-fill": 63349,
+ "house-heart": 63350,
+ "incognito": 63351,
+ "magnet-fill": 63352,
+ "magnet": 63353,
+ "person-heart": 63354,
+ "person-hearts": 63355,
+ "phone-flip": 63356,
+ "plugin": 63357,
+ "postage-fill": 63358,
+ "postage-heart-fill": 63359,
+ "postage-heart": 63360,
+ "postage": 63361,
+ "postcard-fill": 63362,
+ "postcard-heart-fill": 63363,
+ "postcard-heart": 63364,
+ "postcard": 63365,
+ "search-heart-fill": 63366,
+ "search-heart": 63367,
+ "sliders2-vertical": 63368,
+ "sliders2": 63369,
+ "trash3-fill": 63370,
+ "trash3": 63371,
+ "valentine": 63372,
+ "valentine2": 63373,
+ "wrench-adjustable-circle-fill": 63374,
+ "wrench-adjustable-circle": 63375,
+ "wrench-adjustable": 63376,
+ "filetype-json": 63377,
+ "filetype-pptx": 63378,
+ "filetype-xlsx": 63379,
+ "1-circle-fill": 63382,
+ "1-circle": 63383,
+ "1-square-fill": 63384,
+ "1-square": 63385,
+ "2-circle-fill": 63388,
+ "2-circle": 63389,
+ "2-square-fill": 63390,
+ "2-square": 63391,
+ "3-circle-fill": 63394,
+ "3-circle": 63395,
+ "3-square-fill": 63396,
+ "3-square": 63397,
+ "4-circle-fill": 63400,
+ "4-circle": 63401,
+ "4-square-fill": 63402,
+ "4-square": 63403,
+ "5-circle-fill": 63406,
+ "5-circle": 63407,
+ "5-square-fill": 63408,
+ "5-square": 63409,
+ "6-circle-fill": 63412,
+ "6-circle": 63413,
+ "6-square-fill": 63414,
+ "6-square": 63415,
+ "7-circle-fill": 63418,
+ "7-circle": 63419,
+ "7-square-fill": 63420,
+ "7-square": 63421,
+ "8-circle-fill": 63424,
+ "8-circle": 63425,
+ "8-square-fill": 63426,
+ "8-square": 63427,
+ "9-circle-fill": 63430,
+ "9-circle": 63431,
+ "9-square-fill": 63432,
+ "9-square": 63433,
+ "airplane-engines-fill": 63434,
+ "airplane-engines": 63435,
+ "airplane-fill": 63436,
+ "airplane": 63437,
+ "alexa": 63438,
+ "alipay": 63439,
+ "android": 63440,
+ "android2": 63441,
+ "box-fill": 63442,
+ "box-seam-fill": 63443,
+ "browser-chrome": 63444,
+ "browser-edge": 63445,
+ "browser-firefox": 63446,
+ "browser-safari": 63447,
+ "c-circle-fill": 63450,
+ "c-circle": 63451,
+ "c-square-fill": 63452,
+ "c-square": 63453,
+ "capsule-pill": 63454,
+ "capsule": 63455,
+ "car-front-fill": 63456,
+ "car-front": 63457,
+ "cassette-fill": 63458,
+ "cassette": 63459,
+ "cc-circle-fill": 63462,
+ "cc-circle": 63463,
+ "cc-square-fill": 63464,
+ "cc-square": 63465,
+ "cup-hot-fill": 63466,
+ "cup-hot": 63467,
+ "currency-rupee": 63468,
+ "dropbox": 63469,
+ "escape": 63470,
+ "fast-forward-btn-fill": 63471,
+ "fast-forward-btn": 63472,
+ "fast-forward-circle-fill": 63473,
+ "fast-forward-circle": 63474,
+ "fast-forward-fill": 63475,
+ "fast-forward": 63476,
+ "filetype-sql": 63477,
+ "fire": 63478,
+ "google-play": 63479,
+ "h-circle-fill": 63482,
+ "h-circle": 63483,
+ "h-square-fill": 63484,
+ "h-square": 63485,
+ "indent": 63486,
+ "lungs-fill": 63487,
+ "lungs": 63488,
+ "microsoft-teams": 63489,
+ "p-circle-fill": 63492,
+ "p-circle": 63493,
+ "p-square-fill": 63494,
+ "p-square": 63495,
+ "pass-fill": 63496,
+ "pass": 63497,
+ "prescription": 63498,
+ "prescription2": 63499,
+ "r-circle-fill": 63502,
+ "r-circle": 63503,
+ "r-square-fill": 63504,
+ "r-square": 63505,
+ "repeat-1": 63506,
+ "repeat": 63507,
+ "rewind-btn-fill": 63508,
+ "rewind-btn": 63509,
+ "rewind-circle-fill": 63510,
+ "rewind-circle": 63511,
+ "rewind-fill": 63512,
+ "rewind": 63513,
+ "train-freight-front-fill": 63514,
+ "train-freight-front": 63515,
+ "train-front-fill": 63516,
+ "train-front": 63517,
+ "train-lightrail-front-fill": 63518,
+ "train-lightrail-front": 63519,
+ "truck-front-fill": 63520,
+ "truck-front": 63521,
+ "ubuntu": 63522,
+ "unindent": 63523,
+ "unity": 63524,
+ "universal-access-circle": 63525,
+ "universal-access": 63526,
+ "virus": 63527,
+ "virus2": 63528,
+ "wechat": 63529,
+ "yelp": 63530,
+ "sign-stop-fill": 63531,
+ "sign-stop-lights-fill": 63532,
+ "sign-stop-lights": 63533,
+ "sign-stop": 63534,
+ "sign-turn-left-fill": 63535,
+ "sign-turn-left": 63536,
+ "sign-turn-right-fill": 63537,
+ "sign-turn-right": 63538,
+ "sign-turn-slight-left-fill": 63539,
+ "sign-turn-slight-left": 63540,
+ "sign-turn-slight-right-fill": 63541,
+ "sign-turn-slight-right": 63542,
+ "sign-yield-fill": 63543,
+ "sign-yield": 63544,
+ "ev-station-fill": 63545,
+ "ev-station": 63546,
+ "fuel-pump-diesel-fill": 63547,
+ "fuel-pump-diesel": 63548,
+ "fuel-pump-fill": 63549,
+ "fuel-pump": 63550,
+ "0-circle-fill": 63551,
+ "0-circle": 63552,
+ "0-square-fill": 63553,
+ "0-square": 63554,
+ "rocket-fill": 63555,
+ "rocket-takeoff-fill": 63556,
+ "rocket-takeoff": 63557,
+ "rocket": 63558,
+ "stripe": 63559,
+ "subscript": 63560,
+ "superscript": 63561,
+ "trello": 63562,
+ "envelope-at-fill": 63563,
+ "envelope-at": 63564,
+ "regex": 63565,
+ "text-wrap": 63566,
+ "sign-dead-end-fill": 63567,
+ "sign-dead-end": 63568,
+ "sign-do-not-enter-fill": 63569,
+ "sign-do-not-enter": 63570,
+ "sign-intersection-fill": 63571,
+ "sign-intersection-side-fill": 63572,
+ "sign-intersection-side": 63573,
+ "sign-intersection-t-fill": 63574,
+ "sign-intersection-t": 63575,
+ "sign-intersection-y-fill": 63576,
+ "sign-intersection-y": 63577,
+ "sign-intersection": 63578,
+ "sign-merge-left-fill": 63579,
+ "sign-merge-left": 63580,
+ "sign-merge-right-fill": 63581,
+ "sign-merge-right": 63582,
+ "sign-no-left-turn-fill": 63583,
+ "sign-no-left-turn": 63584,
+ "sign-no-parking-fill": 63585,
+ "sign-no-parking": 63586,
+ "sign-no-right-turn-fill": 63587,
+ "sign-no-right-turn": 63588,
+ "sign-railroad-fill": 63589,
+ "sign-railroad": 63590,
+ "building-add": 63591,
+ "building-check": 63592,
+ "building-dash": 63593,
+ "building-down": 63594,
+ "building-exclamation": 63595,
+ "building-fill-add": 63596,
+ "building-fill-check": 63597,
+ "building-fill-dash": 63598,
+ "building-fill-down": 63599,
+ "building-fill-exclamation": 63600,
+ "building-fill-gear": 63601,
+ "building-fill-lock": 63602,
+ "building-fill-slash": 63603,
+ "building-fill-up": 63604,
+ "building-fill-x": 63605,
+ "building-fill": 63606,
+ "building-gear": 63607,
+ "building-lock": 63608,
+ "building-slash": 63609,
+ "building-up": 63610,
+ "building-x": 63611,
+ "buildings-fill": 63612,
+ "buildings": 63613,
+ "bus-front-fill": 63614,
+ "bus-front": 63615,
+ "ev-front-fill": 63616,
+ "ev-front": 63617,
+ "globe-americas": 63618,
+ "globe-asia-australia": 63619,
+ "globe-central-south-asia": 63620,
+ "globe-europe-africa": 63621,
+ "house-add-fill": 63622,
+ "house-add": 63623,
+ "house-check-fill": 63624,
+ "house-check": 63625,
+ "house-dash-fill": 63626,
+ "house-dash": 63627,
+ "house-down-fill": 63628,
+ "house-down": 63629,
+ "house-exclamation-fill": 63630,
+ "house-exclamation": 63631,
+ "house-gear-fill": 63632,
+ "house-gear": 63633,
+ "house-lock-fill": 63634,
+ "house-lock": 63635,
+ "house-slash-fill": 63636,
+ "house-slash": 63637,
+ "house-up-fill": 63638,
+ "house-up": 63639,
+ "house-x-fill": 63640,
+ "house-x": 63641,
+ "person-add": 63642,
+ "person-down": 63643,
+ "person-exclamation": 63644,
+ "person-fill-add": 63645,
+ "person-fill-check": 63646,
+ "person-fill-dash": 63647,
+ "person-fill-down": 63648,
+ "person-fill-exclamation": 63649,
+ "person-fill-gear": 63650,
+ "person-fill-lock": 63651,
+ "person-fill-slash": 63652,
+ "person-fill-up": 63653,
+ "person-fill-x": 63654,
+ "person-gear": 63655,
+ "person-lock": 63656,
+ "person-slash": 63657,
+ "person-up": 63658,
+ "scooter": 63659,
+ "taxi-front-fill": 63660,
+ "taxi-front": 63661,
+ "amd": 63662,
+ "database-add": 63663,
+ "database-check": 63664,
+ "database-dash": 63665,
+ "database-down": 63666,
+ "database-exclamation": 63667,
+ "database-fill-add": 63668,
+ "database-fill-check": 63669,
+ "database-fill-dash": 63670,
+ "database-fill-down": 63671,
+ "database-fill-exclamation": 63672,
+ "database-fill-gear": 63673,
+ "database-fill-lock": 63674,
+ "database-fill-slash": 63675,
+ "database-fill-up": 63676,
+ "database-fill-x": 63677,
+ "database-fill": 63678,
+ "database-gear": 63679,
+ "database-lock": 63680,
+ "database-slash": 63681,
+ "database-up": 63682,
+ "database-x": 63683,
+ "database": 63684,
+ "houses-fill": 63685,
+ "houses": 63686,
+ "nvidia": 63687,
+ "person-vcard-fill": 63688,
+ "person-vcard": 63689,
+ "sina-weibo": 63690,
+ "tencent-qq": 63691,
+ "wikipedia": 63692
+}
\ No newline at end of file
diff --git a/src/static/icons/font/bootstrap-icons.min.css b/src/static/icons/font/bootstrap-icons.min.css
new file mode 100644
index 0000000..088ba56
--- /dev/null
+++ b/src/static/icons/font/bootstrap-icons.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap Icons v1.10.5 (https://icons.getbootstrap.com/)
+ * Copyright 2019-2023 The Bootstrap Authors
+ * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
+ */@font-face{font-display:block;font-family:bootstrap-icons;src:url("fonts/bootstrap-icons.woff2?1fa40e8900654d2863d011707b9fb6f2") format("woff2"),url("fonts/bootstrap-icons.woff?1fa40e8900654d2863d011707b9fb6f2") format("woff")}.bi::before,[class*=" bi-"]::before,[class^=bi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:"\f67f"}.bi-alarm-fill::before{content:"\f101"}.bi-alarm::before{content:"\f102"}.bi-align-bottom::before{content:"\f103"}.bi-align-center::before{content:"\f104"}.bi-align-end::before{content:"\f105"}.bi-align-middle::before{content:"\f106"}.bi-align-start::before{content:"\f107"}.bi-align-top::before{content:"\f108"}.bi-alt::before{content:"\f109"}.bi-app-indicator::before{content:"\f10a"}.bi-app::before{content:"\f10b"}.bi-archive-fill::before{content:"\f10c"}.bi-archive::before{content:"\f10d"}.bi-arrow-90deg-down::before{content:"\f10e"}.bi-arrow-90deg-left::before{content:"\f10f"}.bi-arrow-90deg-right::before{content:"\f110"}.bi-arrow-90deg-up::before{content:"\f111"}.bi-arrow-bar-down::before{content:"\f112"}.bi-arrow-bar-left::before{content:"\f113"}.bi-arrow-bar-right::before{content:"\f114"}.bi-arrow-bar-up::before{content:"\f115"}.bi-arrow-clockwise::before{content:"\f116"}.bi-arrow-counterclockwise::before{content:"\f117"}.bi-arrow-down-circle-fill::before{content:"\f118"}.bi-arrow-down-circle::before{content:"\f119"}.bi-arrow-down-left-circle-fill::before{content:"\f11a"}.bi-arrow-down-left-circle::before{content:"\f11b"}.bi-arrow-down-left-square-fill::before{content:"\f11c"}.bi-arrow-down-left-square::before{content:"\f11d"}.bi-arrow-down-left::before{content:"\f11e"}.bi-arrow-down-right-circle-fill::before{content:"\f11f"}.bi-arrow-down-right-circle::before{content:"\f120"}.bi-arrow-down-right-square-fill::before{content:"\f121"}.bi-arrow-down-right-square::before{content:"\f122"}.bi-arrow-down-right::before{content:"\f123"}.bi-arrow-down-short::before{content:"\f124"}.bi-arrow-down-square-fill::before{content:"\f125"}.bi-arrow-down-square::before{content:"\f126"}.bi-arrow-down-up::before{content:"\f127"}.bi-arrow-down::before{content:"\f128"}.bi-arrow-left-circle-fill::before{content:"\f129"}.bi-arrow-left-circle::before{content:"\f12a"}.bi-arrow-left-right::before{content:"\f12b"}.bi-arrow-left-short::before{content:"\f12c"}.bi-arrow-left-square-fill::before{content:"\f12d"}.bi-arrow-left-square::before{content:"\f12e"}.bi-arrow-left::before{content:"\f12f"}.bi-arrow-repeat::before{content:"\f130"}.bi-arrow-return-left::before{content:"\f131"}.bi-arrow-return-right::before{content:"\f132"}.bi-arrow-right-circle-fill::before{content:"\f133"}.bi-arrow-right-circle::before{content:"\f134"}.bi-arrow-right-short::before{content:"\f135"}.bi-arrow-right-square-fill::before{content:"\f136"}.bi-arrow-right-square::before{content:"\f137"}.bi-arrow-right::before{content:"\f138"}.bi-arrow-up-circle-fill::before{content:"\f139"}.bi-arrow-up-circle::before{content:"\f13a"}.bi-arrow-up-left-circle-fill::before{content:"\f13b"}.bi-arrow-up-left-circle::before{content:"\f13c"}.bi-arrow-up-left-square-fill::before{content:"\f13d"}.bi-arrow-up-left-square::before{content:"\f13e"}.bi-arrow-up-left::before{content:"\f13f"}.bi-arrow-up-right-circle-fill::before{content:"\f140"}.bi-arrow-up-right-circle::before{content:"\f141"}.bi-arrow-up-right-square-fill::before{content:"\f142"}.bi-arrow-up-right-square::before{content:"\f143"}.bi-arrow-up-right::before{content:"\f144"}.bi-arrow-up-short::before{content:"\f145"}.bi-arrow-up-square-fill::before{content:"\f146"}.bi-arrow-up-square::before{content:"\f147"}.bi-arrow-up::before{content:"\f148"}.bi-arrows-angle-contract::before{content:"\f149"}.bi-arrows-angle-expand::before{content:"\f14a"}.bi-arrows-collapse::before{content:"\f14b"}.bi-arrows-expand::before{content:"\f14c"}.bi-arrows-fullscreen::before{content:"\f14d"}.bi-arrows-move::before{content:"\f14e"}.bi-aspect-ratio-fill::before{content:"\f14f"}.bi-aspect-ratio::before{content:"\f150"}.bi-asterisk::before{content:"\f151"}.bi-at::before{content:"\f152"}.bi-award-fill::before{content:"\f153"}.bi-award::before{content:"\f154"}.bi-back::before{content:"\f155"}.bi-backspace-fill::before{content:"\f156"}.bi-backspace-reverse-fill::before{content:"\f157"}.bi-backspace-reverse::before{content:"\f158"}.bi-backspace::before{content:"\f159"}.bi-badge-3d-fill::before{content:"\f15a"}.bi-badge-3d::before{content:"\f15b"}.bi-badge-4k-fill::before{content:"\f15c"}.bi-badge-4k::before{content:"\f15d"}.bi-badge-8k-fill::before{content:"\f15e"}.bi-badge-8k::before{content:"\f15f"}.bi-badge-ad-fill::before{content:"\f160"}.bi-badge-ad::before{content:"\f161"}.bi-badge-ar-fill::before{content:"\f162"}.bi-badge-ar::before{content:"\f163"}.bi-badge-cc-fill::before{content:"\f164"}.bi-badge-cc::before{content:"\f165"}.bi-badge-hd-fill::before{content:"\f166"}.bi-badge-hd::before{content:"\f167"}.bi-badge-tm-fill::before{content:"\f168"}.bi-badge-tm::before{content:"\f169"}.bi-badge-vo-fill::before{content:"\f16a"}.bi-badge-vo::before{content:"\f16b"}.bi-badge-vr-fill::before{content:"\f16c"}.bi-badge-vr::before{content:"\f16d"}.bi-badge-wc-fill::before{content:"\f16e"}.bi-badge-wc::before{content:"\f16f"}.bi-bag-check-fill::before{content:"\f170"}.bi-bag-check::before{content:"\f171"}.bi-bag-dash-fill::before{content:"\f172"}.bi-bag-dash::before{content:"\f173"}.bi-bag-fill::before{content:"\f174"}.bi-bag-plus-fill::before{content:"\f175"}.bi-bag-plus::before{content:"\f176"}.bi-bag-x-fill::before{content:"\f177"}.bi-bag-x::before{content:"\f178"}.bi-bag::before{content:"\f179"}.bi-bar-chart-fill::before{content:"\f17a"}.bi-bar-chart-line-fill::before{content:"\f17b"}.bi-bar-chart-line::before{content:"\f17c"}.bi-bar-chart-steps::before{content:"\f17d"}.bi-bar-chart::before{content:"\f17e"}.bi-basket-fill::before{content:"\f17f"}.bi-basket::before{content:"\f180"}.bi-basket2-fill::before{content:"\f181"}.bi-basket2::before{content:"\f182"}.bi-basket3-fill::before{content:"\f183"}.bi-basket3::before{content:"\f184"}.bi-battery-charging::before{content:"\f185"}.bi-battery-full::before{content:"\f186"}.bi-battery-half::before{content:"\f187"}.bi-battery::before{content:"\f188"}.bi-bell-fill::before{content:"\f189"}.bi-bell::before{content:"\f18a"}.bi-bezier::before{content:"\f18b"}.bi-bezier2::before{content:"\f18c"}.bi-bicycle::before{content:"\f18d"}.bi-binoculars-fill::before{content:"\f18e"}.bi-binoculars::before{content:"\f18f"}.bi-blockquote-left::before{content:"\f190"}.bi-blockquote-right::before{content:"\f191"}.bi-book-fill::before{content:"\f192"}.bi-book-half::before{content:"\f193"}.bi-book::before{content:"\f194"}.bi-bookmark-check-fill::before{content:"\f195"}.bi-bookmark-check::before{content:"\f196"}.bi-bookmark-dash-fill::before{content:"\f197"}.bi-bookmark-dash::before{content:"\f198"}.bi-bookmark-fill::before{content:"\f199"}.bi-bookmark-heart-fill::before{content:"\f19a"}.bi-bookmark-heart::before{content:"\f19b"}.bi-bookmark-plus-fill::before{content:"\f19c"}.bi-bookmark-plus::before{content:"\f19d"}.bi-bookmark-star-fill::before{content:"\f19e"}.bi-bookmark-star::before{content:"\f19f"}.bi-bookmark-x-fill::before{content:"\f1a0"}.bi-bookmark-x::before{content:"\f1a1"}.bi-bookmark::before{content:"\f1a2"}.bi-bookmarks-fill::before{content:"\f1a3"}.bi-bookmarks::before{content:"\f1a4"}.bi-bookshelf::before{content:"\f1a5"}.bi-bootstrap-fill::before{content:"\f1a6"}.bi-bootstrap-reboot::before{content:"\f1a7"}.bi-bootstrap::before{content:"\f1a8"}.bi-border-all::before{content:"\f1a9"}.bi-border-bottom::before{content:"\f1aa"}.bi-border-center::before{content:"\f1ab"}.bi-border-inner::before{content:"\f1ac"}.bi-border-left::before{content:"\f1ad"}.bi-border-middle::before{content:"\f1ae"}.bi-border-outer::before{content:"\f1af"}.bi-border-right::before{content:"\f1b0"}.bi-border-style::before{content:"\f1b1"}.bi-border-top::before{content:"\f1b2"}.bi-border-width::before{content:"\f1b3"}.bi-border::before{content:"\f1b4"}.bi-bounding-box-circles::before{content:"\f1b5"}.bi-bounding-box::before{content:"\f1b6"}.bi-box-arrow-down-left::before{content:"\f1b7"}.bi-box-arrow-down-right::before{content:"\f1b8"}.bi-box-arrow-down::before{content:"\f1b9"}.bi-box-arrow-in-down-left::before{content:"\f1ba"}.bi-box-arrow-in-down-right::before{content:"\f1bb"}.bi-box-arrow-in-down::before{content:"\f1bc"}.bi-box-arrow-in-left::before{content:"\f1bd"}.bi-box-arrow-in-right::before{content:"\f1be"}.bi-box-arrow-in-up-left::before{content:"\f1bf"}.bi-box-arrow-in-up-right::before{content:"\f1c0"}.bi-box-arrow-in-up::before{content:"\f1c1"}.bi-box-arrow-left::before{content:"\f1c2"}.bi-box-arrow-right::before{content:"\f1c3"}.bi-box-arrow-up-left::before{content:"\f1c4"}.bi-box-arrow-up-right::before{content:"\f1c5"}.bi-box-arrow-up::before{content:"\f1c6"}.bi-box-seam::before{content:"\f1c7"}.bi-box::before{content:"\f1c8"}.bi-braces::before{content:"\f1c9"}.bi-bricks::before{content:"\f1ca"}.bi-briefcase-fill::before{content:"\f1cb"}.bi-briefcase::before{content:"\f1cc"}.bi-brightness-alt-high-fill::before{content:"\f1cd"}.bi-brightness-alt-high::before{content:"\f1ce"}.bi-brightness-alt-low-fill::before{content:"\f1cf"}.bi-brightness-alt-low::before{content:"\f1d0"}.bi-brightness-high-fill::before{content:"\f1d1"}.bi-brightness-high::before{content:"\f1d2"}.bi-brightness-low-fill::before{content:"\f1d3"}.bi-brightness-low::before{content:"\f1d4"}.bi-broadcast-pin::before{content:"\f1d5"}.bi-broadcast::before{content:"\f1d6"}.bi-brush-fill::before{content:"\f1d7"}.bi-brush::before{content:"\f1d8"}.bi-bucket-fill::before{content:"\f1d9"}.bi-bucket::before{content:"\f1da"}.bi-bug-fill::before{content:"\f1db"}.bi-bug::before{content:"\f1dc"}.bi-building::before{content:"\f1dd"}.bi-bullseye::before{content:"\f1de"}.bi-calculator-fill::before{content:"\f1df"}.bi-calculator::before{content:"\f1e0"}.bi-calendar-check-fill::before{content:"\f1e1"}.bi-calendar-check::before{content:"\f1e2"}.bi-calendar-date-fill::before{content:"\f1e3"}.bi-calendar-date::before{content:"\f1e4"}.bi-calendar-day-fill::before{content:"\f1e5"}.bi-calendar-day::before{content:"\f1e6"}.bi-calendar-event-fill::before{content:"\f1e7"}.bi-calendar-event::before{content:"\f1e8"}.bi-calendar-fill::before{content:"\f1e9"}.bi-calendar-minus-fill::before{content:"\f1ea"}.bi-calendar-minus::before{content:"\f1eb"}.bi-calendar-month-fill::before{content:"\f1ec"}.bi-calendar-month::before{content:"\f1ed"}.bi-calendar-plus-fill::before{content:"\f1ee"}.bi-calendar-plus::before{content:"\f1ef"}.bi-calendar-range-fill::before{content:"\f1f0"}.bi-calendar-range::before{content:"\f1f1"}.bi-calendar-week-fill::before{content:"\f1f2"}.bi-calendar-week::before{content:"\f1f3"}.bi-calendar-x-fill::before{content:"\f1f4"}.bi-calendar-x::before{content:"\f1f5"}.bi-calendar::before{content:"\f1f6"}.bi-calendar2-check-fill::before{content:"\f1f7"}.bi-calendar2-check::before{content:"\f1f8"}.bi-calendar2-date-fill::before{content:"\f1f9"}.bi-calendar2-date::before{content:"\f1fa"}.bi-calendar2-day-fill::before{content:"\f1fb"}.bi-calendar2-day::before{content:"\f1fc"}.bi-calendar2-event-fill::before{content:"\f1fd"}.bi-calendar2-event::before{content:"\f1fe"}.bi-calendar2-fill::before{content:"\f1ff"}.bi-calendar2-minus-fill::before{content:"\f200"}.bi-calendar2-minus::before{content:"\f201"}.bi-calendar2-month-fill::before{content:"\f202"}.bi-calendar2-month::before{content:"\f203"}.bi-calendar2-plus-fill::before{content:"\f204"}.bi-calendar2-plus::before{content:"\f205"}.bi-calendar2-range-fill::before{content:"\f206"}.bi-calendar2-range::before{content:"\f207"}.bi-calendar2-week-fill::before{content:"\f208"}.bi-calendar2-week::before{content:"\f209"}.bi-calendar2-x-fill::before{content:"\f20a"}.bi-calendar2-x::before{content:"\f20b"}.bi-calendar2::before{content:"\f20c"}.bi-calendar3-event-fill::before{content:"\f20d"}.bi-calendar3-event::before{content:"\f20e"}.bi-calendar3-fill::before{content:"\f20f"}.bi-calendar3-range-fill::before{content:"\f210"}.bi-calendar3-range::before{content:"\f211"}.bi-calendar3-week-fill::before{content:"\f212"}.bi-calendar3-week::before{content:"\f213"}.bi-calendar3::before{content:"\f214"}.bi-calendar4-event::before{content:"\f215"}.bi-calendar4-range::before{content:"\f216"}.bi-calendar4-week::before{content:"\f217"}.bi-calendar4::before{content:"\f218"}.bi-camera-fill::before{content:"\f219"}.bi-camera-reels-fill::before{content:"\f21a"}.bi-camera-reels::before{content:"\f21b"}.bi-camera-video-fill::before{content:"\f21c"}.bi-camera-video-off-fill::before{content:"\f21d"}.bi-camera-video-off::before{content:"\f21e"}.bi-camera-video::before{content:"\f21f"}.bi-camera::before{content:"\f220"}.bi-camera2::before{content:"\f221"}.bi-capslock-fill::before{content:"\f222"}.bi-capslock::before{content:"\f223"}.bi-card-checklist::before{content:"\f224"}.bi-card-heading::before{content:"\f225"}.bi-card-image::before{content:"\f226"}.bi-card-list::before{content:"\f227"}.bi-card-text::before{content:"\f228"}.bi-caret-down-fill::before{content:"\f229"}.bi-caret-down-square-fill::before{content:"\f22a"}.bi-caret-down-square::before{content:"\f22b"}.bi-caret-down::before{content:"\f22c"}.bi-caret-left-fill::before{content:"\f22d"}.bi-caret-left-square-fill::before{content:"\f22e"}.bi-caret-left-square::before{content:"\f22f"}.bi-caret-left::before{content:"\f230"}.bi-caret-right-fill::before{content:"\f231"}.bi-caret-right-square-fill::before{content:"\f232"}.bi-caret-right-square::before{content:"\f233"}.bi-caret-right::before{content:"\f234"}.bi-caret-up-fill::before{content:"\f235"}.bi-caret-up-square-fill::before{content:"\f236"}.bi-caret-up-square::before{content:"\f237"}.bi-caret-up::before{content:"\f238"}.bi-cart-check-fill::before{content:"\f239"}.bi-cart-check::before{content:"\f23a"}.bi-cart-dash-fill::before{content:"\f23b"}.bi-cart-dash::before{content:"\f23c"}.bi-cart-fill::before{content:"\f23d"}.bi-cart-plus-fill::before{content:"\f23e"}.bi-cart-plus::before{content:"\f23f"}.bi-cart-x-fill::before{content:"\f240"}.bi-cart-x::before{content:"\f241"}.bi-cart::before{content:"\f242"}.bi-cart2::before{content:"\f243"}.bi-cart3::before{content:"\f244"}.bi-cart4::before{content:"\f245"}.bi-cash-stack::before{content:"\f246"}.bi-cash::before{content:"\f247"}.bi-cast::before{content:"\f248"}.bi-chat-dots-fill::before{content:"\f249"}.bi-chat-dots::before{content:"\f24a"}.bi-chat-fill::before{content:"\f24b"}.bi-chat-left-dots-fill::before{content:"\f24c"}.bi-chat-left-dots::before{content:"\f24d"}.bi-chat-left-fill::before{content:"\f24e"}.bi-chat-left-quote-fill::before{content:"\f24f"}.bi-chat-left-quote::before{content:"\f250"}.bi-chat-left-text-fill::before{content:"\f251"}.bi-chat-left-text::before{content:"\f252"}.bi-chat-left::before{content:"\f253"}.bi-chat-quote-fill::before{content:"\f254"}.bi-chat-quote::before{content:"\f255"}.bi-chat-right-dots-fill::before{content:"\f256"}.bi-chat-right-dots::before{content:"\f257"}.bi-chat-right-fill::before{content:"\f258"}.bi-chat-right-quote-fill::before{content:"\f259"}.bi-chat-right-quote::before{content:"\f25a"}.bi-chat-right-text-fill::before{content:"\f25b"}.bi-chat-right-text::before{content:"\f25c"}.bi-chat-right::before{content:"\f25d"}.bi-chat-square-dots-fill::before{content:"\f25e"}.bi-chat-square-dots::before{content:"\f25f"}.bi-chat-square-fill::before{content:"\f260"}.bi-chat-square-quote-fill::before{content:"\f261"}.bi-chat-square-quote::before{content:"\f262"}.bi-chat-square-text-fill::before{content:"\f263"}.bi-chat-square-text::before{content:"\f264"}.bi-chat-square::before{content:"\f265"}.bi-chat-text-fill::before{content:"\f266"}.bi-chat-text::before{content:"\f267"}.bi-chat::before{content:"\f268"}.bi-check-all::before{content:"\f269"}.bi-check-circle-fill::before{content:"\f26a"}.bi-check-circle::before{content:"\f26b"}.bi-check-square-fill::before{content:"\f26c"}.bi-check-square::before{content:"\f26d"}.bi-check::before{content:"\f26e"}.bi-check2-all::before{content:"\f26f"}.bi-check2-circle::before{content:"\f270"}.bi-check2-square::before{content:"\f271"}.bi-check2::before{content:"\f272"}.bi-chevron-bar-contract::before{content:"\f273"}.bi-chevron-bar-down::before{content:"\f274"}.bi-chevron-bar-expand::before{content:"\f275"}.bi-chevron-bar-left::before{content:"\f276"}.bi-chevron-bar-right::before{content:"\f277"}.bi-chevron-bar-up::before{content:"\f278"}.bi-chevron-compact-down::before{content:"\f279"}.bi-chevron-compact-left::before{content:"\f27a"}.bi-chevron-compact-right::before{content:"\f27b"}.bi-chevron-compact-up::before{content:"\f27c"}.bi-chevron-contract::before{content:"\f27d"}.bi-chevron-double-down::before{content:"\f27e"}.bi-chevron-double-left::before{content:"\f27f"}.bi-chevron-double-right::before{content:"\f280"}.bi-chevron-double-up::before{content:"\f281"}.bi-chevron-down::before{content:"\f282"}.bi-chevron-expand::before{content:"\f283"}.bi-chevron-left::before{content:"\f284"}.bi-chevron-right::before{content:"\f285"}.bi-chevron-up::before{content:"\f286"}.bi-circle-fill::before{content:"\f287"}.bi-circle-half::before{content:"\f288"}.bi-circle-square::before{content:"\f289"}.bi-circle::before{content:"\f28a"}.bi-clipboard-check::before{content:"\f28b"}.bi-clipboard-data::before{content:"\f28c"}.bi-clipboard-minus::before{content:"\f28d"}.bi-clipboard-plus::before{content:"\f28e"}.bi-clipboard-x::before{content:"\f28f"}.bi-clipboard::before{content:"\f290"}.bi-clock-fill::before{content:"\f291"}.bi-clock-history::before{content:"\f292"}.bi-clock::before{content:"\f293"}.bi-cloud-arrow-down-fill::before{content:"\f294"}.bi-cloud-arrow-down::before{content:"\f295"}.bi-cloud-arrow-up-fill::before{content:"\f296"}.bi-cloud-arrow-up::before{content:"\f297"}.bi-cloud-check-fill::before{content:"\f298"}.bi-cloud-check::before{content:"\f299"}.bi-cloud-download-fill::before{content:"\f29a"}.bi-cloud-download::before{content:"\f29b"}.bi-cloud-drizzle-fill::before{content:"\f29c"}.bi-cloud-drizzle::before{content:"\f29d"}.bi-cloud-fill::before{content:"\f29e"}.bi-cloud-fog-fill::before{content:"\f29f"}.bi-cloud-fog::before{content:"\f2a0"}.bi-cloud-fog2-fill::before{content:"\f2a1"}.bi-cloud-fog2::before{content:"\f2a2"}.bi-cloud-hail-fill::before{content:"\f2a3"}.bi-cloud-hail::before{content:"\f2a4"}.bi-cloud-haze-fill::before{content:"\f2a6"}.bi-cloud-haze::before{content:"\f2a7"}.bi-cloud-haze2-fill::before{content:"\f2a8"}.bi-cloud-lightning-fill::before{content:"\f2a9"}.bi-cloud-lightning-rain-fill::before{content:"\f2aa"}.bi-cloud-lightning-rain::before{content:"\f2ab"}.bi-cloud-lightning::before{content:"\f2ac"}.bi-cloud-minus-fill::before{content:"\f2ad"}.bi-cloud-minus::before{content:"\f2ae"}.bi-cloud-moon-fill::before{content:"\f2af"}.bi-cloud-moon::before{content:"\f2b0"}.bi-cloud-plus-fill::before{content:"\f2b1"}.bi-cloud-plus::before{content:"\f2b2"}.bi-cloud-rain-fill::before{content:"\f2b3"}.bi-cloud-rain-heavy-fill::before{content:"\f2b4"}.bi-cloud-rain-heavy::before{content:"\f2b5"}.bi-cloud-rain::before{content:"\f2b6"}.bi-cloud-slash-fill::before{content:"\f2b7"}.bi-cloud-slash::before{content:"\f2b8"}.bi-cloud-sleet-fill::before{content:"\f2b9"}.bi-cloud-sleet::before{content:"\f2ba"}.bi-cloud-snow-fill::before{content:"\f2bb"}.bi-cloud-snow::before{content:"\f2bc"}.bi-cloud-sun-fill::before{content:"\f2bd"}.bi-cloud-sun::before{content:"\f2be"}.bi-cloud-upload-fill::before{content:"\f2bf"}.bi-cloud-upload::before{content:"\f2c0"}.bi-cloud::before{content:"\f2c1"}.bi-clouds-fill::before{content:"\f2c2"}.bi-clouds::before{content:"\f2c3"}.bi-cloudy-fill::before{content:"\f2c4"}.bi-cloudy::before{content:"\f2c5"}.bi-code-slash::before{content:"\f2c6"}.bi-code-square::before{content:"\f2c7"}.bi-code::before{content:"\f2c8"}.bi-collection-fill::before{content:"\f2c9"}.bi-collection-play-fill::before{content:"\f2ca"}.bi-collection-play::before{content:"\f2cb"}.bi-collection::before{content:"\f2cc"}.bi-columns-gap::before{content:"\f2cd"}.bi-columns::before{content:"\f2ce"}.bi-command::before{content:"\f2cf"}.bi-compass-fill::before{content:"\f2d0"}.bi-compass::before{content:"\f2d1"}.bi-cone-striped::before{content:"\f2d2"}.bi-cone::before{content:"\f2d3"}.bi-controller::before{content:"\f2d4"}.bi-cpu-fill::before{content:"\f2d5"}.bi-cpu::before{content:"\f2d6"}.bi-credit-card-2-back-fill::before{content:"\f2d7"}.bi-credit-card-2-back::before{content:"\f2d8"}.bi-credit-card-2-front-fill::before{content:"\f2d9"}.bi-credit-card-2-front::before{content:"\f2da"}.bi-credit-card-fill::before{content:"\f2db"}.bi-credit-card::before{content:"\f2dc"}.bi-crop::before{content:"\f2dd"}.bi-cup-fill::before{content:"\f2de"}.bi-cup-straw::before{content:"\f2df"}.bi-cup::before{content:"\f2e0"}.bi-cursor-fill::before{content:"\f2e1"}.bi-cursor-text::before{content:"\f2e2"}.bi-cursor::before{content:"\f2e3"}.bi-dash-circle-dotted::before{content:"\f2e4"}.bi-dash-circle-fill::before{content:"\f2e5"}.bi-dash-circle::before{content:"\f2e6"}.bi-dash-square-dotted::before{content:"\f2e7"}.bi-dash-square-fill::before{content:"\f2e8"}.bi-dash-square::before{content:"\f2e9"}.bi-dash::before{content:"\f2ea"}.bi-diagram-2-fill::before{content:"\f2eb"}.bi-diagram-2::before{content:"\f2ec"}.bi-diagram-3-fill::before{content:"\f2ed"}.bi-diagram-3::before{content:"\f2ee"}.bi-diamond-fill::before{content:"\f2ef"}.bi-diamond-half::before{content:"\f2f0"}.bi-diamond::before{content:"\f2f1"}.bi-dice-1-fill::before{content:"\f2f2"}.bi-dice-1::before{content:"\f2f3"}.bi-dice-2-fill::before{content:"\f2f4"}.bi-dice-2::before{content:"\f2f5"}.bi-dice-3-fill::before{content:"\f2f6"}.bi-dice-3::before{content:"\f2f7"}.bi-dice-4-fill::before{content:"\f2f8"}.bi-dice-4::before{content:"\f2f9"}.bi-dice-5-fill::before{content:"\f2fa"}.bi-dice-5::before{content:"\f2fb"}.bi-dice-6-fill::before{content:"\f2fc"}.bi-dice-6::before{content:"\f2fd"}.bi-disc-fill::before{content:"\f2fe"}.bi-disc::before{content:"\f2ff"}.bi-discord::before{content:"\f300"}.bi-display-fill::before{content:"\f301"}.bi-display::before{content:"\f302"}.bi-distribute-horizontal::before{content:"\f303"}.bi-distribute-vertical::before{content:"\f304"}.bi-door-closed-fill::before{content:"\f305"}.bi-door-closed::before{content:"\f306"}.bi-door-open-fill::before{content:"\f307"}.bi-door-open::before{content:"\f308"}.bi-dot::before{content:"\f309"}.bi-download::before{content:"\f30a"}.bi-droplet-fill::before{content:"\f30b"}.bi-droplet-half::before{content:"\f30c"}.bi-droplet::before{content:"\f30d"}.bi-earbuds::before{content:"\f30e"}.bi-easel-fill::before{content:"\f30f"}.bi-easel::before{content:"\f310"}.bi-egg-fill::before{content:"\f311"}.bi-egg-fried::before{content:"\f312"}.bi-egg::before{content:"\f313"}.bi-eject-fill::before{content:"\f314"}.bi-eject::before{content:"\f315"}.bi-emoji-angry-fill::before{content:"\f316"}.bi-emoji-angry::before{content:"\f317"}.bi-emoji-dizzy-fill::before{content:"\f318"}.bi-emoji-dizzy::before{content:"\f319"}.bi-emoji-expressionless-fill::before{content:"\f31a"}.bi-emoji-expressionless::before{content:"\f31b"}.bi-emoji-frown-fill::before{content:"\f31c"}.bi-emoji-frown::before{content:"\f31d"}.bi-emoji-heart-eyes-fill::before{content:"\f31e"}.bi-emoji-heart-eyes::before{content:"\f31f"}.bi-emoji-laughing-fill::before{content:"\f320"}.bi-emoji-laughing::before{content:"\f321"}.bi-emoji-neutral-fill::before{content:"\f322"}.bi-emoji-neutral::before{content:"\f323"}.bi-emoji-smile-fill::before{content:"\f324"}.bi-emoji-smile-upside-down-fill::before{content:"\f325"}.bi-emoji-smile-upside-down::before{content:"\f326"}.bi-emoji-smile::before{content:"\f327"}.bi-emoji-sunglasses-fill::before{content:"\f328"}.bi-emoji-sunglasses::before{content:"\f329"}.bi-emoji-wink-fill::before{content:"\f32a"}.bi-emoji-wink::before{content:"\f32b"}.bi-envelope-fill::before{content:"\f32c"}.bi-envelope-open-fill::before{content:"\f32d"}.bi-envelope-open::before{content:"\f32e"}.bi-envelope::before{content:"\f32f"}.bi-eraser-fill::before{content:"\f330"}.bi-eraser::before{content:"\f331"}.bi-exclamation-circle-fill::before{content:"\f332"}.bi-exclamation-circle::before{content:"\f333"}.bi-exclamation-diamond-fill::before{content:"\f334"}.bi-exclamation-diamond::before{content:"\f335"}.bi-exclamation-octagon-fill::before{content:"\f336"}.bi-exclamation-octagon::before{content:"\f337"}.bi-exclamation-square-fill::before{content:"\f338"}.bi-exclamation-square::before{content:"\f339"}.bi-exclamation-triangle-fill::before{content:"\f33a"}.bi-exclamation-triangle::before{content:"\f33b"}.bi-exclamation::before{content:"\f33c"}.bi-exclude::before{content:"\f33d"}.bi-eye-fill::before{content:"\f33e"}.bi-eye-slash-fill::before{content:"\f33f"}.bi-eye-slash::before{content:"\f340"}.bi-eye::before{content:"\f341"}.bi-eyedropper::before{content:"\f342"}.bi-eyeglasses::before{content:"\f343"}.bi-facebook::before{content:"\f344"}.bi-file-arrow-down-fill::before{content:"\f345"}.bi-file-arrow-down::before{content:"\f346"}.bi-file-arrow-up-fill::before{content:"\f347"}.bi-file-arrow-up::before{content:"\f348"}.bi-file-bar-graph-fill::before{content:"\f349"}.bi-file-bar-graph::before{content:"\f34a"}.bi-file-binary-fill::before{content:"\f34b"}.bi-file-binary::before{content:"\f34c"}.bi-file-break-fill::before{content:"\f34d"}.bi-file-break::before{content:"\f34e"}.bi-file-check-fill::before{content:"\f34f"}.bi-file-check::before{content:"\f350"}.bi-file-code-fill::before{content:"\f351"}.bi-file-code::before{content:"\f352"}.bi-file-diff-fill::before{content:"\f353"}.bi-file-diff::before{content:"\f354"}.bi-file-earmark-arrow-down-fill::before{content:"\f355"}.bi-file-earmark-arrow-down::before{content:"\f356"}.bi-file-earmark-arrow-up-fill::before{content:"\f357"}.bi-file-earmark-arrow-up::before{content:"\f358"}.bi-file-earmark-bar-graph-fill::before{content:"\f359"}.bi-file-earmark-bar-graph::before{content:"\f35a"}.bi-file-earmark-binary-fill::before{content:"\f35b"}.bi-file-earmark-binary::before{content:"\f35c"}.bi-file-earmark-break-fill::before{content:"\f35d"}.bi-file-earmark-break::before{content:"\f35e"}.bi-file-earmark-check-fill::before{content:"\f35f"}.bi-file-earmark-check::before{content:"\f360"}.bi-file-earmark-code-fill::before{content:"\f361"}.bi-file-earmark-code::before{content:"\f362"}.bi-file-earmark-diff-fill::before{content:"\f363"}.bi-file-earmark-diff::before{content:"\f364"}.bi-file-earmark-easel-fill::before{content:"\f365"}.bi-file-earmark-easel::before{content:"\f366"}.bi-file-earmark-excel-fill::before{content:"\f367"}.bi-file-earmark-excel::before{content:"\f368"}.bi-file-earmark-fill::before{content:"\f369"}.bi-file-earmark-font-fill::before{content:"\f36a"}.bi-file-earmark-font::before{content:"\f36b"}.bi-file-earmark-image-fill::before{content:"\f36c"}.bi-file-earmark-image::before{content:"\f36d"}.bi-file-earmark-lock-fill::before{content:"\f36e"}.bi-file-earmark-lock::before{content:"\f36f"}.bi-file-earmark-lock2-fill::before{content:"\f370"}.bi-file-earmark-lock2::before{content:"\f371"}.bi-file-earmark-medical-fill::before{content:"\f372"}.bi-file-earmark-medical::before{content:"\f373"}.bi-file-earmark-minus-fill::before{content:"\f374"}.bi-file-earmark-minus::before{content:"\f375"}.bi-file-earmark-music-fill::before{content:"\f376"}.bi-file-earmark-music::before{content:"\f377"}.bi-file-earmark-person-fill::before{content:"\f378"}.bi-file-earmark-person::before{content:"\f379"}.bi-file-earmark-play-fill::before{content:"\f37a"}.bi-file-earmark-play::before{content:"\f37b"}.bi-file-earmark-plus-fill::before{content:"\f37c"}.bi-file-earmark-plus::before{content:"\f37d"}.bi-file-earmark-post-fill::before{content:"\f37e"}.bi-file-earmark-post::before{content:"\f37f"}.bi-file-earmark-ppt-fill::before{content:"\f380"}.bi-file-earmark-ppt::before{content:"\f381"}.bi-file-earmark-richtext-fill::before{content:"\f382"}.bi-file-earmark-richtext::before{content:"\f383"}.bi-file-earmark-ruled-fill::before{content:"\f384"}.bi-file-earmark-ruled::before{content:"\f385"}.bi-file-earmark-slides-fill::before{content:"\f386"}.bi-file-earmark-slides::before{content:"\f387"}.bi-file-earmark-spreadsheet-fill::before{content:"\f388"}.bi-file-earmark-spreadsheet::before{content:"\f389"}.bi-file-earmark-text-fill::before{content:"\f38a"}.bi-file-earmark-text::before{content:"\f38b"}.bi-file-earmark-word-fill::before{content:"\f38c"}.bi-file-earmark-word::before{content:"\f38d"}.bi-file-earmark-x-fill::before{content:"\f38e"}.bi-file-earmark-x::before{content:"\f38f"}.bi-file-earmark-zip-fill::before{content:"\f390"}.bi-file-earmark-zip::before{content:"\f391"}.bi-file-earmark::before{content:"\f392"}.bi-file-easel-fill::before{content:"\f393"}.bi-file-easel::before{content:"\f394"}.bi-file-excel-fill::before{content:"\f395"}.bi-file-excel::before{content:"\f396"}.bi-file-fill::before{content:"\f397"}.bi-file-font-fill::before{content:"\f398"}.bi-file-font::before{content:"\f399"}.bi-file-image-fill::before{content:"\f39a"}.bi-file-image::before{content:"\f39b"}.bi-file-lock-fill::before{content:"\f39c"}.bi-file-lock::before{content:"\f39d"}.bi-file-lock2-fill::before{content:"\f39e"}.bi-file-lock2::before{content:"\f39f"}.bi-file-medical-fill::before{content:"\f3a0"}.bi-file-medical::before{content:"\f3a1"}.bi-file-minus-fill::before{content:"\f3a2"}.bi-file-minus::before{content:"\f3a3"}.bi-file-music-fill::before{content:"\f3a4"}.bi-file-music::before{content:"\f3a5"}.bi-file-person-fill::before{content:"\f3a6"}.bi-file-person::before{content:"\f3a7"}.bi-file-play-fill::before{content:"\f3a8"}.bi-file-play::before{content:"\f3a9"}.bi-file-plus-fill::before{content:"\f3aa"}.bi-file-plus::before{content:"\f3ab"}.bi-file-post-fill::before{content:"\f3ac"}.bi-file-post::before{content:"\f3ad"}.bi-file-ppt-fill::before{content:"\f3ae"}.bi-file-ppt::before{content:"\f3af"}.bi-file-richtext-fill::before{content:"\f3b0"}.bi-file-richtext::before{content:"\f3b1"}.bi-file-ruled-fill::before{content:"\f3b2"}.bi-file-ruled::before{content:"\f3b3"}.bi-file-slides-fill::before{content:"\f3b4"}.bi-file-slides::before{content:"\f3b5"}.bi-file-spreadsheet-fill::before{content:"\f3b6"}.bi-file-spreadsheet::before{content:"\f3b7"}.bi-file-text-fill::before{content:"\f3b8"}.bi-file-text::before{content:"\f3b9"}.bi-file-word-fill::before{content:"\f3ba"}.bi-file-word::before{content:"\f3bb"}.bi-file-x-fill::before{content:"\f3bc"}.bi-file-x::before{content:"\f3bd"}.bi-file-zip-fill::before{content:"\f3be"}.bi-file-zip::before{content:"\f3bf"}.bi-file::before{content:"\f3c0"}.bi-files-alt::before{content:"\f3c1"}.bi-files::before{content:"\f3c2"}.bi-film::before{content:"\f3c3"}.bi-filter-circle-fill::before{content:"\f3c4"}.bi-filter-circle::before{content:"\f3c5"}.bi-filter-left::before{content:"\f3c6"}.bi-filter-right::before{content:"\f3c7"}.bi-filter-square-fill::before{content:"\f3c8"}.bi-filter-square::before{content:"\f3c9"}.bi-filter::before{content:"\f3ca"}.bi-flag-fill::before{content:"\f3cb"}.bi-flag::before{content:"\f3cc"}.bi-flower1::before{content:"\f3cd"}.bi-flower2::before{content:"\f3ce"}.bi-flower3::before{content:"\f3cf"}.bi-folder-check::before{content:"\f3d0"}.bi-folder-fill::before{content:"\f3d1"}.bi-folder-minus::before{content:"\f3d2"}.bi-folder-plus::before{content:"\f3d3"}.bi-folder-symlink-fill::before{content:"\f3d4"}.bi-folder-symlink::before{content:"\f3d5"}.bi-folder-x::before{content:"\f3d6"}.bi-folder::before{content:"\f3d7"}.bi-folder2-open::before{content:"\f3d8"}.bi-folder2::before{content:"\f3d9"}.bi-fonts::before{content:"\f3da"}.bi-forward-fill::before{content:"\f3db"}.bi-forward::before{content:"\f3dc"}.bi-front::before{content:"\f3dd"}.bi-fullscreen-exit::before{content:"\f3de"}.bi-fullscreen::before{content:"\f3df"}.bi-funnel-fill::before{content:"\f3e0"}.bi-funnel::before{content:"\f3e1"}.bi-gear-fill::before{content:"\f3e2"}.bi-gear-wide-connected::before{content:"\f3e3"}.bi-gear-wide::before{content:"\f3e4"}.bi-gear::before{content:"\f3e5"}.bi-gem::before{content:"\f3e6"}.bi-geo-alt-fill::before{content:"\f3e7"}.bi-geo-alt::before{content:"\f3e8"}.bi-geo-fill::before{content:"\f3e9"}.bi-geo::before{content:"\f3ea"}.bi-gift-fill::before{content:"\f3eb"}.bi-gift::before{content:"\f3ec"}.bi-github::before{content:"\f3ed"}.bi-globe::before{content:"\f3ee"}.bi-globe2::before{content:"\f3ef"}.bi-google::before{content:"\f3f0"}.bi-graph-down::before{content:"\f3f1"}.bi-graph-up::before{content:"\f3f2"}.bi-grid-1x2-fill::before{content:"\f3f3"}.bi-grid-1x2::before{content:"\f3f4"}.bi-grid-3x2-gap-fill::before{content:"\f3f5"}.bi-grid-3x2-gap::before{content:"\f3f6"}.bi-grid-3x2::before{content:"\f3f7"}.bi-grid-3x3-gap-fill::before{content:"\f3f8"}.bi-grid-3x3-gap::before{content:"\f3f9"}.bi-grid-3x3::before{content:"\f3fa"}.bi-grid-fill::before{content:"\f3fb"}.bi-grid::before{content:"\f3fc"}.bi-grip-horizontal::before{content:"\f3fd"}.bi-grip-vertical::before{content:"\f3fe"}.bi-hammer::before{content:"\f3ff"}.bi-hand-index-fill::before{content:"\f400"}.bi-hand-index-thumb-fill::before{content:"\f401"}.bi-hand-index-thumb::before{content:"\f402"}.bi-hand-index::before{content:"\f403"}.bi-hand-thumbs-down-fill::before{content:"\f404"}.bi-hand-thumbs-down::before{content:"\f405"}.bi-hand-thumbs-up-fill::before{content:"\f406"}.bi-hand-thumbs-up::before{content:"\f407"}.bi-handbag-fill::before{content:"\f408"}.bi-handbag::before{content:"\f409"}.bi-hash::before{content:"\f40a"}.bi-hdd-fill::before{content:"\f40b"}.bi-hdd-network-fill::before{content:"\f40c"}.bi-hdd-network::before{content:"\f40d"}.bi-hdd-rack-fill::before{content:"\f40e"}.bi-hdd-rack::before{content:"\f40f"}.bi-hdd-stack-fill::before{content:"\f410"}.bi-hdd-stack::before{content:"\f411"}.bi-hdd::before{content:"\f412"}.bi-headphones::before{content:"\f413"}.bi-headset::before{content:"\f414"}.bi-heart-fill::before{content:"\f415"}.bi-heart-half::before{content:"\f416"}.bi-heart::before{content:"\f417"}.bi-heptagon-fill::before{content:"\f418"}.bi-heptagon-half::before{content:"\f419"}.bi-heptagon::before{content:"\f41a"}.bi-hexagon-fill::before{content:"\f41b"}.bi-hexagon-half::before{content:"\f41c"}.bi-hexagon::before{content:"\f41d"}.bi-hourglass-bottom::before{content:"\f41e"}.bi-hourglass-split::before{content:"\f41f"}.bi-hourglass-top::before{content:"\f420"}.bi-hourglass::before{content:"\f421"}.bi-house-door-fill::before{content:"\f422"}.bi-house-door::before{content:"\f423"}.bi-house-fill::before{content:"\f424"}.bi-house::before{content:"\f425"}.bi-hr::before{content:"\f426"}.bi-hurricane::before{content:"\f427"}.bi-image-alt::before{content:"\f428"}.bi-image-fill::before{content:"\f429"}.bi-image::before{content:"\f42a"}.bi-images::before{content:"\f42b"}.bi-inbox-fill::before{content:"\f42c"}.bi-inbox::before{content:"\f42d"}.bi-inboxes-fill::before{content:"\f42e"}.bi-inboxes::before{content:"\f42f"}.bi-info-circle-fill::before{content:"\f430"}.bi-info-circle::before{content:"\f431"}.bi-info-square-fill::before{content:"\f432"}.bi-info-square::before{content:"\f433"}.bi-info::before{content:"\f434"}.bi-input-cursor-text::before{content:"\f435"}.bi-input-cursor::before{content:"\f436"}.bi-instagram::before{content:"\f437"}.bi-intersect::before{content:"\f438"}.bi-journal-album::before{content:"\f439"}.bi-journal-arrow-down::before{content:"\f43a"}.bi-journal-arrow-up::before{content:"\f43b"}.bi-journal-bookmark-fill::before{content:"\f43c"}.bi-journal-bookmark::before{content:"\f43d"}.bi-journal-check::before{content:"\f43e"}.bi-journal-code::before{content:"\f43f"}.bi-journal-medical::before{content:"\f440"}.bi-journal-minus::before{content:"\f441"}.bi-journal-plus::before{content:"\f442"}.bi-journal-richtext::before{content:"\f443"}.bi-journal-text::before{content:"\f444"}.bi-journal-x::before{content:"\f445"}.bi-journal::before{content:"\f446"}.bi-journals::before{content:"\f447"}.bi-joystick::before{content:"\f448"}.bi-justify-left::before{content:"\f449"}.bi-justify-right::before{content:"\f44a"}.bi-justify::before{content:"\f44b"}.bi-kanban-fill::before{content:"\f44c"}.bi-kanban::before{content:"\f44d"}.bi-key-fill::before{content:"\f44e"}.bi-key::before{content:"\f44f"}.bi-keyboard-fill::before{content:"\f450"}.bi-keyboard::before{content:"\f451"}.bi-ladder::before{content:"\f452"}.bi-lamp-fill::before{content:"\f453"}.bi-lamp::before{content:"\f454"}.bi-laptop-fill::before{content:"\f455"}.bi-laptop::before{content:"\f456"}.bi-layer-backward::before{content:"\f457"}.bi-layer-forward::before{content:"\f458"}.bi-layers-fill::before{content:"\f459"}.bi-layers-half::before{content:"\f45a"}.bi-layers::before{content:"\f45b"}.bi-layout-sidebar-inset-reverse::before{content:"\f45c"}.bi-layout-sidebar-inset::before{content:"\f45d"}.bi-layout-sidebar-reverse::before{content:"\f45e"}.bi-layout-sidebar::before{content:"\f45f"}.bi-layout-split::before{content:"\f460"}.bi-layout-text-sidebar-reverse::before{content:"\f461"}.bi-layout-text-sidebar::before{content:"\f462"}.bi-layout-text-window-reverse::before{content:"\f463"}.bi-layout-text-window::before{content:"\f464"}.bi-layout-three-columns::before{content:"\f465"}.bi-layout-wtf::before{content:"\f466"}.bi-life-preserver::before{content:"\f467"}.bi-lightbulb-fill::before{content:"\f468"}.bi-lightbulb-off-fill::before{content:"\f469"}.bi-lightbulb-off::before{content:"\f46a"}.bi-lightbulb::before{content:"\f46b"}.bi-lightning-charge-fill::before{content:"\f46c"}.bi-lightning-charge::before{content:"\f46d"}.bi-lightning-fill::before{content:"\f46e"}.bi-lightning::before{content:"\f46f"}.bi-link-45deg::before{content:"\f470"}.bi-link::before{content:"\f471"}.bi-linkedin::before{content:"\f472"}.bi-list-check::before{content:"\f473"}.bi-list-nested::before{content:"\f474"}.bi-list-ol::before{content:"\f475"}.bi-list-stars::before{content:"\f476"}.bi-list-task::before{content:"\f477"}.bi-list-ul::before{content:"\f478"}.bi-list::before{content:"\f479"}.bi-lock-fill::before{content:"\f47a"}.bi-lock::before{content:"\f47b"}.bi-mailbox::before{content:"\f47c"}.bi-mailbox2::before{content:"\f47d"}.bi-map-fill::before{content:"\f47e"}.bi-map::before{content:"\f47f"}.bi-markdown-fill::before{content:"\f480"}.bi-markdown::before{content:"\f481"}.bi-mask::before{content:"\f482"}.bi-megaphone-fill::before{content:"\f483"}.bi-megaphone::before{content:"\f484"}.bi-menu-app-fill::before{content:"\f485"}.bi-menu-app::before{content:"\f486"}.bi-menu-button-fill::before{content:"\f487"}.bi-menu-button-wide-fill::before{content:"\f488"}.bi-menu-button-wide::before{content:"\f489"}.bi-menu-button::before{content:"\f48a"}.bi-menu-down::before{content:"\f48b"}.bi-menu-up::before{content:"\f48c"}.bi-mic-fill::before{content:"\f48d"}.bi-mic-mute-fill::before{content:"\f48e"}.bi-mic-mute::before{content:"\f48f"}.bi-mic::before{content:"\f490"}.bi-minecart-loaded::before{content:"\f491"}.bi-minecart::before{content:"\f492"}.bi-moisture::before{content:"\f493"}.bi-moon-fill::before{content:"\f494"}.bi-moon-stars-fill::before{content:"\f495"}.bi-moon-stars::before{content:"\f496"}.bi-moon::before{content:"\f497"}.bi-mouse-fill::before{content:"\f498"}.bi-mouse::before{content:"\f499"}.bi-mouse2-fill::before{content:"\f49a"}.bi-mouse2::before{content:"\f49b"}.bi-mouse3-fill::before{content:"\f49c"}.bi-mouse3::before{content:"\f49d"}.bi-music-note-beamed::before{content:"\f49e"}.bi-music-note-list::before{content:"\f49f"}.bi-music-note::before{content:"\f4a0"}.bi-music-player-fill::before{content:"\f4a1"}.bi-music-player::before{content:"\f4a2"}.bi-newspaper::before{content:"\f4a3"}.bi-node-minus-fill::before{content:"\f4a4"}.bi-node-minus::before{content:"\f4a5"}.bi-node-plus-fill::before{content:"\f4a6"}.bi-node-plus::before{content:"\f4a7"}.bi-nut-fill::before{content:"\f4a8"}.bi-nut::before{content:"\f4a9"}.bi-octagon-fill::before{content:"\f4aa"}.bi-octagon-half::before{content:"\f4ab"}.bi-octagon::before{content:"\f4ac"}.bi-option::before{content:"\f4ad"}.bi-outlet::before{content:"\f4ae"}.bi-paint-bucket::before{content:"\f4af"}.bi-palette-fill::before{content:"\f4b0"}.bi-palette::before{content:"\f4b1"}.bi-palette2::before{content:"\f4b2"}.bi-paperclip::before{content:"\f4b3"}.bi-paragraph::before{content:"\f4b4"}.bi-patch-check-fill::before{content:"\f4b5"}.bi-patch-check::before{content:"\f4b6"}.bi-patch-exclamation-fill::before{content:"\f4b7"}.bi-patch-exclamation::before{content:"\f4b8"}.bi-patch-minus-fill::before{content:"\f4b9"}.bi-patch-minus::before{content:"\f4ba"}.bi-patch-plus-fill::before{content:"\f4bb"}.bi-patch-plus::before{content:"\f4bc"}.bi-patch-question-fill::before{content:"\f4bd"}.bi-patch-question::before{content:"\f4be"}.bi-pause-btn-fill::before{content:"\f4bf"}.bi-pause-btn::before{content:"\f4c0"}.bi-pause-circle-fill::before{content:"\f4c1"}.bi-pause-circle::before{content:"\f4c2"}.bi-pause-fill::before{content:"\f4c3"}.bi-pause::before{content:"\f4c4"}.bi-peace-fill::before{content:"\f4c5"}.bi-peace::before{content:"\f4c6"}.bi-pen-fill::before{content:"\f4c7"}.bi-pen::before{content:"\f4c8"}.bi-pencil-fill::before{content:"\f4c9"}.bi-pencil-square::before{content:"\f4ca"}.bi-pencil::before{content:"\f4cb"}.bi-pentagon-fill::before{content:"\f4cc"}.bi-pentagon-half::before{content:"\f4cd"}.bi-pentagon::before{content:"\f4ce"}.bi-people-fill::before{content:"\f4cf"}.bi-people::before{content:"\f4d0"}.bi-percent::before{content:"\f4d1"}.bi-person-badge-fill::before{content:"\f4d2"}.bi-person-badge::before{content:"\f4d3"}.bi-person-bounding-box::before{content:"\f4d4"}.bi-person-check-fill::before{content:"\f4d5"}.bi-person-check::before{content:"\f4d6"}.bi-person-circle::before{content:"\f4d7"}.bi-person-dash-fill::before{content:"\f4d8"}.bi-person-dash::before{content:"\f4d9"}.bi-person-fill::before{content:"\f4da"}.bi-person-lines-fill::before{content:"\f4db"}.bi-person-plus-fill::before{content:"\f4dc"}.bi-person-plus::before{content:"\f4dd"}.bi-person-square::before{content:"\f4de"}.bi-person-x-fill::before{content:"\f4df"}.bi-person-x::before{content:"\f4e0"}.bi-person::before{content:"\f4e1"}.bi-phone-fill::before{content:"\f4e2"}.bi-phone-landscape-fill::before{content:"\f4e3"}.bi-phone-landscape::before{content:"\f4e4"}.bi-phone-vibrate-fill::before{content:"\f4e5"}.bi-phone-vibrate::before{content:"\f4e6"}.bi-phone::before{content:"\f4e7"}.bi-pie-chart-fill::before{content:"\f4e8"}.bi-pie-chart::before{content:"\f4e9"}.bi-pin-angle-fill::before{content:"\f4ea"}.bi-pin-angle::before{content:"\f4eb"}.bi-pin-fill::before{content:"\f4ec"}.bi-pin::before{content:"\f4ed"}.bi-pip-fill::before{content:"\f4ee"}.bi-pip::before{content:"\f4ef"}.bi-play-btn-fill::before{content:"\f4f0"}.bi-play-btn::before{content:"\f4f1"}.bi-play-circle-fill::before{content:"\f4f2"}.bi-play-circle::before{content:"\f4f3"}.bi-play-fill::before{content:"\f4f4"}.bi-play::before{content:"\f4f5"}.bi-plug-fill::before{content:"\f4f6"}.bi-plug::before{content:"\f4f7"}.bi-plus-circle-dotted::before{content:"\f4f8"}.bi-plus-circle-fill::before{content:"\f4f9"}.bi-plus-circle::before{content:"\f4fa"}.bi-plus-square-dotted::before{content:"\f4fb"}.bi-plus-square-fill::before{content:"\f4fc"}.bi-plus-square::before{content:"\f4fd"}.bi-plus::before{content:"\f4fe"}.bi-power::before{content:"\f4ff"}.bi-printer-fill::before{content:"\f500"}.bi-printer::before{content:"\f501"}.bi-puzzle-fill::before{content:"\f502"}.bi-puzzle::before{content:"\f503"}.bi-question-circle-fill::before{content:"\f504"}.bi-question-circle::before{content:"\f505"}.bi-question-diamond-fill::before{content:"\f506"}.bi-question-diamond::before{content:"\f507"}.bi-question-octagon-fill::before{content:"\f508"}.bi-question-octagon::before{content:"\f509"}.bi-question-square-fill::before{content:"\f50a"}.bi-question-square::before{content:"\f50b"}.bi-question::before{content:"\f50c"}.bi-rainbow::before{content:"\f50d"}.bi-receipt-cutoff::before{content:"\f50e"}.bi-receipt::before{content:"\f50f"}.bi-reception-0::before{content:"\f510"}.bi-reception-1::before{content:"\f511"}.bi-reception-2::before{content:"\f512"}.bi-reception-3::before{content:"\f513"}.bi-reception-4::before{content:"\f514"}.bi-record-btn-fill::before{content:"\f515"}.bi-record-btn::before{content:"\f516"}.bi-record-circle-fill::before{content:"\f517"}.bi-record-circle::before{content:"\f518"}.bi-record-fill::before{content:"\f519"}.bi-record::before{content:"\f51a"}.bi-record2-fill::before{content:"\f51b"}.bi-record2::before{content:"\f51c"}.bi-reply-all-fill::before{content:"\f51d"}.bi-reply-all::before{content:"\f51e"}.bi-reply-fill::before{content:"\f51f"}.bi-reply::before{content:"\f520"}.bi-rss-fill::before{content:"\f521"}.bi-rss::before{content:"\f522"}.bi-rulers::before{content:"\f523"}.bi-save-fill::before{content:"\f524"}.bi-save::before{content:"\f525"}.bi-save2-fill::before{content:"\f526"}.bi-save2::before{content:"\f527"}.bi-scissors::before{content:"\f528"}.bi-screwdriver::before{content:"\f529"}.bi-search::before{content:"\f52a"}.bi-segmented-nav::before{content:"\f52b"}.bi-server::before{content:"\f52c"}.bi-share-fill::before{content:"\f52d"}.bi-share::before{content:"\f52e"}.bi-shield-check::before{content:"\f52f"}.bi-shield-exclamation::before{content:"\f530"}.bi-shield-fill-check::before{content:"\f531"}.bi-shield-fill-exclamation::before{content:"\f532"}.bi-shield-fill-minus::before{content:"\f533"}.bi-shield-fill-plus::before{content:"\f534"}.bi-shield-fill-x::before{content:"\f535"}.bi-shield-fill::before{content:"\f536"}.bi-shield-lock-fill::before{content:"\f537"}.bi-shield-lock::before{content:"\f538"}.bi-shield-minus::before{content:"\f539"}.bi-shield-plus::before{content:"\f53a"}.bi-shield-shaded::before{content:"\f53b"}.bi-shield-slash-fill::before{content:"\f53c"}.bi-shield-slash::before{content:"\f53d"}.bi-shield-x::before{content:"\f53e"}.bi-shield::before{content:"\f53f"}.bi-shift-fill::before{content:"\f540"}.bi-shift::before{content:"\f541"}.bi-shop-window::before{content:"\f542"}.bi-shop::before{content:"\f543"}.bi-shuffle::before{content:"\f544"}.bi-signpost-2-fill::before{content:"\f545"}.bi-signpost-2::before{content:"\f546"}.bi-signpost-fill::before{content:"\f547"}.bi-signpost-split-fill::before{content:"\f548"}.bi-signpost-split::before{content:"\f549"}.bi-signpost::before{content:"\f54a"}.bi-sim-fill::before{content:"\f54b"}.bi-sim::before{content:"\f54c"}.bi-skip-backward-btn-fill::before{content:"\f54d"}.bi-skip-backward-btn::before{content:"\f54e"}.bi-skip-backward-circle-fill::before{content:"\f54f"}.bi-skip-backward-circle::before{content:"\f550"}.bi-skip-backward-fill::before{content:"\f551"}.bi-skip-backward::before{content:"\f552"}.bi-skip-end-btn-fill::before{content:"\f553"}.bi-skip-end-btn::before{content:"\f554"}.bi-skip-end-circle-fill::before{content:"\f555"}.bi-skip-end-circle::before{content:"\f556"}.bi-skip-end-fill::before{content:"\f557"}.bi-skip-end::before{content:"\f558"}.bi-skip-forward-btn-fill::before{content:"\f559"}.bi-skip-forward-btn::before{content:"\f55a"}.bi-skip-forward-circle-fill::before{content:"\f55b"}.bi-skip-forward-circle::before{content:"\f55c"}.bi-skip-forward-fill::before{content:"\f55d"}.bi-skip-forward::before{content:"\f55e"}.bi-skip-start-btn-fill::before{content:"\f55f"}.bi-skip-start-btn::before{content:"\f560"}.bi-skip-start-circle-fill::before{content:"\f561"}.bi-skip-start-circle::before{content:"\f562"}.bi-skip-start-fill::before{content:"\f563"}.bi-skip-start::before{content:"\f564"}.bi-slack::before{content:"\f565"}.bi-slash-circle-fill::before{content:"\f566"}.bi-slash-circle::before{content:"\f567"}.bi-slash-square-fill::before{content:"\f568"}.bi-slash-square::before{content:"\f569"}.bi-slash::before{content:"\f56a"}.bi-sliders::before{content:"\f56b"}.bi-smartwatch::before{content:"\f56c"}.bi-snow::before{content:"\f56d"}.bi-snow2::before{content:"\f56e"}.bi-snow3::before{content:"\f56f"}.bi-sort-alpha-down-alt::before{content:"\f570"}.bi-sort-alpha-down::before{content:"\f571"}.bi-sort-alpha-up-alt::before{content:"\f572"}.bi-sort-alpha-up::before{content:"\f573"}.bi-sort-down-alt::before{content:"\f574"}.bi-sort-down::before{content:"\f575"}.bi-sort-numeric-down-alt::before{content:"\f576"}.bi-sort-numeric-down::before{content:"\f577"}.bi-sort-numeric-up-alt::before{content:"\f578"}.bi-sort-numeric-up::before{content:"\f579"}.bi-sort-up-alt::before{content:"\f57a"}.bi-sort-up::before{content:"\f57b"}.bi-soundwave::before{content:"\f57c"}.bi-speaker-fill::before{content:"\f57d"}.bi-speaker::before{content:"\f57e"}.bi-speedometer::before{content:"\f57f"}.bi-speedometer2::before{content:"\f580"}.bi-spellcheck::before{content:"\f581"}.bi-square-fill::before{content:"\f582"}.bi-square-half::before{content:"\f583"}.bi-square::before{content:"\f584"}.bi-stack::before{content:"\f585"}.bi-star-fill::before{content:"\f586"}.bi-star-half::before{content:"\f587"}.bi-star::before{content:"\f588"}.bi-stars::before{content:"\f589"}.bi-stickies-fill::before{content:"\f58a"}.bi-stickies::before{content:"\f58b"}.bi-sticky-fill::before{content:"\f58c"}.bi-sticky::before{content:"\f58d"}.bi-stop-btn-fill::before{content:"\f58e"}.bi-stop-btn::before{content:"\f58f"}.bi-stop-circle-fill::before{content:"\f590"}.bi-stop-circle::before{content:"\f591"}.bi-stop-fill::before{content:"\f592"}.bi-stop::before{content:"\f593"}.bi-stoplights-fill::before{content:"\f594"}.bi-stoplights::before{content:"\f595"}.bi-stopwatch-fill::before{content:"\f596"}.bi-stopwatch::before{content:"\f597"}.bi-subtract::before{content:"\f598"}.bi-suit-club-fill::before{content:"\f599"}.bi-suit-club::before{content:"\f59a"}.bi-suit-diamond-fill::before{content:"\f59b"}.bi-suit-diamond::before{content:"\f59c"}.bi-suit-heart-fill::before{content:"\f59d"}.bi-suit-heart::before{content:"\f59e"}.bi-suit-spade-fill::before{content:"\f59f"}.bi-suit-spade::before{content:"\f5a0"}.bi-sun-fill::before{content:"\f5a1"}.bi-sun::before{content:"\f5a2"}.bi-sunglasses::before{content:"\f5a3"}.bi-sunrise-fill::before{content:"\f5a4"}.bi-sunrise::before{content:"\f5a5"}.bi-sunset-fill::before{content:"\f5a6"}.bi-sunset::before{content:"\f5a7"}.bi-symmetry-horizontal::before{content:"\f5a8"}.bi-symmetry-vertical::before{content:"\f5a9"}.bi-table::before{content:"\f5aa"}.bi-tablet-fill::before{content:"\f5ab"}.bi-tablet-landscape-fill::before{content:"\f5ac"}.bi-tablet-landscape::before{content:"\f5ad"}.bi-tablet::before{content:"\f5ae"}.bi-tag-fill::before{content:"\f5af"}.bi-tag::before{content:"\f5b0"}.bi-tags-fill::before{content:"\f5b1"}.bi-tags::before{content:"\f5b2"}.bi-telegram::before{content:"\f5b3"}.bi-telephone-fill::before{content:"\f5b4"}.bi-telephone-forward-fill::before{content:"\f5b5"}.bi-telephone-forward::before{content:"\f5b6"}.bi-telephone-inbound-fill::before{content:"\f5b7"}.bi-telephone-inbound::before{content:"\f5b8"}.bi-telephone-minus-fill::before{content:"\f5b9"}.bi-telephone-minus::before{content:"\f5ba"}.bi-telephone-outbound-fill::before{content:"\f5bb"}.bi-telephone-outbound::before{content:"\f5bc"}.bi-telephone-plus-fill::before{content:"\f5bd"}.bi-telephone-plus::before{content:"\f5be"}.bi-telephone-x-fill::before{content:"\f5bf"}.bi-telephone-x::before{content:"\f5c0"}.bi-telephone::before{content:"\f5c1"}.bi-terminal-fill::before{content:"\f5c2"}.bi-terminal::before{content:"\f5c3"}.bi-text-center::before{content:"\f5c4"}.bi-text-indent-left::before{content:"\f5c5"}.bi-text-indent-right::before{content:"\f5c6"}.bi-text-left::before{content:"\f5c7"}.bi-text-paragraph::before{content:"\f5c8"}.bi-text-right::before{content:"\f5c9"}.bi-textarea-resize::before{content:"\f5ca"}.bi-textarea-t::before{content:"\f5cb"}.bi-textarea::before{content:"\f5cc"}.bi-thermometer-half::before{content:"\f5cd"}.bi-thermometer-high::before{content:"\f5ce"}.bi-thermometer-low::before{content:"\f5cf"}.bi-thermometer-snow::before{content:"\f5d0"}.bi-thermometer-sun::before{content:"\f5d1"}.bi-thermometer::before{content:"\f5d2"}.bi-three-dots-vertical::before{content:"\f5d3"}.bi-three-dots::before{content:"\f5d4"}.bi-toggle-off::before{content:"\f5d5"}.bi-toggle-on::before{content:"\f5d6"}.bi-toggle2-off::before{content:"\f5d7"}.bi-toggle2-on::before{content:"\f5d8"}.bi-toggles::before{content:"\f5d9"}.bi-toggles2::before{content:"\f5da"}.bi-tools::before{content:"\f5db"}.bi-tornado::before{content:"\f5dc"}.bi-trash-fill::before{content:"\f5dd"}.bi-trash::before{content:"\f5de"}.bi-trash2-fill::before{content:"\f5df"}.bi-trash2::before{content:"\f5e0"}.bi-tree-fill::before{content:"\f5e1"}.bi-tree::before{content:"\f5e2"}.bi-triangle-fill::before{content:"\f5e3"}.bi-triangle-half::before{content:"\f5e4"}.bi-triangle::before{content:"\f5e5"}.bi-trophy-fill::before{content:"\f5e6"}.bi-trophy::before{content:"\f5e7"}.bi-tropical-storm::before{content:"\f5e8"}.bi-truck-flatbed::before{content:"\f5e9"}.bi-truck::before{content:"\f5ea"}.bi-tsunami::before{content:"\f5eb"}.bi-tv-fill::before{content:"\f5ec"}.bi-tv::before{content:"\f5ed"}.bi-twitch::before{content:"\f5ee"}.bi-twitter::before{content:"\f5ef"}.bi-type-bold::before{content:"\f5f0"}.bi-type-h1::before{content:"\f5f1"}.bi-type-h2::before{content:"\f5f2"}.bi-type-h3::before{content:"\f5f3"}.bi-type-italic::before{content:"\f5f4"}.bi-type-strikethrough::before{content:"\f5f5"}.bi-type-underline::before{content:"\f5f6"}.bi-type::before{content:"\f5f7"}.bi-ui-checks-grid::before{content:"\f5f8"}.bi-ui-checks::before{content:"\f5f9"}.bi-ui-radios-grid::before{content:"\f5fa"}.bi-ui-radios::before{content:"\f5fb"}.bi-umbrella-fill::before{content:"\f5fc"}.bi-umbrella::before{content:"\f5fd"}.bi-union::before{content:"\f5fe"}.bi-unlock-fill::before{content:"\f5ff"}.bi-unlock::before{content:"\f600"}.bi-upc-scan::before{content:"\f601"}.bi-upc::before{content:"\f602"}.bi-upload::before{content:"\f603"}.bi-vector-pen::before{content:"\f604"}.bi-view-list::before{content:"\f605"}.bi-view-stacked::before{content:"\f606"}.bi-vinyl-fill::before{content:"\f607"}.bi-vinyl::before{content:"\f608"}.bi-voicemail::before{content:"\f609"}.bi-volume-down-fill::before{content:"\f60a"}.bi-volume-down::before{content:"\f60b"}.bi-volume-mute-fill::before{content:"\f60c"}.bi-volume-mute::before{content:"\f60d"}.bi-volume-off-fill::before{content:"\f60e"}.bi-volume-off::before{content:"\f60f"}.bi-volume-up-fill::before{content:"\f610"}.bi-volume-up::before{content:"\f611"}.bi-vr::before{content:"\f612"}.bi-wallet-fill::before{content:"\f613"}.bi-wallet::before{content:"\f614"}.bi-wallet2::before{content:"\f615"}.bi-watch::before{content:"\f616"}.bi-water::before{content:"\f617"}.bi-whatsapp::before{content:"\f618"}.bi-wifi-1::before{content:"\f619"}.bi-wifi-2::before{content:"\f61a"}.bi-wifi-off::before{content:"\f61b"}.bi-wifi::before{content:"\f61c"}.bi-wind::before{content:"\f61d"}.bi-window-dock::before{content:"\f61e"}.bi-window-sidebar::before{content:"\f61f"}.bi-window::before{content:"\f620"}.bi-wrench::before{content:"\f621"}.bi-x-circle-fill::before{content:"\f622"}.bi-x-circle::before{content:"\f623"}.bi-x-diamond-fill::before{content:"\f624"}.bi-x-diamond::before{content:"\f625"}.bi-x-octagon-fill::before{content:"\f626"}.bi-x-octagon::before{content:"\f627"}.bi-x-square-fill::before{content:"\f628"}.bi-x-square::before{content:"\f629"}.bi-x::before{content:"\f62a"}.bi-youtube::before{content:"\f62b"}.bi-zoom-in::before{content:"\f62c"}.bi-zoom-out::before{content:"\f62d"}.bi-bank::before{content:"\f62e"}.bi-bank2::before{content:"\f62f"}.bi-bell-slash-fill::before{content:"\f630"}.bi-bell-slash::before{content:"\f631"}.bi-cash-coin::before{content:"\f632"}.bi-check-lg::before{content:"\f633"}.bi-coin::before{content:"\f634"}.bi-currency-bitcoin::before{content:"\f635"}.bi-currency-dollar::before{content:"\f636"}.bi-currency-euro::before{content:"\f637"}.bi-currency-exchange::before{content:"\f638"}.bi-currency-pound::before{content:"\f639"}.bi-currency-yen::before{content:"\f63a"}.bi-dash-lg::before{content:"\f63b"}.bi-exclamation-lg::before{content:"\f63c"}.bi-file-earmark-pdf-fill::before{content:"\f63d"}.bi-file-earmark-pdf::before{content:"\f63e"}.bi-file-pdf-fill::before{content:"\f63f"}.bi-file-pdf::before{content:"\f640"}.bi-gender-ambiguous::before{content:"\f641"}.bi-gender-female::before{content:"\f642"}.bi-gender-male::before{content:"\f643"}.bi-gender-trans::before{content:"\f644"}.bi-headset-vr::before{content:"\f645"}.bi-info-lg::before{content:"\f646"}.bi-mastodon::before{content:"\f647"}.bi-messenger::before{content:"\f648"}.bi-piggy-bank-fill::before{content:"\f649"}.bi-piggy-bank::before{content:"\f64a"}.bi-pin-map-fill::before{content:"\f64b"}.bi-pin-map::before{content:"\f64c"}.bi-plus-lg::before{content:"\f64d"}.bi-question-lg::before{content:"\f64e"}.bi-recycle::before{content:"\f64f"}.bi-reddit::before{content:"\f650"}.bi-safe-fill::before{content:"\f651"}.bi-safe2-fill::before{content:"\f652"}.bi-safe2::before{content:"\f653"}.bi-sd-card-fill::before{content:"\f654"}.bi-sd-card::before{content:"\f655"}.bi-skype::before{content:"\f656"}.bi-slash-lg::before{content:"\f657"}.bi-translate::before{content:"\f658"}.bi-x-lg::before{content:"\f659"}.bi-safe::before{content:"\f65a"}.bi-apple::before{content:"\f65b"}.bi-microsoft::before{content:"\f65d"}.bi-windows::before{content:"\f65e"}.bi-behance::before{content:"\f65c"}.bi-dribbble::before{content:"\f65f"}.bi-line::before{content:"\f660"}.bi-medium::before{content:"\f661"}.bi-paypal::before{content:"\f662"}.bi-pinterest::before{content:"\f663"}.bi-signal::before{content:"\f664"}.bi-snapchat::before{content:"\f665"}.bi-spotify::before{content:"\f666"}.bi-stack-overflow::before{content:"\f667"}.bi-strava::before{content:"\f668"}.bi-wordpress::before{content:"\f669"}.bi-vimeo::before{content:"\f66a"}.bi-activity::before{content:"\f66b"}.bi-easel2-fill::before{content:"\f66c"}.bi-easel2::before{content:"\f66d"}.bi-easel3-fill::before{content:"\f66e"}.bi-easel3::before{content:"\f66f"}.bi-fan::before{content:"\f670"}.bi-fingerprint::before{content:"\f671"}.bi-graph-down-arrow::before{content:"\f672"}.bi-graph-up-arrow::before{content:"\f673"}.bi-hypnotize::before{content:"\f674"}.bi-magic::before{content:"\f675"}.bi-person-rolodex::before{content:"\f676"}.bi-person-video::before{content:"\f677"}.bi-person-video2::before{content:"\f678"}.bi-person-video3::before{content:"\f679"}.bi-person-workspace::before{content:"\f67a"}.bi-radioactive::before{content:"\f67b"}.bi-webcam-fill::before{content:"\f67c"}.bi-webcam::before{content:"\f67d"}.bi-yin-yang::before{content:"\f67e"}.bi-bandaid-fill::before{content:"\f680"}.bi-bandaid::before{content:"\f681"}.bi-bluetooth::before{content:"\f682"}.bi-body-text::before{content:"\f683"}.bi-boombox::before{content:"\f684"}.bi-boxes::before{content:"\f685"}.bi-dpad-fill::before{content:"\f686"}.bi-dpad::before{content:"\f687"}.bi-ear-fill::before{content:"\f688"}.bi-ear::before{content:"\f689"}.bi-envelope-check-fill::before{content:"\f68b"}.bi-envelope-check::before{content:"\f68c"}.bi-envelope-dash-fill::before{content:"\f68e"}.bi-envelope-dash::before{content:"\f68f"}.bi-envelope-exclamation-fill::before{content:"\f691"}.bi-envelope-exclamation::before{content:"\f692"}.bi-envelope-plus-fill::before{content:"\f693"}.bi-envelope-plus::before{content:"\f694"}.bi-envelope-slash-fill::before{content:"\f696"}.bi-envelope-slash::before{content:"\f697"}.bi-envelope-x-fill::before{content:"\f699"}.bi-envelope-x::before{content:"\f69a"}.bi-explicit-fill::before{content:"\f69b"}.bi-explicit::before{content:"\f69c"}.bi-git::before{content:"\f69d"}.bi-infinity::before{content:"\f69e"}.bi-list-columns-reverse::before{content:"\f69f"}.bi-list-columns::before{content:"\f6a0"}.bi-meta::before{content:"\f6a1"}.bi-nintendo-switch::before{content:"\f6a4"}.bi-pc-display-horizontal::before{content:"\f6a5"}.bi-pc-display::before{content:"\f6a6"}.bi-pc-horizontal::before{content:"\f6a7"}.bi-pc::before{content:"\f6a8"}.bi-playstation::before{content:"\f6a9"}.bi-plus-slash-minus::before{content:"\f6aa"}.bi-projector-fill::before{content:"\f6ab"}.bi-projector::before{content:"\f6ac"}.bi-qr-code-scan::before{content:"\f6ad"}.bi-qr-code::before{content:"\f6ae"}.bi-quora::before{content:"\f6af"}.bi-quote::before{content:"\f6b0"}.bi-robot::before{content:"\f6b1"}.bi-send-check-fill::before{content:"\f6b2"}.bi-send-check::before{content:"\f6b3"}.bi-send-dash-fill::before{content:"\f6b4"}.bi-send-dash::before{content:"\f6b5"}.bi-send-exclamation-fill::before{content:"\f6b7"}.bi-send-exclamation::before{content:"\f6b8"}.bi-send-fill::before{content:"\f6b9"}.bi-send-plus-fill::before{content:"\f6ba"}.bi-send-plus::before{content:"\f6bb"}.bi-send-slash-fill::before{content:"\f6bc"}.bi-send-slash::before{content:"\f6bd"}.bi-send-x-fill::before{content:"\f6be"}.bi-send-x::before{content:"\f6bf"}.bi-send::before{content:"\f6c0"}.bi-steam::before{content:"\f6c1"}.bi-terminal-dash::before{content:"\f6c3"}.bi-terminal-plus::before{content:"\f6c4"}.bi-terminal-split::before{content:"\f6c5"}.bi-ticket-detailed-fill::before{content:"\f6c6"}.bi-ticket-detailed::before{content:"\f6c7"}.bi-ticket-fill::before{content:"\f6c8"}.bi-ticket-perforated-fill::before{content:"\f6c9"}.bi-ticket-perforated::before{content:"\f6ca"}.bi-ticket::before{content:"\f6cb"}.bi-tiktok::before{content:"\f6cc"}.bi-window-dash::before{content:"\f6cd"}.bi-window-desktop::before{content:"\f6ce"}.bi-window-fullscreen::before{content:"\f6cf"}.bi-window-plus::before{content:"\f6d0"}.bi-window-split::before{content:"\f6d1"}.bi-window-stack::before{content:"\f6d2"}.bi-window-x::before{content:"\f6d3"}.bi-xbox::before{content:"\f6d4"}.bi-ethernet::before{content:"\f6d5"}.bi-hdmi-fill::before{content:"\f6d6"}.bi-hdmi::before{content:"\f6d7"}.bi-usb-c-fill::before{content:"\f6d8"}.bi-usb-c::before{content:"\f6d9"}.bi-usb-fill::before{content:"\f6da"}.bi-usb-plug-fill::before{content:"\f6db"}.bi-usb-plug::before{content:"\f6dc"}.bi-usb-symbol::before{content:"\f6dd"}.bi-usb::before{content:"\f6de"}.bi-boombox-fill::before{content:"\f6df"}.bi-displayport::before{content:"\f6e1"}.bi-gpu-card::before{content:"\f6e2"}.bi-memory::before{content:"\f6e3"}.bi-modem-fill::before{content:"\f6e4"}.bi-modem::before{content:"\f6e5"}.bi-motherboard-fill::before{content:"\f6e6"}.bi-motherboard::before{content:"\f6e7"}.bi-optical-audio-fill::before{content:"\f6e8"}.bi-optical-audio::before{content:"\f6e9"}.bi-pci-card::before{content:"\f6ea"}.bi-router-fill::before{content:"\f6eb"}.bi-router::before{content:"\f6ec"}.bi-thunderbolt-fill::before{content:"\f6ef"}.bi-thunderbolt::before{content:"\f6f0"}.bi-usb-drive-fill::before{content:"\f6f1"}.bi-usb-drive::before{content:"\f6f2"}.bi-usb-micro-fill::before{content:"\f6f3"}.bi-usb-micro::before{content:"\f6f4"}.bi-usb-mini-fill::before{content:"\f6f5"}.bi-usb-mini::before{content:"\f6f6"}.bi-cloud-haze2::before{content:"\f6f7"}.bi-device-hdd-fill::before{content:"\f6f8"}.bi-device-hdd::before{content:"\f6f9"}.bi-device-ssd-fill::before{content:"\f6fa"}.bi-device-ssd::before{content:"\f6fb"}.bi-displayport-fill::before{content:"\f6fc"}.bi-mortarboard-fill::before{content:"\f6fd"}.bi-mortarboard::before{content:"\f6fe"}.bi-terminal-x::before{content:"\f6ff"}.bi-arrow-through-heart-fill::before{content:"\f700"}.bi-arrow-through-heart::before{content:"\f701"}.bi-badge-sd-fill::before{content:"\f702"}.bi-badge-sd::before{content:"\f703"}.bi-bag-heart-fill::before{content:"\f704"}.bi-bag-heart::before{content:"\f705"}.bi-balloon-fill::before{content:"\f706"}.bi-balloon-heart-fill::before{content:"\f707"}.bi-balloon-heart::before{content:"\f708"}.bi-balloon::before{content:"\f709"}.bi-box2-fill::before{content:"\f70a"}.bi-box2-heart-fill::before{content:"\f70b"}.bi-box2-heart::before{content:"\f70c"}.bi-box2::before{content:"\f70d"}.bi-braces-asterisk::before{content:"\f70e"}.bi-calendar-heart-fill::before{content:"\f70f"}.bi-calendar-heart::before{content:"\f710"}.bi-calendar2-heart-fill::before{content:"\f711"}.bi-calendar2-heart::before{content:"\f712"}.bi-chat-heart-fill::before{content:"\f713"}.bi-chat-heart::before{content:"\f714"}.bi-chat-left-heart-fill::before{content:"\f715"}.bi-chat-left-heart::before{content:"\f716"}.bi-chat-right-heart-fill::before{content:"\f717"}.bi-chat-right-heart::before{content:"\f718"}.bi-chat-square-heart-fill::before{content:"\f719"}.bi-chat-square-heart::before{content:"\f71a"}.bi-clipboard-check-fill::before{content:"\f71b"}.bi-clipboard-data-fill::before{content:"\f71c"}.bi-clipboard-fill::before{content:"\f71d"}.bi-clipboard-heart-fill::before{content:"\f71e"}.bi-clipboard-heart::before{content:"\f71f"}.bi-clipboard-minus-fill::before{content:"\f720"}.bi-clipboard-plus-fill::before{content:"\f721"}.bi-clipboard-pulse::before{content:"\f722"}.bi-clipboard-x-fill::before{content:"\f723"}.bi-clipboard2-check-fill::before{content:"\f724"}.bi-clipboard2-check::before{content:"\f725"}.bi-clipboard2-data-fill::before{content:"\f726"}.bi-clipboard2-data::before{content:"\f727"}.bi-clipboard2-fill::before{content:"\f728"}.bi-clipboard2-heart-fill::before{content:"\f729"}.bi-clipboard2-heart::before{content:"\f72a"}.bi-clipboard2-minus-fill::before{content:"\f72b"}.bi-clipboard2-minus::before{content:"\f72c"}.bi-clipboard2-plus-fill::before{content:"\f72d"}.bi-clipboard2-plus::before{content:"\f72e"}.bi-clipboard2-pulse-fill::before{content:"\f72f"}.bi-clipboard2-pulse::before{content:"\f730"}.bi-clipboard2-x-fill::before{content:"\f731"}.bi-clipboard2-x::before{content:"\f732"}.bi-clipboard2::before{content:"\f733"}.bi-emoji-kiss-fill::before{content:"\f734"}.bi-emoji-kiss::before{content:"\f735"}.bi-envelope-heart-fill::before{content:"\f736"}.bi-envelope-heart::before{content:"\f737"}.bi-envelope-open-heart-fill::before{content:"\f738"}.bi-envelope-open-heart::before{content:"\f739"}.bi-envelope-paper-fill::before{content:"\f73a"}.bi-envelope-paper-heart-fill::before{content:"\f73b"}.bi-envelope-paper-heart::before{content:"\f73c"}.bi-envelope-paper::before{content:"\f73d"}.bi-filetype-aac::before{content:"\f73e"}.bi-filetype-ai::before{content:"\f73f"}.bi-filetype-bmp::before{content:"\f740"}.bi-filetype-cs::before{content:"\f741"}.bi-filetype-css::before{content:"\f742"}.bi-filetype-csv::before{content:"\f743"}.bi-filetype-doc::before{content:"\f744"}.bi-filetype-docx::before{content:"\f745"}.bi-filetype-exe::before{content:"\f746"}.bi-filetype-gif::before{content:"\f747"}.bi-filetype-heic::before{content:"\f748"}.bi-filetype-html::before{content:"\f749"}.bi-filetype-java::before{content:"\f74a"}.bi-filetype-jpg::before{content:"\f74b"}.bi-filetype-js::before{content:"\f74c"}.bi-filetype-jsx::before{content:"\f74d"}.bi-filetype-key::before{content:"\f74e"}.bi-filetype-m4p::before{content:"\f74f"}.bi-filetype-md::before{content:"\f750"}.bi-filetype-mdx::before{content:"\f751"}.bi-filetype-mov::before{content:"\f752"}.bi-filetype-mp3::before{content:"\f753"}.bi-filetype-mp4::before{content:"\f754"}.bi-filetype-otf::before{content:"\f755"}.bi-filetype-pdf::before{content:"\f756"}.bi-filetype-php::before{content:"\f757"}.bi-filetype-png::before{content:"\f758"}.bi-filetype-ppt::before{content:"\f75a"}.bi-filetype-psd::before{content:"\f75b"}.bi-filetype-py::before{content:"\f75c"}.bi-filetype-raw::before{content:"\f75d"}.bi-filetype-rb::before{content:"\f75e"}.bi-filetype-sass::before{content:"\f75f"}.bi-filetype-scss::before{content:"\f760"}.bi-filetype-sh::before{content:"\f761"}.bi-filetype-svg::before{content:"\f762"}.bi-filetype-tiff::before{content:"\f763"}.bi-filetype-tsx::before{content:"\f764"}.bi-filetype-ttf::before{content:"\f765"}.bi-filetype-txt::before{content:"\f766"}.bi-filetype-wav::before{content:"\f767"}.bi-filetype-woff::before{content:"\f768"}.bi-filetype-xls::before{content:"\f76a"}.bi-filetype-xml::before{content:"\f76b"}.bi-filetype-yml::before{content:"\f76c"}.bi-heart-arrow::before{content:"\f76d"}.bi-heart-pulse-fill::before{content:"\f76e"}.bi-heart-pulse::before{content:"\f76f"}.bi-heartbreak-fill::before{content:"\f770"}.bi-heartbreak::before{content:"\f771"}.bi-hearts::before{content:"\f772"}.bi-hospital-fill::before{content:"\f773"}.bi-hospital::before{content:"\f774"}.bi-house-heart-fill::before{content:"\f775"}.bi-house-heart::before{content:"\f776"}.bi-incognito::before{content:"\f777"}.bi-magnet-fill::before{content:"\f778"}.bi-magnet::before{content:"\f779"}.bi-person-heart::before{content:"\f77a"}.bi-person-hearts::before{content:"\f77b"}.bi-phone-flip::before{content:"\f77c"}.bi-plugin::before{content:"\f77d"}.bi-postage-fill::before{content:"\f77e"}.bi-postage-heart-fill::before{content:"\f77f"}.bi-postage-heart::before{content:"\f780"}.bi-postage::before{content:"\f781"}.bi-postcard-fill::before{content:"\f782"}.bi-postcard-heart-fill::before{content:"\f783"}.bi-postcard-heart::before{content:"\f784"}.bi-postcard::before{content:"\f785"}.bi-search-heart-fill::before{content:"\f786"}.bi-search-heart::before{content:"\f787"}.bi-sliders2-vertical::before{content:"\f788"}.bi-sliders2::before{content:"\f789"}.bi-trash3-fill::before{content:"\f78a"}.bi-trash3::before{content:"\f78b"}.bi-valentine::before{content:"\f78c"}.bi-valentine2::before{content:"\f78d"}.bi-wrench-adjustable-circle-fill::before{content:"\f78e"}.bi-wrench-adjustable-circle::before{content:"\f78f"}.bi-wrench-adjustable::before{content:"\f790"}.bi-filetype-json::before{content:"\f791"}.bi-filetype-pptx::before{content:"\f792"}.bi-filetype-xlsx::before{content:"\f793"}.bi-1-circle-fill::before{content:"\f796"}.bi-1-circle::before{content:"\f797"}.bi-1-square-fill::before{content:"\f798"}.bi-1-square::before{content:"\f799"}.bi-2-circle-fill::before{content:"\f79c"}.bi-2-circle::before{content:"\f79d"}.bi-2-square-fill::before{content:"\f79e"}.bi-2-square::before{content:"\f79f"}.bi-3-circle-fill::before{content:"\f7a2"}.bi-3-circle::before{content:"\f7a3"}.bi-3-square-fill::before{content:"\f7a4"}.bi-3-square::before{content:"\f7a5"}.bi-4-circle-fill::before{content:"\f7a8"}.bi-4-circle::before{content:"\f7a9"}.bi-4-square-fill::before{content:"\f7aa"}.bi-4-square::before{content:"\f7ab"}.bi-5-circle-fill::before{content:"\f7ae"}.bi-5-circle::before{content:"\f7af"}.bi-5-square-fill::before{content:"\f7b0"}.bi-5-square::before{content:"\f7b1"}.bi-6-circle-fill::before{content:"\f7b4"}.bi-6-circle::before{content:"\f7b5"}.bi-6-square-fill::before{content:"\f7b6"}.bi-6-square::before{content:"\f7b7"}.bi-7-circle-fill::before{content:"\f7ba"}.bi-7-circle::before{content:"\f7bb"}.bi-7-square-fill::before{content:"\f7bc"}.bi-7-square::before{content:"\f7bd"}.bi-8-circle-fill::before{content:"\f7c0"}.bi-8-circle::before{content:"\f7c1"}.bi-8-square-fill::before{content:"\f7c2"}.bi-8-square::before{content:"\f7c3"}.bi-9-circle-fill::before{content:"\f7c6"}.bi-9-circle::before{content:"\f7c7"}.bi-9-square-fill::before{content:"\f7c8"}.bi-9-square::before{content:"\f7c9"}.bi-airplane-engines-fill::before{content:"\f7ca"}.bi-airplane-engines::before{content:"\f7cb"}.bi-airplane-fill::before{content:"\f7cc"}.bi-airplane::before{content:"\f7cd"}.bi-alexa::before{content:"\f7ce"}.bi-alipay::before{content:"\f7cf"}.bi-android::before{content:"\f7d0"}.bi-android2::before{content:"\f7d1"}.bi-box-fill::before{content:"\f7d2"}.bi-box-seam-fill::before{content:"\f7d3"}.bi-browser-chrome::before{content:"\f7d4"}.bi-browser-edge::before{content:"\f7d5"}.bi-browser-firefox::before{content:"\f7d6"}.bi-browser-safari::before{content:"\f7d7"}.bi-c-circle-fill::before{content:"\f7da"}.bi-c-circle::before{content:"\f7db"}.bi-c-square-fill::before{content:"\f7dc"}.bi-c-square::before{content:"\f7dd"}.bi-capsule-pill::before{content:"\f7de"}.bi-capsule::before{content:"\f7df"}.bi-car-front-fill::before{content:"\f7e0"}.bi-car-front::before{content:"\f7e1"}.bi-cassette-fill::before{content:"\f7e2"}.bi-cassette::before{content:"\f7e3"}.bi-cc-circle-fill::before{content:"\f7e6"}.bi-cc-circle::before{content:"\f7e7"}.bi-cc-square-fill::before{content:"\f7e8"}.bi-cc-square::before{content:"\f7e9"}.bi-cup-hot-fill::before{content:"\f7ea"}.bi-cup-hot::before{content:"\f7eb"}.bi-currency-rupee::before{content:"\f7ec"}.bi-dropbox::before{content:"\f7ed"}.bi-escape::before{content:"\f7ee"}.bi-fast-forward-btn-fill::before{content:"\f7ef"}.bi-fast-forward-btn::before{content:"\f7f0"}.bi-fast-forward-circle-fill::before{content:"\f7f1"}.bi-fast-forward-circle::before{content:"\f7f2"}.bi-fast-forward-fill::before{content:"\f7f3"}.bi-fast-forward::before{content:"\f7f4"}.bi-filetype-sql::before{content:"\f7f5"}.bi-fire::before{content:"\f7f6"}.bi-google-play::before{content:"\f7f7"}.bi-h-circle-fill::before{content:"\f7fa"}.bi-h-circle::before{content:"\f7fb"}.bi-h-square-fill::before{content:"\f7fc"}.bi-h-square::before{content:"\f7fd"}.bi-indent::before{content:"\f7fe"}.bi-lungs-fill::before{content:"\f7ff"}.bi-lungs::before{content:"\f800"}.bi-microsoft-teams::before{content:"\f801"}.bi-p-circle-fill::before{content:"\f804"}.bi-p-circle::before{content:"\f805"}.bi-p-square-fill::before{content:"\f806"}.bi-p-square::before{content:"\f807"}.bi-pass-fill::before{content:"\f808"}.bi-pass::before{content:"\f809"}.bi-prescription::before{content:"\f80a"}.bi-prescription2::before{content:"\f80b"}.bi-r-circle-fill::before{content:"\f80e"}.bi-r-circle::before{content:"\f80f"}.bi-r-square-fill::before{content:"\f810"}.bi-r-square::before{content:"\f811"}.bi-repeat-1::before{content:"\f812"}.bi-repeat::before{content:"\f813"}.bi-rewind-btn-fill::before{content:"\f814"}.bi-rewind-btn::before{content:"\f815"}.bi-rewind-circle-fill::before{content:"\f816"}.bi-rewind-circle::before{content:"\f817"}.bi-rewind-fill::before{content:"\f818"}.bi-rewind::before{content:"\f819"}.bi-train-freight-front-fill::before{content:"\f81a"}.bi-train-freight-front::before{content:"\f81b"}.bi-train-front-fill::before{content:"\f81c"}.bi-train-front::before{content:"\f81d"}.bi-train-lightrail-front-fill::before{content:"\f81e"}.bi-train-lightrail-front::before{content:"\f81f"}.bi-truck-front-fill::before{content:"\f820"}.bi-truck-front::before{content:"\f821"}.bi-ubuntu::before{content:"\f822"}.bi-unindent::before{content:"\f823"}.bi-unity::before{content:"\f824"}.bi-universal-access-circle::before{content:"\f825"}.bi-universal-access::before{content:"\f826"}.bi-virus::before{content:"\f827"}.bi-virus2::before{content:"\f828"}.bi-wechat::before{content:"\f829"}.bi-yelp::before{content:"\f82a"}.bi-sign-stop-fill::before{content:"\f82b"}.bi-sign-stop-lights-fill::before{content:"\f82c"}.bi-sign-stop-lights::before{content:"\f82d"}.bi-sign-stop::before{content:"\f82e"}.bi-sign-turn-left-fill::before{content:"\f82f"}.bi-sign-turn-left::before{content:"\f830"}.bi-sign-turn-right-fill::before{content:"\f831"}.bi-sign-turn-right::before{content:"\f832"}.bi-sign-turn-slight-left-fill::before{content:"\f833"}.bi-sign-turn-slight-left::before{content:"\f834"}.bi-sign-turn-slight-right-fill::before{content:"\f835"}.bi-sign-turn-slight-right::before{content:"\f836"}.bi-sign-yield-fill::before{content:"\f837"}.bi-sign-yield::before{content:"\f838"}.bi-ev-station-fill::before{content:"\f839"}.bi-ev-station::before{content:"\f83a"}.bi-fuel-pump-diesel-fill::before{content:"\f83b"}.bi-fuel-pump-diesel::before{content:"\f83c"}.bi-fuel-pump-fill::before{content:"\f83d"}.bi-fuel-pump::before{content:"\f83e"}.bi-0-circle-fill::before{content:"\f83f"}.bi-0-circle::before{content:"\f840"}.bi-0-square-fill::before{content:"\f841"}.bi-0-square::before{content:"\f842"}.bi-rocket-fill::before{content:"\f843"}.bi-rocket-takeoff-fill::before{content:"\f844"}.bi-rocket-takeoff::before{content:"\f845"}.bi-rocket::before{content:"\f846"}.bi-stripe::before{content:"\f847"}.bi-subscript::before{content:"\f848"}.bi-superscript::before{content:"\f849"}.bi-trello::before{content:"\f84a"}.bi-envelope-at-fill::before{content:"\f84b"}.bi-envelope-at::before{content:"\f84c"}.bi-regex::before{content:"\f84d"}.bi-text-wrap::before{content:"\f84e"}.bi-sign-dead-end-fill::before{content:"\f84f"}.bi-sign-dead-end::before{content:"\f850"}.bi-sign-do-not-enter-fill::before{content:"\f851"}.bi-sign-do-not-enter::before{content:"\f852"}.bi-sign-intersection-fill::before{content:"\f853"}.bi-sign-intersection-side-fill::before{content:"\f854"}.bi-sign-intersection-side::before{content:"\f855"}.bi-sign-intersection-t-fill::before{content:"\f856"}.bi-sign-intersection-t::before{content:"\f857"}.bi-sign-intersection-y-fill::before{content:"\f858"}.bi-sign-intersection-y::before{content:"\f859"}.bi-sign-intersection::before{content:"\f85a"}.bi-sign-merge-left-fill::before{content:"\f85b"}.bi-sign-merge-left::before{content:"\f85c"}.bi-sign-merge-right-fill::before{content:"\f85d"}.bi-sign-merge-right::before{content:"\f85e"}.bi-sign-no-left-turn-fill::before{content:"\f85f"}.bi-sign-no-left-turn::before{content:"\f860"}.bi-sign-no-parking-fill::before{content:"\f861"}.bi-sign-no-parking::before{content:"\f862"}.bi-sign-no-right-turn-fill::before{content:"\f863"}.bi-sign-no-right-turn::before{content:"\f864"}.bi-sign-railroad-fill::before{content:"\f865"}.bi-sign-railroad::before{content:"\f866"}.bi-building-add::before{content:"\f867"}.bi-building-check::before{content:"\f868"}.bi-building-dash::before{content:"\f869"}.bi-building-down::before{content:"\f86a"}.bi-building-exclamation::before{content:"\f86b"}.bi-building-fill-add::before{content:"\f86c"}.bi-building-fill-check::before{content:"\f86d"}.bi-building-fill-dash::before{content:"\f86e"}.bi-building-fill-down::before{content:"\f86f"}.bi-building-fill-exclamation::before{content:"\f870"}.bi-building-fill-gear::before{content:"\f871"}.bi-building-fill-lock::before{content:"\f872"}.bi-building-fill-slash::before{content:"\f873"}.bi-building-fill-up::before{content:"\f874"}.bi-building-fill-x::before{content:"\f875"}.bi-building-fill::before{content:"\f876"}.bi-building-gear::before{content:"\f877"}.bi-building-lock::before{content:"\f878"}.bi-building-slash::before{content:"\f879"}.bi-building-up::before{content:"\f87a"}.bi-building-x::before{content:"\f87b"}.bi-buildings-fill::before{content:"\f87c"}.bi-buildings::before{content:"\f87d"}.bi-bus-front-fill::before{content:"\f87e"}.bi-bus-front::before{content:"\f87f"}.bi-ev-front-fill::before{content:"\f880"}.bi-ev-front::before{content:"\f881"}.bi-globe-americas::before{content:"\f882"}.bi-globe-asia-australia::before{content:"\f883"}.bi-globe-central-south-asia::before{content:"\f884"}.bi-globe-europe-africa::before{content:"\f885"}.bi-house-add-fill::before{content:"\f886"}.bi-house-add::before{content:"\f887"}.bi-house-check-fill::before{content:"\f888"}.bi-house-check::before{content:"\f889"}.bi-house-dash-fill::before{content:"\f88a"}.bi-house-dash::before{content:"\f88b"}.bi-house-down-fill::before{content:"\f88c"}.bi-house-down::before{content:"\f88d"}.bi-house-exclamation-fill::before{content:"\f88e"}.bi-house-exclamation::before{content:"\f88f"}.bi-house-gear-fill::before{content:"\f890"}.bi-house-gear::before{content:"\f891"}.bi-house-lock-fill::before{content:"\f892"}.bi-house-lock::before{content:"\f893"}.bi-house-slash-fill::before{content:"\f894"}.bi-house-slash::before{content:"\f895"}.bi-house-up-fill::before{content:"\f896"}.bi-house-up::before{content:"\f897"}.bi-house-x-fill::before{content:"\f898"}.bi-house-x::before{content:"\f899"}.bi-person-add::before{content:"\f89a"}.bi-person-down::before{content:"\f89b"}.bi-person-exclamation::before{content:"\f89c"}.bi-person-fill-add::before{content:"\f89d"}.bi-person-fill-check::before{content:"\f89e"}.bi-person-fill-dash::before{content:"\f89f"}.bi-person-fill-down::before{content:"\f8a0"}.bi-person-fill-exclamation::before{content:"\f8a1"}.bi-person-fill-gear::before{content:"\f8a2"}.bi-person-fill-lock::before{content:"\f8a3"}.bi-person-fill-slash::before{content:"\f8a4"}.bi-person-fill-up::before{content:"\f8a5"}.bi-person-fill-x::before{content:"\f8a6"}.bi-person-gear::before{content:"\f8a7"}.bi-person-lock::before{content:"\f8a8"}.bi-person-slash::before{content:"\f8a9"}.bi-person-up::before{content:"\f8aa"}.bi-scooter::before{content:"\f8ab"}.bi-taxi-front-fill::before{content:"\f8ac"}.bi-taxi-front::before{content:"\f8ad"}.bi-amd::before{content:"\f8ae"}.bi-database-add::before{content:"\f8af"}.bi-database-check::before{content:"\f8b0"}.bi-database-dash::before{content:"\f8b1"}.bi-database-down::before{content:"\f8b2"}.bi-database-exclamation::before{content:"\f8b3"}.bi-database-fill-add::before{content:"\f8b4"}.bi-database-fill-check::before{content:"\f8b5"}.bi-database-fill-dash::before{content:"\f8b6"}.bi-database-fill-down::before{content:"\f8b7"}.bi-database-fill-exclamation::before{content:"\f8b8"}.bi-database-fill-gear::before{content:"\f8b9"}.bi-database-fill-lock::before{content:"\f8ba"}.bi-database-fill-slash::before{content:"\f8bb"}.bi-database-fill-up::before{content:"\f8bc"}.bi-database-fill-x::before{content:"\f8bd"}.bi-database-fill::before{content:"\f8be"}.bi-database-gear::before{content:"\f8bf"}.bi-database-lock::before{content:"\f8c0"}.bi-database-slash::before{content:"\f8c1"}.bi-database-up::before{content:"\f8c2"}.bi-database-x::before{content:"\f8c3"}.bi-database::before{content:"\f8c4"}.bi-houses-fill::before{content:"\f8c5"}.bi-houses::before{content:"\f8c6"}.bi-nvidia::before{content:"\f8c7"}.bi-person-vcard-fill::before{content:"\f8c8"}.bi-person-vcard::before{content:"\f8c9"}.bi-sina-weibo::before{content:"\f8ca"}.bi-tencent-qq::before{content:"\f8cb"}.bi-wikipedia::before{content:"\f8cc"}
\ No newline at end of file
diff --git a/src/static/icons/font/bootstrap-icons.scss b/src/static/icons/font/bootstrap-icons.scss
new file mode 100644
index 0000000..5ebd3b0
--- /dev/null
+++ b/src/static/icons/font/bootstrap-icons.scss
@@ -0,0 +1,1993 @@
+/*!
+ * Bootstrap Icons v1.10.5 (https://icons.getbootstrap.com/)
+ * Copyright 2019-2023 The Bootstrap Authors
+ * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
+ */
+
+$bootstrap-icons-font: "bootstrap-icons" !default;
+$bootstrap-icons-font-dir: "./fonts" !default;
+$bootstrap-icons-font-file: "#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}" !default;
+$bootstrap-icons-font-hash: "24e3eb84d0bcaf83d77f904c78ac1f47" !default;
+$bootstrap-icons-font-src: url("#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}") format("woff2"),
+ url("#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}") format("woff") !default;
+
+@font-face {
+ font-display: block;
+ font-family: $bootstrap-icons-font;
+ src: $bootstrap-icons-font-src;
+}
+
+.bi::before,
+[class^="bi-"]::before,
+[class*=" bi-"]::before {
+ display: inline-block;
+ font-family: $bootstrap-icons-font !important;
+ font-style: normal;
+ font-weight: normal !important;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ vertical-align: -.125em;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+$bootstrap-icons-map: (
+ "123": "\f67f",
+ "alarm-fill": "\f101",
+ "alarm": "\f102",
+ "align-bottom": "\f103",
+ "align-center": "\f104",
+ "align-end": "\f105",
+ "align-middle": "\f106",
+ "align-start": "\f107",
+ "align-top": "\f108",
+ "alt": "\f109",
+ "app-indicator": "\f10a",
+ "app": "\f10b",
+ "archive-fill": "\f10c",
+ "archive": "\f10d",
+ "arrow-90deg-down": "\f10e",
+ "arrow-90deg-left": "\f10f",
+ "arrow-90deg-right": "\f110",
+ "arrow-90deg-up": "\f111",
+ "arrow-bar-down": "\f112",
+ "arrow-bar-left": "\f113",
+ "arrow-bar-right": "\f114",
+ "arrow-bar-up": "\f115",
+ "arrow-clockwise": "\f116",
+ "arrow-counterclockwise": "\f117",
+ "arrow-down-circle-fill": "\f118",
+ "arrow-down-circle": "\f119",
+ "arrow-down-left-circle-fill": "\f11a",
+ "arrow-down-left-circle": "\f11b",
+ "arrow-down-left-square-fill": "\f11c",
+ "arrow-down-left-square": "\f11d",
+ "arrow-down-left": "\f11e",
+ "arrow-down-right-circle-fill": "\f11f",
+ "arrow-down-right-circle": "\f120",
+ "arrow-down-right-square-fill": "\f121",
+ "arrow-down-right-square": "\f122",
+ "arrow-down-right": "\f123",
+ "arrow-down-short": "\f124",
+ "arrow-down-square-fill": "\f125",
+ "arrow-down-square": "\f126",
+ "arrow-down-up": "\f127",
+ "arrow-down": "\f128",
+ "arrow-left-circle-fill": "\f129",
+ "arrow-left-circle": "\f12a",
+ "arrow-left-right": "\f12b",
+ "arrow-left-short": "\f12c",
+ "arrow-left-square-fill": "\f12d",
+ "arrow-left-square": "\f12e",
+ "arrow-left": "\f12f",
+ "arrow-repeat": "\f130",
+ "arrow-return-left": "\f131",
+ "arrow-return-right": "\f132",
+ "arrow-right-circle-fill": "\f133",
+ "arrow-right-circle": "\f134",
+ "arrow-right-short": "\f135",
+ "arrow-right-square-fill": "\f136",
+ "arrow-right-square": "\f137",
+ "arrow-right": "\f138",
+ "arrow-up-circle-fill": "\f139",
+ "arrow-up-circle": "\f13a",
+ "arrow-up-left-circle-fill": "\f13b",
+ "arrow-up-left-circle": "\f13c",
+ "arrow-up-left-square-fill": "\f13d",
+ "arrow-up-left-square": "\f13e",
+ "arrow-up-left": "\f13f",
+ "arrow-up-right-circle-fill": "\f140",
+ "arrow-up-right-circle": "\f141",
+ "arrow-up-right-square-fill": "\f142",
+ "arrow-up-right-square": "\f143",
+ "arrow-up-right": "\f144",
+ "arrow-up-short": "\f145",
+ "arrow-up-square-fill": "\f146",
+ "arrow-up-square": "\f147",
+ "arrow-up": "\f148",
+ "arrows-angle-contract": "\f149",
+ "arrows-angle-expand": "\f14a",
+ "arrows-collapse": "\f14b",
+ "arrows-expand": "\f14c",
+ "arrows-fullscreen": "\f14d",
+ "arrows-move": "\f14e",
+ "aspect-ratio-fill": "\f14f",
+ "aspect-ratio": "\f150",
+ "asterisk": "\f151",
+ "at": "\f152",
+ "award-fill": "\f153",
+ "award": "\f154",
+ "back": "\f155",
+ "backspace-fill": "\f156",
+ "backspace-reverse-fill": "\f157",
+ "backspace-reverse": "\f158",
+ "backspace": "\f159",
+ "badge-3d-fill": "\f15a",
+ "badge-3d": "\f15b",
+ "badge-4k-fill": "\f15c",
+ "badge-4k": "\f15d",
+ "badge-8k-fill": "\f15e",
+ "badge-8k": "\f15f",
+ "badge-ad-fill": "\f160",
+ "badge-ad": "\f161",
+ "badge-ar-fill": "\f162",
+ "badge-ar": "\f163",
+ "badge-cc-fill": "\f164",
+ "badge-cc": "\f165",
+ "badge-hd-fill": "\f166",
+ "badge-hd": "\f167",
+ "badge-tm-fill": "\f168",
+ "badge-tm": "\f169",
+ "badge-vo-fill": "\f16a",
+ "badge-vo": "\f16b",
+ "badge-vr-fill": "\f16c",
+ "badge-vr": "\f16d",
+ "badge-wc-fill": "\f16e",
+ "badge-wc": "\f16f",
+ "bag-check-fill": "\f170",
+ "bag-check": "\f171",
+ "bag-dash-fill": "\f172",
+ "bag-dash": "\f173",
+ "bag-fill": "\f174",
+ "bag-plus-fill": "\f175",
+ "bag-plus": "\f176",
+ "bag-x-fill": "\f177",
+ "bag-x": "\f178",
+ "bag": "\f179",
+ "bar-chart-fill": "\f17a",
+ "bar-chart-line-fill": "\f17b",
+ "bar-chart-line": "\f17c",
+ "bar-chart-steps": "\f17d",
+ "bar-chart": "\f17e",
+ "basket-fill": "\f17f",
+ "basket": "\f180",
+ "basket2-fill": "\f181",
+ "basket2": "\f182",
+ "basket3-fill": "\f183",
+ "basket3": "\f184",
+ "battery-charging": "\f185",
+ "battery-full": "\f186",
+ "battery-half": "\f187",
+ "battery": "\f188",
+ "bell-fill": "\f189",
+ "bell": "\f18a",
+ "bezier": "\f18b",
+ "bezier2": "\f18c",
+ "bicycle": "\f18d",
+ "binoculars-fill": "\f18e",
+ "binoculars": "\f18f",
+ "blockquote-left": "\f190",
+ "blockquote-right": "\f191",
+ "book-fill": "\f192",
+ "book-half": "\f193",
+ "book": "\f194",
+ "bookmark-check-fill": "\f195",
+ "bookmark-check": "\f196",
+ "bookmark-dash-fill": "\f197",
+ "bookmark-dash": "\f198",
+ "bookmark-fill": "\f199",
+ "bookmark-heart-fill": "\f19a",
+ "bookmark-heart": "\f19b",
+ "bookmark-plus-fill": "\f19c",
+ "bookmark-plus": "\f19d",
+ "bookmark-star-fill": "\f19e",
+ "bookmark-star": "\f19f",
+ "bookmark-x-fill": "\f1a0",
+ "bookmark-x": "\f1a1",
+ "bookmark": "\f1a2",
+ "bookmarks-fill": "\f1a3",
+ "bookmarks": "\f1a4",
+ "bookshelf": "\f1a5",
+ "bootstrap-fill": "\f1a6",
+ "bootstrap-reboot": "\f1a7",
+ "bootstrap": "\f1a8",
+ "border-all": "\f1a9",
+ "border-bottom": "\f1aa",
+ "border-center": "\f1ab",
+ "border-inner": "\f1ac",
+ "border-left": "\f1ad",
+ "border-middle": "\f1ae",
+ "border-outer": "\f1af",
+ "border-right": "\f1b0",
+ "border-style": "\f1b1",
+ "border-top": "\f1b2",
+ "border-width": "\f1b3",
+ "border": "\f1b4",
+ "bounding-box-circles": "\f1b5",
+ "bounding-box": "\f1b6",
+ "box-arrow-down-left": "\f1b7",
+ "box-arrow-down-right": "\f1b8",
+ "box-arrow-down": "\f1b9",
+ "box-arrow-in-down-left": "\f1ba",
+ "box-arrow-in-down-right": "\f1bb",
+ "box-arrow-in-down": "\f1bc",
+ "box-arrow-in-left": "\f1bd",
+ "box-arrow-in-right": "\f1be",
+ "box-arrow-in-up-left": "\f1bf",
+ "box-arrow-in-up-right": "\f1c0",
+ "box-arrow-in-up": "\f1c1",
+ "box-arrow-left": "\f1c2",
+ "box-arrow-right": "\f1c3",
+ "box-arrow-up-left": "\f1c4",
+ "box-arrow-up-right": "\f1c5",
+ "box-arrow-up": "\f1c6",
+ "box-seam": "\f1c7",
+ "box": "\f1c8",
+ "braces": "\f1c9",
+ "bricks": "\f1ca",
+ "briefcase-fill": "\f1cb",
+ "briefcase": "\f1cc",
+ "brightness-alt-high-fill": "\f1cd",
+ "brightness-alt-high": "\f1ce",
+ "brightness-alt-low-fill": "\f1cf",
+ "brightness-alt-low": "\f1d0",
+ "brightness-high-fill": "\f1d1",
+ "brightness-high": "\f1d2",
+ "brightness-low-fill": "\f1d3",
+ "brightness-low": "\f1d4",
+ "broadcast-pin": "\f1d5",
+ "broadcast": "\f1d6",
+ "brush-fill": "\f1d7",
+ "brush": "\f1d8",
+ "bucket-fill": "\f1d9",
+ "bucket": "\f1da",
+ "bug-fill": "\f1db",
+ "bug": "\f1dc",
+ "building": "\f1dd",
+ "bullseye": "\f1de",
+ "calculator-fill": "\f1df",
+ "calculator": "\f1e0",
+ "calendar-check-fill": "\f1e1",
+ "calendar-check": "\f1e2",
+ "calendar-date-fill": "\f1e3",
+ "calendar-date": "\f1e4",
+ "calendar-day-fill": "\f1e5",
+ "calendar-day": "\f1e6",
+ "calendar-event-fill": "\f1e7",
+ "calendar-event": "\f1e8",
+ "calendar-fill": "\f1e9",
+ "calendar-minus-fill": "\f1ea",
+ "calendar-minus": "\f1eb",
+ "calendar-month-fill": "\f1ec",
+ "calendar-month": "\f1ed",
+ "calendar-plus-fill": "\f1ee",
+ "calendar-plus": "\f1ef",
+ "calendar-range-fill": "\f1f0",
+ "calendar-range": "\f1f1",
+ "calendar-week-fill": "\f1f2",
+ "calendar-week": "\f1f3",
+ "calendar-x-fill": "\f1f4",
+ "calendar-x": "\f1f5",
+ "calendar": "\f1f6",
+ "calendar2-check-fill": "\f1f7",
+ "calendar2-check": "\f1f8",
+ "calendar2-date-fill": "\f1f9",
+ "calendar2-date": "\f1fa",
+ "calendar2-day-fill": "\f1fb",
+ "calendar2-day": "\f1fc",
+ "calendar2-event-fill": "\f1fd",
+ "calendar2-event": "\f1fe",
+ "calendar2-fill": "\f1ff",
+ "calendar2-minus-fill": "\f200",
+ "calendar2-minus": "\f201",
+ "calendar2-month-fill": "\f202",
+ "calendar2-month": "\f203",
+ "calendar2-plus-fill": "\f204",
+ "calendar2-plus": "\f205",
+ "calendar2-range-fill": "\f206",
+ "calendar2-range": "\f207",
+ "calendar2-week-fill": "\f208",
+ "calendar2-week": "\f209",
+ "calendar2-x-fill": "\f20a",
+ "calendar2-x": "\f20b",
+ "calendar2": "\f20c",
+ "calendar3-event-fill": "\f20d",
+ "calendar3-event": "\f20e",
+ "calendar3-fill": "\f20f",
+ "calendar3-range-fill": "\f210",
+ "calendar3-range": "\f211",
+ "calendar3-week-fill": "\f212",
+ "calendar3-week": "\f213",
+ "calendar3": "\f214",
+ "calendar4-event": "\f215",
+ "calendar4-range": "\f216",
+ "calendar4-week": "\f217",
+ "calendar4": "\f218",
+ "camera-fill": "\f219",
+ "camera-reels-fill": "\f21a",
+ "camera-reels": "\f21b",
+ "camera-video-fill": "\f21c",
+ "camera-video-off-fill": "\f21d",
+ "camera-video-off": "\f21e",
+ "camera-video": "\f21f",
+ "camera": "\f220",
+ "camera2": "\f221",
+ "capslock-fill": "\f222",
+ "capslock": "\f223",
+ "card-checklist": "\f224",
+ "card-heading": "\f225",
+ "card-image": "\f226",
+ "card-list": "\f227",
+ "card-text": "\f228",
+ "caret-down-fill": "\f229",
+ "caret-down-square-fill": "\f22a",
+ "caret-down-square": "\f22b",
+ "caret-down": "\f22c",
+ "caret-left-fill": "\f22d",
+ "caret-left-square-fill": "\f22e",
+ "caret-left-square": "\f22f",
+ "caret-left": "\f230",
+ "caret-right-fill": "\f231",
+ "caret-right-square-fill": "\f232",
+ "caret-right-square": "\f233",
+ "caret-right": "\f234",
+ "caret-up-fill": "\f235",
+ "caret-up-square-fill": "\f236",
+ "caret-up-square": "\f237",
+ "caret-up": "\f238",
+ "cart-check-fill": "\f239",
+ "cart-check": "\f23a",
+ "cart-dash-fill": "\f23b",
+ "cart-dash": "\f23c",
+ "cart-fill": "\f23d",
+ "cart-plus-fill": "\f23e",
+ "cart-plus": "\f23f",
+ "cart-x-fill": "\f240",
+ "cart-x": "\f241",
+ "cart": "\f242",
+ "cart2": "\f243",
+ "cart3": "\f244",
+ "cart4": "\f245",
+ "cash-stack": "\f246",
+ "cash": "\f247",
+ "cast": "\f248",
+ "chat-dots-fill": "\f249",
+ "chat-dots": "\f24a",
+ "chat-fill": "\f24b",
+ "chat-left-dots-fill": "\f24c",
+ "chat-left-dots": "\f24d",
+ "chat-left-fill": "\f24e",
+ "chat-left-quote-fill": "\f24f",
+ "chat-left-quote": "\f250",
+ "chat-left-text-fill": "\f251",
+ "chat-left-text": "\f252",
+ "chat-left": "\f253",
+ "chat-quote-fill": "\f254",
+ "chat-quote": "\f255",
+ "chat-right-dots-fill": "\f256",
+ "chat-right-dots": "\f257",
+ "chat-right-fill": "\f258",
+ "chat-right-quote-fill": "\f259",
+ "chat-right-quote": "\f25a",
+ "chat-right-text-fill": "\f25b",
+ "chat-right-text": "\f25c",
+ "chat-right": "\f25d",
+ "chat-square-dots-fill": "\f25e",
+ "chat-square-dots": "\f25f",
+ "chat-square-fill": "\f260",
+ "chat-square-quote-fill": "\f261",
+ "chat-square-quote": "\f262",
+ "chat-square-text-fill": "\f263",
+ "chat-square-text": "\f264",
+ "chat-square": "\f265",
+ "chat-text-fill": "\f266",
+ "chat-text": "\f267",
+ "chat": "\f268",
+ "check-all": "\f269",
+ "check-circle-fill": "\f26a",
+ "check-circle": "\f26b",
+ "check-square-fill": "\f26c",
+ "check-square": "\f26d",
+ "check": "\f26e",
+ "check2-all": "\f26f",
+ "check2-circle": "\f270",
+ "check2-square": "\f271",
+ "check2": "\f272",
+ "chevron-bar-contract": "\f273",
+ "chevron-bar-down": "\f274",
+ "chevron-bar-expand": "\f275",
+ "chevron-bar-left": "\f276",
+ "chevron-bar-right": "\f277",
+ "chevron-bar-up": "\f278",
+ "chevron-compact-down": "\f279",
+ "chevron-compact-left": "\f27a",
+ "chevron-compact-right": "\f27b",
+ "chevron-compact-up": "\f27c",
+ "chevron-contract": "\f27d",
+ "chevron-double-down": "\f27e",
+ "chevron-double-left": "\f27f",
+ "chevron-double-right": "\f280",
+ "chevron-double-up": "\f281",
+ "chevron-down": "\f282",
+ "chevron-expand": "\f283",
+ "chevron-left": "\f284",
+ "chevron-right": "\f285",
+ "chevron-up": "\f286",
+ "circle-fill": "\f287",
+ "circle-half": "\f288",
+ "circle-square": "\f289",
+ "circle": "\f28a",
+ "clipboard-check": "\f28b",
+ "clipboard-data": "\f28c",
+ "clipboard-minus": "\f28d",
+ "clipboard-plus": "\f28e",
+ "clipboard-x": "\f28f",
+ "clipboard": "\f290",
+ "clock-fill": "\f291",
+ "clock-history": "\f292",
+ "clock": "\f293",
+ "cloud-arrow-down-fill": "\f294",
+ "cloud-arrow-down": "\f295",
+ "cloud-arrow-up-fill": "\f296",
+ "cloud-arrow-up": "\f297",
+ "cloud-check-fill": "\f298",
+ "cloud-check": "\f299",
+ "cloud-download-fill": "\f29a",
+ "cloud-download": "\f29b",
+ "cloud-drizzle-fill": "\f29c",
+ "cloud-drizzle": "\f29d",
+ "cloud-fill": "\f29e",
+ "cloud-fog-fill": "\f29f",
+ "cloud-fog": "\f2a0",
+ "cloud-fog2-fill": "\f2a1",
+ "cloud-fog2": "\f2a2",
+ "cloud-hail-fill": "\f2a3",
+ "cloud-hail": "\f2a4",
+ "cloud-haze-fill": "\f2a6",
+ "cloud-haze": "\f2a7",
+ "cloud-haze2-fill": "\f2a8",
+ "cloud-lightning-fill": "\f2a9",
+ "cloud-lightning-rain-fill": "\f2aa",
+ "cloud-lightning-rain": "\f2ab",
+ "cloud-lightning": "\f2ac",
+ "cloud-minus-fill": "\f2ad",
+ "cloud-minus": "\f2ae",
+ "cloud-moon-fill": "\f2af",
+ "cloud-moon": "\f2b0",
+ "cloud-plus-fill": "\f2b1",
+ "cloud-plus": "\f2b2",
+ "cloud-rain-fill": "\f2b3",
+ "cloud-rain-heavy-fill": "\f2b4",
+ "cloud-rain-heavy": "\f2b5",
+ "cloud-rain": "\f2b6",
+ "cloud-slash-fill": "\f2b7",
+ "cloud-slash": "\f2b8",
+ "cloud-sleet-fill": "\f2b9",
+ "cloud-sleet": "\f2ba",
+ "cloud-snow-fill": "\f2bb",
+ "cloud-snow": "\f2bc",
+ "cloud-sun-fill": "\f2bd",
+ "cloud-sun": "\f2be",
+ "cloud-upload-fill": "\f2bf",
+ "cloud-upload": "\f2c0",
+ "cloud": "\f2c1",
+ "clouds-fill": "\f2c2",
+ "clouds": "\f2c3",
+ "cloudy-fill": "\f2c4",
+ "cloudy": "\f2c5",
+ "code-slash": "\f2c6",
+ "code-square": "\f2c7",
+ "code": "\f2c8",
+ "collection-fill": "\f2c9",
+ "collection-play-fill": "\f2ca",
+ "collection-play": "\f2cb",
+ "collection": "\f2cc",
+ "columns-gap": "\f2cd",
+ "columns": "\f2ce",
+ "command": "\f2cf",
+ "compass-fill": "\f2d0",
+ "compass": "\f2d1",
+ "cone-striped": "\f2d2",
+ "cone": "\f2d3",
+ "controller": "\f2d4",
+ "cpu-fill": "\f2d5",
+ "cpu": "\f2d6",
+ "credit-card-2-back-fill": "\f2d7",
+ "credit-card-2-back": "\f2d8",
+ "credit-card-2-front-fill": "\f2d9",
+ "credit-card-2-front": "\f2da",
+ "credit-card-fill": "\f2db",
+ "credit-card": "\f2dc",
+ "crop": "\f2dd",
+ "cup-fill": "\f2de",
+ "cup-straw": "\f2df",
+ "cup": "\f2e0",
+ "cursor-fill": "\f2e1",
+ "cursor-text": "\f2e2",
+ "cursor": "\f2e3",
+ "dash-circle-dotted": "\f2e4",
+ "dash-circle-fill": "\f2e5",
+ "dash-circle": "\f2e6",
+ "dash-square-dotted": "\f2e7",
+ "dash-square-fill": "\f2e8",
+ "dash-square": "\f2e9",
+ "dash": "\f2ea",
+ "diagram-2-fill": "\f2eb",
+ "diagram-2": "\f2ec",
+ "diagram-3-fill": "\f2ed",
+ "diagram-3": "\f2ee",
+ "diamond-fill": "\f2ef",
+ "diamond-half": "\f2f0",
+ "diamond": "\f2f1",
+ "dice-1-fill": "\f2f2",
+ "dice-1": "\f2f3",
+ "dice-2-fill": "\f2f4",
+ "dice-2": "\f2f5",
+ "dice-3-fill": "\f2f6",
+ "dice-3": "\f2f7",
+ "dice-4-fill": "\f2f8",
+ "dice-4": "\f2f9",
+ "dice-5-fill": "\f2fa",
+ "dice-5": "\f2fb",
+ "dice-6-fill": "\f2fc",
+ "dice-6": "\f2fd",
+ "disc-fill": "\f2fe",
+ "disc": "\f2ff",
+ "discord": "\f300",
+ "display-fill": "\f301",
+ "display": "\f302",
+ "distribute-horizontal": "\f303",
+ "distribute-vertical": "\f304",
+ "door-closed-fill": "\f305",
+ "door-closed": "\f306",
+ "door-open-fill": "\f307",
+ "door-open": "\f308",
+ "dot": "\f309",
+ "download": "\f30a",
+ "droplet-fill": "\f30b",
+ "droplet-half": "\f30c",
+ "droplet": "\f30d",
+ "earbuds": "\f30e",
+ "easel-fill": "\f30f",
+ "easel": "\f310",
+ "egg-fill": "\f311",
+ "egg-fried": "\f312",
+ "egg": "\f313",
+ "eject-fill": "\f314",
+ "eject": "\f315",
+ "emoji-angry-fill": "\f316",
+ "emoji-angry": "\f317",
+ "emoji-dizzy-fill": "\f318",
+ "emoji-dizzy": "\f319",
+ "emoji-expressionless-fill": "\f31a",
+ "emoji-expressionless": "\f31b",
+ "emoji-frown-fill": "\f31c",
+ "emoji-frown": "\f31d",
+ "emoji-heart-eyes-fill": "\f31e",
+ "emoji-heart-eyes": "\f31f",
+ "emoji-laughing-fill": "\f320",
+ "emoji-laughing": "\f321",
+ "emoji-neutral-fill": "\f322",
+ "emoji-neutral": "\f323",
+ "emoji-smile-fill": "\f324",
+ "emoji-smile-upside-down-fill": "\f325",
+ "emoji-smile-upside-down": "\f326",
+ "emoji-smile": "\f327",
+ "emoji-sunglasses-fill": "\f328",
+ "emoji-sunglasses": "\f329",
+ "emoji-wink-fill": "\f32a",
+ "emoji-wink": "\f32b",
+ "envelope-fill": "\f32c",
+ "envelope-open-fill": "\f32d",
+ "envelope-open": "\f32e",
+ "envelope": "\f32f",
+ "eraser-fill": "\f330",
+ "eraser": "\f331",
+ "exclamation-circle-fill": "\f332",
+ "exclamation-circle": "\f333",
+ "exclamation-diamond-fill": "\f334",
+ "exclamation-diamond": "\f335",
+ "exclamation-octagon-fill": "\f336",
+ "exclamation-octagon": "\f337",
+ "exclamation-square-fill": "\f338",
+ "exclamation-square": "\f339",
+ "exclamation-triangle-fill": "\f33a",
+ "exclamation-triangle": "\f33b",
+ "exclamation": "\f33c",
+ "exclude": "\f33d",
+ "eye-fill": "\f33e",
+ "eye-slash-fill": "\f33f",
+ "eye-slash": "\f340",
+ "eye": "\f341",
+ "eyedropper": "\f342",
+ "eyeglasses": "\f343",
+ "facebook": "\f344",
+ "file-arrow-down-fill": "\f345",
+ "file-arrow-down": "\f346",
+ "file-arrow-up-fill": "\f347",
+ "file-arrow-up": "\f348",
+ "file-bar-graph-fill": "\f349",
+ "file-bar-graph": "\f34a",
+ "file-binary-fill": "\f34b",
+ "file-binary": "\f34c",
+ "file-break-fill": "\f34d",
+ "file-break": "\f34e",
+ "file-check-fill": "\f34f",
+ "file-check": "\f350",
+ "file-code-fill": "\f351",
+ "file-code": "\f352",
+ "file-diff-fill": "\f353",
+ "file-diff": "\f354",
+ "file-earmark-arrow-down-fill": "\f355",
+ "file-earmark-arrow-down": "\f356",
+ "file-earmark-arrow-up-fill": "\f357",
+ "file-earmark-arrow-up": "\f358",
+ "file-earmark-bar-graph-fill": "\f359",
+ "file-earmark-bar-graph": "\f35a",
+ "file-earmark-binary-fill": "\f35b",
+ "file-earmark-binary": "\f35c",
+ "file-earmark-break-fill": "\f35d",
+ "file-earmark-break": "\f35e",
+ "file-earmark-check-fill": "\f35f",
+ "file-earmark-check": "\f360",
+ "file-earmark-code-fill": "\f361",
+ "file-earmark-code": "\f362",
+ "file-earmark-diff-fill": "\f363",
+ "file-earmark-diff": "\f364",
+ "file-earmark-easel-fill": "\f365",
+ "file-earmark-easel": "\f366",
+ "file-earmark-excel-fill": "\f367",
+ "file-earmark-excel": "\f368",
+ "file-earmark-fill": "\f369",
+ "file-earmark-font-fill": "\f36a",
+ "file-earmark-font": "\f36b",
+ "file-earmark-image-fill": "\f36c",
+ "file-earmark-image": "\f36d",
+ "file-earmark-lock-fill": "\f36e",
+ "file-earmark-lock": "\f36f",
+ "file-earmark-lock2-fill": "\f370",
+ "file-earmark-lock2": "\f371",
+ "file-earmark-medical-fill": "\f372",
+ "file-earmark-medical": "\f373",
+ "file-earmark-minus-fill": "\f374",
+ "file-earmark-minus": "\f375",
+ "file-earmark-music-fill": "\f376",
+ "file-earmark-music": "\f377",
+ "file-earmark-person-fill": "\f378",
+ "file-earmark-person": "\f379",
+ "file-earmark-play-fill": "\f37a",
+ "file-earmark-play": "\f37b",
+ "file-earmark-plus-fill": "\f37c",
+ "file-earmark-plus": "\f37d",
+ "file-earmark-post-fill": "\f37e",
+ "file-earmark-post": "\f37f",
+ "file-earmark-ppt-fill": "\f380",
+ "file-earmark-ppt": "\f381",
+ "file-earmark-richtext-fill": "\f382",
+ "file-earmark-richtext": "\f383",
+ "file-earmark-ruled-fill": "\f384",
+ "file-earmark-ruled": "\f385",
+ "file-earmark-slides-fill": "\f386",
+ "file-earmark-slides": "\f387",
+ "file-earmark-spreadsheet-fill": "\f388",
+ "file-earmark-spreadsheet": "\f389",
+ "file-earmark-text-fill": "\f38a",
+ "file-earmark-text": "\f38b",
+ "file-earmark-word-fill": "\f38c",
+ "file-earmark-word": "\f38d",
+ "file-earmark-x-fill": "\f38e",
+ "file-earmark-x": "\f38f",
+ "file-earmark-zip-fill": "\f390",
+ "file-earmark-zip": "\f391",
+ "file-earmark": "\f392",
+ "file-easel-fill": "\f393",
+ "file-easel": "\f394",
+ "file-excel-fill": "\f395",
+ "file-excel": "\f396",
+ "file-fill": "\f397",
+ "file-font-fill": "\f398",
+ "file-font": "\f399",
+ "file-image-fill": "\f39a",
+ "file-image": "\f39b",
+ "file-lock-fill": "\f39c",
+ "file-lock": "\f39d",
+ "file-lock2-fill": "\f39e",
+ "file-lock2": "\f39f",
+ "file-medical-fill": "\f3a0",
+ "file-medical": "\f3a1",
+ "file-minus-fill": "\f3a2",
+ "file-minus": "\f3a3",
+ "file-music-fill": "\f3a4",
+ "file-music": "\f3a5",
+ "file-person-fill": "\f3a6",
+ "file-person": "\f3a7",
+ "file-play-fill": "\f3a8",
+ "file-play": "\f3a9",
+ "file-plus-fill": "\f3aa",
+ "file-plus": "\f3ab",
+ "file-post-fill": "\f3ac",
+ "file-post": "\f3ad",
+ "file-ppt-fill": "\f3ae",
+ "file-ppt": "\f3af",
+ "file-richtext-fill": "\f3b0",
+ "file-richtext": "\f3b1",
+ "file-ruled-fill": "\f3b2",
+ "file-ruled": "\f3b3",
+ "file-slides-fill": "\f3b4",
+ "file-slides": "\f3b5",
+ "file-spreadsheet-fill": "\f3b6",
+ "file-spreadsheet": "\f3b7",
+ "file-text-fill": "\f3b8",
+ "file-text": "\f3b9",
+ "file-word-fill": "\f3ba",
+ "file-word": "\f3bb",
+ "file-x-fill": "\f3bc",
+ "file-x": "\f3bd",
+ "file-zip-fill": "\f3be",
+ "file-zip": "\f3bf",
+ "file": "\f3c0",
+ "files-alt": "\f3c1",
+ "files": "\f3c2",
+ "film": "\f3c3",
+ "filter-circle-fill": "\f3c4",
+ "filter-circle": "\f3c5",
+ "filter-left": "\f3c6",
+ "filter-right": "\f3c7",
+ "filter-square-fill": "\f3c8",
+ "filter-square": "\f3c9",
+ "filter": "\f3ca",
+ "flag-fill": "\f3cb",
+ "flag": "\f3cc",
+ "flower1": "\f3cd",
+ "flower2": "\f3ce",
+ "flower3": "\f3cf",
+ "folder-check": "\f3d0",
+ "folder-fill": "\f3d1",
+ "folder-minus": "\f3d2",
+ "folder-plus": "\f3d3",
+ "folder-symlink-fill": "\f3d4",
+ "folder-symlink": "\f3d5",
+ "folder-x": "\f3d6",
+ "folder": "\f3d7",
+ "folder2-open": "\f3d8",
+ "folder2": "\f3d9",
+ "fonts": "\f3da",
+ "forward-fill": "\f3db",
+ "forward": "\f3dc",
+ "front": "\f3dd",
+ "fullscreen-exit": "\f3de",
+ "fullscreen": "\f3df",
+ "funnel-fill": "\f3e0",
+ "funnel": "\f3e1",
+ "gear-fill": "\f3e2",
+ "gear-wide-connected": "\f3e3",
+ "gear-wide": "\f3e4",
+ "gear": "\f3e5",
+ "gem": "\f3e6",
+ "geo-alt-fill": "\f3e7",
+ "geo-alt": "\f3e8",
+ "geo-fill": "\f3e9",
+ "geo": "\f3ea",
+ "gift-fill": "\f3eb",
+ "gift": "\f3ec",
+ "github": "\f3ed",
+ "globe": "\f3ee",
+ "globe2": "\f3ef",
+ "google": "\f3f0",
+ "graph-down": "\f3f1",
+ "graph-up": "\f3f2",
+ "grid-1x2-fill": "\f3f3",
+ "grid-1x2": "\f3f4",
+ "grid-3x2-gap-fill": "\f3f5",
+ "grid-3x2-gap": "\f3f6",
+ "grid-3x2": "\f3f7",
+ "grid-3x3-gap-fill": "\f3f8",
+ "grid-3x3-gap": "\f3f9",
+ "grid-3x3": "\f3fa",
+ "grid-fill": "\f3fb",
+ "grid": "\f3fc",
+ "grip-horizontal": "\f3fd",
+ "grip-vertical": "\f3fe",
+ "hammer": "\f3ff",
+ "hand-index-fill": "\f400",
+ "hand-index-thumb-fill": "\f401",
+ "hand-index-thumb": "\f402",
+ "hand-index": "\f403",
+ "hand-thumbs-down-fill": "\f404",
+ "hand-thumbs-down": "\f405",
+ "hand-thumbs-up-fill": "\f406",
+ "hand-thumbs-up": "\f407",
+ "handbag-fill": "\f408",
+ "handbag": "\f409",
+ "hash": "\f40a",
+ "hdd-fill": "\f40b",
+ "hdd-network-fill": "\f40c",
+ "hdd-network": "\f40d",
+ "hdd-rack-fill": "\f40e",
+ "hdd-rack": "\f40f",
+ "hdd-stack-fill": "\f410",
+ "hdd-stack": "\f411",
+ "hdd": "\f412",
+ "headphones": "\f413",
+ "headset": "\f414",
+ "heart-fill": "\f415",
+ "heart-half": "\f416",
+ "heart": "\f417",
+ "heptagon-fill": "\f418",
+ "heptagon-half": "\f419",
+ "heptagon": "\f41a",
+ "hexagon-fill": "\f41b",
+ "hexagon-half": "\f41c",
+ "hexagon": "\f41d",
+ "hourglass-bottom": "\f41e",
+ "hourglass-split": "\f41f",
+ "hourglass-top": "\f420",
+ "hourglass": "\f421",
+ "house-door-fill": "\f422",
+ "house-door": "\f423",
+ "house-fill": "\f424",
+ "house": "\f425",
+ "hr": "\f426",
+ "hurricane": "\f427",
+ "image-alt": "\f428",
+ "image-fill": "\f429",
+ "image": "\f42a",
+ "images": "\f42b",
+ "inbox-fill": "\f42c",
+ "inbox": "\f42d",
+ "inboxes-fill": "\f42e",
+ "inboxes": "\f42f",
+ "info-circle-fill": "\f430",
+ "info-circle": "\f431",
+ "info-square-fill": "\f432",
+ "info-square": "\f433",
+ "info": "\f434",
+ "input-cursor-text": "\f435",
+ "input-cursor": "\f436",
+ "instagram": "\f437",
+ "intersect": "\f438",
+ "journal-album": "\f439",
+ "journal-arrow-down": "\f43a",
+ "journal-arrow-up": "\f43b",
+ "journal-bookmark-fill": "\f43c",
+ "journal-bookmark": "\f43d",
+ "journal-check": "\f43e",
+ "journal-code": "\f43f",
+ "journal-medical": "\f440",
+ "journal-minus": "\f441",
+ "journal-plus": "\f442",
+ "journal-richtext": "\f443",
+ "journal-text": "\f444",
+ "journal-x": "\f445",
+ "journal": "\f446",
+ "journals": "\f447",
+ "joystick": "\f448",
+ "justify-left": "\f449",
+ "justify-right": "\f44a",
+ "justify": "\f44b",
+ "kanban-fill": "\f44c",
+ "kanban": "\f44d",
+ "key-fill": "\f44e",
+ "key": "\f44f",
+ "keyboard-fill": "\f450",
+ "keyboard": "\f451",
+ "ladder": "\f452",
+ "lamp-fill": "\f453",
+ "lamp": "\f454",
+ "laptop-fill": "\f455",
+ "laptop": "\f456",
+ "layer-backward": "\f457",
+ "layer-forward": "\f458",
+ "layers-fill": "\f459",
+ "layers-half": "\f45a",
+ "layers": "\f45b",
+ "layout-sidebar-inset-reverse": "\f45c",
+ "layout-sidebar-inset": "\f45d",
+ "layout-sidebar-reverse": "\f45e",
+ "layout-sidebar": "\f45f",
+ "layout-split": "\f460",
+ "layout-text-sidebar-reverse": "\f461",
+ "layout-text-sidebar": "\f462",
+ "layout-text-window-reverse": "\f463",
+ "layout-text-window": "\f464",
+ "layout-three-columns": "\f465",
+ "layout-wtf": "\f466",
+ "life-preserver": "\f467",
+ "lightbulb-fill": "\f468",
+ "lightbulb-off-fill": "\f469",
+ "lightbulb-off": "\f46a",
+ "lightbulb": "\f46b",
+ "lightning-charge-fill": "\f46c",
+ "lightning-charge": "\f46d",
+ "lightning-fill": "\f46e",
+ "lightning": "\f46f",
+ "link-45deg": "\f470",
+ "link": "\f471",
+ "linkedin": "\f472",
+ "list-check": "\f473",
+ "list-nested": "\f474",
+ "list-ol": "\f475",
+ "list-stars": "\f476",
+ "list-task": "\f477",
+ "list-ul": "\f478",
+ "list": "\f479",
+ "lock-fill": "\f47a",
+ "lock": "\f47b",
+ "mailbox": "\f47c",
+ "mailbox2": "\f47d",
+ "map-fill": "\f47e",
+ "map": "\f47f",
+ "markdown-fill": "\f480",
+ "markdown": "\f481",
+ "mask": "\f482",
+ "megaphone-fill": "\f483",
+ "megaphone": "\f484",
+ "menu-app-fill": "\f485",
+ "menu-app": "\f486",
+ "menu-button-fill": "\f487",
+ "menu-button-wide-fill": "\f488",
+ "menu-button-wide": "\f489",
+ "menu-button": "\f48a",
+ "menu-down": "\f48b",
+ "menu-up": "\f48c",
+ "mic-fill": "\f48d",
+ "mic-mute-fill": "\f48e",
+ "mic-mute": "\f48f",
+ "mic": "\f490",
+ "minecart-loaded": "\f491",
+ "minecart": "\f492",
+ "moisture": "\f493",
+ "moon-fill": "\f494",
+ "moon-stars-fill": "\f495",
+ "moon-stars": "\f496",
+ "moon": "\f497",
+ "mouse-fill": "\f498",
+ "mouse": "\f499",
+ "mouse2-fill": "\f49a",
+ "mouse2": "\f49b",
+ "mouse3-fill": "\f49c",
+ "mouse3": "\f49d",
+ "music-note-beamed": "\f49e",
+ "music-note-list": "\f49f",
+ "music-note": "\f4a0",
+ "music-player-fill": "\f4a1",
+ "music-player": "\f4a2",
+ "newspaper": "\f4a3",
+ "node-minus-fill": "\f4a4",
+ "node-minus": "\f4a5",
+ "node-plus-fill": "\f4a6",
+ "node-plus": "\f4a7",
+ "nut-fill": "\f4a8",
+ "nut": "\f4a9",
+ "octagon-fill": "\f4aa",
+ "octagon-half": "\f4ab",
+ "octagon": "\f4ac",
+ "option": "\f4ad",
+ "outlet": "\f4ae",
+ "paint-bucket": "\f4af",
+ "palette-fill": "\f4b0",
+ "palette": "\f4b1",
+ "palette2": "\f4b2",
+ "paperclip": "\f4b3",
+ "paragraph": "\f4b4",
+ "patch-check-fill": "\f4b5",
+ "patch-check": "\f4b6",
+ "patch-exclamation-fill": "\f4b7",
+ "patch-exclamation": "\f4b8",
+ "patch-minus-fill": "\f4b9",
+ "patch-minus": "\f4ba",
+ "patch-plus-fill": "\f4bb",
+ "patch-plus": "\f4bc",
+ "patch-question-fill": "\f4bd",
+ "patch-question": "\f4be",
+ "pause-btn-fill": "\f4bf",
+ "pause-btn": "\f4c0",
+ "pause-circle-fill": "\f4c1",
+ "pause-circle": "\f4c2",
+ "pause-fill": "\f4c3",
+ "pause": "\f4c4",
+ "peace-fill": "\f4c5",
+ "peace": "\f4c6",
+ "pen-fill": "\f4c7",
+ "pen": "\f4c8",
+ "pencil-fill": "\f4c9",
+ "pencil-square": "\f4ca",
+ "pencil": "\f4cb",
+ "pentagon-fill": "\f4cc",
+ "pentagon-half": "\f4cd",
+ "pentagon": "\f4ce",
+ "people-fill": "\f4cf",
+ "people": "\f4d0",
+ "percent": "\f4d1",
+ "person-badge-fill": "\f4d2",
+ "person-badge": "\f4d3",
+ "person-bounding-box": "\f4d4",
+ "person-check-fill": "\f4d5",
+ "person-check": "\f4d6",
+ "person-circle": "\f4d7",
+ "person-dash-fill": "\f4d8",
+ "person-dash": "\f4d9",
+ "person-fill": "\f4da",
+ "person-lines-fill": "\f4db",
+ "person-plus-fill": "\f4dc",
+ "person-plus": "\f4dd",
+ "person-square": "\f4de",
+ "person-x-fill": "\f4df",
+ "person-x": "\f4e0",
+ "person": "\f4e1",
+ "phone-fill": "\f4e2",
+ "phone-landscape-fill": "\f4e3",
+ "phone-landscape": "\f4e4",
+ "phone-vibrate-fill": "\f4e5",
+ "phone-vibrate": "\f4e6",
+ "phone": "\f4e7",
+ "pie-chart-fill": "\f4e8",
+ "pie-chart": "\f4e9",
+ "pin-angle-fill": "\f4ea",
+ "pin-angle": "\f4eb",
+ "pin-fill": "\f4ec",
+ "pin": "\f4ed",
+ "pip-fill": "\f4ee",
+ "pip": "\f4ef",
+ "play-btn-fill": "\f4f0",
+ "play-btn": "\f4f1",
+ "play-circle-fill": "\f4f2",
+ "play-circle": "\f4f3",
+ "play-fill": "\f4f4",
+ "play": "\f4f5",
+ "plug-fill": "\f4f6",
+ "plug": "\f4f7",
+ "plus-circle-dotted": "\f4f8",
+ "plus-circle-fill": "\f4f9",
+ "plus-circle": "\f4fa",
+ "plus-square-dotted": "\f4fb",
+ "plus-square-fill": "\f4fc",
+ "plus-square": "\f4fd",
+ "plus": "\f4fe",
+ "power": "\f4ff",
+ "printer-fill": "\f500",
+ "printer": "\f501",
+ "puzzle-fill": "\f502",
+ "puzzle": "\f503",
+ "question-circle-fill": "\f504",
+ "question-circle": "\f505",
+ "question-diamond-fill": "\f506",
+ "question-diamond": "\f507",
+ "question-octagon-fill": "\f508",
+ "question-octagon": "\f509",
+ "question-square-fill": "\f50a",
+ "question-square": "\f50b",
+ "question": "\f50c",
+ "rainbow": "\f50d",
+ "receipt-cutoff": "\f50e",
+ "receipt": "\f50f",
+ "reception-0": "\f510",
+ "reception-1": "\f511",
+ "reception-2": "\f512",
+ "reception-3": "\f513",
+ "reception-4": "\f514",
+ "record-btn-fill": "\f515",
+ "record-btn": "\f516",
+ "record-circle-fill": "\f517",
+ "record-circle": "\f518",
+ "record-fill": "\f519",
+ "record": "\f51a",
+ "record2-fill": "\f51b",
+ "record2": "\f51c",
+ "reply-all-fill": "\f51d",
+ "reply-all": "\f51e",
+ "reply-fill": "\f51f",
+ "reply": "\f520",
+ "rss-fill": "\f521",
+ "rss": "\f522",
+ "rulers": "\f523",
+ "save-fill": "\f524",
+ "save": "\f525",
+ "save2-fill": "\f526",
+ "save2": "\f527",
+ "scissors": "\f528",
+ "screwdriver": "\f529",
+ "search": "\f52a",
+ "segmented-nav": "\f52b",
+ "server": "\f52c",
+ "share-fill": "\f52d",
+ "share": "\f52e",
+ "shield-check": "\f52f",
+ "shield-exclamation": "\f530",
+ "shield-fill-check": "\f531",
+ "shield-fill-exclamation": "\f532",
+ "shield-fill-minus": "\f533",
+ "shield-fill-plus": "\f534",
+ "shield-fill-x": "\f535",
+ "shield-fill": "\f536",
+ "shield-lock-fill": "\f537",
+ "shield-lock": "\f538",
+ "shield-minus": "\f539",
+ "shield-plus": "\f53a",
+ "shield-shaded": "\f53b",
+ "shield-slash-fill": "\f53c",
+ "shield-slash": "\f53d",
+ "shield-x": "\f53e",
+ "shield": "\f53f",
+ "shift-fill": "\f540",
+ "shift": "\f541",
+ "shop-window": "\f542",
+ "shop": "\f543",
+ "shuffle": "\f544",
+ "signpost-2-fill": "\f545",
+ "signpost-2": "\f546",
+ "signpost-fill": "\f547",
+ "signpost-split-fill": "\f548",
+ "signpost-split": "\f549",
+ "signpost": "\f54a",
+ "sim-fill": "\f54b",
+ "sim": "\f54c",
+ "skip-backward-btn-fill": "\f54d",
+ "skip-backward-btn": "\f54e",
+ "skip-backward-circle-fill": "\f54f",
+ "skip-backward-circle": "\f550",
+ "skip-backward-fill": "\f551",
+ "skip-backward": "\f552",
+ "skip-end-btn-fill": "\f553",
+ "skip-end-btn": "\f554",
+ "skip-end-circle-fill": "\f555",
+ "skip-end-circle": "\f556",
+ "skip-end-fill": "\f557",
+ "skip-end": "\f558",
+ "skip-forward-btn-fill": "\f559",
+ "skip-forward-btn": "\f55a",
+ "skip-forward-circle-fill": "\f55b",
+ "skip-forward-circle": "\f55c",
+ "skip-forward-fill": "\f55d",
+ "skip-forward": "\f55e",
+ "skip-start-btn-fill": "\f55f",
+ "skip-start-btn": "\f560",
+ "skip-start-circle-fill": "\f561",
+ "skip-start-circle": "\f562",
+ "skip-start-fill": "\f563",
+ "skip-start": "\f564",
+ "slack": "\f565",
+ "slash-circle-fill": "\f566",
+ "slash-circle": "\f567",
+ "slash-square-fill": "\f568",
+ "slash-square": "\f569",
+ "slash": "\f56a",
+ "sliders": "\f56b",
+ "smartwatch": "\f56c",
+ "snow": "\f56d",
+ "snow2": "\f56e",
+ "snow3": "\f56f",
+ "sort-alpha-down-alt": "\f570",
+ "sort-alpha-down": "\f571",
+ "sort-alpha-up-alt": "\f572",
+ "sort-alpha-up": "\f573",
+ "sort-down-alt": "\f574",
+ "sort-down": "\f575",
+ "sort-numeric-down-alt": "\f576",
+ "sort-numeric-down": "\f577",
+ "sort-numeric-up-alt": "\f578",
+ "sort-numeric-up": "\f579",
+ "sort-up-alt": "\f57a",
+ "sort-up": "\f57b",
+ "soundwave": "\f57c",
+ "speaker-fill": "\f57d",
+ "speaker": "\f57e",
+ "speedometer": "\f57f",
+ "speedometer2": "\f580",
+ "spellcheck": "\f581",
+ "square-fill": "\f582",
+ "square-half": "\f583",
+ "square": "\f584",
+ "stack": "\f585",
+ "star-fill": "\f586",
+ "star-half": "\f587",
+ "star": "\f588",
+ "stars": "\f589",
+ "stickies-fill": "\f58a",
+ "stickies": "\f58b",
+ "sticky-fill": "\f58c",
+ "sticky": "\f58d",
+ "stop-btn-fill": "\f58e",
+ "stop-btn": "\f58f",
+ "stop-circle-fill": "\f590",
+ "stop-circle": "\f591",
+ "stop-fill": "\f592",
+ "stop": "\f593",
+ "stoplights-fill": "\f594",
+ "stoplights": "\f595",
+ "stopwatch-fill": "\f596",
+ "stopwatch": "\f597",
+ "subtract": "\f598",
+ "suit-club-fill": "\f599",
+ "suit-club": "\f59a",
+ "suit-diamond-fill": "\f59b",
+ "suit-diamond": "\f59c",
+ "suit-heart-fill": "\f59d",
+ "suit-heart": "\f59e",
+ "suit-spade-fill": "\f59f",
+ "suit-spade": "\f5a0",
+ "sun-fill": "\f5a1",
+ "sun": "\f5a2",
+ "sunglasses": "\f5a3",
+ "sunrise-fill": "\f5a4",
+ "sunrise": "\f5a5",
+ "sunset-fill": "\f5a6",
+ "sunset": "\f5a7",
+ "symmetry-horizontal": "\f5a8",
+ "symmetry-vertical": "\f5a9",
+ "table": "\f5aa",
+ "tablet-fill": "\f5ab",
+ "tablet-landscape-fill": "\f5ac",
+ "tablet-landscape": "\f5ad",
+ "tablet": "\f5ae",
+ "tag-fill": "\f5af",
+ "tag": "\f5b0",
+ "tags-fill": "\f5b1",
+ "tags": "\f5b2",
+ "telegram": "\f5b3",
+ "telephone-fill": "\f5b4",
+ "telephone-forward-fill": "\f5b5",
+ "telephone-forward": "\f5b6",
+ "telephone-inbound-fill": "\f5b7",
+ "telephone-inbound": "\f5b8",
+ "telephone-minus-fill": "\f5b9",
+ "telephone-minus": "\f5ba",
+ "telephone-outbound-fill": "\f5bb",
+ "telephone-outbound": "\f5bc",
+ "telephone-plus-fill": "\f5bd",
+ "telephone-plus": "\f5be",
+ "telephone-x-fill": "\f5bf",
+ "telephone-x": "\f5c0",
+ "telephone": "\f5c1",
+ "terminal-fill": "\f5c2",
+ "terminal": "\f5c3",
+ "text-center": "\f5c4",
+ "text-indent-left": "\f5c5",
+ "text-indent-right": "\f5c6",
+ "text-left": "\f5c7",
+ "text-paragraph": "\f5c8",
+ "text-right": "\f5c9",
+ "textarea-resize": "\f5ca",
+ "textarea-t": "\f5cb",
+ "textarea": "\f5cc",
+ "thermometer-half": "\f5cd",
+ "thermometer-high": "\f5ce",
+ "thermometer-low": "\f5cf",
+ "thermometer-snow": "\f5d0",
+ "thermometer-sun": "\f5d1",
+ "thermometer": "\f5d2",
+ "three-dots-vertical": "\f5d3",
+ "three-dots": "\f5d4",
+ "toggle-off": "\f5d5",
+ "toggle-on": "\f5d6",
+ "toggle2-off": "\f5d7",
+ "toggle2-on": "\f5d8",
+ "toggles": "\f5d9",
+ "toggles2": "\f5da",
+ "tools": "\f5db",
+ "tornado": "\f5dc",
+ "trash-fill": "\f5dd",
+ "trash": "\f5de",
+ "trash2-fill": "\f5df",
+ "trash2": "\f5e0",
+ "tree-fill": "\f5e1",
+ "tree": "\f5e2",
+ "triangle-fill": "\f5e3",
+ "triangle-half": "\f5e4",
+ "triangle": "\f5e5",
+ "trophy-fill": "\f5e6",
+ "trophy": "\f5e7",
+ "tropical-storm": "\f5e8",
+ "truck-flatbed": "\f5e9",
+ "truck": "\f5ea",
+ "tsunami": "\f5eb",
+ "tv-fill": "\f5ec",
+ "tv": "\f5ed",
+ "twitch": "\f5ee",
+ "twitter": "\f5ef",
+ "type-bold": "\f5f0",
+ "type-h1": "\f5f1",
+ "type-h2": "\f5f2",
+ "type-h3": "\f5f3",
+ "type-italic": "\f5f4",
+ "type-strikethrough": "\f5f5",
+ "type-underline": "\f5f6",
+ "type": "\f5f7",
+ "ui-checks-grid": "\f5f8",
+ "ui-checks": "\f5f9",
+ "ui-radios-grid": "\f5fa",
+ "ui-radios": "\f5fb",
+ "umbrella-fill": "\f5fc",
+ "umbrella": "\f5fd",
+ "union": "\f5fe",
+ "unlock-fill": "\f5ff",
+ "unlock": "\f600",
+ "upc-scan": "\f601",
+ "upc": "\f602",
+ "upload": "\f603",
+ "vector-pen": "\f604",
+ "view-list": "\f605",
+ "view-stacked": "\f606",
+ "vinyl-fill": "\f607",
+ "vinyl": "\f608",
+ "voicemail": "\f609",
+ "volume-down-fill": "\f60a",
+ "volume-down": "\f60b",
+ "volume-mute-fill": "\f60c",
+ "volume-mute": "\f60d",
+ "volume-off-fill": "\f60e",
+ "volume-off": "\f60f",
+ "volume-up-fill": "\f610",
+ "volume-up": "\f611",
+ "vr": "\f612",
+ "wallet-fill": "\f613",
+ "wallet": "\f614",
+ "wallet2": "\f615",
+ "watch": "\f616",
+ "water": "\f617",
+ "whatsapp": "\f618",
+ "wifi-1": "\f619",
+ "wifi-2": "\f61a",
+ "wifi-off": "\f61b",
+ "wifi": "\f61c",
+ "wind": "\f61d",
+ "window-dock": "\f61e",
+ "window-sidebar": "\f61f",
+ "window": "\f620",
+ "wrench": "\f621",
+ "x-circle-fill": "\f622",
+ "x-circle": "\f623",
+ "x-diamond-fill": "\f624",
+ "x-diamond": "\f625",
+ "x-octagon-fill": "\f626",
+ "x-octagon": "\f627",
+ "x-square-fill": "\f628",
+ "x-square": "\f629",
+ "x": "\f62a",
+ "youtube": "\f62b",
+ "zoom-in": "\f62c",
+ "zoom-out": "\f62d",
+ "bank": "\f62e",
+ "bank2": "\f62f",
+ "bell-slash-fill": "\f630",
+ "bell-slash": "\f631",
+ "cash-coin": "\f632",
+ "check-lg": "\f633",
+ "coin": "\f634",
+ "currency-bitcoin": "\f635",
+ "currency-dollar": "\f636",
+ "currency-euro": "\f637",
+ "currency-exchange": "\f638",
+ "currency-pound": "\f639",
+ "currency-yen": "\f63a",
+ "dash-lg": "\f63b",
+ "exclamation-lg": "\f63c",
+ "file-earmark-pdf-fill": "\f63d",
+ "file-earmark-pdf": "\f63e",
+ "file-pdf-fill": "\f63f",
+ "file-pdf": "\f640",
+ "gender-ambiguous": "\f641",
+ "gender-female": "\f642",
+ "gender-male": "\f643",
+ "gender-trans": "\f644",
+ "headset-vr": "\f645",
+ "info-lg": "\f646",
+ "mastodon": "\f647",
+ "messenger": "\f648",
+ "piggy-bank-fill": "\f649",
+ "piggy-bank": "\f64a",
+ "pin-map-fill": "\f64b",
+ "pin-map": "\f64c",
+ "plus-lg": "\f64d",
+ "question-lg": "\f64e",
+ "recycle": "\f64f",
+ "reddit": "\f650",
+ "safe-fill": "\f651",
+ "safe2-fill": "\f652",
+ "safe2": "\f653",
+ "sd-card-fill": "\f654",
+ "sd-card": "\f655",
+ "skype": "\f656",
+ "slash-lg": "\f657",
+ "translate": "\f658",
+ "x-lg": "\f659",
+ "safe": "\f65a",
+ "apple": "\f65b",
+ "microsoft": "\f65d",
+ "windows": "\f65e",
+ "behance": "\f65c",
+ "dribbble": "\f65f",
+ "line": "\f660",
+ "medium": "\f661",
+ "paypal": "\f662",
+ "pinterest": "\f663",
+ "signal": "\f664",
+ "snapchat": "\f665",
+ "spotify": "\f666",
+ "stack-overflow": "\f667",
+ "strava": "\f668",
+ "wordpress": "\f669",
+ "vimeo": "\f66a",
+ "activity": "\f66b",
+ "easel2-fill": "\f66c",
+ "easel2": "\f66d",
+ "easel3-fill": "\f66e",
+ "easel3": "\f66f",
+ "fan": "\f670",
+ "fingerprint": "\f671",
+ "graph-down-arrow": "\f672",
+ "graph-up-arrow": "\f673",
+ "hypnotize": "\f674",
+ "magic": "\f675",
+ "person-rolodex": "\f676",
+ "person-video": "\f677",
+ "person-video2": "\f678",
+ "person-video3": "\f679",
+ "person-workspace": "\f67a",
+ "radioactive": "\f67b",
+ "webcam-fill": "\f67c",
+ "webcam": "\f67d",
+ "yin-yang": "\f67e",
+ "bandaid-fill": "\f680",
+ "bandaid": "\f681",
+ "bluetooth": "\f682",
+ "body-text": "\f683",
+ "boombox": "\f684",
+ "boxes": "\f685",
+ "dpad-fill": "\f686",
+ "dpad": "\f687",
+ "ear-fill": "\f688",
+ "ear": "\f689",
+ "envelope-check-fill": "\f68b",
+ "envelope-check": "\f68c",
+ "envelope-dash-fill": "\f68e",
+ "envelope-dash": "\f68f",
+ "envelope-exclamation-fill": "\f691",
+ "envelope-exclamation": "\f692",
+ "envelope-plus-fill": "\f693",
+ "envelope-plus": "\f694",
+ "envelope-slash-fill": "\f696",
+ "envelope-slash": "\f697",
+ "envelope-x-fill": "\f699",
+ "envelope-x": "\f69a",
+ "explicit-fill": "\f69b",
+ "explicit": "\f69c",
+ "git": "\f69d",
+ "infinity": "\f69e",
+ "list-columns-reverse": "\f69f",
+ "list-columns": "\f6a0",
+ "meta": "\f6a1",
+ "nintendo-switch": "\f6a4",
+ "pc-display-horizontal": "\f6a5",
+ "pc-display": "\f6a6",
+ "pc-horizontal": "\f6a7",
+ "pc": "\f6a8",
+ "playstation": "\f6a9",
+ "plus-slash-minus": "\f6aa",
+ "projector-fill": "\f6ab",
+ "projector": "\f6ac",
+ "qr-code-scan": "\f6ad",
+ "qr-code": "\f6ae",
+ "quora": "\f6af",
+ "quote": "\f6b0",
+ "robot": "\f6b1",
+ "send-check-fill": "\f6b2",
+ "send-check": "\f6b3",
+ "send-dash-fill": "\f6b4",
+ "send-dash": "\f6b5",
+ "send-exclamation-fill": "\f6b7",
+ "send-exclamation": "\f6b8",
+ "send-fill": "\f6b9",
+ "send-plus-fill": "\f6ba",
+ "send-plus": "\f6bb",
+ "send-slash-fill": "\f6bc",
+ "send-slash": "\f6bd",
+ "send-x-fill": "\f6be",
+ "send-x": "\f6bf",
+ "send": "\f6c0",
+ "steam": "\f6c1",
+ "terminal-dash": "\f6c3",
+ "terminal-plus": "\f6c4",
+ "terminal-split": "\f6c5",
+ "ticket-detailed-fill": "\f6c6",
+ "ticket-detailed": "\f6c7",
+ "ticket-fill": "\f6c8",
+ "ticket-perforated-fill": "\f6c9",
+ "ticket-perforated": "\f6ca",
+ "ticket": "\f6cb",
+ "tiktok": "\f6cc",
+ "window-dash": "\f6cd",
+ "window-desktop": "\f6ce",
+ "window-fullscreen": "\f6cf",
+ "window-plus": "\f6d0",
+ "window-split": "\f6d1",
+ "window-stack": "\f6d2",
+ "window-x": "\f6d3",
+ "xbox": "\f6d4",
+ "ethernet": "\f6d5",
+ "hdmi-fill": "\f6d6",
+ "hdmi": "\f6d7",
+ "usb-c-fill": "\f6d8",
+ "usb-c": "\f6d9",
+ "usb-fill": "\f6da",
+ "usb-plug-fill": "\f6db",
+ "usb-plug": "\f6dc",
+ "usb-symbol": "\f6dd",
+ "usb": "\f6de",
+ "boombox-fill": "\f6df",
+ "displayport": "\f6e1",
+ "gpu-card": "\f6e2",
+ "memory": "\f6e3",
+ "modem-fill": "\f6e4",
+ "modem": "\f6e5",
+ "motherboard-fill": "\f6e6",
+ "motherboard": "\f6e7",
+ "optical-audio-fill": "\f6e8",
+ "optical-audio": "\f6e9",
+ "pci-card": "\f6ea",
+ "router-fill": "\f6eb",
+ "router": "\f6ec",
+ "thunderbolt-fill": "\f6ef",
+ "thunderbolt": "\f6f0",
+ "usb-drive-fill": "\f6f1",
+ "usb-drive": "\f6f2",
+ "usb-micro-fill": "\f6f3",
+ "usb-micro": "\f6f4",
+ "usb-mini-fill": "\f6f5",
+ "usb-mini": "\f6f6",
+ "cloud-haze2": "\f6f7",
+ "device-hdd-fill": "\f6f8",
+ "device-hdd": "\f6f9",
+ "device-ssd-fill": "\f6fa",
+ "device-ssd": "\f6fb",
+ "displayport-fill": "\f6fc",
+ "mortarboard-fill": "\f6fd",
+ "mortarboard": "\f6fe",
+ "terminal-x": "\f6ff",
+ "arrow-through-heart-fill": "\f700",
+ "arrow-through-heart": "\f701",
+ "badge-sd-fill": "\f702",
+ "badge-sd": "\f703",
+ "bag-heart-fill": "\f704",
+ "bag-heart": "\f705",
+ "balloon-fill": "\f706",
+ "balloon-heart-fill": "\f707",
+ "balloon-heart": "\f708",
+ "balloon": "\f709",
+ "box2-fill": "\f70a",
+ "box2-heart-fill": "\f70b",
+ "box2-heart": "\f70c",
+ "box2": "\f70d",
+ "braces-asterisk": "\f70e",
+ "calendar-heart-fill": "\f70f",
+ "calendar-heart": "\f710",
+ "calendar2-heart-fill": "\f711",
+ "calendar2-heart": "\f712",
+ "chat-heart-fill": "\f713",
+ "chat-heart": "\f714",
+ "chat-left-heart-fill": "\f715",
+ "chat-left-heart": "\f716",
+ "chat-right-heart-fill": "\f717",
+ "chat-right-heart": "\f718",
+ "chat-square-heart-fill": "\f719",
+ "chat-square-heart": "\f71a",
+ "clipboard-check-fill": "\f71b",
+ "clipboard-data-fill": "\f71c",
+ "clipboard-fill": "\f71d",
+ "clipboard-heart-fill": "\f71e",
+ "clipboard-heart": "\f71f",
+ "clipboard-minus-fill": "\f720",
+ "clipboard-plus-fill": "\f721",
+ "clipboard-pulse": "\f722",
+ "clipboard-x-fill": "\f723",
+ "clipboard2-check-fill": "\f724",
+ "clipboard2-check": "\f725",
+ "clipboard2-data-fill": "\f726",
+ "clipboard2-data": "\f727",
+ "clipboard2-fill": "\f728",
+ "clipboard2-heart-fill": "\f729",
+ "clipboard2-heart": "\f72a",
+ "clipboard2-minus-fill": "\f72b",
+ "clipboard2-minus": "\f72c",
+ "clipboard2-plus-fill": "\f72d",
+ "clipboard2-plus": "\f72e",
+ "clipboard2-pulse-fill": "\f72f",
+ "clipboard2-pulse": "\f730",
+ "clipboard2-x-fill": "\f731",
+ "clipboard2-x": "\f732",
+ "clipboard2": "\f733",
+ "emoji-kiss-fill": "\f734",
+ "emoji-kiss": "\f735",
+ "envelope-heart-fill": "\f736",
+ "envelope-heart": "\f737",
+ "envelope-open-heart-fill": "\f738",
+ "envelope-open-heart": "\f739",
+ "envelope-paper-fill": "\f73a",
+ "envelope-paper-heart-fill": "\f73b",
+ "envelope-paper-heart": "\f73c",
+ "envelope-paper": "\f73d",
+ "filetype-aac": "\f73e",
+ "filetype-ai": "\f73f",
+ "filetype-bmp": "\f740",
+ "filetype-cs": "\f741",
+ "filetype-css": "\f742",
+ "filetype-csv": "\f743",
+ "filetype-doc": "\f744",
+ "filetype-docx": "\f745",
+ "filetype-exe": "\f746",
+ "filetype-gif": "\f747",
+ "filetype-heic": "\f748",
+ "filetype-html": "\f749",
+ "filetype-java": "\f74a",
+ "filetype-jpg": "\f74b",
+ "filetype-js": "\f74c",
+ "filetype-jsx": "\f74d",
+ "filetype-key": "\f74e",
+ "filetype-m4p": "\f74f",
+ "filetype-md": "\f750",
+ "filetype-mdx": "\f751",
+ "filetype-mov": "\f752",
+ "filetype-mp3": "\f753",
+ "filetype-mp4": "\f754",
+ "filetype-otf": "\f755",
+ "filetype-pdf": "\f756",
+ "filetype-php": "\f757",
+ "filetype-png": "\f758",
+ "filetype-ppt": "\f75a",
+ "filetype-psd": "\f75b",
+ "filetype-py": "\f75c",
+ "filetype-raw": "\f75d",
+ "filetype-rb": "\f75e",
+ "filetype-sass": "\f75f",
+ "filetype-scss": "\f760",
+ "filetype-sh": "\f761",
+ "filetype-svg": "\f762",
+ "filetype-tiff": "\f763",
+ "filetype-tsx": "\f764",
+ "filetype-ttf": "\f765",
+ "filetype-txt": "\f766",
+ "filetype-wav": "\f767",
+ "filetype-woff": "\f768",
+ "filetype-xls": "\f76a",
+ "filetype-xml": "\f76b",
+ "filetype-yml": "\f76c",
+ "heart-arrow": "\f76d",
+ "heart-pulse-fill": "\f76e",
+ "heart-pulse": "\f76f",
+ "heartbreak-fill": "\f770",
+ "heartbreak": "\f771",
+ "hearts": "\f772",
+ "hospital-fill": "\f773",
+ "hospital": "\f774",
+ "house-heart-fill": "\f775",
+ "house-heart": "\f776",
+ "incognito": "\f777",
+ "magnet-fill": "\f778",
+ "magnet": "\f779",
+ "person-heart": "\f77a",
+ "person-hearts": "\f77b",
+ "phone-flip": "\f77c",
+ "plugin": "\f77d",
+ "postage-fill": "\f77e",
+ "postage-heart-fill": "\f77f",
+ "postage-heart": "\f780",
+ "postage": "\f781",
+ "postcard-fill": "\f782",
+ "postcard-heart-fill": "\f783",
+ "postcard-heart": "\f784",
+ "postcard": "\f785",
+ "search-heart-fill": "\f786",
+ "search-heart": "\f787",
+ "sliders2-vertical": "\f788",
+ "sliders2": "\f789",
+ "trash3-fill": "\f78a",
+ "trash3": "\f78b",
+ "valentine": "\f78c",
+ "valentine2": "\f78d",
+ "wrench-adjustable-circle-fill": "\f78e",
+ "wrench-adjustable-circle": "\f78f",
+ "wrench-adjustable": "\f790",
+ "filetype-json": "\f791",
+ "filetype-pptx": "\f792",
+ "filetype-xlsx": "\f793",
+ "1-circle-fill": "\f796",
+ "1-circle": "\f797",
+ "1-square-fill": "\f798",
+ "1-square": "\f799",
+ "2-circle-fill": "\f79c",
+ "2-circle": "\f79d",
+ "2-square-fill": "\f79e",
+ "2-square": "\f79f",
+ "3-circle-fill": "\f7a2",
+ "3-circle": "\f7a3",
+ "3-square-fill": "\f7a4",
+ "3-square": "\f7a5",
+ "4-circle-fill": "\f7a8",
+ "4-circle": "\f7a9",
+ "4-square-fill": "\f7aa",
+ "4-square": "\f7ab",
+ "5-circle-fill": "\f7ae",
+ "5-circle": "\f7af",
+ "5-square-fill": "\f7b0",
+ "5-square": "\f7b1",
+ "6-circle-fill": "\f7b4",
+ "6-circle": "\f7b5",
+ "6-square-fill": "\f7b6",
+ "6-square": "\f7b7",
+ "7-circle-fill": "\f7ba",
+ "7-circle": "\f7bb",
+ "7-square-fill": "\f7bc",
+ "7-square": "\f7bd",
+ "8-circle-fill": "\f7c0",
+ "8-circle": "\f7c1",
+ "8-square-fill": "\f7c2",
+ "8-square": "\f7c3",
+ "9-circle-fill": "\f7c6",
+ "9-circle": "\f7c7",
+ "9-square-fill": "\f7c8",
+ "9-square": "\f7c9",
+ "airplane-engines-fill": "\f7ca",
+ "airplane-engines": "\f7cb",
+ "airplane-fill": "\f7cc",
+ "airplane": "\f7cd",
+ "alexa": "\f7ce",
+ "alipay": "\f7cf",
+ "android": "\f7d0",
+ "android2": "\f7d1",
+ "box-fill": "\f7d2",
+ "box-seam-fill": "\f7d3",
+ "browser-chrome": "\f7d4",
+ "browser-edge": "\f7d5",
+ "browser-firefox": "\f7d6",
+ "browser-safari": "\f7d7",
+ "c-circle-fill": "\f7da",
+ "c-circle": "\f7db",
+ "c-square-fill": "\f7dc",
+ "c-square": "\f7dd",
+ "capsule-pill": "\f7de",
+ "capsule": "\f7df",
+ "car-front-fill": "\f7e0",
+ "car-front": "\f7e1",
+ "cassette-fill": "\f7e2",
+ "cassette": "\f7e3",
+ "cc-circle-fill": "\f7e6",
+ "cc-circle": "\f7e7",
+ "cc-square-fill": "\f7e8",
+ "cc-square": "\f7e9",
+ "cup-hot-fill": "\f7ea",
+ "cup-hot": "\f7eb",
+ "currency-rupee": "\f7ec",
+ "dropbox": "\f7ed",
+ "escape": "\f7ee",
+ "fast-forward-btn-fill": "\f7ef",
+ "fast-forward-btn": "\f7f0",
+ "fast-forward-circle-fill": "\f7f1",
+ "fast-forward-circle": "\f7f2",
+ "fast-forward-fill": "\f7f3",
+ "fast-forward": "\f7f4",
+ "filetype-sql": "\f7f5",
+ "fire": "\f7f6",
+ "google-play": "\f7f7",
+ "h-circle-fill": "\f7fa",
+ "h-circle": "\f7fb",
+ "h-square-fill": "\f7fc",
+ "h-square": "\f7fd",
+ "indent": "\f7fe",
+ "lungs-fill": "\f7ff",
+ "lungs": "\f800",
+ "microsoft-teams": "\f801",
+ "p-circle-fill": "\f804",
+ "p-circle": "\f805",
+ "p-square-fill": "\f806",
+ "p-square": "\f807",
+ "pass-fill": "\f808",
+ "pass": "\f809",
+ "prescription": "\f80a",
+ "prescription2": "\f80b",
+ "r-circle-fill": "\f80e",
+ "r-circle": "\f80f",
+ "r-square-fill": "\f810",
+ "r-square": "\f811",
+ "repeat-1": "\f812",
+ "repeat": "\f813",
+ "rewind-btn-fill": "\f814",
+ "rewind-btn": "\f815",
+ "rewind-circle-fill": "\f816",
+ "rewind-circle": "\f817",
+ "rewind-fill": "\f818",
+ "rewind": "\f819",
+ "train-freight-front-fill": "\f81a",
+ "train-freight-front": "\f81b",
+ "train-front-fill": "\f81c",
+ "train-front": "\f81d",
+ "train-lightrail-front-fill": "\f81e",
+ "train-lightrail-front": "\f81f",
+ "truck-front-fill": "\f820",
+ "truck-front": "\f821",
+ "ubuntu": "\f822",
+ "unindent": "\f823",
+ "unity": "\f824",
+ "universal-access-circle": "\f825",
+ "universal-access": "\f826",
+ "virus": "\f827",
+ "virus2": "\f828",
+ "wechat": "\f829",
+ "yelp": "\f82a",
+ "sign-stop-fill": "\f82b",
+ "sign-stop-lights-fill": "\f82c",
+ "sign-stop-lights": "\f82d",
+ "sign-stop": "\f82e",
+ "sign-turn-left-fill": "\f82f",
+ "sign-turn-left": "\f830",
+ "sign-turn-right-fill": "\f831",
+ "sign-turn-right": "\f832",
+ "sign-turn-slight-left-fill": "\f833",
+ "sign-turn-slight-left": "\f834",
+ "sign-turn-slight-right-fill": "\f835",
+ "sign-turn-slight-right": "\f836",
+ "sign-yield-fill": "\f837",
+ "sign-yield": "\f838",
+ "ev-station-fill": "\f839",
+ "ev-station": "\f83a",
+ "fuel-pump-diesel-fill": "\f83b",
+ "fuel-pump-diesel": "\f83c",
+ "fuel-pump-fill": "\f83d",
+ "fuel-pump": "\f83e",
+ "0-circle-fill": "\f83f",
+ "0-circle": "\f840",
+ "0-square-fill": "\f841",
+ "0-square": "\f842",
+ "rocket-fill": "\f843",
+ "rocket-takeoff-fill": "\f844",
+ "rocket-takeoff": "\f845",
+ "rocket": "\f846",
+ "stripe": "\f847",
+ "subscript": "\f848",
+ "superscript": "\f849",
+ "trello": "\f84a",
+ "envelope-at-fill": "\f84b",
+ "envelope-at": "\f84c",
+ "regex": "\f84d",
+ "text-wrap": "\f84e",
+ "sign-dead-end-fill": "\f84f",
+ "sign-dead-end": "\f850",
+ "sign-do-not-enter-fill": "\f851",
+ "sign-do-not-enter": "\f852",
+ "sign-intersection-fill": "\f853",
+ "sign-intersection-side-fill": "\f854",
+ "sign-intersection-side": "\f855",
+ "sign-intersection-t-fill": "\f856",
+ "sign-intersection-t": "\f857",
+ "sign-intersection-y-fill": "\f858",
+ "sign-intersection-y": "\f859",
+ "sign-intersection": "\f85a",
+ "sign-merge-left-fill": "\f85b",
+ "sign-merge-left": "\f85c",
+ "sign-merge-right-fill": "\f85d",
+ "sign-merge-right": "\f85e",
+ "sign-no-left-turn-fill": "\f85f",
+ "sign-no-left-turn": "\f860",
+ "sign-no-parking-fill": "\f861",
+ "sign-no-parking": "\f862",
+ "sign-no-right-turn-fill": "\f863",
+ "sign-no-right-turn": "\f864",
+ "sign-railroad-fill": "\f865",
+ "sign-railroad": "\f866",
+ "building-add": "\f867",
+ "building-check": "\f868",
+ "building-dash": "\f869",
+ "building-down": "\f86a",
+ "building-exclamation": "\f86b",
+ "building-fill-add": "\f86c",
+ "building-fill-check": "\f86d",
+ "building-fill-dash": "\f86e",
+ "building-fill-down": "\f86f",
+ "building-fill-exclamation": "\f870",
+ "building-fill-gear": "\f871",
+ "building-fill-lock": "\f872",
+ "building-fill-slash": "\f873",
+ "building-fill-up": "\f874",
+ "building-fill-x": "\f875",
+ "building-fill": "\f876",
+ "building-gear": "\f877",
+ "building-lock": "\f878",
+ "building-slash": "\f879",
+ "building-up": "\f87a",
+ "building-x": "\f87b",
+ "buildings-fill": "\f87c",
+ "buildings": "\f87d",
+ "bus-front-fill": "\f87e",
+ "bus-front": "\f87f",
+ "ev-front-fill": "\f880",
+ "ev-front": "\f881",
+ "globe-americas": "\f882",
+ "globe-asia-australia": "\f883",
+ "globe-central-south-asia": "\f884",
+ "globe-europe-africa": "\f885",
+ "house-add-fill": "\f886",
+ "house-add": "\f887",
+ "house-check-fill": "\f888",
+ "house-check": "\f889",
+ "house-dash-fill": "\f88a",
+ "house-dash": "\f88b",
+ "house-down-fill": "\f88c",
+ "house-down": "\f88d",
+ "house-exclamation-fill": "\f88e",
+ "house-exclamation": "\f88f",
+ "house-gear-fill": "\f890",
+ "house-gear": "\f891",
+ "house-lock-fill": "\f892",
+ "house-lock": "\f893",
+ "house-slash-fill": "\f894",
+ "house-slash": "\f895",
+ "house-up-fill": "\f896",
+ "house-up": "\f897",
+ "house-x-fill": "\f898",
+ "house-x": "\f899",
+ "person-add": "\f89a",
+ "person-down": "\f89b",
+ "person-exclamation": "\f89c",
+ "person-fill-add": "\f89d",
+ "person-fill-check": "\f89e",
+ "person-fill-dash": "\f89f",
+ "person-fill-down": "\f8a0",
+ "person-fill-exclamation": "\f8a1",
+ "person-fill-gear": "\f8a2",
+ "person-fill-lock": "\f8a3",
+ "person-fill-slash": "\f8a4",
+ "person-fill-up": "\f8a5",
+ "person-fill-x": "\f8a6",
+ "person-gear": "\f8a7",
+ "person-lock": "\f8a8",
+ "person-slash": "\f8a9",
+ "person-up": "\f8aa",
+ "scooter": "\f8ab",
+ "taxi-front-fill": "\f8ac",
+ "taxi-front": "\f8ad",
+ "amd": "\f8ae",
+ "database-add": "\f8af",
+ "database-check": "\f8b0",
+ "database-dash": "\f8b1",
+ "database-down": "\f8b2",
+ "database-exclamation": "\f8b3",
+ "database-fill-add": "\f8b4",
+ "database-fill-check": "\f8b5",
+ "database-fill-dash": "\f8b6",
+ "database-fill-down": "\f8b7",
+ "database-fill-exclamation": "\f8b8",
+ "database-fill-gear": "\f8b9",
+ "database-fill-lock": "\f8ba",
+ "database-fill-slash": "\f8bb",
+ "database-fill-up": "\f8bc",
+ "database-fill-x": "\f8bd",
+ "database-fill": "\f8be",
+ "database-gear": "\f8bf",
+ "database-lock": "\f8c0",
+ "database-slash": "\f8c1",
+ "database-up": "\f8c2",
+ "database-x": "\f8c3",
+ "database": "\f8c4",
+ "houses-fill": "\f8c5",
+ "houses": "\f8c6",
+ "nvidia": "\f8c7",
+ "person-vcard-fill": "\f8c8",
+ "person-vcard": "\f8c9",
+ "sina-weibo": "\f8ca",
+ "tencent-qq": "\f8cb",
+ "wikipedia": "\f8cc",
+);
+
+@each $icon, $codepoint in $bootstrap-icons-map {
+ .bi-#{$icon}::before { content: $codepoint; }
+}
diff --git a/src/static/icons/font/fonts/bootstrap-icons.woff b/src/static/icons/font/fonts/bootstrap-icons.woff
new file mode 100644
index 0000000..6e72a59
Binary files /dev/null and b/src/static/icons/font/fonts/bootstrap-icons.woff differ
diff --git a/src/static/icons/font/fonts/bootstrap-icons.woff2 b/src/static/icons/font/fonts/bootstrap-icons.woff2
new file mode 100644
index 0000000..3b957d5
Binary files /dev/null and b/src/static/icons/font/fonts/bootstrap-icons.woff2 differ
diff --git a/src/static/icons/fonts.svg b/src/static/icons/fonts.svg
new file mode 100644
index 0000000..3afc7d2
--- /dev/null
+++ b/src/static/icons/fonts.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/forward-fill.svg b/src/static/icons/forward-fill.svg
new file mode 100644
index 0000000..7f2839b
--- /dev/null
+++ b/src/static/icons/forward-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/forward.svg b/src/static/icons/forward.svg
new file mode 100644
index 0000000..4b85614
--- /dev/null
+++ b/src/static/icons/forward.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/front.svg b/src/static/icons/front.svg
new file mode 100644
index 0000000..d1edeb1
--- /dev/null
+++ b/src/static/icons/front.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fuel-pump-diesel-fill.svg b/src/static/icons/fuel-pump-diesel-fill.svg
new file mode 100644
index 0000000..824913c
--- /dev/null
+++ b/src/static/icons/fuel-pump-diesel-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fuel-pump-diesel.svg b/src/static/icons/fuel-pump-diesel.svg
new file mode 100644
index 0000000..ad24a92
--- /dev/null
+++ b/src/static/icons/fuel-pump-diesel.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fuel-pump-fill.svg b/src/static/icons/fuel-pump-fill.svg
new file mode 100644
index 0000000..5154523
--- /dev/null
+++ b/src/static/icons/fuel-pump-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fuel-pump.svg b/src/static/icons/fuel-pump.svg
new file mode 100644
index 0000000..f4742f5
--- /dev/null
+++ b/src/static/icons/fuel-pump.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fullscreen-exit.svg b/src/static/icons/fullscreen-exit.svg
new file mode 100644
index 0000000..b9bdb1b
--- /dev/null
+++ b/src/static/icons/fullscreen-exit.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/fullscreen.svg b/src/static/icons/fullscreen.svg
new file mode 100644
index 0000000..7789d36
--- /dev/null
+++ b/src/static/icons/fullscreen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/funnel-fill.svg b/src/static/icons/funnel-fill.svg
new file mode 100644
index 0000000..5f16f16
--- /dev/null
+++ b/src/static/icons/funnel-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/funnel.svg b/src/static/icons/funnel.svg
new file mode 100644
index 0000000..d027aa5
--- /dev/null
+++ b/src/static/icons/funnel.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gear-fill.svg b/src/static/icons/gear-fill.svg
new file mode 100644
index 0000000..2aa36a1
--- /dev/null
+++ b/src/static/icons/gear-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gear-wide-connected.svg b/src/static/icons/gear-wide-connected.svg
new file mode 100644
index 0000000..fc196dd
--- /dev/null
+++ b/src/static/icons/gear-wide-connected.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gear-wide.svg b/src/static/icons/gear-wide.svg
new file mode 100644
index 0000000..83194ce
--- /dev/null
+++ b/src/static/icons/gear-wide.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gear.svg b/src/static/icons/gear.svg
new file mode 100644
index 0000000..c11dbc1
--- /dev/null
+++ b/src/static/icons/gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gem.svg b/src/static/icons/gem.svg
new file mode 100644
index 0000000..360d554
--- /dev/null
+++ b/src/static/icons/gem.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gender-ambiguous.svg b/src/static/icons/gender-ambiguous.svg
new file mode 100644
index 0000000..2ffaf11
--- /dev/null
+++ b/src/static/icons/gender-ambiguous.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gender-female.svg b/src/static/icons/gender-female.svg
new file mode 100644
index 0000000..102783c
--- /dev/null
+++ b/src/static/icons/gender-female.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gender-male.svg b/src/static/icons/gender-male.svg
new file mode 100644
index 0000000..b0aee1d
--- /dev/null
+++ b/src/static/icons/gender-male.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gender-trans.svg b/src/static/icons/gender-trans.svg
new file mode 100644
index 0000000..4c4c074
--- /dev/null
+++ b/src/static/icons/gender-trans.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/geo-alt-fill.svg b/src/static/icons/geo-alt-fill.svg
new file mode 100644
index 0000000..e88b77b
--- /dev/null
+++ b/src/static/icons/geo-alt-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/geo-alt.svg b/src/static/icons/geo-alt.svg
new file mode 100644
index 0000000..4092794
--- /dev/null
+++ b/src/static/icons/geo-alt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/geo-fill.svg b/src/static/icons/geo-fill.svg
new file mode 100644
index 0000000..a53f2bd
--- /dev/null
+++ b/src/static/icons/geo-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/geo.svg b/src/static/icons/geo.svg
new file mode 100644
index 0000000..6686fea
--- /dev/null
+++ b/src/static/icons/geo.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gift-fill.svg b/src/static/icons/gift-fill.svg
new file mode 100644
index 0000000..69f3379
--- /dev/null
+++ b/src/static/icons/gift-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gift.svg b/src/static/icons/gift.svg
new file mode 100644
index 0000000..663b87e
--- /dev/null
+++ b/src/static/icons/gift.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/git.svg b/src/static/icons/git.svg
new file mode 100644
index 0000000..092d23e
--- /dev/null
+++ b/src/static/icons/git.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/github.svg b/src/static/icons/github.svg
new file mode 100644
index 0000000..bb4e45c
--- /dev/null
+++ b/src/static/icons/github.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe-americas.svg b/src/static/icons/globe-americas.svg
new file mode 100644
index 0000000..f66f5fe
--- /dev/null
+++ b/src/static/icons/globe-americas.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe-asia-australia.svg b/src/static/icons/globe-asia-australia.svg
new file mode 100644
index 0000000..e4715f1
--- /dev/null
+++ b/src/static/icons/globe-asia-australia.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe-central-south-asia.svg b/src/static/icons/globe-central-south-asia.svg
new file mode 100644
index 0000000..d4699d2
--- /dev/null
+++ b/src/static/icons/globe-central-south-asia.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe-europe-africa.svg b/src/static/icons/globe-europe-africa.svg
new file mode 100644
index 0000000..3bd6c49
--- /dev/null
+++ b/src/static/icons/globe-europe-africa.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe.svg b/src/static/icons/globe.svg
new file mode 100644
index 0000000..96cf815
--- /dev/null
+++ b/src/static/icons/globe.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/globe2.svg b/src/static/icons/globe2.svg
new file mode 100644
index 0000000..150a01e
--- /dev/null
+++ b/src/static/icons/globe2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/google-play.svg b/src/static/icons/google-play.svg
new file mode 100644
index 0000000..a970e9a
--- /dev/null
+++ b/src/static/icons/google-play.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/google.svg b/src/static/icons/google.svg
new file mode 100644
index 0000000..47abd49
--- /dev/null
+++ b/src/static/icons/google.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/gpu-card.svg b/src/static/icons/gpu-card.svg
new file mode 100644
index 0000000..b75ddce
--- /dev/null
+++ b/src/static/icons/gpu-card.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/graph-down-arrow.svg b/src/static/icons/graph-down-arrow.svg
new file mode 100644
index 0000000..bf522b5
--- /dev/null
+++ b/src/static/icons/graph-down-arrow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/graph-down.svg b/src/static/icons/graph-down.svg
new file mode 100644
index 0000000..55adb4f
--- /dev/null
+++ b/src/static/icons/graph-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/graph-up-arrow.svg b/src/static/icons/graph-up-arrow.svg
new file mode 100644
index 0000000..fd582e4
--- /dev/null
+++ b/src/static/icons/graph-up-arrow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/graph-up.svg b/src/static/icons/graph-up.svg
new file mode 100644
index 0000000..a68bc9d
--- /dev/null
+++ b/src/static/icons/graph-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-1x2-fill.svg b/src/static/icons/grid-1x2-fill.svg
new file mode 100644
index 0000000..1195117
--- /dev/null
+++ b/src/static/icons/grid-1x2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-1x2.svg b/src/static/icons/grid-1x2.svg
new file mode 100644
index 0000000..dd36f54
--- /dev/null
+++ b/src/static/icons/grid-1x2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x2-gap-fill.svg b/src/static/icons/grid-3x2-gap-fill.svg
new file mode 100644
index 0000000..4fe8288
--- /dev/null
+++ b/src/static/icons/grid-3x2-gap-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x2-gap.svg b/src/static/icons/grid-3x2-gap.svg
new file mode 100644
index 0000000..a9e8689
--- /dev/null
+++ b/src/static/icons/grid-3x2-gap.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x2.svg b/src/static/icons/grid-3x2.svg
new file mode 100644
index 0000000..6dd39fd
--- /dev/null
+++ b/src/static/icons/grid-3x2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x3-gap-fill.svg b/src/static/icons/grid-3x3-gap-fill.svg
new file mode 100644
index 0000000..d29616c
--- /dev/null
+++ b/src/static/icons/grid-3x3-gap-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x3-gap.svg b/src/static/icons/grid-3x3-gap.svg
new file mode 100644
index 0000000..675f428
--- /dev/null
+++ b/src/static/icons/grid-3x3-gap.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-3x3.svg b/src/static/icons/grid-3x3.svg
new file mode 100644
index 0000000..c40d98c
--- /dev/null
+++ b/src/static/icons/grid-3x3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid-fill.svg b/src/static/icons/grid-fill.svg
new file mode 100644
index 0000000..202265f
--- /dev/null
+++ b/src/static/icons/grid-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grid.svg b/src/static/icons/grid.svg
new file mode 100644
index 0000000..bc50595
--- /dev/null
+++ b/src/static/icons/grid.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grip-horizontal.svg b/src/static/icons/grip-horizontal.svg
new file mode 100644
index 0000000..c4439af
--- /dev/null
+++ b/src/static/icons/grip-horizontal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/grip-vertical.svg b/src/static/icons/grip-vertical.svg
new file mode 100644
index 0000000..0182ad9
--- /dev/null
+++ b/src/static/icons/grip-vertical.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/h-circle-fill.svg b/src/static/icons/h-circle-fill.svg
new file mode 100644
index 0000000..6a70736
--- /dev/null
+++ b/src/static/icons/h-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/h-circle.svg b/src/static/icons/h-circle.svg
new file mode 100644
index 0000000..6579c1f
--- /dev/null
+++ b/src/static/icons/h-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/h-square-fill.svg b/src/static/icons/h-square-fill.svg
new file mode 100644
index 0000000..51d11d1
--- /dev/null
+++ b/src/static/icons/h-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/h-square.svg b/src/static/icons/h-square.svg
new file mode 100644
index 0000000..2eac5d7
--- /dev/null
+++ b/src/static/icons/h-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hammer.svg b/src/static/icons/hammer.svg
new file mode 100644
index 0000000..d702c11
--- /dev/null
+++ b/src/static/icons/hammer.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-index-fill.svg b/src/static/icons/hand-index-fill.svg
new file mode 100644
index 0000000..ef94089
--- /dev/null
+++ b/src/static/icons/hand-index-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-index-thumb-fill.svg b/src/static/icons/hand-index-thumb-fill.svg
new file mode 100644
index 0000000..43e958c
--- /dev/null
+++ b/src/static/icons/hand-index-thumb-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-index-thumb.svg b/src/static/icons/hand-index-thumb.svg
new file mode 100644
index 0000000..699e505
--- /dev/null
+++ b/src/static/icons/hand-index-thumb.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-index.svg b/src/static/icons/hand-index.svg
new file mode 100644
index 0000000..789622c
--- /dev/null
+++ b/src/static/icons/hand-index.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-thumbs-down-fill.svg b/src/static/icons/hand-thumbs-down-fill.svg
new file mode 100644
index 0000000..c2f51eb
--- /dev/null
+++ b/src/static/icons/hand-thumbs-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-thumbs-down.svg b/src/static/icons/hand-thumbs-down.svg
new file mode 100644
index 0000000..e8dadb5
--- /dev/null
+++ b/src/static/icons/hand-thumbs-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-thumbs-up-fill.svg b/src/static/icons/hand-thumbs-up-fill.svg
new file mode 100644
index 0000000..e7216e1
--- /dev/null
+++ b/src/static/icons/hand-thumbs-up-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hand-thumbs-up.svg b/src/static/icons/hand-thumbs-up.svg
new file mode 100644
index 0000000..0d410a1
--- /dev/null
+++ b/src/static/icons/hand-thumbs-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/handbag-fill.svg b/src/static/icons/handbag-fill.svg
new file mode 100644
index 0000000..5d4367c
--- /dev/null
+++ b/src/static/icons/handbag-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/handbag.svg b/src/static/icons/handbag.svg
new file mode 100644
index 0000000..99e5904
--- /dev/null
+++ b/src/static/icons/handbag.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hash.svg b/src/static/icons/hash.svg
new file mode 100644
index 0000000..4621b1d
--- /dev/null
+++ b/src/static/icons/hash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-fill.svg b/src/static/icons/hdd-fill.svg
new file mode 100644
index 0000000..9bdc467
--- /dev/null
+++ b/src/static/icons/hdd-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-network-fill.svg b/src/static/icons/hdd-network-fill.svg
new file mode 100644
index 0000000..403d472
--- /dev/null
+++ b/src/static/icons/hdd-network-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-network.svg b/src/static/icons/hdd-network.svg
new file mode 100644
index 0000000..f0db305
--- /dev/null
+++ b/src/static/icons/hdd-network.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-rack-fill.svg b/src/static/icons/hdd-rack-fill.svg
new file mode 100644
index 0000000..bb45078
--- /dev/null
+++ b/src/static/icons/hdd-rack-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-rack.svg b/src/static/icons/hdd-rack.svg
new file mode 100644
index 0000000..480d0d9
--- /dev/null
+++ b/src/static/icons/hdd-rack.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-stack-fill.svg b/src/static/icons/hdd-stack-fill.svg
new file mode 100644
index 0000000..c81687a
--- /dev/null
+++ b/src/static/icons/hdd-stack-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd-stack.svg b/src/static/icons/hdd-stack.svg
new file mode 100644
index 0000000..2f74d3b
--- /dev/null
+++ b/src/static/icons/hdd-stack.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdd.svg b/src/static/icons/hdd.svg
new file mode 100644
index 0000000..7dd6700
--- /dev/null
+++ b/src/static/icons/hdd.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdmi-fill.svg b/src/static/icons/hdmi-fill.svg
new file mode 100644
index 0000000..9b52d61
--- /dev/null
+++ b/src/static/icons/hdmi-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hdmi.svg b/src/static/icons/hdmi.svg
new file mode 100644
index 0000000..b8a4b41
--- /dev/null
+++ b/src/static/icons/hdmi.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/headphones.svg b/src/static/icons/headphones.svg
new file mode 100644
index 0000000..c2c1d6f
--- /dev/null
+++ b/src/static/icons/headphones.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/headset-vr.svg b/src/static/icons/headset-vr.svg
new file mode 100644
index 0000000..9f07b76
--- /dev/null
+++ b/src/static/icons/headset-vr.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/headset.svg b/src/static/icons/headset.svg
new file mode 100644
index 0000000..5369974
--- /dev/null
+++ b/src/static/icons/headset.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart-arrow.svg b/src/static/icons/heart-arrow.svg
new file mode 100644
index 0000000..0407ed6
--- /dev/null
+++ b/src/static/icons/heart-arrow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart-fill.svg b/src/static/icons/heart-fill.svg
new file mode 100644
index 0000000..4026252
--- /dev/null
+++ b/src/static/icons/heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart-half.svg b/src/static/icons/heart-half.svg
new file mode 100644
index 0000000..1474a72
--- /dev/null
+++ b/src/static/icons/heart-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart-pulse-fill.svg b/src/static/icons/heart-pulse-fill.svg
new file mode 100644
index 0000000..b95a18b
--- /dev/null
+++ b/src/static/icons/heart-pulse-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart-pulse.svg b/src/static/icons/heart-pulse.svg
new file mode 100644
index 0000000..16aaaaf
--- /dev/null
+++ b/src/static/icons/heart-pulse.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heart.svg b/src/static/icons/heart.svg
new file mode 100644
index 0000000..d650006
--- /dev/null
+++ b/src/static/icons/heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heartbreak-fill.svg b/src/static/icons/heartbreak-fill.svg
new file mode 100644
index 0000000..b669ad9
--- /dev/null
+++ b/src/static/icons/heartbreak-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heartbreak.svg b/src/static/icons/heartbreak.svg
new file mode 100644
index 0000000..7fe62a5
--- /dev/null
+++ b/src/static/icons/heartbreak.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hearts.svg b/src/static/icons/hearts.svg
new file mode 100644
index 0000000..c1c52e4
--- /dev/null
+++ b/src/static/icons/hearts.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heptagon-fill.svg b/src/static/icons/heptagon-fill.svg
new file mode 100644
index 0000000..ad8e058
--- /dev/null
+++ b/src/static/icons/heptagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heptagon-half.svg b/src/static/icons/heptagon-half.svg
new file mode 100644
index 0000000..5753b62
--- /dev/null
+++ b/src/static/icons/heptagon-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/heptagon.svg b/src/static/icons/heptagon.svg
new file mode 100644
index 0000000..e85a0bd
--- /dev/null
+++ b/src/static/icons/heptagon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hexagon-fill.svg b/src/static/icons/hexagon-fill.svg
new file mode 100644
index 0000000..afd7870
--- /dev/null
+++ b/src/static/icons/hexagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hexagon-half.svg b/src/static/icons/hexagon-half.svg
new file mode 100644
index 0000000..a9fc136
--- /dev/null
+++ b/src/static/icons/hexagon-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hexagon.svg b/src/static/icons/hexagon.svg
new file mode 100644
index 0000000..f6601f2
--- /dev/null
+++ b/src/static/icons/hexagon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hospital-fill.svg b/src/static/icons/hospital-fill.svg
new file mode 100644
index 0000000..a932133
--- /dev/null
+++ b/src/static/icons/hospital-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hospital.svg b/src/static/icons/hospital.svg
new file mode 100644
index 0000000..5168a29
--- /dev/null
+++ b/src/static/icons/hospital.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hourglass-bottom.svg b/src/static/icons/hourglass-bottom.svg
new file mode 100644
index 0000000..8ce8394
--- /dev/null
+++ b/src/static/icons/hourglass-bottom.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hourglass-split.svg b/src/static/icons/hourglass-split.svg
new file mode 100644
index 0000000..b8bba9b
--- /dev/null
+++ b/src/static/icons/hourglass-split.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hourglass-top.svg b/src/static/icons/hourglass-top.svg
new file mode 100644
index 0000000..f471084
--- /dev/null
+++ b/src/static/icons/hourglass-top.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hourglass.svg b/src/static/icons/hourglass.svg
new file mode 100644
index 0000000..cecfa7e
--- /dev/null
+++ b/src/static/icons/hourglass.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-add-fill.svg b/src/static/icons/house-add-fill.svg
new file mode 100644
index 0000000..e4733b5
--- /dev/null
+++ b/src/static/icons/house-add-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-add.svg b/src/static/icons/house-add.svg
new file mode 100644
index 0000000..2964397
--- /dev/null
+++ b/src/static/icons/house-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-check-fill.svg b/src/static/icons/house-check-fill.svg
new file mode 100644
index 0000000..7546342
--- /dev/null
+++ b/src/static/icons/house-check-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-check.svg b/src/static/icons/house-check.svg
new file mode 100644
index 0000000..a30080a
--- /dev/null
+++ b/src/static/icons/house-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-dash-fill.svg b/src/static/icons/house-dash-fill.svg
new file mode 100644
index 0000000..5465ef4
--- /dev/null
+++ b/src/static/icons/house-dash-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-dash.svg b/src/static/icons/house-dash.svg
new file mode 100644
index 0000000..fa6fb26
--- /dev/null
+++ b/src/static/icons/house-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-door-fill.svg b/src/static/icons/house-door-fill.svg
new file mode 100644
index 0000000..a260a70
--- /dev/null
+++ b/src/static/icons/house-door-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-door.svg b/src/static/icons/house-door.svg
new file mode 100644
index 0000000..d411105
--- /dev/null
+++ b/src/static/icons/house-door.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-down-fill.svg b/src/static/icons/house-down-fill.svg
new file mode 100644
index 0000000..d3bf68f
--- /dev/null
+++ b/src/static/icons/house-down-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-down.svg b/src/static/icons/house-down.svg
new file mode 100644
index 0000000..6de3d79
--- /dev/null
+++ b/src/static/icons/house-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-exclamation-fill.svg b/src/static/icons/house-exclamation-fill.svg
new file mode 100644
index 0000000..7433738
--- /dev/null
+++ b/src/static/icons/house-exclamation-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-exclamation.svg b/src/static/icons/house-exclamation.svg
new file mode 100644
index 0000000..301d981
--- /dev/null
+++ b/src/static/icons/house-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-fill.svg b/src/static/icons/house-fill.svg
new file mode 100644
index 0000000..8932667
--- /dev/null
+++ b/src/static/icons/house-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-gear-fill.svg b/src/static/icons/house-gear-fill.svg
new file mode 100644
index 0000000..001ea96
--- /dev/null
+++ b/src/static/icons/house-gear-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-gear.svg b/src/static/icons/house-gear.svg
new file mode 100644
index 0000000..c7f9d43
--- /dev/null
+++ b/src/static/icons/house-gear.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-heart-fill.svg b/src/static/icons/house-heart-fill.svg
new file mode 100644
index 0000000..6d874fc
--- /dev/null
+++ b/src/static/icons/house-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-heart.svg b/src/static/icons/house-heart.svg
new file mode 100644
index 0000000..26b2395
--- /dev/null
+++ b/src/static/icons/house-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-lock-fill.svg b/src/static/icons/house-lock-fill.svg
new file mode 100644
index 0000000..842b914
--- /dev/null
+++ b/src/static/icons/house-lock-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-lock.svg b/src/static/icons/house-lock.svg
new file mode 100644
index 0000000..e6eb968
--- /dev/null
+++ b/src/static/icons/house-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-slash-fill.svg b/src/static/icons/house-slash-fill.svg
new file mode 100644
index 0000000..20ea07b
--- /dev/null
+++ b/src/static/icons/house-slash-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-slash.svg b/src/static/icons/house-slash.svg
new file mode 100644
index 0000000..3e1cb66
--- /dev/null
+++ b/src/static/icons/house-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-up-fill.svg b/src/static/icons/house-up-fill.svg
new file mode 100644
index 0000000..3e6713e
--- /dev/null
+++ b/src/static/icons/house-up-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-up.svg b/src/static/icons/house-up.svg
new file mode 100644
index 0000000..0a8deb3
--- /dev/null
+++ b/src/static/icons/house-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-x-fill.svg b/src/static/icons/house-x-fill.svg
new file mode 100644
index 0000000..00483c4
--- /dev/null
+++ b/src/static/icons/house-x-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house-x.svg b/src/static/icons/house-x.svg
new file mode 100644
index 0000000..88b2825
--- /dev/null
+++ b/src/static/icons/house-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/house.svg b/src/static/icons/house.svg
new file mode 100644
index 0000000..77ac144
--- /dev/null
+++ b/src/static/icons/house.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/houses-fill.svg b/src/static/icons/houses-fill.svg
new file mode 100644
index 0000000..30a72d8
--- /dev/null
+++ b/src/static/icons/houses-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/houses.svg b/src/static/icons/houses.svg
new file mode 100644
index 0000000..d66b4da
--- /dev/null
+++ b/src/static/icons/houses.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hr.svg b/src/static/icons/hr.svg
new file mode 100644
index 0000000..b6f2e33
--- /dev/null
+++ b/src/static/icons/hr.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hurricane.svg b/src/static/icons/hurricane.svg
new file mode 100644
index 0000000..e21aaec
--- /dev/null
+++ b/src/static/icons/hurricane.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/hypnotize.svg b/src/static/icons/hypnotize.svg
new file mode 100644
index 0000000..baa2298
--- /dev/null
+++ b/src/static/icons/hypnotize.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/image-alt.svg b/src/static/icons/image-alt.svg
new file mode 100644
index 0000000..98142b2
--- /dev/null
+++ b/src/static/icons/image-alt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/image-fill.svg b/src/static/icons/image-fill.svg
new file mode 100644
index 0000000..33c40a1
--- /dev/null
+++ b/src/static/icons/image-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/image.svg b/src/static/icons/image.svg
new file mode 100644
index 0000000..facacee
--- /dev/null
+++ b/src/static/icons/image.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/images.svg b/src/static/icons/images.svg
new file mode 100644
index 0000000..b35eceb
--- /dev/null
+++ b/src/static/icons/images.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/inbox-fill.svg b/src/static/icons/inbox-fill.svg
new file mode 100644
index 0000000..bf5c8c9
--- /dev/null
+++ b/src/static/icons/inbox-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/inbox.svg b/src/static/icons/inbox.svg
new file mode 100644
index 0000000..59ad2d7
--- /dev/null
+++ b/src/static/icons/inbox.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/inboxes-fill.svg b/src/static/icons/inboxes-fill.svg
new file mode 100644
index 0000000..27447dc
--- /dev/null
+++ b/src/static/icons/inboxes-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/inboxes.svg b/src/static/icons/inboxes.svg
new file mode 100644
index 0000000..f23f0ec
--- /dev/null
+++ b/src/static/icons/inboxes.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/incognito.svg b/src/static/icons/incognito.svg
new file mode 100644
index 0000000..fc9f6dc
--- /dev/null
+++ b/src/static/icons/incognito.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/indent.svg b/src/static/icons/indent.svg
new file mode 100644
index 0000000..025acef
--- /dev/null
+++ b/src/static/icons/indent.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/infinity.svg b/src/static/icons/infinity.svg
new file mode 100644
index 0000000..e9dd437
--- /dev/null
+++ b/src/static/icons/infinity.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info-circle-fill.svg b/src/static/icons/info-circle-fill.svg
new file mode 100644
index 0000000..9d38231
--- /dev/null
+++ b/src/static/icons/info-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info-circle.svg b/src/static/icons/info-circle.svg
new file mode 100644
index 0000000..8f48f86
--- /dev/null
+++ b/src/static/icons/info-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info-lg.svg b/src/static/icons/info-lg.svg
new file mode 100644
index 0000000..d1b988e
--- /dev/null
+++ b/src/static/icons/info-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info-square-fill.svg b/src/static/icons/info-square-fill.svg
new file mode 100644
index 0000000..c2e5a66
--- /dev/null
+++ b/src/static/icons/info-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info-square.svg b/src/static/icons/info-square.svg
new file mode 100644
index 0000000..71e2818
--- /dev/null
+++ b/src/static/icons/info-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/info.svg b/src/static/icons/info.svg
new file mode 100644
index 0000000..9d061b4
--- /dev/null
+++ b/src/static/icons/info.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/input-cursor-text.svg b/src/static/icons/input-cursor-text.svg
new file mode 100644
index 0000000..f212111
--- /dev/null
+++ b/src/static/icons/input-cursor-text.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/input-cursor.svg b/src/static/icons/input-cursor.svg
new file mode 100644
index 0000000..3a89bb7
--- /dev/null
+++ b/src/static/icons/input-cursor.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/instagram.svg b/src/static/icons/instagram.svg
new file mode 100644
index 0000000..0b5c5ce
--- /dev/null
+++ b/src/static/icons/instagram.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/intersect.svg b/src/static/icons/intersect.svg
new file mode 100644
index 0000000..2d8c329
--- /dev/null
+++ b/src/static/icons/intersect.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-album.svg b/src/static/icons/journal-album.svg
new file mode 100644
index 0000000..2504b3d
--- /dev/null
+++ b/src/static/icons/journal-album.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-arrow-down.svg b/src/static/icons/journal-arrow-down.svg
new file mode 100644
index 0000000..79c313d
--- /dev/null
+++ b/src/static/icons/journal-arrow-down.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-arrow-up.svg b/src/static/icons/journal-arrow-up.svg
new file mode 100644
index 0000000..8423461
--- /dev/null
+++ b/src/static/icons/journal-arrow-up.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-bookmark-fill.svg b/src/static/icons/journal-bookmark-fill.svg
new file mode 100644
index 0000000..03e2476
--- /dev/null
+++ b/src/static/icons/journal-bookmark-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-bookmark.svg b/src/static/icons/journal-bookmark.svg
new file mode 100644
index 0000000..6652764
--- /dev/null
+++ b/src/static/icons/journal-bookmark.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-check.svg b/src/static/icons/journal-check.svg
new file mode 100644
index 0000000..41b97e9
--- /dev/null
+++ b/src/static/icons/journal-check.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-code.svg b/src/static/icons/journal-code.svg
new file mode 100644
index 0000000..82098b9
--- /dev/null
+++ b/src/static/icons/journal-code.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-medical.svg b/src/static/icons/journal-medical.svg
new file mode 100644
index 0000000..5500110
--- /dev/null
+++ b/src/static/icons/journal-medical.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-minus.svg b/src/static/icons/journal-minus.svg
new file mode 100644
index 0000000..c8cd4d8
--- /dev/null
+++ b/src/static/icons/journal-minus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-plus.svg b/src/static/icons/journal-plus.svg
new file mode 100644
index 0000000..fa6d702
--- /dev/null
+++ b/src/static/icons/journal-plus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-richtext.svg b/src/static/icons/journal-richtext.svg
new file mode 100644
index 0000000..14b0e1f
--- /dev/null
+++ b/src/static/icons/journal-richtext.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-text.svg b/src/static/icons/journal-text.svg
new file mode 100644
index 0000000..9b66f43
--- /dev/null
+++ b/src/static/icons/journal-text.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal-x.svg b/src/static/icons/journal-x.svg
new file mode 100644
index 0000000..2ca24f4
--- /dev/null
+++ b/src/static/icons/journal-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journal.svg b/src/static/icons/journal.svg
new file mode 100644
index 0000000..941c987
--- /dev/null
+++ b/src/static/icons/journal.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/journals.svg b/src/static/icons/journals.svg
new file mode 100644
index 0000000..03f6dad
--- /dev/null
+++ b/src/static/icons/journals.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/joystick.svg b/src/static/icons/joystick.svg
new file mode 100644
index 0000000..a8a9027
--- /dev/null
+++ b/src/static/icons/joystick.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/justify-left.svg b/src/static/icons/justify-left.svg
new file mode 100644
index 0000000..68859b8
--- /dev/null
+++ b/src/static/icons/justify-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/justify-right.svg b/src/static/icons/justify-right.svg
new file mode 100644
index 0000000..1efe4f3
--- /dev/null
+++ b/src/static/icons/justify-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/justify.svg b/src/static/icons/justify.svg
new file mode 100644
index 0000000..009bd72
--- /dev/null
+++ b/src/static/icons/justify.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/kanban-fill.svg b/src/static/icons/kanban-fill.svg
new file mode 100644
index 0000000..d633a53
--- /dev/null
+++ b/src/static/icons/kanban-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/kanban.svg b/src/static/icons/kanban.svg
new file mode 100644
index 0000000..c5cdaaf
--- /dev/null
+++ b/src/static/icons/kanban.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/key-fill.svg b/src/static/icons/key-fill.svg
new file mode 100644
index 0000000..25a6d45
--- /dev/null
+++ b/src/static/icons/key-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/key.svg b/src/static/icons/key.svg
new file mode 100644
index 0000000..dbaae3f
--- /dev/null
+++ b/src/static/icons/key.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/keyboard-fill.svg b/src/static/icons/keyboard-fill.svg
new file mode 100644
index 0000000..876321d
--- /dev/null
+++ b/src/static/icons/keyboard-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/keyboard.svg b/src/static/icons/keyboard.svg
new file mode 100644
index 0000000..996c1eb
--- /dev/null
+++ b/src/static/icons/keyboard.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ladder.svg b/src/static/icons/ladder.svg
new file mode 100644
index 0000000..fd9182a
--- /dev/null
+++ b/src/static/icons/ladder.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lamp-fill.svg b/src/static/icons/lamp-fill.svg
new file mode 100644
index 0000000..ff91f4b
--- /dev/null
+++ b/src/static/icons/lamp-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lamp.svg b/src/static/icons/lamp.svg
new file mode 100644
index 0000000..6c50a70
--- /dev/null
+++ b/src/static/icons/lamp.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/laptop-fill.svg b/src/static/icons/laptop-fill.svg
new file mode 100644
index 0000000..5b1755d
--- /dev/null
+++ b/src/static/icons/laptop-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/laptop.svg b/src/static/icons/laptop.svg
new file mode 100644
index 0000000..0fc463d
--- /dev/null
+++ b/src/static/icons/laptop.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layer-backward.svg b/src/static/icons/layer-backward.svg
new file mode 100644
index 0000000..073034a
--- /dev/null
+++ b/src/static/icons/layer-backward.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layer-forward.svg b/src/static/icons/layer-forward.svg
new file mode 100644
index 0000000..ffc6e2a
--- /dev/null
+++ b/src/static/icons/layer-forward.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layers-fill.svg b/src/static/icons/layers-fill.svg
new file mode 100644
index 0000000..8af0b1c
--- /dev/null
+++ b/src/static/icons/layers-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layers-half.svg b/src/static/icons/layers-half.svg
new file mode 100644
index 0000000..a054e25
--- /dev/null
+++ b/src/static/icons/layers-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layers.svg b/src/static/icons/layers.svg
new file mode 100644
index 0000000..ac2f5b2
--- /dev/null
+++ b/src/static/icons/layers.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layout-sidebar-inset-reverse.svg b/src/static/icons/layout-sidebar-inset-reverse.svg
new file mode 100644
index 0000000..5b6f324
--- /dev/null
+++ b/src/static/icons/layout-sidebar-inset-reverse.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-sidebar-inset.svg b/src/static/icons/layout-sidebar-inset.svg
new file mode 100644
index 0000000..8dc0243
--- /dev/null
+++ b/src/static/icons/layout-sidebar-inset.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-sidebar-reverse.svg b/src/static/icons/layout-sidebar-reverse.svg
new file mode 100644
index 0000000..8ab9509
--- /dev/null
+++ b/src/static/icons/layout-sidebar-reverse.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-sidebar.svg b/src/static/icons/layout-sidebar.svg
new file mode 100644
index 0000000..1cfc86e
--- /dev/null
+++ b/src/static/icons/layout-sidebar.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-split.svg b/src/static/icons/layout-split.svg
new file mode 100644
index 0000000..71f33d2
--- /dev/null
+++ b/src/static/icons/layout-split.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layout-text-sidebar-reverse.svg b/src/static/icons/layout-text-sidebar-reverse.svg
new file mode 100644
index 0000000..46252d5
--- /dev/null
+++ b/src/static/icons/layout-text-sidebar-reverse.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-text-sidebar.svg b/src/static/icons/layout-text-sidebar.svg
new file mode 100644
index 0000000..5effada
--- /dev/null
+++ b/src/static/icons/layout-text-sidebar.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/layout-text-window-reverse.svg b/src/static/icons/layout-text-window-reverse.svg
new file mode 100644
index 0000000..fb34840
--- /dev/null
+++ b/src/static/icons/layout-text-window-reverse.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layout-text-window.svg b/src/static/icons/layout-text-window.svg
new file mode 100644
index 0000000..0aef110
--- /dev/null
+++ b/src/static/icons/layout-text-window.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layout-three-columns.svg b/src/static/icons/layout-three-columns.svg
new file mode 100644
index 0000000..6d358d6
--- /dev/null
+++ b/src/static/icons/layout-three-columns.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/layout-wtf.svg b/src/static/icons/layout-wtf.svg
new file mode 100644
index 0000000..b603f8f
--- /dev/null
+++ b/src/static/icons/layout-wtf.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/life-preserver.svg b/src/static/icons/life-preserver.svg
new file mode 100644
index 0000000..6466ea2
--- /dev/null
+++ b/src/static/icons/life-preserver.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightbulb-fill.svg b/src/static/icons/lightbulb-fill.svg
new file mode 100644
index 0000000..9903950
--- /dev/null
+++ b/src/static/icons/lightbulb-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightbulb-off-fill.svg b/src/static/icons/lightbulb-off-fill.svg
new file mode 100644
index 0000000..7d9600e
--- /dev/null
+++ b/src/static/icons/lightbulb-off-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightbulb-off.svg b/src/static/icons/lightbulb-off.svg
new file mode 100644
index 0000000..5675e9c
--- /dev/null
+++ b/src/static/icons/lightbulb-off.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightbulb.svg b/src/static/icons/lightbulb.svg
new file mode 100644
index 0000000..c13f627
--- /dev/null
+++ b/src/static/icons/lightbulb.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightning-charge-fill.svg b/src/static/icons/lightning-charge-fill.svg
new file mode 100644
index 0000000..5e197fb
--- /dev/null
+++ b/src/static/icons/lightning-charge-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightning-charge.svg b/src/static/icons/lightning-charge.svg
new file mode 100644
index 0000000..8a97432
--- /dev/null
+++ b/src/static/icons/lightning-charge.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightning-fill.svg b/src/static/icons/lightning-fill.svg
new file mode 100644
index 0000000..4d05a2b
--- /dev/null
+++ b/src/static/icons/lightning-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lightning.svg b/src/static/icons/lightning.svg
new file mode 100644
index 0000000..8737060
--- /dev/null
+++ b/src/static/icons/lightning.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/line.svg b/src/static/icons/line.svg
new file mode 100644
index 0000000..bedc051
--- /dev/null
+++ b/src/static/icons/line.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/link-45deg.svg b/src/static/icons/link-45deg.svg
new file mode 100644
index 0000000..127956a
--- /dev/null
+++ b/src/static/icons/link-45deg.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/link.svg b/src/static/icons/link.svg
new file mode 100644
index 0000000..df35bc8
--- /dev/null
+++ b/src/static/icons/link.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/linkedin.svg b/src/static/icons/linkedin.svg
new file mode 100644
index 0000000..4c4efe5
--- /dev/null
+++ b/src/static/icons/linkedin.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-check.svg b/src/static/icons/list-check.svg
new file mode 100644
index 0000000..34dd420
--- /dev/null
+++ b/src/static/icons/list-check.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-columns-reverse.svg b/src/static/icons/list-columns-reverse.svg
new file mode 100644
index 0000000..2cb5078
--- /dev/null
+++ b/src/static/icons/list-columns-reverse.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-columns.svg b/src/static/icons/list-columns.svg
new file mode 100644
index 0000000..d04a30f
--- /dev/null
+++ b/src/static/icons/list-columns.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-nested.svg b/src/static/icons/list-nested.svg
new file mode 100644
index 0000000..21c9a7d
--- /dev/null
+++ b/src/static/icons/list-nested.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-ol.svg b/src/static/icons/list-ol.svg
new file mode 100644
index 0000000..5782568
--- /dev/null
+++ b/src/static/icons/list-ol.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-stars.svg b/src/static/icons/list-stars.svg
new file mode 100644
index 0000000..88dce52
--- /dev/null
+++ b/src/static/icons/list-stars.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-task.svg b/src/static/icons/list-task.svg
new file mode 100644
index 0000000..8118190
--- /dev/null
+++ b/src/static/icons/list-task.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list-ul.svg b/src/static/icons/list-ul.svg
new file mode 100644
index 0000000..217d153
--- /dev/null
+++ b/src/static/icons/list-ul.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/list.svg b/src/static/icons/list.svg
new file mode 100644
index 0000000..e039056
--- /dev/null
+++ b/src/static/icons/list.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lock-fill.svg b/src/static/icons/lock-fill.svg
new file mode 100644
index 0000000..9fb8f7b
--- /dev/null
+++ b/src/static/icons/lock-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lock.svg b/src/static/icons/lock.svg
new file mode 100644
index 0000000..b50a68e
--- /dev/null
+++ b/src/static/icons/lock.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lungs-fill.svg b/src/static/icons/lungs-fill.svg
new file mode 100644
index 0000000..a3b555d
--- /dev/null
+++ b/src/static/icons/lungs-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/lungs.svg b/src/static/icons/lungs.svg
new file mode 100644
index 0000000..5370852
--- /dev/null
+++ b/src/static/icons/lungs.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/magic.svg b/src/static/icons/magic.svg
new file mode 100644
index 0000000..3df2ec0
--- /dev/null
+++ b/src/static/icons/magic.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/magnet-fill.svg b/src/static/icons/magnet-fill.svg
new file mode 100644
index 0000000..9ca1865
--- /dev/null
+++ b/src/static/icons/magnet-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/magnet.svg b/src/static/icons/magnet.svg
new file mode 100644
index 0000000..aab1763
--- /dev/null
+++ b/src/static/icons/magnet.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mailbox.svg b/src/static/icons/mailbox.svg
new file mode 100644
index 0000000..e2ac2f9
--- /dev/null
+++ b/src/static/icons/mailbox.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mailbox2.svg b/src/static/icons/mailbox2.svg
new file mode 100644
index 0000000..60a523b
--- /dev/null
+++ b/src/static/icons/mailbox2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/map-fill.svg b/src/static/icons/map-fill.svg
new file mode 100644
index 0000000..6097c5f
--- /dev/null
+++ b/src/static/icons/map-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/map.svg b/src/static/icons/map.svg
new file mode 100644
index 0000000..f9dbb08
--- /dev/null
+++ b/src/static/icons/map.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/markdown-fill.svg b/src/static/icons/markdown-fill.svg
new file mode 100644
index 0000000..b87e236
--- /dev/null
+++ b/src/static/icons/markdown-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/markdown.svg b/src/static/icons/markdown.svg
new file mode 100644
index 0000000..f9933a6
--- /dev/null
+++ b/src/static/icons/markdown.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mask.svg b/src/static/icons/mask.svg
new file mode 100644
index 0000000..3bfe141
--- /dev/null
+++ b/src/static/icons/mask.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mastodon.svg b/src/static/icons/mastodon.svg
new file mode 100644
index 0000000..23b34f5
--- /dev/null
+++ b/src/static/icons/mastodon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/medium.svg b/src/static/icons/medium.svg
new file mode 100644
index 0000000..cc46876
--- /dev/null
+++ b/src/static/icons/medium.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/megaphone-fill.svg b/src/static/icons/megaphone-fill.svg
new file mode 100644
index 0000000..237e814
--- /dev/null
+++ b/src/static/icons/megaphone-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/megaphone.svg b/src/static/icons/megaphone.svg
new file mode 100644
index 0000000..834083c
--- /dev/null
+++ b/src/static/icons/megaphone.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/memory.svg b/src/static/icons/memory.svg
new file mode 100644
index 0000000..cdc2943
--- /dev/null
+++ b/src/static/icons/memory.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/menu-app-fill.svg b/src/static/icons/menu-app-fill.svg
new file mode 100644
index 0000000..c41c6fb
--- /dev/null
+++ b/src/static/icons/menu-app-fill.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-app.svg b/src/static/icons/menu-app.svg
new file mode 100644
index 0000000..36e57df
--- /dev/null
+++ b/src/static/icons/menu-app.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-button-fill.svg b/src/static/icons/menu-button-fill.svg
new file mode 100644
index 0000000..034b64d
--- /dev/null
+++ b/src/static/icons/menu-button-fill.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-button-wide-fill.svg b/src/static/icons/menu-button-wide-fill.svg
new file mode 100644
index 0000000..d6e17da
--- /dev/null
+++ b/src/static/icons/menu-button-wide-fill.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-button-wide.svg b/src/static/icons/menu-button-wide.svg
new file mode 100644
index 0000000..d67ba6a
--- /dev/null
+++ b/src/static/icons/menu-button-wide.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-button.svg b/src/static/icons/menu-button.svg
new file mode 100644
index 0000000..4e0fff9
--- /dev/null
+++ b/src/static/icons/menu-button.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-down.svg b/src/static/icons/menu-down.svg
new file mode 100644
index 0000000..b2d84b2
--- /dev/null
+++ b/src/static/icons/menu-down.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/menu-up.svg b/src/static/icons/menu-up.svg
new file mode 100644
index 0000000..fb35e8d
--- /dev/null
+++ b/src/static/icons/menu-up.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/messenger.svg b/src/static/icons/messenger.svg
new file mode 100644
index 0000000..5c6d37d
--- /dev/null
+++ b/src/static/icons/messenger.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/meta.svg b/src/static/icons/meta.svg
new file mode 100644
index 0000000..2c6885d
--- /dev/null
+++ b/src/static/icons/meta.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mic-fill.svg b/src/static/icons/mic-fill.svg
new file mode 100644
index 0000000..9be58e9
--- /dev/null
+++ b/src/static/icons/mic-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mic-mute-fill.svg b/src/static/icons/mic-mute-fill.svg
new file mode 100644
index 0000000..cc325a0
--- /dev/null
+++ b/src/static/icons/mic-mute-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mic-mute.svg b/src/static/icons/mic-mute.svg
new file mode 100644
index 0000000..5a520a1
--- /dev/null
+++ b/src/static/icons/mic-mute.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mic.svg b/src/static/icons/mic.svg
new file mode 100644
index 0000000..57be2e5
--- /dev/null
+++ b/src/static/icons/mic.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/microsoft-teams.svg b/src/static/icons/microsoft-teams.svg
new file mode 100644
index 0000000..e0cc253
--- /dev/null
+++ b/src/static/icons/microsoft-teams.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/microsoft.svg b/src/static/icons/microsoft.svg
new file mode 100644
index 0000000..d28281f
--- /dev/null
+++ b/src/static/icons/microsoft.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/minecart-loaded.svg b/src/static/icons/minecart-loaded.svg
new file mode 100644
index 0000000..8a75457
--- /dev/null
+++ b/src/static/icons/minecart-loaded.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/minecart.svg b/src/static/icons/minecart.svg
new file mode 100644
index 0000000..7f3ad00
--- /dev/null
+++ b/src/static/icons/minecart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/modem-fill.svg b/src/static/icons/modem-fill.svg
new file mode 100644
index 0000000..1fe97be
--- /dev/null
+++ b/src/static/icons/modem-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/modem.svg b/src/static/icons/modem.svg
new file mode 100644
index 0000000..873090d
--- /dev/null
+++ b/src/static/icons/modem.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/moisture.svg b/src/static/icons/moisture.svg
new file mode 100644
index 0000000..732f4ac
--- /dev/null
+++ b/src/static/icons/moisture.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/moon-fill.svg b/src/static/icons/moon-fill.svg
new file mode 100644
index 0000000..1149676
--- /dev/null
+++ b/src/static/icons/moon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/moon-stars-fill.svg b/src/static/icons/moon-stars-fill.svg
new file mode 100644
index 0000000..d2e1d6e
--- /dev/null
+++ b/src/static/icons/moon-stars-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/moon-stars.svg b/src/static/icons/moon-stars.svg
new file mode 100644
index 0000000..b25ef86
--- /dev/null
+++ b/src/static/icons/moon-stars.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/moon.svg b/src/static/icons/moon.svg
new file mode 100644
index 0000000..4cd8820
--- /dev/null
+++ b/src/static/icons/moon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mortarboard-fill.svg b/src/static/icons/mortarboard-fill.svg
new file mode 100644
index 0000000..7f5fb48
--- /dev/null
+++ b/src/static/icons/mortarboard-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mortarboard.svg b/src/static/icons/mortarboard.svg
new file mode 100644
index 0000000..ed82b6a
--- /dev/null
+++ b/src/static/icons/mortarboard.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/motherboard-fill.svg b/src/static/icons/motherboard-fill.svg
new file mode 100644
index 0000000..bf15e96
--- /dev/null
+++ b/src/static/icons/motherboard-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/motherboard.svg b/src/static/icons/motherboard.svg
new file mode 100644
index 0000000..ed13d0c
--- /dev/null
+++ b/src/static/icons/motherboard.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse-fill.svg b/src/static/icons/mouse-fill.svg
new file mode 100644
index 0000000..bd0b5eb
--- /dev/null
+++ b/src/static/icons/mouse-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse.svg b/src/static/icons/mouse.svg
new file mode 100644
index 0000000..40976e0
--- /dev/null
+++ b/src/static/icons/mouse.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse2-fill.svg b/src/static/icons/mouse2-fill.svg
new file mode 100644
index 0000000..283d1cd
--- /dev/null
+++ b/src/static/icons/mouse2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse2.svg b/src/static/icons/mouse2.svg
new file mode 100644
index 0000000..359da4d
--- /dev/null
+++ b/src/static/icons/mouse2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse3-fill.svg b/src/static/icons/mouse3-fill.svg
new file mode 100644
index 0000000..de6dbc7
--- /dev/null
+++ b/src/static/icons/mouse3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/mouse3.svg b/src/static/icons/mouse3.svg
new file mode 100644
index 0000000..d042bfd
--- /dev/null
+++ b/src/static/icons/mouse3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/music-note-beamed.svg b/src/static/icons/music-note-beamed.svg
new file mode 100644
index 0000000..04cedf0
--- /dev/null
+++ b/src/static/icons/music-note-beamed.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/music-note-list.svg b/src/static/icons/music-note-list.svg
new file mode 100644
index 0000000..5c306bd
--- /dev/null
+++ b/src/static/icons/music-note-list.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/music-note.svg b/src/static/icons/music-note.svg
new file mode 100644
index 0000000..1125a66
--- /dev/null
+++ b/src/static/icons/music-note.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/music-player-fill.svg b/src/static/icons/music-player-fill.svg
new file mode 100644
index 0000000..6619d1e
--- /dev/null
+++ b/src/static/icons/music-player-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/music-player.svg b/src/static/icons/music-player.svg
new file mode 100644
index 0000000..2d50a63
--- /dev/null
+++ b/src/static/icons/music-player.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/newspaper.svg b/src/static/icons/newspaper.svg
new file mode 100644
index 0000000..7d7fa71
--- /dev/null
+++ b/src/static/icons/newspaper.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/nintendo-switch.svg b/src/static/icons/nintendo-switch.svg
new file mode 100644
index 0000000..0f1e2ac
--- /dev/null
+++ b/src/static/icons/nintendo-switch.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/node-minus-fill.svg b/src/static/icons/node-minus-fill.svg
new file mode 100644
index 0000000..32430b9
--- /dev/null
+++ b/src/static/icons/node-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/node-minus.svg b/src/static/icons/node-minus.svg
new file mode 100644
index 0000000..b1accd4
--- /dev/null
+++ b/src/static/icons/node-minus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/node-plus-fill.svg b/src/static/icons/node-plus-fill.svg
new file mode 100644
index 0000000..e5ee855
--- /dev/null
+++ b/src/static/icons/node-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/node-plus.svg b/src/static/icons/node-plus.svg
new file mode 100644
index 0000000..085f04f
--- /dev/null
+++ b/src/static/icons/node-plus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/nut-fill.svg b/src/static/icons/nut-fill.svg
new file mode 100644
index 0000000..4babc03
--- /dev/null
+++ b/src/static/icons/nut-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/nut.svg b/src/static/icons/nut.svg
new file mode 100644
index 0000000..4912d48
--- /dev/null
+++ b/src/static/icons/nut.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/nvidia.svg b/src/static/icons/nvidia.svg
new file mode 100644
index 0000000..6492046
--- /dev/null
+++ b/src/static/icons/nvidia.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/octagon-fill.svg b/src/static/icons/octagon-fill.svg
new file mode 100644
index 0000000..c128317
--- /dev/null
+++ b/src/static/icons/octagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/octagon-half.svg b/src/static/icons/octagon-half.svg
new file mode 100644
index 0000000..d95240a
--- /dev/null
+++ b/src/static/icons/octagon-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/octagon.svg b/src/static/icons/octagon.svg
new file mode 100644
index 0000000..9f3657e
--- /dev/null
+++ b/src/static/icons/octagon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/optical-audio-fill.svg b/src/static/icons/optical-audio-fill.svg
new file mode 100644
index 0000000..5bdfd82
--- /dev/null
+++ b/src/static/icons/optical-audio-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/optical-audio.svg b/src/static/icons/optical-audio.svg
new file mode 100644
index 0000000..7a38b83
--- /dev/null
+++ b/src/static/icons/optical-audio.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/option.svg b/src/static/icons/option.svg
new file mode 100644
index 0000000..d7702b1
--- /dev/null
+++ b/src/static/icons/option.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/outlet.svg b/src/static/icons/outlet.svg
new file mode 100644
index 0000000..b48af60
--- /dev/null
+++ b/src/static/icons/outlet.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/p-circle-fill.svg b/src/static/icons/p-circle-fill.svg
new file mode 100644
index 0000000..ea54307
--- /dev/null
+++ b/src/static/icons/p-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/p-circle.svg b/src/static/icons/p-circle.svg
new file mode 100644
index 0000000..888a1fa
--- /dev/null
+++ b/src/static/icons/p-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/p-square-fill.svg b/src/static/icons/p-square-fill.svg
new file mode 100644
index 0000000..ad3caa2
--- /dev/null
+++ b/src/static/icons/p-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/p-square.svg b/src/static/icons/p-square.svg
new file mode 100644
index 0000000..ad630d0
--- /dev/null
+++ b/src/static/icons/p-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/paint-bucket.svg b/src/static/icons/paint-bucket.svg
new file mode 100644
index 0000000..ee15d10
--- /dev/null
+++ b/src/static/icons/paint-bucket.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/palette-fill.svg b/src/static/icons/palette-fill.svg
new file mode 100644
index 0000000..7dc5ecd
--- /dev/null
+++ b/src/static/icons/palette-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/palette.svg b/src/static/icons/palette.svg
new file mode 100644
index 0000000..fea76d9
--- /dev/null
+++ b/src/static/icons/palette.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/palette2.svg b/src/static/icons/palette2.svg
new file mode 100644
index 0000000..5d140b3
--- /dev/null
+++ b/src/static/icons/palette2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/paperclip.svg b/src/static/icons/paperclip.svg
new file mode 100644
index 0000000..00f311d
--- /dev/null
+++ b/src/static/icons/paperclip.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/paragraph.svg b/src/static/icons/paragraph.svg
new file mode 100644
index 0000000..999cb53
--- /dev/null
+++ b/src/static/icons/paragraph.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pass-fill.svg b/src/static/icons/pass-fill.svg
new file mode 100644
index 0000000..a5715df
--- /dev/null
+++ b/src/static/icons/pass-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pass.svg b/src/static/icons/pass.svg
new file mode 100644
index 0000000..3f51eb5
--- /dev/null
+++ b/src/static/icons/pass.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-check-fill.svg b/src/static/icons/patch-check-fill.svg
new file mode 100644
index 0000000..1301415
--- /dev/null
+++ b/src/static/icons/patch-check-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-check.svg b/src/static/icons/patch-check.svg
new file mode 100644
index 0000000..2dd799e
--- /dev/null
+++ b/src/static/icons/patch-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-exclamation-fill.svg b/src/static/icons/patch-exclamation-fill.svg
new file mode 100644
index 0000000..fd900c4
--- /dev/null
+++ b/src/static/icons/patch-exclamation-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-exclamation.svg b/src/static/icons/patch-exclamation.svg
new file mode 100644
index 0000000..153d97d
--- /dev/null
+++ b/src/static/icons/patch-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-minus-fill.svg b/src/static/icons/patch-minus-fill.svg
new file mode 100644
index 0000000..12f35c2
--- /dev/null
+++ b/src/static/icons/patch-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-minus.svg b/src/static/icons/patch-minus.svg
new file mode 100644
index 0000000..f6024f9
--- /dev/null
+++ b/src/static/icons/patch-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-plus-fill.svg b/src/static/icons/patch-plus-fill.svg
new file mode 100644
index 0000000..1a79d79
--- /dev/null
+++ b/src/static/icons/patch-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-plus.svg b/src/static/icons/patch-plus.svg
new file mode 100644
index 0000000..b9a7846
--- /dev/null
+++ b/src/static/icons/patch-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-question-fill.svg b/src/static/icons/patch-question-fill.svg
new file mode 100644
index 0000000..665588b
--- /dev/null
+++ b/src/static/icons/patch-question-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/patch-question.svg b/src/static/icons/patch-question.svg
new file mode 100644
index 0000000..ef4ca58
--- /dev/null
+++ b/src/static/icons/patch-question.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause-btn-fill.svg b/src/static/icons/pause-btn-fill.svg
new file mode 100644
index 0000000..efca142
--- /dev/null
+++ b/src/static/icons/pause-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause-btn.svg b/src/static/icons/pause-btn.svg
new file mode 100644
index 0000000..0e9eb3a
--- /dev/null
+++ b/src/static/icons/pause-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause-circle-fill.svg b/src/static/icons/pause-circle-fill.svg
new file mode 100644
index 0000000..5e3525f
--- /dev/null
+++ b/src/static/icons/pause-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause-circle.svg b/src/static/icons/pause-circle.svg
new file mode 100644
index 0000000..1b6b64a
--- /dev/null
+++ b/src/static/icons/pause-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause-fill.svg b/src/static/icons/pause-fill.svg
new file mode 100644
index 0000000..68285b2
--- /dev/null
+++ b/src/static/icons/pause-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pause.svg b/src/static/icons/pause.svg
new file mode 100644
index 0000000..22478ea
--- /dev/null
+++ b/src/static/icons/pause.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/paypal.svg b/src/static/icons/paypal.svg
new file mode 100644
index 0000000..41bd536
--- /dev/null
+++ b/src/static/icons/paypal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pc-display-horizontal.svg b/src/static/icons/pc-display-horizontal.svg
new file mode 100644
index 0000000..2013f15
--- /dev/null
+++ b/src/static/icons/pc-display-horizontal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pc-display.svg b/src/static/icons/pc-display.svg
new file mode 100644
index 0000000..f5d09da
--- /dev/null
+++ b/src/static/icons/pc-display.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pc-horizontal.svg b/src/static/icons/pc-horizontal.svg
new file mode 100644
index 0000000..9ae513a
--- /dev/null
+++ b/src/static/icons/pc-horizontal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pc.svg b/src/static/icons/pc.svg
new file mode 100644
index 0000000..f0f280d
--- /dev/null
+++ b/src/static/icons/pc.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pci-card.svg b/src/static/icons/pci-card.svg
new file mode 100644
index 0000000..600a5d0
--- /dev/null
+++ b/src/static/icons/pci-card.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/peace-fill.svg b/src/static/icons/peace-fill.svg
new file mode 100644
index 0000000..c8ed5bd
--- /dev/null
+++ b/src/static/icons/peace-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/peace.svg b/src/static/icons/peace.svg
new file mode 100644
index 0000000..3e4420b
--- /dev/null
+++ b/src/static/icons/peace.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pen-fill.svg b/src/static/icons/pen-fill.svg
new file mode 100644
index 0000000..b7bb337
--- /dev/null
+++ b/src/static/icons/pen-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pen.svg b/src/static/icons/pen.svg
new file mode 100644
index 0000000..8eb3be7
--- /dev/null
+++ b/src/static/icons/pen.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pencil-fill.svg b/src/static/icons/pencil-fill.svg
new file mode 100644
index 0000000..59d2830
--- /dev/null
+++ b/src/static/icons/pencil-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pencil-square.svg b/src/static/icons/pencil-square.svg
new file mode 100644
index 0000000..b8c90d5
--- /dev/null
+++ b/src/static/icons/pencil-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pencil.svg b/src/static/icons/pencil.svg
new file mode 100644
index 0000000..f8dbfeb
--- /dev/null
+++ b/src/static/icons/pencil.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pentagon-fill.svg b/src/static/icons/pentagon-fill.svg
new file mode 100644
index 0000000..9c80789
--- /dev/null
+++ b/src/static/icons/pentagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pentagon-half.svg b/src/static/icons/pentagon-half.svg
new file mode 100644
index 0000000..305125c
--- /dev/null
+++ b/src/static/icons/pentagon-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pentagon.svg b/src/static/icons/pentagon.svg
new file mode 100644
index 0000000..b6f5fe3
--- /dev/null
+++ b/src/static/icons/pentagon.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/people-fill.svg b/src/static/icons/people-fill.svg
new file mode 100644
index 0000000..81d5a8e
--- /dev/null
+++ b/src/static/icons/people-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/people.svg b/src/static/icons/people.svg
new file mode 100644
index 0000000..29dfc5b
--- /dev/null
+++ b/src/static/icons/people.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/percent.svg b/src/static/icons/percent.svg
new file mode 100644
index 0000000..8af2bc4
--- /dev/null
+++ b/src/static/icons/percent.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-add.svg b/src/static/icons/person-add.svg
new file mode 100644
index 0000000..cd9f071
--- /dev/null
+++ b/src/static/icons/person-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-badge-fill.svg b/src/static/icons/person-badge-fill.svg
new file mode 100644
index 0000000..d9ebe67
--- /dev/null
+++ b/src/static/icons/person-badge-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-badge.svg b/src/static/icons/person-badge.svg
new file mode 100644
index 0000000..d071d44
--- /dev/null
+++ b/src/static/icons/person-badge.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-bounding-box.svg b/src/static/icons/person-bounding-box.svg
new file mode 100644
index 0000000..92e662c
--- /dev/null
+++ b/src/static/icons/person-bounding-box.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-check-fill.svg b/src/static/icons/person-check-fill.svg
new file mode 100644
index 0000000..872497a
--- /dev/null
+++ b/src/static/icons/person-check-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-check.svg b/src/static/icons/person-check.svg
new file mode 100644
index 0000000..85f6ada
--- /dev/null
+++ b/src/static/icons/person-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-circle.svg b/src/static/icons/person-circle.svg
new file mode 100644
index 0000000..fd7f2c9
--- /dev/null
+++ b/src/static/icons/person-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-dash-fill.svg b/src/static/icons/person-dash-fill.svg
new file mode 100644
index 0000000..fd719f2
--- /dev/null
+++ b/src/static/icons/person-dash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-dash.svg b/src/static/icons/person-dash.svg
new file mode 100644
index 0000000..b374ee0
--- /dev/null
+++ b/src/static/icons/person-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-down.svg b/src/static/icons/person-down.svg
new file mode 100644
index 0000000..00489b9
--- /dev/null
+++ b/src/static/icons/person-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-exclamation.svg b/src/static/icons/person-exclamation.svg
new file mode 100644
index 0000000..ceb698a
--- /dev/null
+++ b/src/static/icons/person-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-add.svg b/src/static/icons/person-fill-add.svg
new file mode 100644
index 0000000..4383a85
--- /dev/null
+++ b/src/static/icons/person-fill-add.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-check.svg b/src/static/icons/person-fill-check.svg
new file mode 100644
index 0000000..0bb8ee4
--- /dev/null
+++ b/src/static/icons/person-fill-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-dash.svg b/src/static/icons/person-fill-dash.svg
new file mode 100644
index 0000000..d2cdec5
--- /dev/null
+++ b/src/static/icons/person-fill-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-down.svg b/src/static/icons/person-fill-down.svg
new file mode 100644
index 0000000..a1cfcdc
--- /dev/null
+++ b/src/static/icons/person-fill-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-exclamation.svg b/src/static/icons/person-fill-exclamation.svg
new file mode 100644
index 0000000..59cfd6f
--- /dev/null
+++ b/src/static/icons/person-fill-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-gear.svg b/src/static/icons/person-fill-gear.svg
new file mode 100644
index 0000000..f91006b
--- /dev/null
+++ b/src/static/icons/person-fill-gear.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-lock.svg b/src/static/icons/person-fill-lock.svg
new file mode 100644
index 0000000..8af5ee1
--- /dev/null
+++ b/src/static/icons/person-fill-lock.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-slash.svg b/src/static/icons/person-fill-slash.svg
new file mode 100644
index 0000000..ede8fa4
--- /dev/null
+++ b/src/static/icons/person-fill-slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-up.svg b/src/static/icons/person-fill-up.svg
new file mode 100644
index 0000000..be73bf2
--- /dev/null
+++ b/src/static/icons/person-fill-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill-x.svg b/src/static/icons/person-fill-x.svg
new file mode 100644
index 0000000..959fcee
--- /dev/null
+++ b/src/static/icons/person-fill-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-fill.svg b/src/static/icons/person-fill.svg
new file mode 100644
index 0000000..5e71aca
--- /dev/null
+++ b/src/static/icons/person-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-gear.svg b/src/static/icons/person-gear.svg
new file mode 100644
index 0000000..8024d86
--- /dev/null
+++ b/src/static/icons/person-gear.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-heart.svg b/src/static/icons/person-heart.svg
new file mode 100644
index 0000000..e9ebbf4
--- /dev/null
+++ b/src/static/icons/person-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-hearts.svg b/src/static/icons/person-hearts.svg
new file mode 100644
index 0000000..06970be
--- /dev/null
+++ b/src/static/icons/person-hearts.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-lines-fill.svg b/src/static/icons/person-lines-fill.svg
new file mode 100644
index 0000000..736421c
--- /dev/null
+++ b/src/static/icons/person-lines-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-lock.svg b/src/static/icons/person-lock.svg
new file mode 100644
index 0000000..1c20dc7
--- /dev/null
+++ b/src/static/icons/person-lock.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-plus-fill.svg b/src/static/icons/person-plus-fill.svg
new file mode 100644
index 0000000..151ccfe
--- /dev/null
+++ b/src/static/icons/person-plus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-plus.svg b/src/static/icons/person-plus.svg
new file mode 100644
index 0000000..aac3a67
--- /dev/null
+++ b/src/static/icons/person-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-rolodex.svg b/src/static/icons/person-rolodex.svg
new file mode 100644
index 0000000..af898ca
--- /dev/null
+++ b/src/static/icons/person-rolodex.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-slash.svg b/src/static/icons/person-slash.svg
new file mode 100644
index 0000000..7316d7e
--- /dev/null
+++ b/src/static/icons/person-slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-square.svg b/src/static/icons/person-square.svg
new file mode 100644
index 0000000..a7eb40e
--- /dev/null
+++ b/src/static/icons/person-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-up.svg b/src/static/icons/person-up.svg
new file mode 100644
index 0000000..5ec777d
--- /dev/null
+++ b/src/static/icons/person-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-vcard-fill.svg b/src/static/icons/person-vcard-fill.svg
new file mode 100644
index 0000000..f40d108
--- /dev/null
+++ b/src/static/icons/person-vcard-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-vcard.svg b/src/static/icons/person-vcard.svg
new file mode 100644
index 0000000..3b87158
--- /dev/null
+++ b/src/static/icons/person-vcard.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-video.svg b/src/static/icons/person-video.svg
new file mode 100644
index 0000000..b8c1995
--- /dev/null
+++ b/src/static/icons/person-video.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-video2.svg b/src/static/icons/person-video2.svg
new file mode 100644
index 0000000..3f4292e
--- /dev/null
+++ b/src/static/icons/person-video2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-video3.svg b/src/static/icons/person-video3.svg
new file mode 100644
index 0000000..be38b24
--- /dev/null
+++ b/src/static/icons/person-video3.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-workspace.svg b/src/static/icons/person-workspace.svg
new file mode 100644
index 0000000..e72bea0
--- /dev/null
+++ b/src/static/icons/person-workspace.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-x-fill.svg b/src/static/icons/person-x-fill.svg
new file mode 100644
index 0000000..d4903a6
--- /dev/null
+++ b/src/static/icons/person-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person-x.svg b/src/static/icons/person-x.svg
new file mode 100644
index 0000000..129660d
--- /dev/null
+++ b/src/static/icons/person-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/person.svg b/src/static/icons/person.svg
new file mode 100644
index 0000000..18d6411
--- /dev/null
+++ b/src/static/icons/person.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-fill.svg b/src/static/icons/phone-fill.svg
new file mode 100644
index 0000000..a2dfd03
--- /dev/null
+++ b/src/static/icons/phone-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-flip.svg b/src/static/icons/phone-flip.svg
new file mode 100644
index 0000000..54e2d26
--- /dev/null
+++ b/src/static/icons/phone-flip.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-landscape-fill.svg b/src/static/icons/phone-landscape-fill.svg
new file mode 100644
index 0000000..295481c
--- /dev/null
+++ b/src/static/icons/phone-landscape-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-landscape.svg b/src/static/icons/phone-landscape.svg
new file mode 100644
index 0000000..65cd273
--- /dev/null
+++ b/src/static/icons/phone-landscape.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-vibrate-fill.svg b/src/static/icons/phone-vibrate-fill.svg
new file mode 100644
index 0000000..6e61ecc
--- /dev/null
+++ b/src/static/icons/phone-vibrate-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone-vibrate.svg b/src/static/icons/phone-vibrate.svg
new file mode 100644
index 0000000..f380cab
--- /dev/null
+++ b/src/static/icons/phone-vibrate.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/phone.svg b/src/static/icons/phone.svg
new file mode 100644
index 0000000..3f3fd74
--- /dev/null
+++ b/src/static/icons/phone.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pie-chart-fill.svg b/src/static/icons/pie-chart-fill.svg
new file mode 100644
index 0000000..6aa71eb
--- /dev/null
+++ b/src/static/icons/pie-chart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pie-chart.svg b/src/static/icons/pie-chart.svg
new file mode 100644
index 0000000..a20f6a7
--- /dev/null
+++ b/src/static/icons/pie-chart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/piggy-bank-fill.svg b/src/static/icons/piggy-bank-fill.svg
new file mode 100644
index 0000000..b44f35d
--- /dev/null
+++ b/src/static/icons/piggy-bank-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/piggy-bank.svg b/src/static/icons/piggy-bank.svg
new file mode 100644
index 0000000..1d836ce
--- /dev/null
+++ b/src/static/icons/piggy-bank.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin-angle-fill.svg b/src/static/icons/pin-angle-fill.svg
new file mode 100644
index 0000000..3112c0b
--- /dev/null
+++ b/src/static/icons/pin-angle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin-angle.svg b/src/static/icons/pin-angle.svg
new file mode 100644
index 0000000..a07b038
--- /dev/null
+++ b/src/static/icons/pin-angle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin-fill.svg b/src/static/icons/pin-fill.svg
new file mode 100644
index 0000000..f00b790
--- /dev/null
+++ b/src/static/icons/pin-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin-map-fill.svg b/src/static/icons/pin-map-fill.svg
new file mode 100644
index 0000000..b8c8502
--- /dev/null
+++ b/src/static/icons/pin-map-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin-map.svg b/src/static/icons/pin-map.svg
new file mode 100644
index 0000000..f04129a
--- /dev/null
+++ b/src/static/icons/pin-map.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pin.svg b/src/static/icons/pin.svg
new file mode 100644
index 0000000..45fd7de
--- /dev/null
+++ b/src/static/icons/pin.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pinterest.svg b/src/static/icons/pinterest.svg
new file mode 100644
index 0000000..b4fbc23
--- /dev/null
+++ b/src/static/icons/pinterest.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pip-fill.svg b/src/static/icons/pip-fill.svg
new file mode 100644
index 0000000..1869f78
--- /dev/null
+++ b/src/static/icons/pip-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/pip.svg b/src/static/icons/pip.svg
new file mode 100644
index 0000000..58f0638
--- /dev/null
+++ b/src/static/icons/pip.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play-btn-fill.svg b/src/static/icons/play-btn-fill.svg
new file mode 100644
index 0000000..18b9167
--- /dev/null
+++ b/src/static/icons/play-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play-btn.svg b/src/static/icons/play-btn.svg
new file mode 100644
index 0000000..576e30b
--- /dev/null
+++ b/src/static/icons/play-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play-circle-fill.svg b/src/static/icons/play-circle-fill.svg
new file mode 100644
index 0000000..511ef37
--- /dev/null
+++ b/src/static/icons/play-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play-circle.svg b/src/static/icons/play-circle.svg
new file mode 100644
index 0000000..c93144a
--- /dev/null
+++ b/src/static/icons/play-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play-fill.svg b/src/static/icons/play-fill.svg
new file mode 100644
index 0000000..28f2e67
--- /dev/null
+++ b/src/static/icons/play-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/play.svg b/src/static/icons/play.svg
new file mode 100644
index 0000000..b3fd3dc
--- /dev/null
+++ b/src/static/icons/play.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/playstation.svg b/src/static/icons/playstation.svg
new file mode 100644
index 0000000..f8ce05b
--- /dev/null
+++ b/src/static/icons/playstation.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plug-fill.svg b/src/static/icons/plug-fill.svg
new file mode 100644
index 0000000..d15b8e6
--- /dev/null
+++ b/src/static/icons/plug-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plug.svg b/src/static/icons/plug.svg
new file mode 100644
index 0000000..c5e6688
--- /dev/null
+++ b/src/static/icons/plug.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plugin.svg b/src/static/icons/plugin.svg
new file mode 100644
index 0000000..3f179a3
--- /dev/null
+++ b/src/static/icons/plugin.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-circle-dotted.svg b/src/static/icons/plus-circle-dotted.svg
new file mode 100644
index 0000000..c69316e
--- /dev/null
+++ b/src/static/icons/plus-circle-dotted.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-circle-fill.svg b/src/static/icons/plus-circle-fill.svg
new file mode 100644
index 0000000..f320116
--- /dev/null
+++ b/src/static/icons/plus-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-circle.svg b/src/static/icons/plus-circle.svg
new file mode 100644
index 0000000..66308ef
--- /dev/null
+++ b/src/static/icons/plus-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-lg.svg b/src/static/icons/plus-lg.svg
new file mode 100644
index 0000000..f821cc3
--- /dev/null
+++ b/src/static/icons/plus-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-slash-minus.svg b/src/static/icons/plus-slash-minus.svg
new file mode 100644
index 0000000..44a8e0e
--- /dev/null
+++ b/src/static/icons/plus-slash-minus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-square-dotted.svg b/src/static/icons/plus-square-dotted.svg
new file mode 100644
index 0000000..4ae7ad6
--- /dev/null
+++ b/src/static/icons/plus-square-dotted.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-square-fill.svg b/src/static/icons/plus-square-fill.svg
new file mode 100644
index 0000000..0d5e15c
--- /dev/null
+++ b/src/static/icons/plus-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus-square.svg b/src/static/icons/plus-square.svg
new file mode 100644
index 0000000..15c4c44
--- /dev/null
+++ b/src/static/icons/plus-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/plus.svg b/src/static/icons/plus.svg
new file mode 100644
index 0000000..5b088c0
--- /dev/null
+++ b/src/static/icons/plus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postage-fill.svg b/src/static/icons/postage-fill.svg
new file mode 100644
index 0000000..701a1c6
--- /dev/null
+++ b/src/static/icons/postage-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postage-heart-fill.svg b/src/static/icons/postage-heart-fill.svg
new file mode 100644
index 0000000..a268901
--- /dev/null
+++ b/src/static/icons/postage-heart-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postage-heart.svg b/src/static/icons/postage-heart.svg
new file mode 100644
index 0000000..4d22b18
--- /dev/null
+++ b/src/static/icons/postage-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postage.svg b/src/static/icons/postage.svg
new file mode 100644
index 0000000..cc49c70
--- /dev/null
+++ b/src/static/icons/postage.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postcard-fill.svg b/src/static/icons/postcard-fill.svg
new file mode 100644
index 0000000..01b54dd
--- /dev/null
+++ b/src/static/icons/postcard-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postcard-heart-fill.svg b/src/static/icons/postcard-heart-fill.svg
new file mode 100644
index 0000000..590cac9
--- /dev/null
+++ b/src/static/icons/postcard-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postcard-heart.svg b/src/static/icons/postcard-heart.svg
new file mode 100644
index 0000000..e0f2f05
--- /dev/null
+++ b/src/static/icons/postcard-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/postcard.svg b/src/static/icons/postcard.svg
new file mode 100644
index 0000000..827180e
--- /dev/null
+++ b/src/static/icons/postcard.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/power.svg b/src/static/icons/power.svg
new file mode 100644
index 0000000..6fb9756
--- /dev/null
+++ b/src/static/icons/power.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/prescription.svg b/src/static/icons/prescription.svg
new file mode 100644
index 0000000..263433a
--- /dev/null
+++ b/src/static/icons/prescription.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/prescription2.svg b/src/static/icons/prescription2.svg
new file mode 100644
index 0000000..fbe2f91
--- /dev/null
+++ b/src/static/icons/prescription2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/printer-fill.svg b/src/static/icons/printer-fill.svg
new file mode 100644
index 0000000..485d987
--- /dev/null
+++ b/src/static/icons/printer-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/printer.svg b/src/static/icons/printer.svg
new file mode 100644
index 0000000..60196bc
--- /dev/null
+++ b/src/static/icons/printer.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/projector-fill.svg b/src/static/icons/projector-fill.svg
new file mode 100644
index 0000000..ff6a341
--- /dev/null
+++ b/src/static/icons/projector-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/projector.svg b/src/static/icons/projector.svg
new file mode 100644
index 0000000..218c6a5
--- /dev/null
+++ b/src/static/icons/projector.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/puzzle-fill.svg b/src/static/icons/puzzle-fill.svg
new file mode 100644
index 0000000..e9bbfae
--- /dev/null
+++ b/src/static/icons/puzzle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/puzzle.svg b/src/static/icons/puzzle.svg
new file mode 100644
index 0000000..c9b07a2
--- /dev/null
+++ b/src/static/icons/puzzle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/qr-code-scan.svg b/src/static/icons/qr-code-scan.svg
new file mode 100644
index 0000000..7eb599e
--- /dev/null
+++ b/src/static/icons/qr-code-scan.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/qr-code.svg b/src/static/icons/qr-code.svg
new file mode 100644
index 0000000..bf5570d
--- /dev/null
+++ b/src/static/icons/qr-code.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-circle-fill.svg b/src/static/icons/question-circle-fill.svg
new file mode 100644
index 0000000..d8e5e06
--- /dev/null
+++ b/src/static/icons/question-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-circle.svg b/src/static/icons/question-circle.svg
new file mode 100644
index 0000000..1c8cbe7
--- /dev/null
+++ b/src/static/icons/question-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-diamond-fill.svg b/src/static/icons/question-diamond-fill.svg
new file mode 100644
index 0000000..a86583b
--- /dev/null
+++ b/src/static/icons/question-diamond-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-diamond.svg b/src/static/icons/question-diamond.svg
new file mode 100644
index 0000000..a7d8233
--- /dev/null
+++ b/src/static/icons/question-diamond.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-lg.svg b/src/static/icons/question-lg.svg
new file mode 100644
index 0000000..fa3452e
--- /dev/null
+++ b/src/static/icons/question-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-octagon-fill.svg b/src/static/icons/question-octagon-fill.svg
new file mode 100644
index 0000000..2ff954e
--- /dev/null
+++ b/src/static/icons/question-octagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-octagon.svg b/src/static/icons/question-octagon.svg
new file mode 100644
index 0000000..02e8ffe
--- /dev/null
+++ b/src/static/icons/question-octagon.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-square-fill.svg b/src/static/icons/question-square-fill.svg
new file mode 100644
index 0000000..dd72410
--- /dev/null
+++ b/src/static/icons/question-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question-square.svg b/src/static/icons/question-square.svg
new file mode 100644
index 0000000..d0a56ff
--- /dev/null
+++ b/src/static/icons/question-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/question.svg b/src/static/icons/question.svg
new file mode 100644
index 0000000..05abe29
--- /dev/null
+++ b/src/static/icons/question.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/quora.svg b/src/static/icons/quora.svg
new file mode 100644
index 0000000..e90e571
--- /dev/null
+++ b/src/static/icons/quora.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/quote.svg b/src/static/icons/quote.svg
new file mode 100644
index 0000000..03b45bf
--- /dev/null
+++ b/src/static/icons/quote.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/r-circle-fill.svg b/src/static/icons/r-circle-fill.svg
new file mode 100644
index 0000000..c2386c3
--- /dev/null
+++ b/src/static/icons/r-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/r-circle.svg b/src/static/icons/r-circle.svg
new file mode 100644
index 0000000..ab5c574
--- /dev/null
+++ b/src/static/icons/r-circle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/r-square-fill.svg b/src/static/icons/r-square-fill.svg
new file mode 100644
index 0000000..e039b8a
--- /dev/null
+++ b/src/static/icons/r-square-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/r-square.svg b/src/static/icons/r-square.svg
new file mode 100644
index 0000000..37ddc6a
--- /dev/null
+++ b/src/static/icons/r-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/radioactive.svg b/src/static/icons/radioactive.svg
new file mode 100644
index 0000000..1b1072f
--- /dev/null
+++ b/src/static/icons/radioactive.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rainbow.svg b/src/static/icons/rainbow.svg
new file mode 100644
index 0000000..8e8aea7
--- /dev/null
+++ b/src/static/icons/rainbow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/receipt-cutoff.svg b/src/static/icons/receipt-cutoff.svg
new file mode 100644
index 0000000..27be3c0
--- /dev/null
+++ b/src/static/icons/receipt-cutoff.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/receipt.svg b/src/static/icons/receipt.svg
new file mode 100644
index 0000000..9ea7283
--- /dev/null
+++ b/src/static/icons/receipt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reception-0.svg b/src/static/icons/reception-0.svg
new file mode 100644
index 0000000..885bf3b
--- /dev/null
+++ b/src/static/icons/reception-0.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reception-1.svg b/src/static/icons/reception-1.svg
new file mode 100644
index 0000000..3deafb6
--- /dev/null
+++ b/src/static/icons/reception-1.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reception-2.svg b/src/static/icons/reception-2.svg
new file mode 100644
index 0000000..7dca57a
--- /dev/null
+++ b/src/static/icons/reception-2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reception-3.svg b/src/static/icons/reception-3.svg
new file mode 100644
index 0000000..b30d5fb
--- /dev/null
+++ b/src/static/icons/reception-3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reception-4.svg b/src/static/icons/reception-4.svg
new file mode 100644
index 0000000..611bdf1
--- /dev/null
+++ b/src/static/icons/reception-4.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record-btn-fill.svg b/src/static/icons/record-btn-fill.svg
new file mode 100644
index 0000000..caa3ea1
--- /dev/null
+++ b/src/static/icons/record-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record-btn.svg b/src/static/icons/record-btn.svg
new file mode 100644
index 0000000..4fd261c
--- /dev/null
+++ b/src/static/icons/record-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record-circle-fill.svg b/src/static/icons/record-circle-fill.svg
new file mode 100644
index 0000000..2c2429a
--- /dev/null
+++ b/src/static/icons/record-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record-circle.svg b/src/static/icons/record-circle.svg
new file mode 100644
index 0000000..d45d91c
--- /dev/null
+++ b/src/static/icons/record-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record-fill.svg b/src/static/icons/record-fill.svg
new file mode 100644
index 0000000..d474393
--- /dev/null
+++ b/src/static/icons/record-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record.svg b/src/static/icons/record.svg
new file mode 100644
index 0000000..27f82a9
--- /dev/null
+++ b/src/static/icons/record.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record2-fill.svg b/src/static/icons/record2-fill.svg
new file mode 100644
index 0000000..7648928
--- /dev/null
+++ b/src/static/icons/record2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/record2.svg b/src/static/icons/record2.svg
new file mode 100644
index 0000000..43a1150
--- /dev/null
+++ b/src/static/icons/record2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/recycle.svg b/src/static/icons/recycle.svg
new file mode 100644
index 0000000..e4fa6c0
--- /dev/null
+++ b/src/static/icons/recycle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reddit.svg b/src/static/icons/reddit.svg
new file mode 100644
index 0000000..b1c9cfe
--- /dev/null
+++ b/src/static/icons/reddit.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/regex.svg b/src/static/icons/regex.svg
new file mode 100644
index 0000000..19c0ff3
--- /dev/null
+++ b/src/static/icons/regex.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/repeat-1.svg b/src/static/icons/repeat-1.svg
new file mode 100644
index 0000000..07f4a8b
--- /dev/null
+++ b/src/static/icons/repeat-1.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/repeat.svg b/src/static/icons/repeat.svg
new file mode 100644
index 0000000..0f6d54d
--- /dev/null
+++ b/src/static/icons/repeat.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reply-all-fill.svg b/src/static/icons/reply-all-fill.svg
new file mode 100644
index 0000000..7b77b06
--- /dev/null
+++ b/src/static/icons/reply-all-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reply-all.svg b/src/static/icons/reply-all.svg
new file mode 100644
index 0000000..c95025b
--- /dev/null
+++ b/src/static/icons/reply-all.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reply-fill.svg b/src/static/icons/reply-fill.svg
new file mode 100644
index 0000000..b5a8722
--- /dev/null
+++ b/src/static/icons/reply-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/reply.svg b/src/static/icons/reply.svg
new file mode 100644
index 0000000..c2dc098
--- /dev/null
+++ b/src/static/icons/reply.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind-btn-fill.svg b/src/static/icons/rewind-btn-fill.svg
new file mode 100644
index 0000000..5136147
--- /dev/null
+++ b/src/static/icons/rewind-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind-btn.svg b/src/static/icons/rewind-btn.svg
new file mode 100644
index 0000000..45c0232
--- /dev/null
+++ b/src/static/icons/rewind-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind-circle-fill.svg b/src/static/icons/rewind-circle-fill.svg
new file mode 100644
index 0000000..afdaaf3
--- /dev/null
+++ b/src/static/icons/rewind-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind-circle.svg b/src/static/icons/rewind-circle.svg
new file mode 100644
index 0000000..054fd95
--- /dev/null
+++ b/src/static/icons/rewind-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind-fill.svg b/src/static/icons/rewind-fill.svg
new file mode 100644
index 0000000..79596e0
--- /dev/null
+++ b/src/static/icons/rewind-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rewind.svg b/src/static/icons/rewind.svg
new file mode 100644
index 0000000..58684d4
--- /dev/null
+++ b/src/static/icons/rewind.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/robot.svg b/src/static/icons/robot.svg
new file mode 100644
index 0000000..526cb99
--- /dev/null
+++ b/src/static/icons/robot.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rocket-fill.svg b/src/static/icons/rocket-fill.svg
new file mode 100644
index 0000000..dcb5cb8
--- /dev/null
+++ b/src/static/icons/rocket-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rocket-takeoff-fill.svg b/src/static/icons/rocket-takeoff-fill.svg
new file mode 100644
index 0000000..a748d6d
--- /dev/null
+++ b/src/static/icons/rocket-takeoff-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rocket-takeoff.svg b/src/static/icons/rocket-takeoff.svg
new file mode 100644
index 0000000..376d342
--- /dev/null
+++ b/src/static/icons/rocket-takeoff.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rocket.svg b/src/static/icons/rocket.svg
new file mode 100644
index 0000000..5b3cd5c
--- /dev/null
+++ b/src/static/icons/rocket.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/router-fill.svg b/src/static/icons/router-fill.svg
new file mode 100644
index 0000000..de050cf
--- /dev/null
+++ b/src/static/icons/router-fill.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/router.svg b/src/static/icons/router.svg
new file mode 100644
index 0000000..8fa22d0
--- /dev/null
+++ b/src/static/icons/router.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/rss-fill.svg b/src/static/icons/rss-fill.svg
new file mode 100644
index 0000000..39bef06
--- /dev/null
+++ b/src/static/icons/rss-fill.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/rss.svg b/src/static/icons/rss.svg
new file mode 100644
index 0000000..be41f20
--- /dev/null
+++ b/src/static/icons/rss.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/rulers.svg b/src/static/icons/rulers.svg
new file mode 100644
index 0000000..e9891c9
--- /dev/null
+++ b/src/static/icons/rulers.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/safe-fill.svg b/src/static/icons/safe-fill.svg
new file mode 100644
index 0000000..1036d67
--- /dev/null
+++ b/src/static/icons/safe-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/safe.svg b/src/static/icons/safe.svg
new file mode 100644
index 0000000..fb5b7cb
--- /dev/null
+++ b/src/static/icons/safe.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/safe2-fill.svg b/src/static/icons/safe2-fill.svg
new file mode 100644
index 0000000..d1d37f2
--- /dev/null
+++ b/src/static/icons/safe2-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/safe2.svg b/src/static/icons/safe2.svg
new file mode 100644
index 0000000..37bfbe8
--- /dev/null
+++ b/src/static/icons/safe2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/save-fill.svg b/src/static/icons/save-fill.svg
new file mode 100644
index 0000000..0a43dc1
--- /dev/null
+++ b/src/static/icons/save-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/save.svg b/src/static/icons/save.svg
new file mode 100644
index 0000000..26b8aed
--- /dev/null
+++ b/src/static/icons/save.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/save2-fill.svg b/src/static/icons/save2-fill.svg
new file mode 100644
index 0000000..45feb59
--- /dev/null
+++ b/src/static/icons/save2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/save2.svg b/src/static/icons/save2.svg
new file mode 100644
index 0000000..52bc9e4
--- /dev/null
+++ b/src/static/icons/save2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/scissors.svg b/src/static/icons/scissors.svg
new file mode 100644
index 0000000..ab71b0d
--- /dev/null
+++ b/src/static/icons/scissors.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/scooter.svg b/src/static/icons/scooter.svg
new file mode 100644
index 0000000..238eedb
--- /dev/null
+++ b/src/static/icons/scooter.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/screwdriver.svg b/src/static/icons/screwdriver.svg
new file mode 100644
index 0000000..dc9c374
--- /dev/null
+++ b/src/static/icons/screwdriver.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sd-card-fill.svg b/src/static/icons/sd-card-fill.svg
new file mode 100644
index 0000000..9fe36b6
--- /dev/null
+++ b/src/static/icons/sd-card-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sd-card.svg b/src/static/icons/sd-card.svg
new file mode 100644
index 0000000..12ed59f
--- /dev/null
+++ b/src/static/icons/sd-card.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/search-heart-fill.svg b/src/static/icons/search-heart-fill.svg
new file mode 100644
index 0000000..54e31c7
--- /dev/null
+++ b/src/static/icons/search-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/search-heart.svg b/src/static/icons/search-heart.svg
new file mode 100644
index 0000000..92ea059
--- /dev/null
+++ b/src/static/icons/search-heart.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/search.svg b/src/static/icons/search.svg
new file mode 100644
index 0000000..d3dc7ca
--- /dev/null
+++ b/src/static/icons/search.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/segmented-nav.svg b/src/static/icons/segmented-nav.svg
new file mode 100644
index 0000000..42323b2
--- /dev/null
+++ b/src/static/icons/segmented-nav.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-check-fill.svg b/src/static/icons/send-check-fill.svg
new file mode 100644
index 0000000..4b0a56a
--- /dev/null
+++ b/src/static/icons/send-check-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-check.svg b/src/static/icons/send-check.svg
new file mode 100644
index 0000000..581ebbe
--- /dev/null
+++ b/src/static/icons/send-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-dash-fill.svg b/src/static/icons/send-dash-fill.svg
new file mode 100644
index 0000000..254329c
--- /dev/null
+++ b/src/static/icons/send-dash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-dash.svg b/src/static/icons/send-dash.svg
new file mode 100644
index 0000000..abfbad3
--- /dev/null
+++ b/src/static/icons/send-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-exclamation-fill.svg b/src/static/icons/send-exclamation-fill.svg
new file mode 100644
index 0000000..5a77e98
--- /dev/null
+++ b/src/static/icons/send-exclamation-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-exclamation.svg b/src/static/icons/send-exclamation.svg
new file mode 100644
index 0000000..149a7f7
--- /dev/null
+++ b/src/static/icons/send-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-fill.svg b/src/static/icons/send-fill.svg
new file mode 100644
index 0000000..2a84015
--- /dev/null
+++ b/src/static/icons/send-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-plus-fill.svg b/src/static/icons/send-plus-fill.svg
new file mode 100644
index 0000000..bea3738
--- /dev/null
+++ b/src/static/icons/send-plus-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-plus.svg b/src/static/icons/send-plus.svg
new file mode 100644
index 0000000..4120228
--- /dev/null
+++ b/src/static/icons/send-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-slash-fill.svg b/src/static/icons/send-slash-fill.svg
new file mode 100644
index 0000000..3345687
--- /dev/null
+++ b/src/static/icons/send-slash-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-slash.svg b/src/static/icons/send-slash.svg
new file mode 100644
index 0000000..782daf3
--- /dev/null
+++ b/src/static/icons/send-slash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-x-fill.svg b/src/static/icons/send-x-fill.svg
new file mode 100644
index 0000000..ce102ba
--- /dev/null
+++ b/src/static/icons/send-x-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send-x.svg b/src/static/icons/send-x.svg
new file mode 100644
index 0000000..c8bc8bf
--- /dev/null
+++ b/src/static/icons/send-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/send.svg b/src/static/icons/send.svg
new file mode 100644
index 0000000..c81fc95
--- /dev/null
+++ b/src/static/icons/send.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/server.svg b/src/static/icons/server.svg
new file mode 100644
index 0000000..ff85feb
--- /dev/null
+++ b/src/static/icons/server.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/share-fill.svg b/src/static/icons/share-fill.svg
new file mode 100644
index 0000000..8b0ee88
--- /dev/null
+++ b/src/static/icons/share-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/share.svg b/src/static/icons/share.svg
new file mode 100644
index 0000000..79d3075
--- /dev/null
+++ b/src/static/icons/share.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-check.svg b/src/static/icons/shield-check.svg
new file mode 100644
index 0000000..ecbf543
--- /dev/null
+++ b/src/static/icons/shield-check.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-exclamation.svg b/src/static/icons/shield-exclamation.svg
new file mode 100644
index 0000000..825de04
--- /dev/null
+++ b/src/static/icons/shield-exclamation.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill-check.svg b/src/static/icons/shield-fill-check.svg
new file mode 100644
index 0000000..a72b2ba
--- /dev/null
+++ b/src/static/icons/shield-fill-check.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill-exclamation.svg b/src/static/icons/shield-fill-exclamation.svg
new file mode 100644
index 0000000..b489a68
--- /dev/null
+++ b/src/static/icons/shield-fill-exclamation.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill-minus.svg b/src/static/icons/shield-fill-minus.svg
new file mode 100644
index 0000000..b9b9129
--- /dev/null
+++ b/src/static/icons/shield-fill-minus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill-plus.svg b/src/static/icons/shield-fill-plus.svg
new file mode 100644
index 0000000..aec96d1
--- /dev/null
+++ b/src/static/icons/shield-fill-plus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill-x.svg b/src/static/icons/shield-fill-x.svg
new file mode 100644
index 0000000..d384af4
--- /dev/null
+++ b/src/static/icons/shield-fill-x.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-fill.svg b/src/static/icons/shield-fill.svg
new file mode 100644
index 0000000..d1d877d
--- /dev/null
+++ b/src/static/icons/shield-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-lock-fill.svg b/src/static/icons/shield-lock-fill.svg
new file mode 100644
index 0000000..e4c96b4
--- /dev/null
+++ b/src/static/icons/shield-lock-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-lock.svg b/src/static/icons/shield-lock.svg
new file mode 100644
index 0000000..ff38425
--- /dev/null
+++ b/src/static/icons/shield-lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-minus.svg b/src/static/icons/shield-minus.svg
new file mode 100644
index 0000000..d1cedfd
--- /dev/null
+++ b/src/static/icons/shield-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-plus.svg b/src/static/icons/shield-plus.svg
new file mode 100644
index 0000000..77bcb1a
--- /dev/null
+++ b/src/static/icons/shield-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-shaded.svg b/src/static/icons/shield-shaded.svg
new file mode 100644
index 0000000..9c4af1a
--- /dev/null
+++ b/src/static/icons/shield-shaded.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-slash-fill.svg b/src/static/icons/shield-slash-fill.svg
new file mode 100644
index 0000000..015d11b
--- /dev/null
+++ b/src/static/icons/shield-slash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-slash.svg b/src/static/icons/shield-slash.svg
new file mode 100644
index 0000000..234afa2
--- /dev/null
+++ b/src/static/icons/shield-slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield-x.svg b/src/static/icons/shield-x.svg
new file mode 100644
index 0000000..3fe1666
--- /dev/null
+++ b/src/static/icons/shield-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shield.svg b/src/static/icons/shield.svg
new file mode 100644
index 0000000..18309d1
--- /dev/null
+++ b/src/static/icons/shield.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shift-fill.svg b/src/static/icons/shift-fill.svg
new file mode 100644
index 0000000..da897bc
--- /dev/null
+++ b/src/static/icons/shift-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shift.svg b/src/static/icons/shift.svg
new file mode 100644
index 0000000..59a88ef
--- /dev/null
+++ b/src/static/icons/shift.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shop-window.svg b/src/static/icons/shop-window.svg
new file mode 100644
index 0000000..a306cfa
--- /dev/null
+++ b/src/static/icons/shop-window.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shop.svg b/src/static/icons/shop.svg
new file mode 100644
index 0000000..223d77b
--- /dev/null
+++ b/src/static/icons/shop.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/shuffle.svg b/src/static/icons/shuffle.svg
new file mode 100644
index 0000000..83bf20c
--- /dev/null
+++ b/src/static/icons/shuffle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-dead-end-fill.svg b/src/static/icons/sign-dead-end-fill.svg
new file mode 100644
index 0000000..b7f5876
--- /dev/null
+++ b/src/static/icons/sign-dead-end-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-dead-end.svg b/src/static/icons/sign-dead-end.svg
new file mode 100644
index 0000000..2828c9a
--- /dev/null
+++ b/src/static/icons/sign-dead-end.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-do-not-enter-fill.svg b/src/static/icons/sign-do-not-enter-fill.svg
new file mode 100644
index 0000000..3dfab6c
--- /dev/null
+++ b/src/static/icons/sign-do-not-enter-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-do-not-enter.svg b/src/static/icons/sign-do-not-enter.svg
new file mode 100644
index 0000000..bf1ab21
--- /dev/null
+++ b/src/static/icons/sign-do-not-enter.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-fill.svg b/src/static/icons/sign-intersection-fill.svg
new file mode 100644
index 0000000..a8d0e5b
--- /dev/null
+++ b/src/static/icons/sign-intersection-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-side-fill.svg b/src/static/icons/sign-intersection-side-fill.svg
new file mode 100644
index 0000000..7e6fd34
--- /dev/null
+++ b/src/static/icons/sign-intersection-side-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-side.svg b/src/static/icons/sign-intersection-side.svg
new file mode 100644
index 0000000..80959aa
--- /dev/null
+++ b/src/static/icons/sign-intersection-side.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-t-fill.svg b/src/static/icons/sign-intersection-t-fill.svg
new file mode 100644
index 0000000..0927772
--- /dev/null
+++ b/src/static/icons/sign-intersection-t-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-t.svg b/src/static/icons/sign-intersection-t.svg
new file mode 100644
index 0000000..95240f4
--- /dev/null
+++ b/src/static/icons/sign-intersection-t.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-y-fill.svg b/src/static/icons/sign-intersection-y-fill.svg
new file mode 100644
index 0000000..80201f9
--- /dev/null
+++ b/src/static/icons/sign-intersection-y-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection-y.svg b/src/static/icons/sign-intersection-y.svg
new file mode 100644
index 0000000..efc84a3
--- /dev/null
+++ b/src/static/icons/sign-intersection-y.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-intersection.svg b/src/static/icons/sign-intersection.svg
new file mode 100644
index 0000000..509b13f
--- /dev/null
+++ b/src/static/icons/sign-intersection.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-merge-left-fill.svg b/src/static/icons/sign-merge-left-fill.svg
new file mode 100644
index 0000000..a1bd7ac
--- /dev/null
+++ b/src/static/icons/sign-merge-left-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-merge-left.svg b/src/static/icons/sign-merge-left.svg
new file mode 100644
index 0000000..b509fa2
--- /dev/null
+++ b/src/static/icons/sign-merge-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-merge-right-fill.svg b/src/static/icons/sign-merge-right-fill.svg
new file mode 100644
index 0000000..7f77190
--- /dev/null
+++ b/src/static/icons/sign-merge-right-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-merge-right.svg b/src/static/icons/sign-merge-right.svg
new file mode 100644
index 0000000..0339ab2
--- /dev/null
+++ b/src/static/icons/sign-merge-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-left-turn-fill.svg b/src/static/icons/sign-no-left-turn-fill.svg
new file mode 100644
index 0000000..86cc79b
--- /dev/null
+++ b/src/static/icons/sign-no-left-turn-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-left-turn.svg b/src/static/icons/sign-no-left-turn.svg
new file mode 100644
index 0000000..e29d443
--- /dev/null
+++ b/src/static/icons/sign-no-left-turn.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-parking-fill.svg b/src/static/icons/sign-no-parking-fill.svg
new file mode 100644
index 0000000..0e1bf46
--- /dev/null
+++ b/src/static/icons/sign-no-parking-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-parking.svg b/src/static/icons/sign-no-parking.svg
new file mode 100644
index 0000000..cc97b1c
--- /dev/null
+++ b/src/static/icons/sign-no-parking.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-right-turn-fill.svg b/src/static/icons/sign-no-right-turn-fill.svg
new file mode 100644
index 0000000..7448c09
--- /dev/null
+++ b/src/static/icons/sign-no-right-turn-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-no-right-turn.svg b/src/static/icons/sign-no-right-turn.svg
new file mode 100644
index 0000000..e7de083
--- /dev/null
+++ b/src/static/icons/sign-no-right-turn.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-railroad-fill.svg b/src/static/icons/sign-railroad-fill.svg
new file mode 100644
index 0000000..2581813
--- /dev/null
+++ b/src/static/icons/sign-railroad-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-railroad.svg b/src/static/icons/sign-railroad.svg
new file mode 100644
index 0000000..a264db2
--- /dev/null
+++ b/src/static/icons/sign-railroad.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-stop-fill.svg b/src/static/icons/sign-stop-fill.svg
new file mode 100644
index 0000000..375af76
--- /dev/null
+++ b/src/static/icons/sign-stop-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-stop-lights-fill.svg b/src/static/icons/sign-stop-lights-fill.svg
new file mode 100644
index 0000000..df93e1c
--- /dev/null
+++ b/src/static/icons/sign-stop-lights-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-stop-lights.svg b/src/static/icons/sign-stop-lights.svg
new file mode 100644
index 0000000..297320a
--- /dev/null
+++ b/src/static/icons/sign-stop-lights.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-stop.svg b/src/static/icons/sign-stop.svg
new file mode 100644
index 0000000..14def74
--- /dev/null
+++ b/src/static/icons/sign-stop.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-left-fill.svg b/src/static/icons/sign-turn-left-fill.svg
new file mode 100644
index 0000000..87a6dca
--- /dev/null
+++ b/src/static/icons/sign-turn-left-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-left.svg b/src/static/icons/sign-turn-left.svg
new file mode 100644
index 0000000..bea00b7
--- /dev/null
+++ b/src/static/icons/sign-turn-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-right-fill.svg b/src/static/icons/sign-turn-right-fill.svg
new file mode 100644
index 0000000..4181518
--- /dev/null
+++ b/src/static/icons/sign-turn-right-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-right.svg b/src/static/icons/sign-turn-right.svg
new file mode 100644
index 0000000..da447db
--- /dev/null
+++ b/src/static/icons/sign-turn-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-slight-left-fill.svg b/src/static/icons/sign-turn-slight-left-fill.svg
new file mode 100644
index 0000000..62f8388
--- /dev/null
+++ b/src/static/icons/sign-turn-slight-left-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-slight-left.svg b/src/static/icons/sign-turn-slight-left.svg
new file mode 100644
index 0000000..79475ad
--- /dev/null
+++ b/src/static/icons/sign-turn-slight-left.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-slight-right-fill.svg b/src/static/icons/sign-turn-slight-right-fill.svg
new file mode 100644
index 0000000..c4c4761
--- /dev/null
+++ b/src/static/icons/sign-turn-slight-right-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-turn-slight-right.svg b/src/static/icons/sign-turn-slight-right.svg
new file mode 100644
index 0000000..cf22c01
--- /dev/null
+++ b/src/static/icons/sign-turn-slight-right.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-yield-fill.svg b/src/static/icons/sign-yield-fill.svg
new file mode 100644
index 0000000..c2ec9a5
--- /dev/null
+++ b/src/static/icons/sign-yield-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sign-yield.svg b/src/static/icons/sign-yield.svg
new file mode 100644
index 0000000..aabf3fb
--- /dev/null
+++ b/src/static/icons/sign-yield.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signal.svg b/src/static/icons/signal.svg
new file mode 100644
index 0000000..4220d48
--- /dev/null
+++ b/src/static/icons/signal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost-2-fill.svg b/src/static/icons/signpost-2-fill.svg
new file mode 100644
index 0000000..cc51e51
--- /dev/null
+++ b/src/static/icons/signpost-2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost-2.svg b/src/static/icons/signpost-2.svg
new file mode 100644
index 0000000..6a18b3b
--- /dev/null
+++ b/src/static/icons/signpost-2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost-fill.svg b/src/static/icons/signpost-fill.svg
new file mode 100644
index 0000000..f95f257
--- /dev/null
+++ b/src/static/icons/signpost-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost-split-fill.svg b/src/static/icons/signpost-split-fill.svg
new file mode 100644
index 0000000..86aa086
--- /dev/null
+++ b/src/static/icons/signpost-split-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost-split.svg b/src/static/icons/signpost-split.svg
new file mode 100644
index 0000000..0168ae5
--- /dev/null
+++ b/src/static/icons/signpost-split.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/signpost.svg b/src/static/icons/signpost.svg
new file mode 100644
index 0000000..90a8882
--- /dev/null
+++ b/src/static/icons/signpost.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sim-fill.svg b/src/static/icons/sim-fill.svg
new file mode 100644
index 0000000..c8e2c29
--- /dev/null
+++ b/src/static/icons/sim-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sim.svg b/src/static/icons/sim.svg
new file mode 100644
index 0000000..cc0e869
--- /dev/null
+++ b/src/static/icons/sim.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sina-weibo.svg b/src/static/icons/sina-weibo.svg
new file mode 100644
index 0000000..05c5f4b
--- /dev/null
+++ b/src/static/icons/sina-weibo.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward-btn-fill.svg b/src/static/icons/skip-backward-btn-fill.svg
new file mode 100644
index 0000000..bf06429
--- /dev/null
+++ b/src/static/icons/skip-backward-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward-btn.svg b/src/static/icons/skip-backward-btn.svg
new file mode 100644
index 0000000..b04455e
--- /dev/null
+++ b/src/static/icons/skip-backward-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward-circle-fill.svg b/src/static/icons/skip-backward-circle-fill.svg
new file mode 100644
index 0000000..f6b6e4d
--- /dev/null
+++ b/src/static/icons/skip-backward-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward-circle.svg b/src/static/icons/skip-backward-circle.svg
new file mode 100644
index 0000000..63e2a19
--- /dev/null
+++ b/src/static/icons/skip-backward-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward-fill.svg b/src/static/icons/skip-backward-fill.svg
new file mode 100644
index 0000000..a0ce53c
--- /dev/null
+++ b/src/static/icons/skip-backward-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-backward.svg b/src/static/icons/skip-backward.svg
new file mode 100644
index 0000000..9be60fe
--- /dev/null
+++ b/src/static/icons/skip-backward.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end-btn-fill.svg b/src/static/icons/skip-end-btn-fill.svg
new file mode 100644
index 0000000..55bf1ba
--- /dev/null
+++ b/src/static/icons/skip-end-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end-btn.svg b/src/static/icons/skip-end-btn.svg
new file mode 100644
index 0000000..6c5b044
--- /dev/null
+++ b/src/static/icons/skip-end-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end-circle-fill.svg b/src/static/icons/skip-end-circle-fill.svg
new file mode 100644
index 0000000..e303750
--- /dev/null
+++ b/src/static/icons/skip-end-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end-circle.svg b/src/static/icons/skip-end-circle.svg
new file mode 100644
index 0000000..39e8cd3
--- /dev/null
+++ b/src/static/icons/skip-end-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end-fill.svg b/src/static/icons/skip-end-fill.svg
new file mode 100644
index 0000000..fa90d3f
--- /dev/null
+++ b/src/static/icons/skip-end-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-end.svg b/src/static/icons/skip-end.svg
new file mode 100644
index 0000000..40d6fa9
--- /dev/null
+++ b/src/static/icons/skip-end.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward-btn-fill.svg b/src/static/icons/skip-forward-btn-fill.svg
new file mode 100644
index 0000000..b767e9c
--- /dev/null
+++ b/src/static/icons/skip-forward-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward-btn.svg b/src/static/icons/skip-forward-btn.svg
new file mode 100644
index 0000000..f67d3a8
--- /dev/null
+++ b/src/static/icons/skip-forward-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward-circle-fill.svg b/src/static/icons/skip-forward-circle-fill.svg
new file mode 100644
index 0000000..00cea35
--- /dev/null
+++ b/src/static/icons/skip-forward-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward-circle.svg b/src/static/icons/skip-forward-circle.svg
new file mode 100644
index 0000000..3b55d7e
--- /dev/null
+++ b/src/static/icons/skip-forward-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward-fill.svg b/src/static/icons/skip-forward-fill.svg
new file mode 100644
index 0000000..c4071aa
--- /dev/null
+++ b/src/static/icons/skip-forward-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-forward.svg b/src/static/icons/skip-forward.svg
new file mode 100644
index 0000000..a1c4720
--- /dev/null
+++ b/src/static/icons/skip-forward.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start-btn-fill.svg b/src/static/icons/skip-start-btn-fill.svg
new file mode 100644
index 0000000..56a1370
--- /dev/null
+++ b/src/static/icons/skip-start-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start-btn.svg b/src/static/icons/skip-start-btn.svg
new file mode 100644
index 0000000..c86afbe
--- /dev/null
+++ b/src/static/icons/skip-start-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start-circle-fill.svg b/src/static/icons/skip-start-circle-fill.svg
new file mode 100644
index 0000000..b6d13b0
--- /dev/null
+++ b/src/static/icons/skip-start-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start-circle.svg b/src/static/icons/skip-start-circle.svg
new file mode 100644
index 0000000..f9664d9
--- /dev/null
+++ b/src/static/icons/skip-start-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start-fill.svg b/src/static/icons/skip-start-fill.svg
new file mode 100644
index 0000000..c4295fc
--- /dev/null
+++ b/src/static/icons/skip-start-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skip-start.svg b/src/static/icons/skip-start.svg
new file mode 100644
index 0000000..a178e0e
--- /dev/null
+++ b/src/static/icons/skip-start.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/skype.svg b/src/static/icons/skype.svg
new file mode 100644
index 0000000..b3beaf9
--- /dev/null
+++ b/src/static/icons/skype.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slack.svg b/src/static/icons/slack.svg
new file mode 100644
index 0000000..f4aa6e6
--- /dev/null
+++ b/src/static/icons/slack.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash-circle-fill.svg b/src/static/icons/slash-circle-fill.svg
new file mode 100644
index 0000000..f703101
--- /dev/null
+++ b/src/static/icons/slash-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash-circle.svg b/src/static/icons/slash-circle.svg
new file mode 100644
index 0000000..4c1344b
--- /dev/null
+++ b/src/static/icons/slash-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash-lg.svg b/src/static/icons/slash-lg.svg
new file mode 100644
index 0000000..161b6ec
--- /dev/null
+++ b/src/static/icons/slash-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash-square-fill.svg b/src/static/icons/slash-square-fill.svg
new file mode 100644
index 0000000..c7a3935
--- /dev/null
+++ b/src/static/icons/slash-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash-square.svg b/src/static/icons/slash-square.svg
new file mode 100644
index 0000000..ccf42bd
--- /dev/null
+++ b/src/static/icons/slash-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/slash.svg b/src/static/icons/slash.svg
new file mode 100644
index 0000000..9616561
--- /dev/null
+++ b/src/static/icons/slash.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sliders.svg b/src/static/icons/sliders.svg
new file mode 100644
index 0000000..da4b835
--- /dev/null
+++ b/src/static/icons/sliders.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sliders2-vertical.svg b/src/static/icons/sliders2-vertical.svg
new file mode 100644
index 0000000..c474281
--- /dev/null
+++ b/src/static/icons/sliders2-vertical.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sliders2.svg b/src/static/icons/sliders2.svg
new file mode 100644
index 0000000..86fa70c
--- /dev/null
+++ b/src/static/icons/sliders2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/smartwatch.svg b/src/static/icons/smartwatch.svg
new file mode 100644
index 0000000..696bd33
--- /dev/null
+++ b/src/static/icons/smartwatch.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/snapchat.svg b/src/static/icons/snapchat.svg
new file mode 100644
index 0000000..505f55a
--- /dev/null
+++ b/src/static/icons/snapchat.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/snow.svg b/src/static/icons/snow.svg
new file mode 100644
index 0000000..9b648a5
--- /dev/null
+++ b/src/static/icons/snow.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/snow2.svg b/src/static/icons/snow2.svg
new file mode 100644
index 0000000..cede335
--- /dev/null
+++ b/src/static/icons/snow2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/snow3.svg b/src/static/icons/snow3.svg
new file mode 100644
index 0000000..75e5ef2
--- /dev/null
+++ b/src/static/icons/snow3.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-alpha-down-alt.svg b/src/static/icons/sort-alpha-down-alt.svg
new file mode 100644
index 0000000..fa4f4fa
--- /dev/null
+++ b/src/static/icons/sort-alpha-down-alt.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-alpha-down.svg b/src/static/icons/sort-alpha-down.svg
new file mode 100644
index 0000000..e0fcad0
--- /dev/null
+++ b/src/static/icons/sort-alpha-down.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-alpha-up-alt.svg b/src/static/icons/sort-alpha-up-alt.svg
new file mode 100644
index 0000000..69c1a39
--- /dev/null
+++ b/src/static/icons/sort-alpha-up-alt.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-alpha-up.svg b/src/static/icons/sort-alpha-up.svg
new file mode 100644
index 0000000..0be5e68
--- /dev/null
+++ b/src/static/icons/sort-alpha-up.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-down-alt.svg b/src/static/icons/sort-down-alt.svg
new file mode 100644
index 0000000..d7f7fc8
--- /dev/null
+++ b/src/static/icons/sort-down-alt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-down.svg b/src/static/icons/sort-down.svg
new file mode 100644
index 0000000..848834c
--- /dev/null
+++ b/src/static/icons/sort-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-numeric-down-alt.svg b/src/static/icons/sort-numeric-down-alt.svg
new file mode 100644
index 0000000..8c39a5a
--- /dev/null
+++ b/src/static/icons/sort-numeric-down-alt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-numeric-down.svg b/src/static/icons/sort-numeric-down.svg
new file mode 100644
index 0000000..57a3fb0
--- /dev/null
+++ b/src/static/icons/sort-numeric-down.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-numeric-up-alt.svg b/src/static/icons/sort-numeric-up-alt.svg
new file mode 100644
index 0000000..e8edf88
--- /dev/null
+++ b/src/static/icons/sort-numeric-up-alt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-numeric-up.svg b/src/static/icons/sort-numeric-up.svg
new file mode 100644
index 0000000..1cd0a37
--- /dev/null
+++ b/src/static/icons/sort-numeric-up.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-up-alt.svg b/src/static/icons/sort-up-alt.svg
new file mode 100644
index 0000000..96650d5
--- /dev/null
+++ b/src/static/icons/sort-up-alt.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sort-up.svg b/src/static/icons/sort-up.svg
new file mode 100644
index 0000000..2158801
--- /dev/null
+++ b/src/static/icons/sort-up.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/soundwave.svg b/src/static/icons/soundwave.svg
new file mode 100644
index 0000000..288f108
--- /dev/null
+++ b/src/static/icons/soundwave.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/speaker-fill.svg b/src/static/icons/speaker-fill.svg
new file mode 100644
index 0000000..bae80e2
--- /dev/null
+++ b/src/static/icons/speaker-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/speaker.svg b/src/static/icons/speaker.svg
new file mode 100644
index 0000000..461626d
--- /dev/null
+++ b/src/static/icons/speaker.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/speedometer.svg b/src/static/icons/speedometer.svg
new file mode 100644
index 0000000..5a0a43c
--- /dev/null
+++ b/src/static/icons/speedometer.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/speedometer2.svg b/src/static/icons/speedometer2.svg
new file mode 100644
index 0000000..d5676df
--- /dev/null
+++ b/src/static/icons/speedometer2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/spellcheck.svg b/src/static/icons/spellcheck.svg
new file mode 100644
index 0000000..029950f
--- /dev/null
+++ b/src/static/icons/spellcheck.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/spotify.svg b/src/static/icons/spotify.svg
new file mode 100644
index 0000000..31b4238
--- /dev/null
+++ b/src/static/icons/spotify.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/square-fill.svg b/src/static/icons/square-fill.svg
new file mode 100644
index 0000000..31bae4f
--- /dev/null
+++ b/src/static/icons/square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/square-half.svg b/src/static/icons/square-half.svg
new file mode 100644
index 0000000..3f8179d
--- /dev/null
+++ b/src/static/icons/square-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/square.svg b/src/static/icons/square.svg
new file mode 100644
index 0000000..ded82d4
--- /dev/null
+++ b/src/static/icons/square.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stack-overflow.svg b/src/static/icons/stack-overflow.svg
new file mode 100644
index 0000000..b7d482d
--- /dev/null
+++ b/src/static/icons/stack-overflow.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stack.svg b/src/static/icons/stack.svg
new file mode 100644
index 0000000..b8a9c94
--- /dev/null
+++ b/src/static/icons/stack.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/star-fill.svg b/src/static/icons/star-fill.svg
new file mode 100644
index 0000000..de09c4a
--- /dev/null
+++ b/src/static/icons/star-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/star-half.svg b/src/static/icons/star-half.svg
new file mode 100644
index 0000000..8d30e7e
--- /dev/null
+++ b/src/static/icons/star-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/star.svg b/src/static/icons/star.svg
new file mode 100644
index 0000000..742b5e2
--- /dev/null
+++ b/src/static/icons/star.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stars.svg b/src/static/icons/stars.svg
new file mode 100644
index 0000000..2c16677
--- /dev/null
+++ b/src/static/icons/stars.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/steam.svg b/src/static/icons/steam.svg
new file mode 100644
index 0000000..aecd433
--- /dev/null
+++ b/src/static/icons/steam.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stickies-fill.svg b/src/static/icons/stickies-fill.svg
new file mode 100644
index 0000000..a0252da
--- /dev/null
+++ b/src/static/icons/stickies-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stickies.svg b/src/static/icons/stickies.svg
new file mode 100644
index 0000000..8252c49
--- /dev/null
+++ b/src/static/icons/stickies.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sticky-fill.svg b/src/static/icons/sticky-fill.svg
new file mode 100644
index 0000000..acd42b9
--- /dev/null
+++ b/src/static/icons/sticky-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sticky.svg b/src/static/icons/sticky.svg
new file mode 100644
index 0000000..dba0142
--- /dev/null
+++ b/src/static/icons/sticky.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop-btn-fill.svg b/src/static/icons/stop-btn-fill.svg
new file mode 100644
index 0000000..58b6c02
--- /dev/null
+++ b/src/static/icons/stop-btn-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop-btn.svg b/src/static/icons/stop-btn.svg
new file mode 100644
index 0000000..5c392ec
--- /dev/null
+++ b/src/static/icons/stop-btn.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop-circle-fill.svg b/src/static/icons/stop-circle-fill.svg
new file mode 100644
index 0000000..ac711e0
--- /dev/null
+++ b/src/static/icons/stop-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop-circle.svg b/src/static/icons/stop-circle.svg
new file mode 100644
index 0000000..441613c
--- /dev/null
+++ b/src/static/icons/stop-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop-fill.svg b/src/static/icons/stop-fill.svg
new file mode 100644
index 0000000..e00085a
--- /dev/null
+++ b/src/static/icons/stop-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stop.svg b/src/static/icons/stop.svg
new file mode 100644
index 0000000..2b86647
--- /dev/null
+++ b/src/static/icons/stop.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stoplights-fill.svg b/src/static/icons/stoplights-fill.svg
new file mode 100644
index 0000000..a18566b
--- /dev/null
+++ b/src/static/icons/stoplights-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stoplights.svg b/src/static/icons/stoplights.svg
new file mode 100644
index 0000000..f765ab2
--- /dev/null
+++ b/src/static/icons/stoplights.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stopwatch-fill.svg b/src/static/icons/stopwatch-fill.svg
new file mode 100644
index 0000000..2d2ed11
--- /dev/null
+++ b/src/static/icons/stopwatch-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stopwatch.svg b/src/static/icons/stopwatch.svg
new file mode 100644
index 0000000..964dbb8
--- /dev/null
+++ b/src/static/icons/stopwatch.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/strava.svg b/src/static/icons/strava.svg
new file mode 100644
index 0000000..7e3237d
--- /dev/null
+++ b/src/static/icons/strava.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/stripe.svg b/src/static/icons/stripe.svg
new file mode 100644
index 0000000..f24fdf3
--- /dev/null
+++ b/src/static/icons/stripe.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/subscript.svg b/src/static/icons/subscript.svg
new file mode 100644
index 0000000..6976c0d
--- /dev/null
+++ b/src/static/icons/subscript.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/subtract.svg b/src/static/icons/subtract.svg
new file mode 100644
index 0000000..e1d878a
--- /dev/null
+++ b/src/static/icons/subtract.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-club-fill.svg b/src/static/icons/suit-club-fill.svg
new file mode 100644
index 0000000..d4d311a
--- /dev/null
+++ b/src/static/icons/suit-club-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-club.svg b/src/static/icons/suit-club.svg
new file mode 100644
index 0000000..75e5e85
--- /dev/null
+++ b/src/static/icons/suit-club.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-diamond-fill.svg b/src/static/icons/suit-diamond-fill.svg
new file mode 100644
index 0000000..2be1b7f
--- /dev/null
+++ b/src/static/icons/suit-diamond-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-diamond.svg b/src/static/icons/suit-diamond.svg
new file mode 100644
index 0000000..9192a27
--- /dev/null
+++ b/src/static/icons/suit-diamond.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-heart-fill.svg b/src/static/icons/suit-heart-fill.svg
new file mode 100644
index 0000000..0dd86f9
--- /dev/null
+++ b/src/static/icons/suit-heart-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-heart.svg b/src/static/icons/suit-heart.svg
new file mode 100644
index 0000000..c761ef4
--- /dev/null
+++ b/src/static/icons/suit-heart.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-spade-fill.svg b/src/static/icons/suit-spade-fill.svg
new file mode 100644
index 0000000..63bb0c6
--- /dev/null
+++ b/src/static/icons/suit-spade-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/suit-spade.svg b/src/static/icons/suit-spade.svg
new file mode 100644
index 0000000..8f14427
--- /dev/null
+++ b/src/static/icons/suit-spade.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sun-fill.svg b/src/static/icons/sun-fill.svg
new file mode 100644
index 0000000..cc1a60e
--- /dev/null
+++ b/src/static/icons/sun-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sun.svg b/src/static/icons/sun.svg
new file mode 100644
index 0000000..c311208
--- /dev/null
+++ b/src/static/icons/sun.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sunglasses.svg b/src/static/icons/sunglasses.svg
new file mode 100644
index 0000000..3f7dad0
--- /dev/null
+++ b/src/static/icons/sunglasses.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sunrise-fill.svg b/src/static/icons/sunrise-fill.svg
new file mode 100644
index 0000000..eb6a668
--- /dev/null
+++ b/src/static/icons/sunrise-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sunrise.svg b/src/static/icons/sunrise.svg
new file mode 100644
index 0000000..53d670d
--- /dev/null
+++ b/src/static/icons/sunrise.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sunset-fill.svg b/src/static/icons/sunset-fill.svg
new file mode 100644
index 0000000..7f5b60e
--- /dev/null
+++ b/src/static/icons/sunset-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/sunset.svg b/src/static/icons/sunset.svg
new file mode 100644
index 0000000..91041cf
--- /dev/null
+++ b/src/static/icons/sunset.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/superscript.svg b/src/static/icons/superscript.svg
new file mode 100644
index 0000000..06a1a78
--- /dev/null
+++ b/src/static/icons/superscript.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/symmetry-horizontal.svg b/src/static/icons/symmetry-horizontal.svg
new file mode 100644
index 0000000..7e46d90
--- /dev/null
+++ b/src/static/icons/symmetry-horizontal.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/symmetry-vertical.svg b/src/static/icons/symmetry-vertical.svg
new file mode 100644
index 0000000..a18fa2f
--- /dev/null
+++ b/src/static/icons/symmetry-vertical.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/table.svg b/src/static/icons/table.svg
new file mode 100644
index 0000000..5e70d22
--- /dev/null
+++ b/src/static/icons/table.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tablet-fill.svg b/src/static/icons/tablet-fill.svg
new file mode 100644
index 0000000..571ae8f
--- /dev/null
+++ b/src/static/icons/tablet-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tablet-landscape-fill.svg b/src/static/icons/tablet-landscape-fill.svg
new file mode 100644
index 0000000..a4a6048
--- /dev/null
+++ b/src/static/icons/tablet-landscape-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tablet-landscape.svg b/src/static/icons/tablet-landscape.svg
new file mode 100644
index 0000000..b36f7d4
--- /dev/null
+++ b/src/static/icons/tablet-landscape.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tablet.svg b/src/static/icons/tablet.svg
new file mode 100644
index 0000000..be81ff5
--- /dev/null
+++ b/src/static/icons/tablet.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tag-fill.svg b/src/static/icons/tag-fill.svg
new file mode 100644
index 0000000..1502792
--- /dev/null
+++ b/src/static/icons/tag-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tag.svg b/src/static/icons/tag.svg
new file mode 100644
index 0000000..ab34fdd
--- /dev/null
+++ b/src/static/icons/tag.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tags-fill.svg b/src/static/icons/tags-fill.svg
new file mode 100644
index 0000000..f92a361
--- /dev/null
+++ b/src/static/icons/tags-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tags.svg b/src/static/icons/tags.svg
new file mode 100644
index 0000000..9f6d676
--- /dev/null
+++ b/src/static/icons/tags.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/taxi-front-fill.svg b/src/static/icons/taxi-front-fill.svg
new file mode 100644
index 0000000..1e1eb19
--- /dev/null
+++ b/src/static/icons/taxi-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/taxi-front.svg b/src/static/icons/taxi-front.svg
new file mode 100644
index 0000000..4cb5fda
--- /dev/null
+++ b/src/static/icons/taxi-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telegram.svg b/src/static/icons/telegram.svg
new file mode 100644
index 0000000..139af07
--- /dev/null
+++ b/src/static/icons/telegram.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-fill.svg b/src/static/icons/telephone-fill.svg
new file mode 100644
index 0000000..efc72c0
--- /dev/null
+++ b/src/static/icons/telephone-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-forward-fill.svg b/src/static/icons/telephone-forward-fill.svg
new file mode 100644
index 0000000..f4ce483
--- /dev/null
+++ b/src/static/icons/telephone-forward-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-forward.svg b/src/static/icons/telephone-forward.svg
new file mode 100644
index 0000000..17ec9ce
--- /dev/null
+++ b/src/static/icons/telephone-forward.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-inbound-fill.svg b/src/static/icons/telephone-inbound-fill.svg
new file mode 100644
index 0000000..998c8fb
--- /dev/null
+++ b/src/static/icons/telephone-inbound-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-inbound.svg b/src/static/icons/telephone-inbound.svg
new file mode 100644
index 0000000..460fe9f
--- /dev/null
+++ b/src/static/icons/telephone-inbound.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-minus-fill.svg b/src/static/icons/telephone-minus-fill.svg
new file mode 100644
index 0000000..bc17abb
--- /dev/null
+++ b/src/static/icons/telephone-minus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-minus.svg b/src/static/icons/telephone-minus.svg
new file mode 100644
index 0000000..4f4d93c
--- /dev/null
+++ b/src/static/icons/telephone-minus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-outbound-fill.svg b/src/static/icons/telephone-outbound-fill.svg
new file mode 100644
index 0000000..16013a5
--- /dev/null
+++ b/src/static/icons/telephone-outbound-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-outbound.svg b/src/static/icons/telephone-outbound.svg
new file mode 100644
index 0000000..1382886
--- /dev/null
+++ b/src/static/icons/telephone-outbound.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-plus-fill.svg b/src/static/icons/telephone-plus-fill.svg
new file mode 100644
index 0000000..6d8c58f
--- /dev/null
+++ b/src/static/icons/telephone-plus-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-plus.svg b/src/static/icons/telephone-plus.svg
new file mode 100644
index 0000000..21ef909
--- /dev/null
+++ b/src/static/icons/telephone-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-x-fill.svg b/src/static/icons/telephone-x-fill.svg
new file mode 100644
index 0000000..c8ef894
--- /dev/null
+++ b/src/static/icons/telephone-x-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone-x.svg b/src/static/icons/telephone-x.svg
new file mode 100644
index 0000000..5aa3f95
--- /dev/null
+++ b/src/static/icons/telephone-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/telephone.svg b/src/static/icons/telephone.svg
new file mode 100644
index 0000000..8e359b8
--- /dev/null
+++ b/src/static/icons/telephone.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tencent-qq.svg b/src/static/icons/tencent-qq.svg
new file mode 100644
index 0000000..b107eb5
--- /dev/null
+++ b/src/static/icons/tencent-qq.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal-dash.svg b/src/static/icons/terminal-dash.svg
new file mode 100644
index 0000000..9049b5e
--- /dev/null
+++ b/src/static/icons/terminal-dash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal-fill.svg b/src/static/icons/terminal-fill.svg
new file mode 100644
index 0000000..d3c6394
--- /dev/null
+++ b/src/static/icons/terminal-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal-plus.svg b/src/static/icons/terminal-plus.svg
new file mode 100644
index 0000000..be268c8
--- /dev/null
+++ b/src/static/icons/terminal-plus.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal-split.svg b/src/static/icons/terminal-split.svg
new file mode 100644
index 0000000..f65d2c7
--- /dev/null
+++ b/src/static/icons/terminal-split.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal-x.svg b/src/static/icons/terminal-x.svg
new file mode 100644
index 0000000..5128f11
--- /dev/null
+++ b/src/static/icons/terminal-x.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/terminal.svg b/src/static/icons/terminal.svg
new file mode 100644
index 0000000..e12c9f8
--- /dev/null
+++ b/src/static/icons/terminal.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-center.svg b/src/static/icons/text-center.svg
new file mode 100644
index 0000000..2887a99
--- /dev/null
+++ b/src/static/icons/text-center.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-indent-left.svg b/src/static/icons/text-indent-left.svg
new file mode 100644
index 0000000..34d8c55
--- /dev/null
+++ b/src/static/icons/text-indent-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-indent-right.svg b/src/static/icons/text-indent-right.svg
new file mode 100644
index 0000000..fdd837f
--- /dev/null
+++ b/src/static/icons/text-indent-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-left.svg b/src/static/icons/text-left.svg
new file mode 100644
index 0000000..0452611
--- /dev/null
+++ b/src/static/icons/text-left.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-paragraph.svg b/src/static/icons/text-paragraph.svg
new file mode 100644
index 0000000..9779bea
--- /dev/null
+++ b/src/static/icons/text-paragraph.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-right.svg b/src/static/icons/text-right.svg
new file mode 100644
index 0000000..34686b0
--- /dev/null
+++ b/src/static/icons/text-right.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/text-wrap.svg b/src/static/icons/text-wrap.svg
new file mode 100644
index 0000000..713a96c
--- /dev/null
+++ b/src/static/icons/text-wrap.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/textarea-resize.svg b/src/static/icons/textarea-resize.svg
new file mode 100644
index 0000000..c4a9d9f
--- /dev/null
+++ b/src/static/icons/textarea-resize.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/textarea-t.svg b/src/static/icons/textarea-t.svg
new file mode 100644
index 0000000..dc7e17c
--- /dev/null
+++ b/src/static/icons/textarea-t.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/textarea.svg b/src/static/icons/textarea.svg
new file mode 100644
index 0000000..9aa5445
--- /dev/null
+++ b/src/static/icons/textarea.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer-half.svg b/src/static/icons/thermometer-half.svg
new file mode 100644
index 0000000..cafefd2
--- /dev/null
+++ b/src/static/icons/thermometer-half.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer-high.svg b/src/static/icons/thermometer-high.svg
new file mode 100644
index 0000000..15acf4c
--- /dev/null
+++ b/src/static/icons/thermometer-high.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer-low.svg b/src/static/icons/thermometer-low.svg
new file mode 100644
index 0000000..ce540e0
--- /dev/null
+++ b/src/static/icons/thermometer-low.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer-snow.svg b/src/static/icons/thermometer-snow.svg
new file mode 100644
index 0000000..0e1b400
--- /dev/null
+++ b/src/static/icons/thermometer-snow.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer-sun.svg b/src/static/icons/thermometer-sun.svg
new file mode 100644
index 0000000..07c3290
--- /dev/null
+++ b/src/static/icons/thermometer-sun.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thermometer.svg b/src/static/icons/thermometer.svg
new file mode 100644
index 0000000..748813e
--- /dev/null
+++ b/src/static/icons/thermometer.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/three-dots-vertical.svg b/src/static/icons/three-dots-vertical.svg
new file mode 100644
index 0000000..cd0c79a
--- /dev/null
+++ b/src/static/icons/three-dots-vertical.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/three-dots.svg b/src/static/icons/three-dots.svg
new file mode 100644
index 0000000..ea92369
--- /dev/null
+++ b/src/static/icons/three-dots.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thunderbolt-fill.svg b/src/static/icons/thunderbolt-fill.svg
new file mode 100644
index 0000000..85c437e
--- /dev/null
+++ b/src/static/icons/thunderbolt-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/thunderbolt.svg b/src/static/icons/thunderbolt.svg
new file mode 100644
index 0000000..b8356da
--- /dev/null
+++ b/src/static/icons/thunderbolt.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket-detailed-fill.svg b/src/static/icons/ticket-detailed-fill.svg
new file mode 100644
index 0000000..bc5d192
--- /dev/null
+++ b/src/static/icons/ticket-detailed-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket-detailed.svg b/src/static/icons/ticket-detailed.svg
new file mode 100644
index 0000000..c2701bb
--- /dev/null
+++ b/src/static/icons/ticket-detailed.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket-fill.svg b/src/static/icons/ticket-fill.svg
new file mode 100644
index 0000000..73728b6
--- /dev/null
+++ b/src/static/icons/ticket-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket-perforated-fill.svg b/src/static/icons/ticket-perforated-fill.svg
new file mode 100644
index 0000000..2ec1d57
--- /dev/null
+++ b/src/static/icons/ticket-perforated-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket-perforated.svg b/src/static/icons/ticket-perforated.svg
new file mode 100644
index 0000000..194ae05
--- /dev/null
+++ b/src/static/icons/ticket-perforated.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ticket.svg b/src/static/icons/ticket.svg
new file mode 100644
index 0000000..f24a93e
--- /dev/null
+++ b/src/static/icons/ticket.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tiktok.svg b/src/static/icons/tiktok.svg
new file mode 100644
index 0000000..7edac4e
--- /dev/null
+++ b/src/static/icons/tiktok.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggle-off.svg b/src/static/icons/toggle-off.svg
new file mode 100644
index 0000000..97d6dab
--- /dev/null
+++ b/src/static/icons/toggle-off.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggle-on.svg b/src/static/icons/toggle-on.svg
new file mode 100644
index 0000000..d13b495
--- /dev/null
+++ b/src/static/icons/toggle-on.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggle2-off.svg b/src/static/icons/toggle2-off.svg
new file mode 100644
index 0000000..a8fee6b
--- /dev/null
+++ b/src/static/icons/toggle2-off.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggle2-on.svg b/src/static/icons/toggle2-on.svg
new file mode 100644
index 0000000..993ec33
--- /dev/null
+++ b/src/static/icons/toggle2-on.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggles.svg b/src/static/icons/toggles.svg
new file mode 100644
index 0000000..d53ae01
--- /dev/null
+++ b/src/static/icons/toggles.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/toggles2.svg b/src/static/icons/toggles2.svg
new file mode 100644
index 0000000..862fc9f
--- /dev/null
+++ b/src/static/icons/toggles2.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tools.svg b/src/static/icons/tools.svg
new file mode 100644
index 0000000..fcc8362
--- /dev/null
+++ b/src/static/icons/tools.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tornado.svg b/src/static/icons/tornado.svg
new file mode 100644
index 0000000..5bb53a2
--- /dev/null
+++ b/src/static/icons/tornado.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-freight-front-fill.svg b/src/static/icons/train-freight-front-fill.svg
new file mode 100644
index 0000000..8278bb9
--- /dev/null
+++ b/src/static/icons/train-freight-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-freight-front.svg b/src/static/icons/train-freight-front.svg
new file mode 100644
index 0000000..a56961a
--- /dev/null
+++ b/src/static/icons/train-freight-front.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-front-fill.svg b/src/static/icons/train-front-fill.svg
new file mode 100644
index 0000000..85c56ef
--- /dev/null
+++ b/src/static/icons/train-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-front.svg b/src/static/icons/train-front.svg
new file mode 100644
index 0000000..c84d62b
--- /dev/null
+++ b/src/static/icons/train-front.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-lightrail-front-fill.svg b/src/static/icons/train-lightrail-front-fill.svg
new file mode 100644
index 0000000..e4fdebf
--- /dev/null
+++ b/src/static/icons/train-lightrail-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/train-lightrail-front.svg b/src/static/icons/train-lightrail-front.svg
new file mode 100644
index 0000000..0e4c57e
--- /dev/null
+++ b/src/static/icons/train-lightrail-front.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/translate.svg b/src/static/icons/translate.svg
new file mode 100644
index 0000000..39a17d2
--- /dev/null
+++ b/src/static/icons/translate.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash-fill.svg b/src/static/icons/trash-fill.svg
new file mode 100644
index 0000000..1a20e6a
--- /dev/null
+++ b/src/static/icons/trash-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash.svg b/src/static/icons/trash.svg
new file mode 100644
index 0000000..4d0ee36
--- /dev/null
+++ b/src/static/icons/trash.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash2-fill.svg b/src/static/icons/trash2-fill.svg
new file mode 100644
index 0000000..bc78b6d
--- /dev/null
+++ b/src/static/icons/trash2-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash2.svg b/src/static/icons/trash2.svg
new file mode 100644
index 0000000..6e6468e
--- /dev/null
+++ b/src/static/icons/trash2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash3-fill.svg b/src/static/icons/trash3-fill.svg
new file mode 100644
index 0000000..e0e81f1
--- /dev/null
+++ b/src/static/icons/trash3-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trash3.svg b/src/static/icons/trash3.svg
new file mode 100644
index 0000000..1d5f42e
--- /dev/null
+++ b/src/static/icons/trash3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tree-fill.svg b/src/static/icons/tree-fill.svg
new file mode 100644
index 0000000..4d45dd4
--- /dev/null
+++ b/src/static/icons/tree-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tree.svg b/src/static/icons/tree.svg
new file mode 100644
index 0000000..b97eb64
--- /dev/null
+++ b/src/static/icons/tree.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trello.svg b/src/static/icons/trello.svg
new file mode 100644
index 0000000..0886058
--- /dev/null
+++ b/src/static/icons/trello.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/triangle-fill.svg b/src/static/icons/triangle-fill.svg
new file mode 100644
index 0000000..654787f
--- /dev/null
+++ b/src/static/icons/triangle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/triangle-half.svg b/src/static/icons/triangle-half.svg
new file mode 100644
index 0000000..8f86f28
--- /dev/null
+++ b/src/static/icons/triangle-half.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/triangle.svg b/src/static/icons/triangle.svg
new file mode 100644
index 0000000..1fa1898
--- /dev/null
+++ b/src/static/icons/triangle.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trophy-fill.svg b/src/static/icons/trophy-fill.svg
new file mode 100644
index 0000000..e29f001
--- /dev/null
+++ b/src/static/icons/trophy-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/trophy.svg b/src/static/icons/trophy.svg
new file mode 100644
index 0000000..adfa108
--- /dev/null
+++ b/src/static/icons/trophy.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tropical-storm.svg b/src/static/icons/tropical-storm.svg
new file mode 100644
index 0000000..c16188d
--- /dev/null
+++ b/src/static/icons/tropical-storm.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/truck-flatbed.svg b/src/static/icons/truck-flatbed.svg
new file mode 100644
index 0000000..5a37c8d
--- /dev/null
+++ b/src/static/icons/truck-flatbed.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/truck-front-fill.svg b/src/static/icons/truck-front-fill.svg
new file mode 100644
index 0000000..0aeb0a1
--- /dev/null
+++ b/src/static/icons/truck-front-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/truck-front.svg b/src/static/icons/truck-front.svg
new file mode 100644
index 0000000..9e4bbf1
--- /dev/null
+++ b/src/static/icons/truck-front.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/truck.svg b/src/static/icons/truck.svg
new file mode 100644
index 0000000..1afc549
--- /dev/null
+++ b/src/static/icons/truck.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tsunami.svg b/src/static/icons/tsunami.svg
new file mode 100644
index 0000000..cf57486
--- /dev/null
+++ b/src/static/icons/tsunami.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tv-fill.svg b/src/static/icons/tv-fill.svg
new file mode 100644
index 0000000..bf9830f
--- /dev/null
+++ b/src/static/icons/tv-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/tv.svg b/src/static/icons/tv.svg
new file mode 100644
index 0000000..bba3da1
--- /dev/null
+++ b/src/static/icons/tv.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/twitch.svg b/src/static/icons/twitch.svg
new file mode 100644
index 0000000..2975f80
--- /dev/null
+++ b/src/static/icons/twitch.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/twitter.svg b/src/static/icons/twitter.svg
new file mode 100644
index 0000000..8a83fa6
--- /dev/null
+++ b/src/static/icons/twitter.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/static/icons/type-bold.svg b/src/static/icons/type-bold.svg
new file mode 100644
index 0000000..276d133
--- /dev/null
+++ b/src/static/icons/type-bold.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-h1.svg b/src/static/icons/type-h1.svg
new file mode 100644
index 0000000..4c89181
--- /dev/null
+++ b/src/static/icons/type-h1.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-h2.svg b/src/static/icons/type-h2.svg
new file mode 100644
index 0000000..b6ab765
--- /dev/null
+++ b/src/static/icons/type-h2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-h3.svg b/src/static/icons/type-h3.svg
new file mode 100644
index 0000000..154c293
--- /dev/null
+++ b/src/static/icons/type-h3.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-italic.svg b/src/static/icons/type-italic.svg
new file mode 100644
index 0000000..3ac6b09
--- /dev/null
+++ b/src/static/icons/type-italic.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-strikethrough.svg b/src/static/icons/type-strikethrough.svg
new file mode 100644
index 0000000..1c940e4
--- /dev/null
+++ b/src/static/icons/type-strikethrough.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type-underline.svg b/src/static/icons/type-underline.svg
new file mode 100644
index 0000000..c299b8b
--- /dev/null
+++ b/src/static/icons/type-underline.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/type.svg b/src/static/icons/type.svg
new file mode 100644
index 0000000..9ab1e4c
--- /dev/null
+++ b/src/static/icons/type.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ubuntu.svg b/src/static/icons/ubuntu.svg
new file mode 100644
index 0000000..27f8c27
--- /dev/null
+++ b/src/static/icons/ubuntu.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ui-checks-grid.svg b/src/static/icons/ui-checks-grid.svg
new file mode 100644
index 0000000..a32d424
--- /dev/null
+++ b/src/static/icons/ui-checks-grid.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ui-checks.svg b/src/static/icons/ui-checks.svg
new file mode 100644
index 0000000..9b659e2
--- /dev/null
+++ b/src/static/icons/ui-checks.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ui-radios-grid.svg b/src/static/icons/ui-radios-grid.svg
new file mode 100644
index 0000000..00c7b08
--- /dev/null
+++ b/src/static/icons/ui-radios-grid.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/ui-radios.svg b/src/static/icons/ui-radios.svg
new file mode 100644
index 0000000..da779af
--- /dev/null
+++ b/src/static/icons/ui-radios.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/umbrella-fill.svg b/src/static/icons/umbrella-fill.svg
new file mode 100644
index 0000000..c4886e9
--- /dev/null
+++ b/src/static/icons/umbrella-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/umbrella.svg b/src/static/icons/umbrella.svg
new file mode 100644
index 0000000..94f32f9
--- /dev/null
+++ b/src/static/icons/umbrella.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/unindent.svg b/src/static/icons/unindent.svg
new file mode 100644
index 0000000..1969283
--- /dev/null
+++ b/src/static/icons/unindent.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/union.svg b/src/static/icons/union.svg
new file mode 100644
index 0000000..b629b88
--- /dev/null
+++ b/src/static/icons/union.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/unity.svg b/src/static/icons/unity.svg
new file mode 100644
index 0000000..e179a38
--- /dev/null
+++ b/src/static/icons/unity.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/universal-access-circle.svg b/src/static/icons/universal-access-circle.svg
new file mode 100644
index 0000000..158465b
--- /dev/null
+++ b/src/static/icons/universal-access-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/universal-access.svg b/src/static/icons/universal-access.svg
new file mode 100644
index 0000000..3b7fc37
--- /dev/null
+++ b/src/static/icons/universal-access.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/unlock-fill.svg b/src/static/icons/unlock-fill.svg
new file mode 100644
index 0000000..f053354
--- /dev/null
+++ b/src/static/icons/unlock-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/unlock.svg b/src/static/icons/unlock.svg
new file mode 100644
index 0000000..8eb0925
--- /dev/null
+++ b/src/static/icons/unlock.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/upc-scan.svg b/src/static/icons/upc-scan.svg
new file mode 100644
index 0000000..2a9a6af
--- /dev/null
+++ b/src/static/icons/upc-scan.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/upc.svg b/src/static/icons/upc.svg
new file mode 100644
index 0000000..6669ef7
--- /dev/null
+++ b/src/static/icons/upc.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/upload.svg b/src/static/icons/upload.svg
new file mode 100644
index 0000000..be3f8e3
--- /dev/null
+++ b/src/static/icons/upload.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-c-fill.svg b/src/static/icons/usb-c-fill.svg
new file mode 100644
index 0000000..0e50ac6
--- /dev/null
+++ b/src/static/icons/usb-c-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-c.svg b/src/static/icons/usb-c.svg
new file mode 100644
index 0000000..c17d4ca
--- /dev/null
+++ b/src/static/icons/usb-c.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-drive-fill.svg b/src/static/icons/usb-drive-fill.svg
new file mode 100644
index 0000000..834614d
--- /dev/null
+++ b/src/static/icons/usb-drive-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-drive.svg b/src/static/icons/usb-drive.svg
new file mode 100644
index 0000000..ca08df5
--- /dev/null
+++ b/src/static/icons/usb-drive.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-fill.svg b/src/static/icons/usb-fill.svg
new file mode 100644
index 0000000..443c91a
--- /dev/null
+++ b/src/static/icons/usb-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-micro-fill.svg b/src/static/icons/usb-micro-fill.svg
new file mode 100644
index 0000000..67ad744
--- /dev/null
+++ b/src/static/icons/usb-micro-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-micro.svg b/src/static/icons/usb-micro.svg
new file mode 100644
index 0000000..945b6e7
--- /dev/null
+++ b/src/static/icons/usb-micro.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-mini-fill.svg b/src/static/icons/usb-mini-fill.svg
new file mode 100644
index 0000000..7235636
--- /dev/null
+++ b/src/static/icons/usb-mini-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-mini.svg b/src/static/icons/usb-mini.svg
new file mode 100644
index 0000000..7cc383f
--- /dev/null
+++ b/src/static/icons/usb-mini.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-plug-fill.svg b/src/static/icons/usb-plug-fill.svg
new file mode 100644
index 0000000..2f1c185
--- /dev/null
+++ b/src/static/icons/usb-plug-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-plug.svg b/src/static/icons/usb-plug.svg
new file mode 100644
index 0000000..68f5f97
--- /dev/null
+++ b/src/static/icons/usb-plug.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb-symbol.svg b/src/static/icons/usb-symbol.svg
new file mode 100644
index 0000000..eb02d87
--- /dev/null
+++ b/src/static/icons/usb-symbol.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/usb.svg b/src/static/icons/usb.svg
new file mode 100644
index 0000000..e82324c
--- /dev/null
+++ b/src/static/icons/usb.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/valentine.svg b/src/static/icons/valentine.svg
new file mode 100644
index 0000000..5542055
--- /dev/null
+++ b/src/static/icons/valentine.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/valentine2.svg b/src/static/icons/valentine2.svg
new file mode 100644
index 0000000..c70e274
--- /dev/null
+++ b/src/static/icons/valentine2.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/vector-pen.svg b/src/static/icons/vector-pen.svg
new file mode 100644
index 0000000..013acc2
--- /dev/null
+++ b/src/static/icons/vector-pen.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/view-list.svg b/src/static/icons/view-list.svg
new file mode 100644
index 0000000..3d1a972
--- /dev/null
+++ b/src/static/icons/view-list.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/view-stacked.svg b/src/static/icons/view-stacked.svg
new file mode 100644
index 0000000..7f59bb9
--- /dev/null
+++ b/src/static/icons/view-stacked.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/vimeo.svg b/src/static/icons/vimeo.svg
new file mode 100644
index 0000000..34eea6d
--- /dev/null
+++ b/src/static/icons/vimeo.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/vinyl-fill.svg b/src/static/icons/vinyl-fill.svg
new file mode 100644
index 0000000..a5ab73d
--- /dev/null
+++ b/src/static/icons/vinyl-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/vinyl.svg b/src/static/icons/vinyl.svg
new file mode 100644
index 0000000..75c2681
--- /dev/null
+++ b/src/static/icons/vinyl.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/virus.svg b/src/static/icons/virus.svg
new file mode 100644
index 0000000..4029fad
--- /dev/null
+++ b/src/static/icons/virus.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/virus2.svg b/src/static/icons/virus2.svg
new file mode 100644
index 0000000..b0501ec
--- /dev/null
+++ b/src/static/icons/virus2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/voicemail.svg b/src/static/icons/voicemail.svg
new file mode 100644
index 0000000..ff7ce86
--- /dev/null
+++ b/src/static/icons/voicemail.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-down-fill.svg b/src/static/icons/volume-down-fill.svg
new file mode 100644
index 0000000..4879b5a
--- /dev/null
+++ b/src/static/icons/volume-down-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-down.svg b/src/static/icons/volume-down.svg
new file mode 100644
index 0000000..996dbef
--- /dev/null
+++ b/src/static/icons/volume-down.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-mute-fill.svg b/src/static/icons/volume-mute-fill.svg
new file mode 100644
index 0000000..7ab7684
--- /dev/null
+++ b/src/static/icons/volume-mute-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-mute.svg b/src/static/icons/volume-mute.svg
new file mode 100644
index 0000000..12659d9
--- /dev/null
+++ b/src/static/icons/volume-mute.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-off-fill.svg b/src/static/icons/volume-off-fill.svg
new file mode 100644
index 0000000..4941870
--- /dev/null
+++ b/src/static/icons/volume-off-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-off.svg b/src/static/icons/volume-off.svg
new file mode 100644
index 0000000..08bb6b9
--- /dev/null
+++ b/src/static/icons/volume-off.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-up-fill.svg b/src/static/icons/volume-up-fill.svg
new file mode 100644
index 0000000..495ee98
--- /dev/null
+++ b/src/static/icons/volume-up-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/volume-up.svg b/src/static/icons/volume-up.svg
new file mode 100644
index 0000000..3840310
--- /dev/null
+++ b/src/static/icons/volume-up.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/vr.svg b/src/static/icons/vr.svg
new file mode 100644
index 0000000..cf2ea37
--- /dev/null
+++ b/src/static/icons/vr.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wallet-fill.svg b/src/static/icons/wallet-fill.svg
new file mode 100644
index 0000000..d44e5c8
--- /dev/null
+++ b/src/static/icons/wallet-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wallet.svg b/src/static/icons/wallet.svg
new file mode 100644
index 0000000..d18441b
--- /dev/null
+++ b/src/static/icons/wallet.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wallet2.svg b/src/static/icons/wallet2.svg
new file mode 100644
index 0000000..e646d94
--- /dev/null
+++ b/src/static/icons/wallet2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/watch.svg b/src/static/icons/watch.svg
new file mode 100644
index 0000000..8c3ee98
--- /dev/null
+++ b/src/static/icons/watch.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/water.svg b/src/static/icons/water.svg
new file mode 100644
index 0000000..18e0825
--- /dev/null
+++ b/src/static/icons/water.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/webcam-fill.svg b/src/static/icons/webcam-fill.svg
new file mode 100644
index 0000000..04b835b
--- /dev/null
+++ b/src/static/icons/webcam-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/webcam.svg b/src/static/icons/webcam.svg
new file mode 100644
index 0000000..da7ef71
--- /dev/null
+++ b/src/static/icons/webcam.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wechat.svg b/src/static/icons/wechat.svg
new file mode 100644
index 0000000..06b8ff8
--- /dev/null
+++ b/src/static/icons/wechat.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/whatsapp.svg b/src/static/icons/whatsapp.svg
new file mode 100644
index 0000000..6242d05
--- /dev/null
+++ b/src/static/icons/whatsapp.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wifi-1.svg b/src/static/icons/wifi-1.svg
new file mode 100644
index 0000000..4d75ef5
--- /dev/null
+++ b/src/static/icons/wifi-1.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wifi-2.svg b/src/static/icons/wifi-2.svg
new file mode 100644
index 0000000..377c1fc
--- /dev/null
+++ b/src/static/icons/wifi-2.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wifi-off.svg b/src/static/icons/wifi-off.svg
new file mode 100644
index 0000000..4399861
--- /dev/null
+++ b/src/static/icons/wifi-off.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wifi.svg b/src/static/icons/wifi.svg
new file mode 100644
index 0000000..8cb1f71
--- /dev/null
+++ b/src/static/icons/wifi.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wikipedia.svg b/src/static/icons/wikipedia.svg
new file mode 100644
index 0000000..5fa98b1
--- /dev/null
+++ b/src/static/icons/wikipedia.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wind.svg b/src/static/icons/wind.svg
new file mode 100644
index 0000000..d350ea4
--- /dev/null
+++ b/src/static/icons/wind.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-dash.svg b/src/static/icons/window-dash.svg
new file mode 100644
index 0000000..191fbd7
--- /dev/null
+++ b/src/static/icons/window-dash.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-desktop.svg b/src/static/icons/window-desktop.svg
new file mode 100644
index 0000000..a044521
--- /dev/null
+++ b/src/static/icons/window-desktop.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-dock.svg b/src/static/icons/window-dock.svg
new file mode 100644
index 0000000..dbffecb
--- /dev/null
+++ b/src/static/icons/window-dock.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-fullscreen.svg b/src/static/icons/window-fullscreen.svg
new file mode 100644
index 0000000..22a8d20
--- /dev/null
+++ b/src/static/icons/window-fullscreen.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-plus.svg b/src/static/icons/window-plus.svg
new file mode 100644
index 0000000..08444f3
--- /dev/null
+++ b/src/static/icons/window-plus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-sidebar.svg b/src/static/icons/window-sidebar.svg
new file mode 100644
index 0000000..98476ce
--- /dev/null
+++ b/src/static/icons/window-sidebar.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/static/icons/window-split.svg b/src/static/icons/window-split.svg
new file mode 100644
index 0000000..21862f2
--- /dev/null
+++ b/src/static/icons/window-split.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-stack.svg b/src/static/icons/window-stack.svg
new file mode 100644
index 0000000..592e5c8
--- /dev/null
+++ b/src/static/icons/window-stack.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window-x.svg b/src/static/icons/window-x.svg
new file mode 100644
index 0000000..e7a97dc
--- /dev/null
+++ b/src/static/icons/window-x.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/window.svg b/src/static/icons/window.svg
new file mode 100644
index 0000000..ad6166e
--- /dev/null
+++ b/src/static/icons/window.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/windows.svg b/src/static/icons/windows.svg
new file mode 100644
index 0000000..b280560
--- /dev/null
+++ b/src/static/icons/windows.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wordpress.svg b/src/static/icons/wordpress.svg
new file mode 100644
index 0000000..4c8cbc4
--- /dev/null
+++ b/src/static/icons/wordpress.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wrench-adjustable-circle-fill.svg b/src/static/icons/wrench-adjustable-circle-fill.svg
new file mode 100644
index 0000000..b723d7f
--- /dev/null
+++ b/src/static/icons/wrench-adjustable-circle-fill.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wrench-adjustable-circle.svg b/src/static/icons/wrench-adjustable-circle.svg
new file mode 100644
index 0000000..a5a6f0b
--- /dev/null
+++ b/src/static/icons/wrench-adjustable-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wrench-adjustable.svg b/src/static/icons/wrench-adjustable.svg
new file mode 100644
index 0000000..4ec8082
--- /dev/null
+++ b/src/static/icons/wrench-adjustable.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/wrench.svg b/src/static/icons/wrench.svg
new file mode 100644
index 0000000..bef0713
--- /dev/null
+++ b/src/static/icons/wrench.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-circle-fill.svg b/src/static/icons/x-circle-fill.svg
new file mode 100644
index 0000000..448fdee
--- /dev/null
+++ b/src/static/icons/x-circle-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-circle.svg b/src/static/icons/x-circle.svg
new file mode 100644
index 0000000..ce37cdc
--- /dev/null
+++ b/src/static/icons/x-circle.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-diamond-fill.svg b/src/static/icons/x-diamond-fill.svg
new file mode 100644
index 0000000..2de6403
--- /dev/null
+++ b/src/static/icons/x-diamond-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-diamond.svg b/src/static/icons/x-diamond.svg
new file mode 100644
index 0000000..0ade536
--- /dev/null
+++ b/src/static/icons/x-diamond.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-lg.svg b/src/static/icons/x-lg.svg
new file mode 100644
index 0000000..53aec00
--- /dev/null
+++ b/src/static/icons/x-lg.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-octagon-fill.svg b/src/static/icons/x-octagon-fill.svg
new file mode 100644
index 0000000..7872889
--- /dev/null
+++ b/src/static/icons/x-octagon-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-octagon.svg b/src/static/icons/x-octagon.svg
new file mode 100644
index 0000000..794afd9
--- /dev/null
+++ b/src/static/icons/x-octagon.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-square-fill.svg b/src/static/icons/x-square-fill.svg
new file mode 100644
index 0000000..ddfd727
--- /dev/null
+++ b/src/static/icons/x-square-fill.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x-square.svg b/src/static/icons/x-square.svg
new file mode 100644
index 0000000..9d7852f
--- /dev/null
+++ b/src/static/icons/x-square.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/x.svg b/src/static/icons/x.svg
new file mode 100644
index 0000000..c865d88
--- /dev/null
+++ b/src/static/icons/x.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/xbox.svg b/src/static/icons/xbox.svg
new file mode 100644
index 0000000..9d84973
--- /dev/null
+++ b/src/static/icons/xbox.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/yelp.svg b/src/static/icons/yelp.svg
new file mode 100644
index 0000000..08d3465
--- /dev/null
+++ b/src/static/icons/yelp.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/yin-yang.svg b/src/static/icons/yin-yang.svg
new file mode 100644
index 0000000..cf1da48
--- /dev/null
+++ b/src/static/icons/yin-yang.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/youtube.svg b/src/static/icons/youtube.svg
new file mode 100644
index 0000000..86fa490
--- /dev/null
+++ b/src/static/icons/youtube.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/zoom-in.svg b/src/static/icons/zoom-in.svg
new file mode 100644
index 0000000..6cde1a0
--- /dev/null
+++ b/src/static/icons/zoom-in.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/icons/zoom-out.svg b/src/static/icons/zoom-out.svg
new file mode 100644
index 0000000..b965f8e
--- /dev/null
+++ b/src/static/icons/zoom-out.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/static/js/bootstrap.bundle.min.js b/src/static/js/bootstrap.bundle.min.js
index da8d852..5b5cefa 100644
--- a/src/static/js/bootstrap.bundle.min.js
+++ b/src/static/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/)
- * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v5.3.0-alpha3 (https://getbootstrap.com/)
+ * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),i=e=>{e.dispatchEvent(new Event(t))},n=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),s=t=>n(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(e(t)):null,o=t=>{if(!n(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},r=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),a=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?a(t.parentNode):null},l=()=>{},c=t=>{t.offsetHeight},h=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,d=[],u=()=>"rtl"===document.documentElement.dir,f=t=>{var e;e=()=>{const e=h();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(d.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of d)t()})),d.push(e)):e()},p=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,m=(e,n,s=!0)=>{if(!s)return void p(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(n)+5;let r=!1;const a=({target:i})=>{i===n&&(r=!0,n.removeEventListener(t,a),p(e))};n.addEventListener(t,a),setTimeout((()=>{r||i(n)}),o)},g=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},_=/[^.]*(?=\..*)\.|.*/,b=/\..*/,v=/::\d+$/,y={};let w=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},E=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function T(t,e){return e&&`${e}::${w++}`||t.uidEvent||w++}function C(t){const e=T(t);return t.uidEvent=e,y[e]=y[e]||{},y[e]}function O(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function x(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=D(t);return E.has(o)||(o=t),[n,s,o]}function k(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=x(e,i,n);if(e in A){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=C(t),c=l[a]||(l[a]={}),h=O(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=T(r,e.replace(_,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return N(s,{delegateTarget:r}),n.oneOff&&I.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return N(n,{delegateTarget:t}),i.oneOff&&I.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function L(t,e,i,n,s){const o=O(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function S(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&L(t,e,i,r.callable,r.delegationSelector)}function D(t){return t=t.replace(b,""),A[t]||t}const I={on(t,e,i,n){k(t,e,i,n,!1)},one(t,e,i,n){k(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=x(e,i,n),a=r!==e,l=C(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))S(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(v,"");a&&!e.includes(s)||L(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;L(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=h();let s=null,o=!0,r=!0,a=!1;e!==D(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=N(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function N(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const P=new Map,j={set(t,e,i){P.has(t)||P.set(t,new Map);const n=P.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>P.has(t)&&P.get(t).get(e)||null,remove(t,e){if(!P.has(t))return;const i=P.get(t);i.delete(e),0===i.size&&P.delete(t)}};function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class ${static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=n(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...n(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,o]of Object.entries(e)){const e=t[s],r=n(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${o}".`)}var i}}class W extends ${constructor(t,e){super(),(t=s(t))&&(this._element=t,this._config=this._getConfig(e),j.set(this._element,this.constructor.DATA_KEY,this))}dispose(){j.remove(this._element,this.constructor.DATA_KEY),I.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){m(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return j.get(s(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.0-alpha1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let i=t.getAttribute("data-bs-target");if(!i||"#"===i){let e=t.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),i=e&&"#"!==e?e.trim():null}return e(i)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!r(t)&&o(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;I.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),r(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))};class q extends W{static get NAME(){return"alert"}close(){if(I.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),I.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(q,"close"),f(q);const V='[data-bs-toggle="button"]';class K extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}I.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),f(K);const Q={endCallback:null,leftCallback:null,rightCallback:null},X={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends ${constructor(t,e){super(),this._element=t,t&&Y.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Q}static get DefaultType(){return X}static get NAME(){return"swipe"}dispose(){I.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),p(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&p(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(I.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),I.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(I.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),I.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),I.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const U="next",G="prev",J="left",Z="right",tt="slid.bs.carousel",et="carousel",it="active",nt={ArrowLeft:Z,ArrowRight:J},st={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class rt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===et&&this.cycle()}static get Default(){return st}static get DefaultType(){return ot}static get NAME(){return"carousel"}next(){this._slide(U)}nextWhenVisible(){!document.hidden&&o(this._element)&&this.next()}prev(){this._slide(G)}pause(){this._isSliding&&i(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?I.one(this._element,tt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void I.one(this._element,tt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?U:G;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&I.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(I.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),I.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))I.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(J)),rightCallback:()=>this._slide(this._directionToOrder(Z)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Y(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=nt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(it),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===U,s=e||g(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>I.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",h=n?"carousel-item-next":"carousel-item-prev";s.classList.add(h),c(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,h),s.classList.add(it),i.classList.remove(it,h,l),this._isSliding=!1,r(tt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(".active.carousel-item",this._element)}_getItems(){return z.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return u()?t===J?G:U:t===J?U:G}_orderToDirection(t){return u()?t===G?J:Z:t===G?Z:J}static jQueryInterface(t){return this.each((function(){const e=rt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}I.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(et))return;t.preventDefault();const i=rt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),I.on(window,"load.bs.carousel.data-api",(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)rt.getOrCreateInstance(e)})),f(rt);const at="show",lt="collapse",ct="collapsing",ht='[data-bs-toggle="collapse"]',dt={parent:null,toggle:!0},ut={parent:"(null|element)",toggle:"boolean"};class ft extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(ht);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return dt}static get DefaultType(){return ut}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>ft.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(I.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(lt),this._element.classList.add(ct),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt,at),this._element.style[e]="",I.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(I.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,c(this._element),this._element.classList.add(ct),this._element.classList.remove(lt,at);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt),I.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(at)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=s(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ht);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(":scope .collapse .collapse",this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=ft.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}I.on(document,"click.bs.collapse.data-api",ht,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))ft.getOrCreateInstance(t,{toggle:!1}).toggle()})),f(ft);var pt="top",mt="bottom",gt="right",_t="left",bt="auto",vt=[pt,mt,gt,_t],yt="start",wt="end",At="clippingParents",Et="viewport",Tt="popper",Ct="reference",Ot=vt.reduce((function(t,e){return t.concat([e+"-"+yt,e+"-"+wt])}),[]),xt=[].concat(vt,[bt]).reduce((function(t,e){return t.concat([e,e+"-"+yt,e+"-"+wt])}),[]),kt="beforeRead",Lt="read",St="afterRead",Dt="beforeMain",It="main",Nt="afterMain",Pt="beforeWrite",jt="write",Mt="afterWrite",Ft=[kt,Lt,St,Dt,It,Nt,Pt,jt,Mt];function Ht(t){return t?(t.nodeName||"").toLowerCase():null}function $t(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Wt(t){return t instanceof $t(t).Element||t instanceof Element}function Bt(t){return t instanceof $t(t).HTMLElement||t instanceof HTMLElement}function zt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof $t(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];Bt(s)&&Ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});Bt(n)&&Ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function qt(t){return t.split("-")[0]}var Vt=Math.max,Kt=Math.min,Qt=Math.round;function Xt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Yt(){return!/^((?!chrome|android).)*safari/i.test(Xt())}function Ut(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&Bt(t)&&(s=t.offsetWidth>0&&Qt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Qt(n.height)/t.offsetHeight||1);var r=(Wt(t)?$t(t):window).visualViewport,a=!Yt()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Gt(t){var e=Ut(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Jt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&zt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Zt(t){return $t(t).getComputedStyle(t)}function te(t){return["table","td","th"].indexOf(Ht(t))>=0}function ee(t){return((Wt(t)?t.ownerDocument:t.document)||window.document).documentElement}function ie(t){return"html"===Ht(t)?t:t.assignedSlot||t.parentNode||(zt(t)?t.host:null)||ee(t)}function ne(t){return Bt(t)&&"fixed"!==Zt(t).position?t.offsetParent:null}function se(t){for(var e=$t(t),i=ne(t);i&&te(i)&&"static"===Zt(i).position;)i=ne(i);return i&&("html"===Ht(i)||"body"===Ht(i)&&"static"===Zt(i).position)?e:i||function(t){var e=/firefox/i.test(Xt());if(/Trident/i.test(Xt())&&Bt(t)&&"fixed"===Zt(t).position)return null;var i=ie(t);for(zt(i)&&(i=i.host);Bt(i)&&["html","body"].indexOf(Ht(i))<0;){var n=Zt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function oe(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function re(t,e,i){return Vt(t,Kt(e,i))}function ae(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function le(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const ce={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=qt(i.placement),l=oe(a),c=[_t,gt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return ae("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:le(t,vt))}(s.padding,i),d=Gt(o),u="y"===l?pt:_t,f="y"===l?mt:gt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=se(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=re(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Jt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(t){return t.split("-")[1]}var de={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ue(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=_t,y=pt,w=window;if(c){var A=se(i),E="clientHeight",T="clientWidth";A===$t(i)&&"static"!==Zt(A=ee(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===pt||(s===_t||s===gt)&&o===wt)&&(y=mt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==_t&&(s!==pt&&s!==mt||o!==wt)||(v=gt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&de),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Qt(e*n)/n||0,y:Qt(i*n)/n||0}}({x:f,y:m}):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:qt(e.placement),variation:he(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,ue(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,ue(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var pe={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=$t(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,pe)})),a&&l.addEventListener("resize",i.update,pe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,pe)})),a&&l.removeEventListener("resize",i.update,pe)}},data:{}};var ge={left:"right",right:"left",bottom:"top",top:"bottom"};function _e(t){return t.replace(/left|right|bottom|top/g,(function(t){return ge[t]}))}var be={start:"end",end:"start"};function ve(t){return t.replace(/start|end/g,(function(t){return be[t]}))}function ye(t){var e=$t(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function we(t){return Ut(ee(t)).left+ye(t).scrollLeft}function Ae(t){var e=Zt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Ht(t))>=0?t.ownerDocument.body:Bt(t)&&Ae(t)?t:Ee(ie(t))}function Te(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=$t(n),r=s?[o].concat(o.visualViewport||[],Ae(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Te(ie(r)))}function Ce(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e,i){return e===Et?Ce(function(t,e){var i=$t(t),n=ee(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Yt();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+we(t),y:l}}(t,i)):Wt(e)?function(t,e){var i=Ut(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ce(function(t){var e,i=ee(t),n=ye(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Vt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Vt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+we(t),l=-n.scrollTop;return"rtl"===Zt(s||i).direction&&(a+=Vt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ee(t)))}function xe(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?qt(s):null,r=s?he(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case pt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case gt:e={x:i.x+i.width,y:l};break;case _t:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?oe(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case yt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case wt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?At:a,c=i.rootBoundary,h=void 0===c?Et:c,d=i.elementContext,u=void 0===d?Tt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=ae("number"!=typeof g?g:le(g,vt)),b=u===Tt?Ct:Tt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Te(ie(t)),i=["absolute","fixed"].indexOf(Zt(t).position)>=0&&Bt(t)?se(t):t;return Wt(i)?e.filter((function(t){return Wt(t)&&Jt(t,i)&&"body"!==Ht(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=Oe(t,i,n);return e.top=Vt(s.top,e.top),e.right=Kt(s.right,e.right),e.bottom=Kt(s.bottom,e.bottom),e.left=Vt(s.left,e.left),e}),Oe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Wt(y)?y:y.contextElement||ee(t.elements.popper),l,h,r),A=Ut(t.elements.reference),E=xe({reference:A,element:v,strategy:"absolute",placement:s}),T=Ce(Object.assign({},v,E)),C=u===Tt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Tt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[gt,mt].indexOf(t)>=0?1:-1,i=[pt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?xt:l,h=he(n),d=h?a?Ot:Ot.filter((function(t){return he(t)===h})):vt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[qt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=qt(g),b=l||(_!==g&&p?function(t){if(qt(t)===bt)return[];var e=_e(t);return[ve(t),e,ve(e)]}(g):[_e(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(qt(i)===bt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ke(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?gt:_t:k?mt:pt;y[S]>w[S]&&(I=_e(I));var N=_e(I),P=[];if(o&&P.push(D[x]<=0),a&&P.push(D[I]<=0,D[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ie(t){return[pt,gt,mt,_t].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Ie(l),d=Ie(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Pe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=xt.reduce((function(t,i){return t[i]=function(t,e,i){var n=qt(t),s=[_t,pt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[_t,gt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},je={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=xe({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Me={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=qt(e.placement),b=he(e.placement),v=!b,y=oe(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?pt:_t,D="y"===y?mt:gt,I="y"===y?"height":"width",N=A[y],P=N+g[S],j=N-g[D],M=f?-T[I]/2:0,F=b===yt?E[I]:T[I],H=b===yt?-T[I]:-E[I],$=e.elements.arrow,W=f&&$?Gt($):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=re(0,E[I],W[I]),V=v?E[I]/2-M-q-z-O.mainAxis:F-q-z-O.mainAxis,K=v?-E[I]/2+M+q+R+O.mainAxis:H+q+R+O.mainAxis,Q=e.elements.arrow&&se(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=re(f?Kt(P,N+V-Y-X):P,N,f?Vt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?pt:_t,tt="x"===y?mt:gt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[pt,_t].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=re(t,e,i);return n>i?i:n}(at,et,lt):re(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function Fe(t,e,i){void 0===i&&(i=!1);var n,s,o=Bt(e),r=Bt(e)&&function(t){var e=t.getBoundingClientRect(),i=Qt(e.width)/t.offsetWidth||1,n=Qt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ee(e),l=Ut(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Ht(e)||Ae(a))&&(c=(n=e)!==$t(n)&&Bt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ye(n)),Bt(e)?((h=Ut(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=we(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var $e={placement:"bottom",modifiers:[],strategy:"absolute"};function We(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...p(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>o(t)));i.length&&g(i,e,t===Xe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=ci.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ze);for(const i of e){const e=ci.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Qe,Xe].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Je)?this:z.prev(this,Je)[0]||z.next(this,Je)[0]||z.findOne(Je,t.delegateTarget.parentNode),o=ci.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}I.on(document,Ue,Je,ci.dataApiKeydownHandler),I.on(document,Ue,ti,ci.dataApiKeydownHandler),I.on(document,Ye,ci.clearMenus),I.on(document,"keyup.bs.dropdown.data-api",ci.clearMenus),I.on(document,Ye,Je,(function(t){t.preventDefault(),ci.getOrCreateInstance(this).toggle()})),f(ci);const hi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",di=".sticky-top",ui="padding-right",fi="margin-right";class pi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,ui,(e=>e+t)),this._setElementAttributes(hi,ui,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,ui),this._resetElementAttributes(hi,ui),this._resetElementAttributes(di,fi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(n(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const mi="show",gi="mousedown.bs.backdrop",_i={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},bi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class vi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void p(t);this._append();const e=this._getElement();this._config.isAnimated&&c(e),e.classList.add(mi),this._emulateAnimation((()=>{p(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),p(t)}))):p(t)}dispose(){this._isAppended&&(I.off(this._element,gi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=s(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),I.on(t,gi,(()=>{p(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){m(t,this._getElement(),this._config.isAnimated)}}const yi=".bs.focustrap",wi="backward",Ai={autofocus:!0,trapElement:null},Ei={autofocus:"boolean",trapElement:"element"};class Ti extends ${constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ai}static get DefaultType(){return Ei}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),I.off(document,yi),I.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),I.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,I.off(document,yi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===wi?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?wi:"forward")}}const Ci="hidden.bs.modal",Oi="show.bs.modal",xi="modal-open",ki="show",Li="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Di={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ii extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new pi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Di}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||I.trigger(this._element,Oi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(xi),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(I.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(ki),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])I.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new vi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ti({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),c(this._element),this._element.classList.add(ki),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,I.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){I.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),I.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),I.on(this._element,"mousedown.dismiss.bs.modal",(t=>{I.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(xi),this._resetAdjustments(),this._scrollBar.reset(),I.trigger(this._element,Ci)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(I.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Li)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Li),this._queueCallback((()=>{this._element.classList.remove(Li),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=u()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=u()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ii.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}I.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),I.one(e,Oi,(t=>{t.defaultPrevented||I.one(e,Ci,(()=>{o(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&Ii.getInstance(i).hide(),Ii.getOrCreateInstance(e).toggle(this)})),R(Ii),f(Ii);const Ni="show",Pi="showing",ji="hiding",Mi=".offcanvas.show",Fi="hidePrevented.bs.offcanvas",Hi="hidden.bs.offcanvas",$i={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Bi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return $i}static get DefaultType(){return Wi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||I.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new pi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Pi),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Ni),this._element.classList.remove(Pi),I.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(I.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ji),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Ni,ji),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new pi).reset(),I.trigger(this._element,Hi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new vi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():I.trigger(this._element,Fi)}:null})}_initializeFocusTrap(){return new Ti({trapElement:this._element})}_addEventListeners(){I.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():I.trigger(this._element,Fi))}))}static jQueryInterface(t){return this.each((function(){const e=Bi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}I.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this))return;I.one(e,Hi,(()=>{o(this)&&this.focus()}));const i=z.findOne(Mi);i&&i!==e&&Bi.getInstance(i).hide(),Bi.getOrCreateInstance(e).toggle(this)})),I.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of z.find(Mi))Bi.getOrCreateInstance(t).show()})),I.on(window,"resize.bs.offcanvas",(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Bi.getOrCreateInstance(t).hide()})),R(Bi),f(Bi);const zi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,qi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Vi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!zi.has(i)||Boolean(Ri.test(t.nodeValue)||qi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Ki={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Qi={allowList:Ki,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Xi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Yi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ui extends ${constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Qi}static get DefaultType(){return Xi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Yi)}_setContent(t,e,i){const o=z.findOne(i,t);o&&((e=this._resolvePossibleFunction(e))?n(e)?this._putElementInTemplate(s(e),o):this._config.html?o.innerHTML=this._maybeSanitize(e):o.textContent=e:o.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Vi(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return p(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Gi=new Set(["sanitize","allowList","sanitizeFn"]),Ji="fade",Zi="show",tn=".modal",en="hide.bs.modal",nn="hover",sn="focus",on={AUTO:"auto",TOP:"top",RIGHT:u()?"left":"right",BOTTOM:"bottom",LEFT:u()?"right":"left"},rn={allowList:Ki,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},an={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ln extends W{constructor(t,e){if(void 0===Ve)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return rn}static get DefaultType(){return an}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),I.off(this._element.closest(tn),en,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=I.trigger(this._element,this.constructor.eventName("show")),e=(a(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),I.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))I.on(t,"mouseover",l);this._queueCallback((()=>{I.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!I.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Zi),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))I.off(t,"mouseover",l);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),I.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ji,Zi),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Ji),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ui({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ji)}_isShown(){return this.tip&&this.tip.classList.contains(Zi)}_createPopper(t){const e=p(this._config.placement,[this,t,this._element]),i=on[e.toUpperCase()];return qe(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return p(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...p(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)I.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===nn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===nn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");I.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?sn:nn]=!0,e._enter()})),I.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?sn:nn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},I.on(this._element.closest(tn),en,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))Gi.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:s(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(ln);const cn={...ln.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},hn={...ln.DefaultType,content:"(null|string|element|function)"};class dn extends ln{static get Default(){return cn}static get DefaultType(){return hn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=dn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}f(dn);const un="click.bs.scrollspy",fn="active",pn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},gn={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class _n extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return gn}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=s(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(I.off(this._config.target,un),I.on(this._config.target,un,pn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(pn,this._config.target);for(const e of t){if(!e.hash||r(e))continue;const t=z.findOne(e.hash,this._element);o(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(fn),this._activateParents(t),I.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(fn);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(fn)}_clearActiveClass(t){t.classList.remove(fn);const e=z.find("[href].active",t);for(const t of e)t.classList.remove(fn)}static jQueryInterface(t){return this.each((function(){const e=_n.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}I.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))_n.getOrCreateInstance(t)})),f(_n);const bn="ArrowLeft",vn="ArrowRight",yn="ArrowUp",wn="ArrowDown",An="active",En="fade",Tn="show",Cn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',On=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Cn}`;class xn extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),I.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?I.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;I.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(An),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),I.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Tn)}),t,t.classList.contains(En)))}_deactivate(t,e){t&&(t.classList.remove(An),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),I.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Tn)}),t,t.classList.contains(En)))}_keydown(t){if(![bn,vn,yn,wn].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[vn,wn].includes(t.key),i=g(this._getChildren().filter((t=>!r(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),xn.getOrCreateInstance(i).show())}_getChildren(){return z.find(On,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",An),n(".dropdown-menu",Tn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(An)}_getInnerElement(t){return t.matches(On)?t:z.findOne(On,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}I.on(document,"click.bs.tab",Cn,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),r(this)||xn.getOrCreateInstance(this).show()})),I.on(window,"load.bs.tab",(()=>{for(const t of z.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))xn.getOrCreateInstance(t)})),f(xn);const kn="hide",Ln="show",Sn="showing",Dn={animation:"boolean",autohide:"boolean",delay:"number"},In={animation:!0,autohide:!0,delay:5e3};class Nn extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return In}static get DefaultType(){return Dn}static get NAME(){return"toast"}show(){I.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(kn),c(this._element),this._element.classList.add(Ln,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),I.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(I.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(kn),this._element.classList.remove(Sn,Ln),I.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ln),super.dispose()}isShown(){return this._element.classList.contains(Ln)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){I.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),I.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),I.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),I.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Nn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Nn),f(Nn),{Alert:q,Button:K,Carousel:rt,Collapse:ft,Dropdown:ci,Modal:Ii,Offcanvas:Bi,Popover:dn,ScrollSpy:_n,Tab:xn,Toast:Nn,Tooltip:ln}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=j(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class ${static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends ${constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.0-alpha2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;P.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))};class q extends W{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(q,"close"),m(q);const V='[data-bs-toggle="button"]';class K extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),m(K);const Q={endCallback:null,leftCallback:null,rightCallback:null},X={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Y extends ${constructor(t,e){super(),this._element=t,t&&Y.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Q}static get DefaultType(){return X}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const U="next",G="prev",J="left",Z="right",tt="slid.bs.carousel",et="carousel",it="active",nt={ArrowLeft:Z,ArrowRight:J},st={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class rt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===et&&this.cycle()}static get Default(){return st}static get DefaultType(){return ot}static get NAME(){return"carousel"}next(){this._slide(U)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(G)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,tt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,tt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?U:G;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&Y.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(J)),rightCallback:()=>this._slide(this._directionToOrder(Z)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Y(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=nt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(it),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===U,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(it),i.classList.remove(it,c,l),this._isSliding=!1,r(tt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(".active.carousel-item",this._element)}_getItems(){return z.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===J?G:U:t===J?U:G}_orderToDirection(t){return p()?t===G?J:Z:t===G?Z:J}static jQueryInterface(t){return this.each((function(){const e=rt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(et))return;t.preventDefault();const i=rt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)rt.getOrCreateInstance(e)})),m(rt);const at="show",lt="collapse",ct="collapsing",ht='[data-bs-toggle="collapse"]',dt={parent:null,toggle:!0},ut={parent:"(null|element)",toggle:"boolean"};class ft extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(ht);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return dt}static get DefaultType(){return ut}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>ft.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(lt),this._element.classList.add(ct),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt,at),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ct),this._element.classList.remove(lt,at);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ct),this._element.classList.add(lt),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(at)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ht);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(":scope .collapse .collapse",this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=ft.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",ht,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))ft.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(ft);var pt="top",mt="bottom",gt="right",_t="left",bt="auto",vt=[pt,mt,gt,_t],yt="start",wt="end",At="clippingParents",Et="viewport",Tt="popper",Ct="reference",Ot=vt.reduce((function(t,e){return t.concat([e+"-"+yt,e+"-"+wt])}),[]),xt=[].concat(vt,[bt]).reduce((function(t,e){return t.concat([e,e+"-"+yt,e+"-"+wt])}),[]),kt="beforeRead",Lt="read",St="afterRead",Dt="beforeMain",It="main",Nt="afterMain",Pt="beforeWrite",jt="write",Mt="afterWrite",Ft=[kt,Lt,St,Dt,It,Nt,Pt,jt,Mt];function Ht(t){return t?(t.nodeName||"").toLowerCase():null}function $t(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Wt(t){return t instanceof $t(t).Element||t instanceof Element}function Bt(t){return t instanceof $t(t).HTMLElement||t instanceof HTMLElement}function zt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof $t(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];Bt(s)&&Ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});Bt(n)&&Ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function qt(t){return t.split("-")[0]}var Vt=Math.max,Kt=Math.min,Qt=Math.round;function Xt(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Yt(){return!/^((?!chrome|android).)*safari/i.test(Xt())}function Ut(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&Bt(t)&&(s=t.offsetWidth>0&&Qt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Qt(n.height)/t.offsetHeight||1);var r=(Wt(t)?$t(t):window).visualViewport,a=!Yt()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Gt(t){var e=Ut(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Jt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&zt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Zt(t){return $t(t).getComputedStyle(t)}function te(t){return["table","td","th"].indexOf(Ht(t))>=0}function ee(t){return((Wt(t)?t.ownerDocument:t.document)||window.document).documentElement}function ie(t){return"html"===Ht(t)?t:t.assignedSlot||t.parentNode||(zt(t)?t.host:null)||ee(t)}function ne(t){return Bt(t)&&"fixed"!==Zt(t).position?t.offsetParent:null}function se(t){for(var e=$t(t),i=ne(t);i&&te(i)&&"static"===Zt(i).position;)i=ne(i);return i&&("html"===Ht(i)||"body"===Ht(i)&&"static"===Zt(i).position)?e:i||function(t){var e=/firefox/i.test(Xt());if(/Trident/i.test(Xt())&&Bt(t)&&"fixed"===Zt(t).position)return null;var i=ie(t);for(zt(i)&&(i=i.host);Bt(i)&&["html","body"].indexOf(Ht(i))<0;){var n=Zt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function oe(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function re(t,e,i){return Vt(t,Kt(e,i))}function ae(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function le(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const ce={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=qt(i.placement),l=oe(a),c=[_t,gt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return ae("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:le(t,vt))}(s.padding,i),d=Gt(o),u="y"===l?pt:_t,f="y"===l?mt:gt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=se(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=re(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Jt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(t){return t.split("-")[1]}var de={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ue(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=_t,y=pt,w=window;if(c){var A=se(i),E="clientHeight",T="clientWidth";A===$t(i)&&"static"!==Zt(A=ee(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===pt||(s===_t||s===gt)&&o===wt)&&(y=mt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==_t&&(s!==pt&&s!==mt||o!==wt)||(v=gt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&de),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:Qt(i*s)/s||0,y:Qt(n*s)/s||0}}({x:f,y:m},$t(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:qt(e.placement),variation:he(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,ue(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,ue(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var pe={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=$t(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,pe)})),a&&l.addEventListener("resize",i.update,pe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,pe)})),a&&l.removeEventListener("resize",i.update,pe)}},data:{}};var ge={left:"right",right:"left",bottom:"top",top:"bottom"};function _e(t){return t.replace(/left|right|bottom|top/g,(function(t){return ge[t]}))}var be={start:"end",end:"start"};function ve(t){return t.replace(/start|end/g,(function(t){return be[t]}))}function ye(t){var e=$t(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function we(t){return Ut(ee(t)).left+ye(t).scrollLeft}function Ae(t){var e=Zt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Ht(t))>=0?t.ownerDocument.body:Bt(t)&&Ae(t)?t:Ee(ie(t))}function Te(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=$t(n),r=s?[o].concat(o.visualViewport||[],Ae(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Te(ie(r)))}function Ce(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e,i){return e===Et?Ce(function(t,e){var i=$t(t),n=ee(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Yt();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+we(t),y:l}}(t,i)):Wt(e)?function(t,e){var i=Ut(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ce(function(t){var e,i=ee(t),n=ye(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Vt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Vt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+we(t),l=-n.scrollTop;return"rtl"===Zt(s||i).direction&&(a+=Vt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ee(t)))}function xe(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?qt(s):null,r=s?he(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case pt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case gt:e={x:i.x+i.width,y:l};break;case _t:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?oe(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case yt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case wt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?At:a,c=i.rootBoundary,h=void 0===c?Et:c,d=i.elementContext,u=void 0===d?Tt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=ae("number"!=typeof g?g:le(g,vt)),b=u===Tt?Ct:Tt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Te(ie(t)),i=["absolute","fixed"].indexOf(Zt(t).position)>=0&&Bt(t)?se(t):t;return Wt(i)?e.filter((function(t){return Wt(t)&&Jt(t,i)&&"body"!==Ht(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=Oe(t,i,n);return e.top=Vt(s.top,e.top),e.right=Kt(s.right,e.right),e.bottom=Kt(s.bottom,e.bottom),e.left=Vt(s.left,e.left),e}),Oe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Wt(y)?y:y.contextElement||ee(t.elements.popper),l,h,r),A=Ut(t.elements.reference),E=xe({reference:A,element:v,strategy:"absolute",placement:s}),T=Ce(Object.assign({},v,E)),C=u===Tt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Tt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[gt,mt].indexOf(t)>=0?1:-1,i=[pt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?xt:l,h=he(n),d=h?a?Ot:Ot.filter((function(t){return he(t)===h})):vt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[qt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=qt(g),b=l||(_!==g&&p?function(t){if(qt(t)===bt)return[];var e=_e(t);return[ve(t),e,ve(e)]}(g):[_e(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(qt(i)===bt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ke(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?gt:_t:k?mt:pt;y[S]>w[S]&&(I=_e(I));var N=_e(I),P=[];if(o&&P.push(D[x]<=0),a&&P.push(D[I]<=0,D[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ie(t){return[pt,gt,mt,_t].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Ie(l),d=Ie(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Pe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=xt.reduce((function(t,i){return t[i]=function(t,e,i){var n=qt(t),s=[_t,pt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[_t,gt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},je={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=xe({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Me={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=qt(e.placement),b=he(e.placement),v=!b,y=oe(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?pt:_t,D="y"===y?mt:gt,I="y"===y?"height":"width",N=A[y],P=N+g[S],j=N-g[D],M=f?-T[I]/2:0,F=b===yt?E[I]:T[I],H=b===yt?-T[I]:-E[I],$=e.elements.arrow,W=f&&$?Gt($):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=re(0,E[I],W[I]),V=v?E[I]/2-M-q-z-O.mainAxis:F-q-z-O.mainAxis,K=v?-E[I]/2+M+q+R+O.mainAxis:H+q+R+O.mainAxis,Q=e.elements.arrow&&se(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=re(f?Kt(P,N+V-Y-X):P,N,f?Vt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?pt:_t,tt="x"===y?mt:gt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[pt,_t].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=re(t,e,i);return n>i?i:n}(at,et,lt):re(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function Fe(t,e,i){void 0===i&&(i=!1);var n,s,o=Bt(e),r=Bt(e)&&function(t){var e=t.getBoundingClientRect(),i=Qt(e.width)/t.offsetWidth||1,n=Qt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ee(e),l=Ut(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Ht(e)||Ae(a))&&(c=(n=e)!==$t(n)&&Bt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ye(n)),Bt(e)?((h=Ut(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=we(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var $e={placement:"bottom",modifiers:[],strategy:"absolute"};function We(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Xe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=ci.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ze);for(const i of e){const e=ci.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Qe,Xe].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Je)?this:z.prev(this,Je)[0]||z.next(this,Je)[0]||z.findOne(Je,t.delegateTarget.parentNode),o=ci.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ue,Je,ci.dataApiKeydownHandler),P.on(document,Ue,ti,ci.dataApiKeydownHandler),P.on(document,Ye,ci.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",ci.clearMenus),P.on(document,Ye,Je,(function(t){t.preventDefault(),ci.getOrCreateInstance(this).toggle()})),m(ci);const hi="show",di="mousedown.bs.backdrop",ui={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},fi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class pi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ui}static get DefaultType(){return fi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(hi),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(hi),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(P.off(this._element,di),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,di,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const mi=".bs.focustrap",gi="backward",_i={autofocus:!0,trapElement:null},bi={autofocus:"boolean",trapElement:"element"};class vi extends ${constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,mi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,mi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===gi?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?gi:"forward")}}const yi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",wi=".sticky-top",Ai="padding-right",Ei="margin-right";class Ti{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ai,(e=>e+t)),this._setElementAttributes(yi,Ai,(e=>e+t)),this._setElementAttributes(wi,Ei,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ai),this._resetElementAttributes(yi,Ai),this._resetElementAttributes(wi,Ei)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const Ci=".bs.modal",Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Si="modal-static",Di={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ti,this._addEventListeners()}static get Default(){return Di}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){P.off(window,Ci),P.off(this._dialog,Ci),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new pi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new vi({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Si)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Si),this._queueCallback((()=>{this._element.classList.remove(Si),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),R(Ni),m(Ni);const Pi="show",ji="showing",Mi="hiding",Fi=".offcanvas.show",Hi="hidePrevented.bs.offcanvas",$i="hidden.bs.offcanvas",Wi={backdrop:!0,keyboard:!0,scroll:!1},Bi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Wi}static get DefaultType(){return Bi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ti).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ti).reset(),P.trigger(this._element,$i)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new pi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,Hi)}:null})}_initializeFocusTrap(){return new vi({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,Hi))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,$i,(()=>{a(this)&&this.focus()}));const i=z.findOne(Fi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of z.find(Fi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),R(zi),m(zi);const Ri=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),qi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Ri.has(i)||Boolean(qi.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends ${constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ui)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cn extends W{constructor(t,e){if(void 0===Ve)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(en),nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Zi,tn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rn[e.toUpperCase()];return qe(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(un);const fn="click.bs.scrollspy",pn="active",mn="[href]",gn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return gn}static get DefaultType(){return _n}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,fn),P.on(this._config.target,fn,mn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(mn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=z.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),m(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return z.find(xn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:z.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of z.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),m(kn);const Ln="hide",Sn="show",Dn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Sn,Dn),this._queueCallback((()=>{this._element.classList.remove(Dn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Dn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Dn,Sn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Sn),super.dispose()}isShown(){return this._element.classList.contains(Sn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Pn),m(Pn),{Alert:q,Button:K,Carousel:rt,Collapse:ft,Dropdown:ci,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}}));
//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/src/static/js/jquery-3.6.3.min.js b/src/static/js/jquery-3.6.3.min.js
new file mode 100644
index 0000000..b5329e9
--- /dev/null
+++ b/src/static/js/jquery-3.6.3.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML=" ";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=" ",v.option=!!ce.lastChild;var ge={thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.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(e,n){E.fn[n]=function(e,t){return 00&&n[1].toLowerCase()!==e.location.protocol?!0:"string"==typeof n[2]&&n[2].length>0&&n[2].replace(new RegExp(":("+{"http:":80,"https:":443}[e.location.protocol]+")?$"),"")!==e.location.host},stripHash:function(t){return t.replace(/#.*/,"")},isHash:function(t,n){n=n||e.location.href;var o=t.indexOf("#")>-1,r=s.stripHash(t)===s.stripHash(n);return o&&r},translate:function(e){var n={dataType:"html",type:"GET"};return e="string"==typeof e?t.extend({},n,{url:e}):t.extend({},n,e)},shouldLoadAnchor:function(t,e,n){var r=t.prop("href");return!(s.isExternal(r)||s.isHash(r)||t.is(e)||t.prop("target")||typeof n!==o&&""!==n&&-1===t.prop("href").search(n))},clearIfOverCapacity:function(t,e){return Object.keys||(Object.keys=function(t){var e,n=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&n.push(e);return n}),Object.keys(t).length>e&&(t={}),t},storePageIn:function(e,n,o,r,a,i){var s=t("").append(t(o));return"undefined"==typeof a&&(a={}),"undefined"==typeof i&&(i=n),e[n]={status:"loaded",title:s.find("title").first().text(),html:s.find("#"+r),doc:o,state:a,destUrl:i},e},triggerAllAnimationEndEvent:function(e,n){n=" "+n||"";var o=0,r="animationstart webkitAnimationStart oanimationstart MSAnimationStart",a="animationend webkitAnimationEnd oanimationend MSAnimationEnd",i="allanimationend",l=function(n){t(n.delegateTarget).is(e)&&(n.stopPropagation(),o++)},u=function(n){t(n.delegateTarget).is(e)&&(n.stopPropagation(),o--,0===o&&e.trigger(i))};e.on(r,l),e.on(a,u),e.on("allanimationend"+n,function(){o=0,s.redraw(e)})},redraw:function(t){t.height()}},l=function(n){if(null!==n.state){var o=e.location.href,r=t("#"+n.state.id),a=r.data("smoothState"),i=a.href!==o&&!s.isHash(o,a.href),l=n.state!==a.cache[a.href].state;(i||l)&&(l&&a.clear(a.href),a.load(o,!1))}},u=function(i,l){var u=t(i),c=u.prop("id"),f=null,d=!1,h={},p={},g=e.location.href,m=function(t){t=t||!1,t&&h.hasOwnProperty(t)?delete h[t]:h={},u.data("smoothState").cache=h},y=function(e,n){n=n||t.noop;var o=s.translate(e);if(h=s.clearIfOverCapacity(h,l.cacheLength),!h.hasOwnProperty(o.url)||"undefined"!=typeof o.data){h[o.url]={status:"fetching"};var r=t.ajax(o);r.done(function(t){s.storePageIn(h,o.url,t,c),u.data("smoothState").cache=h}),r.fail(function(){h[o.url].status="error"}),l.locationHeader&&r.always(function(t,e,n){var r=t.statusCode?t:n,a=r.getResponseHeader(l.locationHeader);a&&(h[o.url].destUrl=a)}),n&&r.always(n)}},v=function(){if(f){var e=t(f,u);if(e.length){var n=e.offset().top;r.scrollTop(n)}f=null}},S=function(o){var i="#"+c,s=h[o]?t(h[o].html.html()):null;s.length?(n.title=h[o].title,u.data("smoothState").href=o,l.loadingClass&&r.removeClass(l.loadingClass),l.onReady.render(u,s),u.one("ss.onReadyEnd",function(){d=!1,l.onAfter(u,s),l.scroll&&v(),O(u)}),e.setTimeout(function(){u.trigger("ss.onReadyEnd")},l.onReady.duration)):!s&&l.debug&&a?a.warn("No element with an id of "+i+" in response from "+o+" in "+h):e.location=o},w=function(t,n,o){var i=s.translate(t);"undefined"==typeof n&&(n=!0),"undefined"==typeof o&&(o=!0);var f=!1,d=!1,g={loaded:function(){var t=f?"ss.onProgressEnd":"ss.onStartEnd";if(d&&f?d&&S(i.url):u.one(t,function(){S(i.url),o||m(i.url)}),n){var r=h[i.url].destUrl;p=l.alterChangeState({id:c},h[i.url].title,r),h[i.url].state=p,e.history.pushState(p,h[i.url].title,r)}d&&!o&&m(i.url)},fetching:function(){f||(f=!0,u.one("ss.onStartEnd",function(){l.loadingClass&&r.addClass(l.loadingClass),l.onProgress.render(u),e.setTimeout(function(){u.trigger("ss.onProgressEnd"),d=!0},l.onProgress.duration)})),e.setTimeout(function(){h.hasOwnProperty(i.url)&&g[h[i.url].status]()},10)},error:function(){l.debug&&a?a.log("There was an error loading: "+i.url):e.location=i.url}};h.hasOwnProperty(i.url)||y(i),l.onStart.render(u),e.setTimeout(function(){l.scroll&&r.scrollTop(0),u.trigger("ss.onStartEnd")},l.onStart.duration),g[h[i.url].status]()},E=function(e){var n,o=t(e.currentTarget);s.shouldLoadAnchor(o,l.blacklist,l.hrefRegex)&&!d&&(e.stopPropagation(),n=s.translate(o.prop("href")),n=l.alterRequest(n),y(n))},b=function(e){var n=t(e.currentTarget);if(!e.metaKey&&!e.ctrlKey&&s.shouldLoadAnchor(n,l.blacklist,l.hrefRegex)&&(e.stopPropagation(),e.preventDefault(),!T())){A();var o=s.translate(n.prop("href"));d=!0,f=n.prop("hash"),o=l.alterRequest(o),l.onBefore(n,u),w(o)}},C=function(e){var n=t(e.currentTarget);if(!n.is(l.blacklist)&&(e.preventDefault(),e.stopPropagation(),!T())){A();var r={url:n.prop("action"),data:n.serialize(),type:n.prop("method")};d=!0,r=l.alterRequest(r),"get"===r.type.toLowerCase()&&(r.url=r.url+"?"+r.data),l.onBefore(n,u),w(r,o,l.allowFormCaching)}},P=0,T=function(){var t=null===l.repeatDelay,e=parseInt(Date.now())>P;return!(t||e)},A=function(){P=parseInt(Date.now())+parseInt(l.repeatDelay)},O=function(t){l.anchors&&l.prefetch&&t.find(l.anchors).not(l.prefetchBlacklist).on(l.prefetchOn,null,E)},R=function(t){l.anchors&&(t.on("click",l.anchors,b),O(t)),l.forms&&t.on("submit",l.forms,C)},x=function(){var t=u.prop("class");u.removeClass(t),s.redraw(u),u.addClass(t)};return l=t.extend({},t.fn.smoothState.options,l),null===e.history.state?(p=l.alterChangeState({id:c},n.title,g),e.history.replaceState(p,n.title,g)):p={},s.storePageIn(h,g,n.documentElement.outerHTML,c,p),s.triggerAllAnimationEndEvent(u,"ss.onStartEnd ss.onProgressEnd ss.onEndEnd"),R(u),{href:g,cache:h,clear:m,load:w,fetch:y,restartCSSAnimations:x}},c=function(e){return this.each(function(){var n=this.tagName.toLowerCase();this.id&&"body"!==n&&"html"!==n&&!t.data(this,"smoothState")?t.data(this,"smoothState",new u(this,e)):!this.id&&a?a.warn("Every smoothState container needs an id but the following one does not have one:",this):"body"!==n&&"html"!==n||!a||a.warn("The smoothstate container cannot be the "+this.tagName+" tag")})};e.onpopstate=l,t.smoothStateUtility=s,t.fn.smoothState=c,t.fn.smoothState.options=i}});
\ No newline at end of file
diff --git a/src/static/js/jquery.validate.min.js b/src/static/js/jquery.validate.min.js
new file mode 100644
index 0000000..442a413
--- /dev/null
+++ b/src/static/js/jquery.validate.min.js
@@ -0,0 +1,4 @@
+/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022
+ * https://jqueryvalidation.org/
+ * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a(" ").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+""),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,c){var e=a.port;"abort"===a.mode&&(d[e]&&d[e].abort(),d[e]=c)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(d[f]&&d[f].abort(),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a});
\ No newline at end of file
diff --git a/src/static/js/main.js b/src/static/js/main.js
new file mode 100644
index 0000000..2f60721
--- /dev/null
+++ b/src/static/js/main.js
@@ -0,0 +1,28 @@
+$(function(){
+ 'use strict';
+ var $page = $('#main'),
+ options = {
+ debug: true,
+ prefetch: true,
+ cacheLength: 2,
+ onStart: {
+ duration: 250, // Duration of our animation
+ render: function ($container) {
+ // Add your CSS animation reversing class
+ $container.addClass('is-exiting');
+ // Restart your animation
+ smoothState.restartCSSAnimations();
+ }
+ },
+ onReady: {
+ duration: 0,
+ render: function ($container, $newContent) {
+ // Remove your CSS animation reversing class
+ $container.removeClass('is-exiting');
+ // Inject the new content
+ $container.html($newContent);
+ }
+ }
+ },
+ smoothState = $page.smoothState(options).data('smoothState');
+});
diff --git a/src/static/js/teams.js b/src/static/js/teams.js
new file mode 100644
index 0000000..a7202ee
--- /dev/null
+++ b/src/static/js/teams.js
@@ -0,0 +1,268 @@
+jQuery.expr[':'].icontains = function(a, i, m) {
+ return jQuery(a).text().toUpperCase()
+ .indexOf(m[3].toUpperCase()) >= 0;
+};
+
+$(document).ready(() => {
+
+ // Enable all tooltips on the page
+ const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]')
+ const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl))
+
+ teamsLoading(true); // show the loading icon
+ fetchAndLoadTeams(); // load the teams
+
+
+ // Search functionality
+ var searchTimeout = null;
+
+ $("#search").keyup(() => {
+ clearTimeout(searchTimeout);
+ teamsLoading(true);
+
+ searchTimeout = setTimeout(() => {
+ fetchAndLoadTeams(...getFilters());
+ }, 500)
+ });
+
+ $("#searchButton").on("click", () => {
+ fetchAndLoadTeams(...getFilters());
+ });
+
+ $("#sortForm input").on("click", () => {
+ fetchAndLoadTeams(...getFilters());
+ });
+
+ // Edit member form validation options
+ $("#editMemberForm").validate({
+ errorClass: "text-danger mb-2"
+ })
+
+ // Prevent dropdowns from closing when clicking inside
+ $('.dropdown-menu').on('hide.bs.dropdown', function (e) {
+ var target = $(e.clickEvent.target);
+ if(target.hasClass("keepopen") || target.parents(".keepopen").length){
+ return false; // returning false should stop the dropdown from hiding.
+ }else{
+ return true;
+ }
+ });
+});
+
+function getFilters() {
+ return [
+ $("#search").val(),
+ $("input[name='sortTeams']:checked", "#sortForm").val(),
+ $("input[name='sortMembers']:checked", "#sortForm").val()
+ ]
+}
+
+/**
+ * Returns bool if the string is empty or only contains whitespace
+ *
+ * **/
+function isEmptyOrSpaces(string) {
+ return string === null || string.match(/^ *$/) !== null;
+}
+
+function loadTeams(teams, highlightText="") {
+ $("#teamsContainer").html(""); // Clear the previous listed teams
+
+ if (teams.length < 1) {
+ $("#teamsNotFound").show();
+ }
+
+ // Iterate over and add each team
+ teams.forEach((team) => {
+ $("#teamsContainer").append(
+ `
+
+
+
+ TEAM
+ ${team.team_number}
+
+
+ SECTION
+ ${team.section_letter}
+
+
+
+
+
+
+
+
`
+ );
+
+ // Whilimage.pnge we have the team, iterate over and add it's members
+ team.members.forEach((member) => {
+ const fullname = member.first + " " + member.last;
+
+ $("#teamsContainer").find(".team-members").last().append(
+ `
+
+
+
+ ${member.peg}
+
+
+ ${fullname}
+
+
+
+
+
+
+ `
+ );
+ });
+ });
+
+ // Highlight all instances where the text matches the search critera
+ if (!isEmptyOrSpaces(highlightText)) {
+ $("#teamsContainer").find('.team-member-fullname').each(function() {
+ var regex = new RegExp(highlightText, 'gi');
+ $(this).html($(this).text().replace(regex, '$& '));
+ });
+ }
+
+ // Bind edit team modal to the edit team button
+ $(".team > h3 > button").on("click", function() {
+ openEditTeamModal($(this).parent().parent().data("number"));
+ });
+
+ // Bind edit member modal to the edit member button
+ $(".team-member button").on("click", function() {
+ $(this).addClass("active");
+ $("#editMemberModal").off("hidden.bs.modal").on("hidden.bs.modal", function() {
+ $("#teamsContainer").find(".team").find("button.active").removeClass("active");
+ });
+ openEditMemberModal($(this).parent().data("member-id"));
+ });
+}
+
+function fetchAndLoadTeams(search="", sortTeams="", sortMembers="") {
+ $.ajax({
+ url: getTeamsUrl,
+ type: "post",
+ data: {
+ "csrfmiddlewaretoken": csrfMiddlewareToken,
+ "search": !isEmptyOrSpaces(search) ? search : null, // might not be necessary? TODO: re-evaluate
+ "sortTeams": sortTeams ? sortTeams : null,
+ "sortMembers": sortMembers ? sortMembers : null
+ },
+ error: (xhr, textStatus, errorThrown) => { alert(errorThrown); },
+ success: (result) => {
+ teamsLoading(false);
+ loadTeams(result.teams, search);
+ }
+ });
+}
+
+function teamsLoading(show=true) {
+ $("#teamsNotFound").hide()
+
+ if (show) {
+ $("#teamsContainer").hide();
+ $("#teamsLoadingSpinner").show();
+ return
+ }
+
+ $("#teamsContainer").show();
+ $("#teamsLoadingSpinner").hide();
+}
+
+function openEditTeamModal(teamNumber) {
+
+ // Team data
+ const team = $(`.team[data-number='${teamNumber}']`);
+ const section = team.data("section");
+
+ // Load data to form
+ $("#editTeamTitle").text(`Team ${teamNumber}`);
+
+ $("#editTeamNumber").val(teamNumber);
+ $('#editTeamSection').val(section);
+
+ $("#editTeamModal").modal("show");
+}
+
+function openEditMemberModal(memberId) {
+
+ // Member data
+ const member = $(`.team-member[data-member-id='${memberId}']`);
+ const first = member.data("first");
+ const last = member.data("last");
+ const teamNumber = member.data("team-number");
+ const pegNumber = member.data("peg-number");
+
+ // Load teams as options
+ $("#editMemberTeam").html("");
+ $(".team").map(function() {
+ return $(this).data("number");
+ }).get().forEach((team) => {
+ $("#editMemberTeam").append($(`Team ${team} `));
+ });
+
+ // Load data to form
+ $("#editMemberName").text(first + " " + last);
+ $("#editMemberFirstName").val(first);
+ $("#editMemberLastName").val(last);
+ $("#editMemberTeam").val(teamNumber);
+ $("#editMemberPeg").val(pegNumber);
+
+ $("#editMemberFirstName").attr("placeholder", first);
+ $("#editMemberLastName").attr("placeholder", last);
+
+ $("#editMemberModal").modal("show");
+
+ // Update the submit button
+ $("#saveEditModal").off("click").on("click", () => { saveEditMemberModal(memberId); });
+}
+
+function saveEditMemberModal(memberId) {
+
+ if (!$("#editMemberForm").valid()) {
+ return;
+ }
+
+ // Grab the updated data
+ const first = $("#editMemberFirstName").val();
+ const last = $("#editMemberLastName").val();
+ const teamNumber = $("#editMemberTeam").val();
+ const pegNumber = $("#editMemberPeg").val();
+ const search = $("#search").val();
+
+ teamsLoading(true);
+
+ $.ajax({
+ url: updateMemberUrl,
+ type: "post",
+ data: {
+ "csrfmiddlewaretoken": csrfMiddlewareToken,
+ "memberId": memberId,
+ "first": first,
+ "last": last,
+ "teamNumber": teamNumber,
+ "pegNumber": pegNumber,
+ "search": !isEmptyOrSpaces(search) ? search : null
+ },
+ error: (xhr, textStatus, errorThrown) => { alert(errorThrown); },
+ success: (result) => {
+ teamsLoading(false);
+ loadTeams(result.teams, search);
+ $("#editMemberModal").modal("hide");
+ }
+ });
+}
\ No newline at end of file
diff --git a/src/templates/base.html b/src/templates/base.html
index 8d8734b..d1bfb6b 100644
--- a/src/templates/base.html
+++ b/src/templates/base.html
@@ -1,44 +1,26 @@
-{% load static %}
- Results{% block title %}{% endblock title %}
-
-
+ {% block title %}{% endblock title %}AT Results
+
+ {% load static %}
+
+
+
+
+ {% block style %}
+ {% endblock style %}
-
-
-
-
-
-
{% block content %}
{% endblock content %}
-
+
+
+
+
+ {% block scripts %}
+ {% endblock scripts %}
\ No newline at end of file
diff --git a/src/templates/main/index.html b/src/templates/main/index.html
deleted file mode 100644
index 93a5ceb..0000000
--- a/src/templates/main/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
-{% extends "base.html" %}
-{% load static %}
-
-{% block title %}
- | Home
-{% endblock %}
-
-{% block stylesheets %}
-
-{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/templates/main/results.html b/src/templates/main/results.html
deleted file mode 100644
index e69de29..0000000
diff --git a/src/templates/main/sections.html b/src/templates/main/sections.html
deleted file mode 100644
index e69de29..0000000
diff --git a/src/templates/main/teams.html b/src/templates/main/teams.html
deleted file mode 100644
index e69de29..0000000
diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg
deleted file mode 100644
index 88e4dcd..0000000
--- a/venv/pyvenv.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-home = C:\Users\JamesParkin\AppData\Local\Programs\Python\Python310
-include-system-site-packages = false
-version = 3.10.8