From b885ae231818d1c17fa5eac60f7613e292cd9bb7 Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk Date: Wed, 3 Aug 2022 12:09:13 +0400 Subject: [PATCH 1/8] Add the project --- .gitattributes | 6 +- .gitignore | 308 + CS/.gitattributes | 2 + CS/App.razor | 11 + CS/Data/GridContextMenuHelper.cs | 342 + CS/Data/WeatherForecast.cs | 10 + CS/Data/WeatherForecastService.cs | 40 + CS/GridWithContextMenu.csproj | 13 + CS/NOTICE.txt | 12 + CS/Pages/Error.cshtml | 41 + CS/Pages/Error.cshtml.cs | 28 + CS/Pages/GridContextMenuContainer.razor | 62 + CS/Pages/Index.razor | 76 + CS/Pages/_Host.cshtml | 8 + CS/Pages/_Layout.cshtml | 45 + CS/Program.cs | 38 + CS/Shared/BrowserNotSupported.razor | 9 + CS/Shared/Header.razor | 21 + CS/Shared/Header.razor.css | 39 + CS/Shared/MainLayout.razor | 81 + CS/Shared/MainLayout.razor.css | 29 + CS/Shared/NavMenu.razor | 11 + CS/Shared/NavMenu.razor.css | 65 + CS/_Imports.razor | 12 + CS/appsettings.Development.json | 9 + CS/appsettings.json | 9 + CS/readme.html | 11 + CS/wwwroot/css/bootstrap/bootstrap.css | 11266 ++++++++++++++++ CS/wwwroot/css/bootstrap/bootstrap.min.css | 7 + CS/wwwroot/css/icons.css | 158 + CS/wwwroot/css/open.iconic/FONT-LICENSE.txt | 86 + CS/wwwroot/css/open.iconic/ICON-LICENSE.txt | 21 + CS/wwwroot/css/open.iconic/README.md | 114 + .../font/css/open-iconic-bootstrap.min.css | 1 + .../open.iconic/font/fonts/open-iconic.eot | Bin 0 -> 28196 bytes .../open.iconic/font/fonts/open-iconic.otf | Bin 0 -> 20996 bytes .../open.iconic/font/fonts/open-iconic.svg | 543 + .../open.iconic/font/fonts/open-iconic.ttf | Bin 0 -> 28028 bytes .../open.iconic/font/fonts/open-iconic.woff | Bin 0 -> 14984 bytes CS/wwwroot/css/site.css | 41 + CS/wwwroot/images/banner.png | Bin 0 -> 119613 bytes .../images/icons/clear-filter-disabled.svg | 9 + CS/wwwroot/images/icons/clear-filter.svg | 9 + .../images/icons/clear-grouping-disabled.svg | 10 + CS/wwwroot/images/icons/clear-grouping.svg | 10 + .../icons/collapse-detail-row-disabled.svg | 6 + .../images/icons/collapse-detail-row.svg | 6 + .../images/icons/collapse-row-disabled.svg | 6 + CS/wwwroot/images/icons/collapse-row.svg | 6 + CS/wwwroot/images/icons/column-chooser.svg | 14 + .../images/icons/delete-row-disabled.svg | 6 + CS/wwwroot/images/icons/delete-row.svg | 6 + CS/wwwroot/images/icons/edit-row-disabled.svg | 9 + CS/wwwroot/images/icons/edit-row.svg | 9 + .../icons/expand-detail-row-disabled.svg | 6 + CS/wwwroot/images/icons/expand-detail-row.svg | 6 + .../images/icons/expand-row-disabled.svg | 6 + CS/wwwroot/images/icons/expand-row.svg | 6 + .../images/icons/full-collapse-disabled.svg | 7 + CS/wwwroot/images/icons/full-collapse.svg | 7 + .../images/icons/full-expand-disabled.svg | 9 + CS/wwwroot/images/icons/full-expand.svg | 9 + .../images/icons/group-by-column-disabled.svg | 7 + CS/wwwroot/images/icons/group-by-column.svg | 8 + CS/wwwroot/images/icons/item-checked.svg | 6 + CS/wwwroot/images/icons/new-row-disabled.svg | 6 + CS/wwwroot/images/icons/new-row.svg | 6 + .../icons/show-group-panel-disabled.svg | 10 + CS/wwwroot/images/icons/show-group-panel.svg | 10 + .../images/icons/sort-ascending-disabled.svg | 10 + CS/wwwroot/images/icons/sort-ascending.svg | 10 + .../images/icons/sort-descending-disabled.svg | 10 + CS/wwwroot/images/icons/sort-descending.svg | 10 + CS/wwwroot/images/icons/ungroup-column.svg | 7 + CS/wwwroot/images/sad.svg | 12 + LICENSE | 5 + README.md | 20 + config.json | 4 + result.png | Bin 0 -> 27981 bytes 79 files changed, 13876 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 CS/.gitattributes create mode 100644 CS/App.razor create mode 100644 CS/Data/GridContextMenuHelper.cs create mode 100644 CS/Data/WeatherForecast.cs create mode 100644 CS/Data/WeatherForecastService.cs create mode 100644 CS/GridWithContextMenu.csproj create mode 100644 CS/NOTICE.txt create mode 100644 CS/Pages/Error.cshtml create mode 100644 CS/Pages/Error.cshtml.cs create mode 100644 CS/Pages/GridContextMenuContainer.razor create mode 100644 CS/Pages/Index.razor create mode 100644 CS/Pages/_Host.cshtml create mode 100644 CS/Pages/_Layout.cshtml create mode 100644 CS/Program.cs create mode 100644 CS/Shared/BrowserNotSupported.razor create mode 100644 CS/Shared/Header.razor create mode 100644 CS/Shared/Header.razor.css create mode 100644 CS/Shared/MainLayout.razor create mode 100644 CS/Shared/MainLayout.razor.css create mode 100644 CS/Shared/NavMenu.razor create mode 100644 CS/Shared/NavMenu.razor.css create mode 100644 CS/_Imports.razor create mode 100644 CS/appsettings.Development.json create mode 100644 CS/appsettings.json create mode 100644 CS/readme.html create mode 100644 CS/wwwroot/css/bootstrap/bootstrap.css create mode 100644 CS/wwwroot/css/bootstrap/bootstrap.min.css create mode 100644 CS/wwwroot/css/icons.css create mode 100644 CS/wwwroot/css/open.iconic/FONT-LICENSE.txt create mode 100644 CS/wwwroot/css/open.iconic/ICON-LICENSE.txt create mode 100644 CS/wwwroot/css/open.iconic/README.md create mode 100644 CS/wwwroot/css/open.iconic/font/css/open-iconic-bootstrap.min.css create mode 100644 CS/wwwroot/css/open.iconic/font/fonts/open-iconic.eot create mode 100644 CS/wwwroot/css/open.iconic/font/fonts/open-iconic.otf create mode 100644 CS/wwwroot/css/open.iconic/font/fonts/open-iconic.svg create mode 100644 CS/wwwroot/css/open.iconic/font/fonts/open-iconic.ttf create mode 100644 CS/wwwroot/css/open.iconic/font/fonts/open-iconic.woff create mode 100644 CS/wwwroot/css/site.css create mode 100644 CS/wwwroot/images/banner.png create mode 100644 CS/wwwroot/images/icons/clear-filter-disabled.svg create mode 100644 CS/wwwroot/images/icons/clear-filter.svg create mode 100644 CS/wwwroot/images/icons/clear-grouping-disabled.svg create mode 100644 CS/wwwroot/images/icons/clear-grouping.svg create mode 100644 CS/wwwroot/images/icons/collapse-detail-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/collapse-detail-row.svg create mode 100644 CS/wwwroot/images/icons/collapse-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/collapse-row.svg create mode 100644 CS/wwwroot/images/icons/column-chooser.svg create mode 100644 CS/wwwroot/images/icons/delete-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/delete-row.svg create mode 100644 CS/wwwroot/images/icons/edit-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/edit-row.svg create mode 100644 CS/wwwroot/images/icons/expand-detail-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/expand-detail-row.svg create mode 100644 CS/wwwroot/images/icons/expand-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/expand-row.svg create mode 100644 CS/wwwroot/images/icons/full-collapse-disabled.svg create mode 100644 CS/wwwroot/images/icons/full-collapse.svg create mode 100644 CS/wwwroot/images/icons/full-expand-disabled.svg create mode 100644 CS/wwwroot/images/icons/full-expand.svg create mode 100644 CS/wwwroot/images/icons/group-by-column-disabled.svg create mode 100644 CS/wwwroot/images/icons/group-by-column.svg create mode 100644 CS/wwwroot/images/icons/item-checked.svg create mode 100644 CS/wwwroot/images/icons/new-row-disabled.svg create mode 100644 CS/wwwroot/images/icons/new-row.svg create mode 100644 CS/wwwroot/images/icons/show-group-panel-disabled.svg create mode 100644 CS/wwwroot/images/icons/show-group-panel.svg create mode 100644 CS/wwwroot/images/icons/sort-ascending-disabled.svg create mode 100644 CS/wwwroot/images/icons/sort-ascending.svg create mode 100644 CS/wwwroot/images/icons/sort-descending-disabled.svg create mode 100644 CS/wwwroot/images/icons/sort-descending.svg create mode 100644 CS/wwwroot/images/icons/ungroup-column.svg create mode 100644 CS/wwwroot/images/sad.svg create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config.json create mode 100644 result.png diff --git a/.gitattributes b/.gitattributes index dfe0770..60ea83c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ -# Auto detect text files and perform LF normalization -* text=auto +VB/* linguist-vendored +scripts linguist-vendored +*.css linguist-detectable=false +*.aff linguist-detectable=false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1c87961 --- /dev/null +++ b/.gitignore @@ -0,0 +1,308 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +#ExampleRangeTester artifacts +TesterMetadata.xml + +# Backup files +*.bak + +# Local server for npm packages +.npmrc diff --git a/CS/.gitattributes b/CS/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/CS/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/CS/App.razor b/CS/App.razor new file mode 100644 index 0000000..bf6c773 --- /dev/null +++ b/CS/App.razor @@ -0,0 +1,11 @@ + + + + + + + +

Sorry, there's nothing at this address.

+
+
+
diff --git a/CS/Data/GridContextMenuHelper.cs b/CS/Data/GridContextMenuHelper.cs new file mode 100644 index 0000000..624706b --- /dev/null +++ b/CS/Data/GridContextMenuHelper.cs @@ -0,0 +1,342 @@ +using DevExpress.Blazor; + +namespace GridWithContextMenu.Data { + public class GridContextMenuHelper { + public static bool IsContextMenuElement(GridElementType elementType) { + return IsColumnContextMenuElement(elementType) || IsRowContextMenuElement(elementType); + } + public static bool IsColumnContextMenuElement(GridElementType elementType) { + switch(elementType) { + case GridElementType.HeaderCell: + case GridElementType.HeaderCommandCell: + case GridElementType.HeaderSelectionCell: + case GridElementType.GroupPanelHeader: + return true; + } + return false; + } + public static bool IsRowContextMenuElement(GridElementType elementType) { + switch(elementType) { + case GridElementType.DataRow: + case GridElementType.GroupRow: + return true; + } + return false; + } + + public static void ProcessColumnMenuItemClick(ContextMenuItem item, IGridColumn column, IGrid grid) { + var dataColumn = column as IGridDataColumn; + grid.BeginUpdate(); + switch(item.ItemType) { + case GridContextMenuItemType.FullExpand: + grid.ExpandAllGroupRows(); + break; + case GridContextMenuItemType.FullCollapse: + grid.CollapseAllGroupRows(); + break; + case GridContextMenuItemType.SortAscending: + if(dataColumn.SortOrder != GridColumnSortOrder.Ascending) { + var newSortIndex = dataColumn.SortIndex > -1 ? dataColumn.SortIndex : grid.GetSortedColumns().Count; + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Ascending, newSortIndex); + } + break; + case GridContextMenuItemType.SortDescending: + if(dataColumn.SortOrder != GridColumnSortOrder.Descending) { + var newSortIndex = dataColumn.SortIndex > -1 ? dataColumn.SortIndex : grid.GetSortedColumns().Count; + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, newSortIndex); + } + break; + case GridContextMenuItemType.ClearSorting: + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, -1); + break; + case GridContextMenuItemType.GroupByColumn: + grid.GroupBy(dataColumn.FieldName, grid.GetGroupCount()); + break; + case GridContextMenuItemType.UngroupColumn: + grid.GroupBy(dataColumn.FieldName, -1); + break; + case GridContextMenuItemType.ClearGrouping: + grid.ClearSort(); + break; + case GridContextMenuItemType.ShowGroupPanel: + grid.ShowGroupPanel = !grid.ShowGroupPanel; + break; + case GridContextMenuItemType.ShowFilterRow: + grid.ShowFilterRow = !grid.ShowFilterRow; + break; + case GridContextMenuItemType.ShowFooter: + var isFooterVisible = grid.FooterDisplayMode == GridFooterDisplayMode.Always + || grid.FooterDisplayMode == GridFooterDisplayMode.Auto && grid.GetTotalSummaryItems().Count > 0; + grid.FooterDisplayMode = isFooterVisible ? GridFooterDisplayMode.Never : GridFooterDisplayMode.Always; + break; + case GridContextMenuItemType.HideColumn: + column.Visible = false; + break; + case GridContextMenuItemType.ShowColumnChooser: + if(string.IsNullOrEmpty(grid.CssClass)) + throw new Exception("Specify DxGrid.CssClass property."); + var gridCssSelector = string.Join( + string.Empty, + grid.CssClass + .Split(" ") + .Where(i => !string.IsNullOrWhiteSpace(i)) + .Select(i => "." + i.Trim()) + ); + var positionTarget = $"{gridCssSelector} .dxbs-grid-header-row"; + grid.ShowColumnChooser(positionTarget); + break; + case GridContextMenuItemType.ClearFilter: + grid.ClearFilter(); + break; + } + grid.EndUpdate(); + } + public static async Task ProcessRowMenuItemClickAsync(ContextMenuItem item, int visibleIndex, IGrid grid) { + switch(item.ItemType) { + case GridContextMenuItemType.ExpandRow: + grid.ExpandGroupRow(visibleIndex); + break; + case GridContextMenuItemType.CollapseRow: + grid.CollapseGroupRow(visibleIndex); + break; + case GridContextMenuItemType.ExpandDetailRow: + grid.ExpandDetailRow(visibleIndex); + break; + case GridContextMenuItemType.CollapseDetailRow: + grid.CollapseDetailRow(visibleIndex); + break; + case GridContextMenuItemType.NewRow: + await grid.StartEditNewRowAsync(); + break; + case GridContextMenuItemType.EditRow: + await grid.StartEditRowAsync(visibleIndex); + break; + case GridContextMenuItemType.DeleteRow: + grid.ShowRowDeleteConfirmation(visibleIndex); + break; + } + } + + public static List GetColumnItems(GridCustomizeElementEventArgs e) { + var items = CreateColumnContextMenuItems(); + + var applyBeginGroupForNextVisibleItem = false; + foreach(var item in items) { + item.Visible = IsColumnMenuItemVisible(e, item.ItemType); + if(!item.Visible && item.BeginGroup) + applyBeginGroupForNextVisibleItem = true; + if(item.Visible && applyBeginGroupForNextVisibleItem) { + item.BeginGroup = true; + applyBeginGroupForNextVisibleItem = false; + } + item.Enabled = IsColumnMenuItemEnabled(e, item.ItemType); + + var isSelected = IsColumnMenuItemSelected(e, item.ItemType); + if(item.Enabled && isSelected) + item.CssClass = "menu-item-selected"; + } + + return items; + } + public static List GetRowItems(GridCustomizeElementEventArgs e) { + var items = CreateRowContextMenuItems(); + foreach(var item in items) { + item.Visible = IsRowMenuItemVisible(e, item.ItemType); + item.Enabled = IsRowMenuItemEnabled(e, item.ItemType); + } + return items; + } + + static bool IsColumnMenuItemVisible(GridCustomizeElementEventArgs e, GridContextMenuItemType itemType) { + var dataColumn = e.Column as IGridDataColumn; + var allowSort = GetAllowSort(e.Column, e.Grid); + var allowGroup = GetAllowGroup(e.Column, e.Grid); + switch(itemType) { + case GridContextMenuItemType.FullExpand: + case GridContextMenuItemType.FullCollapse: + return e.ElementType == GridElementType.GroupPanelHeader; + case GridContextMenuItemType.SortAscending: + case GridContextMenuItemType.SortDescending: + return allowSort; + case GridContextMenuItemType.ClearSorting: + return allowSort && dataColumn.GroupIndex < 0; + case GridContextMenuItemType.GroupByColumn: + return allowGroup && dataColumn.GroupIndex < 0; + case GridContextMenuItemType.UngroupColumn: + return allowGroup && dataColumn.GroupIndex > -1; + case GridContextMenuItemType.ClearGrouping: + return e.Grid.AllowGroup; + case GridContextMenuItemType.ShowGroupPanel: + case GridContextMenuItemType.ShowFilterRow: + case GridContextMenuItemType.ShowFooter: + case GridContextMenuItemType.HideColumn: + case GridContextMenuItemType.ShowColumnChooser: + case GridContextMenuItemType.ClearFilter: + return true; + } + return false; + } + static bool IsColumnMenuItemSelected(GridCustomizeElementEventArgs e, GridContextMenuItemType itemType) { + var dataColumn = e.Column as IGridDataColumn; + var isSorted = dataColumn != null && dataColumn.SortIndex > -1; + var isGrouped = dataColumn != null && dataColumn.GroupIndex > -1; + var sortOrder = GridColumnSortOrder.None; + if(isSorted || isGrouped) { + sortOrder = dataColumn.SortOrder; + if(sortOrder == GridColumnSortOrder.None) + sortOrder = GridColumnSortOrder.Ascending; + } + switch(itemType) { + case GridContextMenuItemType.SortAscending: + return sortOrder == GridColumnSortOrder.Ascending; + case GridContextMenuItemType.SortDescending: + return sortOrder == GridColumnSortOrder.Descending; + case GridContextMenuItemType.ShowGroupPanel: + return e.Grid.ShowGroupPanel; + case GridContextMenuItemType.ShowFilterRow: + return e.Grid.ShowFilterRow; + case GridContextMenuItemType.ShowFooter: + return e.Grid.FooterDisplayMode == GridFooterDisplayMode.Always + || e.Grid.FooterDisplayMode == GridFooterDisplayMode.Auto && e.Grid.GetTotalSummaryItems().Count > 0; + } + return false; + } + static bool IsColumnMenuItemEnabled(GridCustomizeElementEventArgs e, GridContextMenuItemType itemType) { + var dataColumn = e.Column as IGridDataColumn; + var allowSort = GetAllowSort(e.Column, e.Grid); + var allowGroup = GetAllowGroup(e.Column, e.Grid); + switch(itemType) { + case GridContextMenuItemType.FullExpand: + case GridContextMenuItemType.FullCollapse: + case GridContextMenuItemType.SortAscending: + case GridContextMenuItemType.SortDescending: + case GridContextMenuItemType.GroupByColumn: + case GridContextMenuItemType.UngroupColumn: + case GridContextMenuItemType.ShowGroupPanel: + case GridContextMenuItemType.ShowFilterRow: + case GridContextMenuItemType.ShowFooter: + case GridContextMenuItemType.HideColumn: + case GridContextMenuItemType.ShowColumnChooser: + return true; + case GridContextMenuItemType.ClearSorting: + return allowSort && (dataColumn.SortIndex > -1 || dataColumn.GroupIndex > -1); + case GridContextMenuItemType.ClearGrouping: + return e.Grid.AllowGroup && e.Grid.GetGroupCount() > 1; + case GridContextMenuItemType.ClearFilter: + return e.Grid.GetDataColumns().Any(i => i.FilterRowValue != null); + } + return false; + } + + static bool IsRowMenuItemVisible(GridCustomizeElementEventArgs e, GridContextMenuItemType itemType) { + var isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex); + var hasDetailButton = !isGroupRow + && e.Grid.DetailRowTemplate != null + && e.Grid.DetailRowDisplayMode == GridDetailRowDisplayMode.Auto + && e.Grid.DetailExpandButtonDisplayMode == GridDetailExpandButtonDisplayMode.Auto; + switch(itemType) { + case GridContextMenuItemType.ExpandRow: + case GridContextMenuItemType.CollapseRow: + return isGroupRow; + case GridContextMenuItemType.ExpandDetailRow: + case GridContextMenuItemType.CollapseDetailRow: + return hasDetailButton; + case GridContextMenuItemType.NewRow: + return true; + case GridContextMenuItemType.EditRow: + case GridContextMenuItemType.DeleteRow: + return !isGroupRow; + } + return false; + } + static bool IsRowMenuItemEnabled(GridCustomizeElementEventArgs e, GridContextMenuItemType itemType) { + var isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex); + var isGroupRowExpanded = e.Grid.IsGroupRowExpanded(e.VisibleIndex); + var hasDetailButton = !isGroupRow + && e.Grid.DetailRowTemplate != null + && e.Grid.DetailRowDisplayMode == GridDetailRowDisplayMode.Auto + && e.Grid.DetailExpandButtonDisplayMode == GridDetailExpandButtonDisplayMode.Auto; + var isDetailRowExpanded = e.Grid.IsDetailRowExpanded(e.VisibleIndex); + + switch(itemType) { + case GridContextMenuItemType.ExpandRow: + return isGroupRow && !isGroupRowExpanded; + case GridContextMenuItemType.CollapseRow: + return isGroupRow && isGroupRowExpanded; + case GridContextMenuItemType.ExpandDetailRow: + return hasDetailButton && !isDetailRowExpanded; + case GridContextMenuItemType.CollapseDetailRow: + return hasDetailButton && isDetailRowExpanded; + case GridContextMenuItemType.NewRow: + case GridContextMenuItemType.EditRow: + case GridContextMenuItemType.DeleteRow: + return true; + } + return false; + } + + static bool GetAllowSort(IGridColumn column, IGrid grid) { + if(column is IGridDataColumn dataColumn) + return dataColumn.AllowSort ?? grid.AllowSort; + return false; + } + static bool GetAllowGroup(IGridColumn column, IGrid grid) { + if(column is IGridDataColumn dataColumn) + return dataColumn.AllowGroup ?? grid.AllowGroup; + return false; + } + + static List CreateColumnContextMenuItems() { + return new List { + new ContextMenuItem { ItemType = GridContextMenuItemType.FullExpand, Text = "Expand All", IconCssClass="grid-context-menu-item-full-expand" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.FullCollapse, Text = "Collapse All", IconCssClass="grid-context-menu-item-full-collapse" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.SortAscending, Text = "Sort Ascending", BeginGroup = true, IconCssClass="grid-context-menu-item-sort-ascending" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.SortDescending, Text = "Sort Descending", IconCssClass="grid-context-menu-item-sort-descending" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ClearSorting, Text = "Clear Sorting" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.GroupByColumn, Text = "Group By This Column", BeginGroup = true, IconCssClass="grid-context-menu-item-group-by-column" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.UngroupColumn, Text = "Ungroup", IconCssClass="grid-context-menu-item-ungroup-column" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ClearGrouping, Text = "Clear Grouping", IconCssClass="grid-context-menu-item-clear-grouping" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ShowGroupPanel, Text = "Group Panel", IconCssClass="grid-context-menu-item-show-group-panel" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.HideColumn, Text = "Hide Column", BeginGroup = true }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ShowColumnChooser, Text = "Column Chooser", IconCssClass="grid-context-menu-item-column-chooser" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ClearFilter, Text = "Clear Filter", BeginGroup = true, IconCssClass="grid-context-menu-item-clear-filter" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ShowFilterRow, Text = "Filter Row", IconCssClass="grid-context-menu-item-filter-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ShowFooter, Text = "Footer", IconCssClass="grid-context-menu-item-footer" } + }; + } + static List CreateRowContextMenuItems() { + return new List { + new ContextMenuItem { ItemType = GridContextMenuItemType.ExpandRow, Text = "Expand", IconCssClass="grid-context-menu-item-expand-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.CollapseRow, Text = "Collapse", IconCssClass="grid-context-menu-item-collapse-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.ExpandDetailRow, Text = "Expand Detail", BeginGroup = true, IconCssClass="grid-context-menu-item-expand-detail-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.CollapseDetailRow, Text = "Collapse Detail", IconCssClass="grid-context-menu-item-collapse-detail-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.NewRow, Text = "New", BeginGroup = true, IconCssClass="grid-context-menu-item-new-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.EditRow, Text = "Edit", IconCssClass="grid-context-menu-item-edit-row" }, + new ContextMenuItem { ItemType = GridContextMenuItemType.DeleteRow, Text = "Delete", IconCssClass="grid-context-menu-item-delete-row" } + }; + } + } + + public class ContextMenuItem { + public GridContextMenuItemType ItemType { get; set; } + public string Text { get; set; } + public bool Enabled { get; set; } + public bool Visible { get; set; } + public bool BeginGroup { get; set; } + public string CssClass { get; set; } + public string IconCssClass { get; set; } + } + + public enum GridContextMenuItemType { + FullExpand, FullCollapse, + SortAscending, SortDescending, ClearSorting, + GroupByColumn, UngroupColumn, ClearGrouping, ShowGroupPanel, + HideColumn, ShowColumnChooser, + ClearFilter, + ShowFilterRow, ShowFooter, + + ExpandRow, CollapseRow, + ExpandDetailRow, CollapseDetailRow, + NewRow, EditRow, DeleteRow + } +} diff --git a/CS/Data/WeatherForecast.cs b/CS/Data/WeatherForecast.cs new file mode 100644 index 0000000..d90454c --- /dev/null +++ b/CS/Data/WeatherForecast.cs @@ -0,0 +1,10 @@ +namespace GridWithContextMenu.Data +{ + public class WeatherForecast { + public int ID { get; set; } + public DateTime Date { get; set; } + public int TemperatureC { get; set; } + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + public string? Summary { get; set; } + } +} \ No newline at end of file diff --git a/CS/Data/WeatherForecastService.cs b/CS/Data/WeatherForecastService.cs new file mode 100644 index 0000000..f21f625 --- /dev/null +++ b/CS/Data/WeatherForecastService.cs @@ -0,0 +1,40 @@ +namespace GridWithContextMenu.Data +{ + public class WeatherForecastService { + public readonly string[] Summaries = new[] { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + private List? Forecasts; + public Task> GetForecastAsync() { + if (Forecasts == null) { + var rnd = new Random(); + Forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast { + ID = index, + Date = DateTime.Today.AddDays(index), + TemperatureC = rnd.Next(-20, 55), + Summary = Summaries[rnd.Next(Summaries.Length)] + }).ToList(); + } + return Task.FromResult(Forecasts); + } + public string[] GetSummaries() { + return Summaries; + } + public Task> ChangeForecastAsync(WeatherForecast changed) { + var orginalForecast = Forecasts.FirstOrDefault(i => i.ID == changed.ID); + if (orginalForecast != null) { + orginalForecast.TemperatureC = changed.TemperatureC; + orginalForecast.Summary = changed.Summary; + orginalForecast.Date = changed.Date; + } + else { + Forecasts.Add(changed); + } + return Task.FromResult(Forecasts); + } + public Task> Remove(WeatherForecast forecast) { + Forecasts.Remove(forecast); + return Task.FromResult(Forecasts); + } + } +} \ No newline at end of file diff --git a/CS/GridWithContextMenu.csproj b/CS/GridWithContextMenu.csproj new file mode 100644 index 0000000..ab13d01 --- /dev/null +++ b/CS/GridWithContextMenu.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + enable + + + + + + + + \ No newline at end of file diff --git a/CS/NOTICE.txt b/CS/NOTICE.txt new file mode 100644 index 0000000..f0858d6 --- /dev/null +++ b/CS/NOTICE.txt @@ -0,0 +1,12 @@ +The following open source libraries are used and included within thеse sample/demonstration projects: + +Bootstrap (Open Source – MIT License) +Copyright (c) 2011-2021 Twitter, Inc. / Copyright (c) 2011-2021 The Bootstrap Authors +https://github.com/twbs/bootstrap/blob/main/LICENSE + +open-iconic (Open Source – MIT License and SIL Open Font License) +Copyright (c) 2014 Waybury +https://github.com/iconic/open-iconic/blob/master/ICON-LICENSE +https://github.com/iconic/open-iconic/blob/master/FONT-LICENSE + +The open source libraries included in these sample/demonstration projects are done so pursuant to each individual open source library license and subject to the disclaimers and limitations on liability set forth in each open source library license. \ No newline at end of file diff --git a/CS/Pages/Error.cshtml b/CS/Pages/Error.cshtml new file mode 100644 index 0000000..5c29a64 --- /dev/null +++ b/CS/Pages/Error.cshtml @@ -0,0 +1,41 @@ +@page +@model GridWithContextMenu.Pages.ErrorModel + + + + + + + + Error + + + + + + +
+

Error.

+

An error occurred while processing your request.

+ + @if (Model.ShowRequestId) + { +

+ Request ID: @Model.RequestId +

+ } + +

Development Mode

+

+ Swapping to the Development environment displays detailed information about the error that occurred. +

+

+ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +

+
+ + + \ No newline at end of file diff --git a/CS/Pages/Error.cshtml.cs b/CS/Pages/Error.cshtml.cs new file mode 100644 index 0000000..4413459 --- /dev/null +++ b/CS/Pages/Error.cshtml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Extensions.Logging; + +namespace GridWithContextMenu.Pages { + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + [IgnoreAntiforgeryToken] + public class ErrorModel : PageModel { + public string? RequestId { get; set; } + + public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + private readonly ILogger _logger; + + public ErrorModel(ILogger logger) { + _logger = logger; + } + + public void OnGet() { + RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; + } + } +} \ No newline at end of file diff --git a/CS/Pages/GridContextMenuContainer.razor b/CS/Pages/GridContextMenuContainer.razor new file mode 100644 index 0000000..31d50e5 --- /dev/null +++ b/CS/Pages/GridContextMenuContainer.razor @@ -0,0 +1,62 @@ +@using GridWithContextMenu.Data +@using System.Collections + + + + + + + + + + + + + +@code { + DxContextMenu ColumnContextMenu { get; set; } + DxContextMenu RowContextMenu { get; set; } + + IEnumerable ColumnContextMenuData { get; set; } + IEnumerable RowContextMenuData { get; set; } + + IGridColumn ContextMenuColumn { get; set; } + int ContextMenuRowIndex { get; set; } + + [Parameter] + public IGrid Grid { get; set; } + + public async Task Grid_ContextMenu(GridCustomizeElementEventArgs e, MouseEventArgs mouseArgs) { + if(GridContextMenuHelper.IsColumnContextMenuElement(e.ElementType)) { + ContextMenuColumn = e.Column; + ColumnContextMenuData = GridContextMenuHelper.GetColumnItems(e); + await ColumnContextMenu.ShowAsync(mouseArgs); + } + if(GridContextMenuHelper.IsRowContextMenuElement(e.ElementType)) { + ContextMenuRowIndex = e.VisibleIndex; + RowContextMenuData = GridContextMenuHelper.GetRowItems(e); + await RowContextMenu.ShowAsync(mouseArgs); + } + } + + void ColumnContextMenu_ItemClick(ContextMenuItemClickEventArgs e) { + GridContextMenuHelper.ProcessColumnMenuItemClick((ContextMenuItem)e.ItemInfo.DataItem, ContextMenuColumn, Grid); + } + async Task RowContextMenu_ItemClick(ContextMenuItemClickEventArgs e) { + await GridContextMenuHelper.ProcessRowMenuItemClickAsync((ContextMenuItem)e.ItemInfo.DataItem, ContextMenuRowIndex, Grid); + } +} \ No newline at end of file diff --git a/CS/Pages/Index.razor b/CS/Pages/Index.razor new file mode 100644 index 0000000..f3021f2 --- /dev/null +++ b/CS/Pages/Index.razor @@ -0,0 +1,76 @@ +@page "/" +@using GridWithContextMenu.Data; + +@inject WeatherForecastService ForecastService + + + + + + @{ + var forecast = (WeatherForecast)context.EditModel; + } + + + + + + @{ + var forecast = (WeatherForecast)context.EditModel; + } + + + + + + @{ + var forecast = (WeatherForecast)context.EditModel; + } + + + + + + + + + + + +@code { + IGrid Grid { get; set; } + GridContextMenuContainer ContextMenuContainer { get; set; } + object GridData { get; set; } + string[] Summaries; + + protected override async Task OnInitializedAsync() { + GridData = await ForecastService.GetForecastAsync(); + Summaries = ForecastService.GetSummaries(); + } + + void Grid_CustomizeElement(GridCustomizeElementEventArgs e) { + if(GridContextMenuHelper.IsContextMenuElement(e.ElementType)) { + e.Attributes["oncontextmenu"] = EventCallback.Factory.Create( + this, + async mArgs => await ContextMenuContainer.Grid_ContextMenu(e, mArgs) + ); + } + } + + async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) { + GridData = await ForecastService.ChangeForecastAsync((WeatherForecast)e.EditModel); + } + async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e) { + var item = (WeatherForecast)e.DataItem; + if (item != null) { + await ForecastService.Remove(item); + } + } +} \ No newline at end of file diff --git a/CS/Pages/_Host.cshtml b/CS/Pages/_Host.cshtml new file mode 100644 index 0000000..a0666a6 --- /dev/null +++ b/CS/Pages/_Host.cshtml @@ -0,0 +1,8 @@ +@page "/" +@namespace GridWithContextMenu.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@{ + Layout = "_Layout"; +} + + \ No newline at end of file diff --git a/CS/Pages/_Layout.cshtml b/CS/Pages/_Layout.cshtml new file mode 100644 index 0000000..bf5bcb2 --- /dev/null +++ b/CS/Pages/_Layout.cshtml @@ -0,0 +1,45 @@ +@using Microsoft.AspNetCore.Components.Web +@namespace GridWithContextMenu.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers + + + + + + + + + + + + + + + + @{ + var isIEOrEdgeLegacy = Context.Request.Headers["User-Agent"] + .Any(userAgent => userAgent.Contains("MSIE") || userAgent.Contains("Trident") || userAgent.Contains("Edge/")); + } + @if(isIEOrEdgeLegacy) + { + + } + else + { + @RenderBody() + +
+ + An error has occurred. This application may no longer respond until reloaded. + + + An unhandled exception has occurred. See browser dev tools for details. + + Reload + 🗙 +
+ + + } + + \ No newline at end of file diff --git a/CS/Program.cs b/CS/Program.cs new file mode 100644 index 0000000..4886642 --- /dev/null +++ b/CS/Program.cs @@ -0,0 +1,38 @@ +using GridWithContextMenu.Data; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Web; + + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. +builder.Services.AddRazorPages(); +builder.Services.AddServerSideBlazor(); +builder.Services.AddDevExpressBlazor(); +builder.Services.AddSingleton(); +builder.Services.Configure(options => { + options.BootstrapVersion = DevExpress.Blazor.BootstrapVersion.v5; +}); +builder.WebHost.UseWebRoot("wwwroot"); +builder.WebHost.UseStaticWebAssets(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error"); + // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. + app.UseHsts(); +} +app.UseHttpsRedirection(); + +app.UseStaticFiles(); + +app.UseRouting(); + + +app.MapBlazorHub(); +app.MapFallbackToPage("/_Host"); + +app.Run(); \ No newline at end of file diff --git a/CS/Shared/BrowserNotSupported.razor b/CS/Shared/BrowserNotSupported.razor new file mode 100644 index 0000000..1922d6b --- /dev/null +++ b/CS/Shared/BrowserNotSupported.razor @@ -0,0 +1,9 @@ +
+
+ +
+
Your browser is not supported.
+

In .NET 5.0, Blazor does not support Microsoft Internet Explorer and Microsoft Edge Legacy (refer to Supported Browsers).
Please use a different browser to run GridWithContextMenu.

+
+
+
\ No newline at end of file diff --git a/CS/Shared/Header.razor b/CS/Shared/Header.razor new file mode 100644 index 0000000..ff50990 --- /dev/null +++ b/CS/Shared/Header.razor @@ -0,0 +1,21 @@ + + +@code { + [Parameter] public bool ToggleOn { get; set; } + [Parameter] public EventCallback ToggleOnChanged { get; set; } + + async Task OnToggleClick() => await Toggle(); + + async Task Toggle(bool? value = null) { + var newValue = value ?? !ToggleOn; + if(ToggleOn != newValue) { + ToggleOn = newValue; + await ToggleOnChanged.InvokeAsync(ToggleOn); + } + } +} \ No newline at end of file diff --git a/CS/Shared/Header.razor.css b/CS/Shared/Header.razor.css new file mode 100644 index 0000000..edb4393 --- /dev/null +++ b/CS/Shared/Header.razor.css @@ -0,0 +1,39 @@ +.navbar.header-navbar { + flex-grow: 0; + flex-wrap: nowrap; + border: none; + background-color: inherit; + border-radius: 0; + height: 3.5rem; + min-height: 3.5rem; + box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.12); + justify-content: flex-start; +} + +.header-navbar .navbar-toggler { + outline: none; + border-radius: 0; + padding-left: .75rem; + padding-right: .75rem; + box-shadow: none; + align-self: stretch; +} + +.header-navbar .navbar-toggler .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); + background-color: transparent !important; + height: 2rem; + width: 2rem; +} + +.title { + font-size: 1.1rem; + text-overflow: ellipsis; + overflow: hidden; +} + +@media (max-width: 350px) { + .title { + font-size: inherit; + } +} diff --git a/CS/Shared/MainLayout.razor b/CS/Shared/MainLayout.razor new file mode 100644 index 0000000..8ec7d8d --- /dev/null +++ b/CS/Shared/MainLayout.razor @@ -0,0 +1,81 @@ +@inherits LayoutComponentBase +@inject NavigationManager NavigationManager + + + +
+ + + @if(IsMobileLayout) { + + + + } + else { + + + } + + + @if(!IsMobileLayout) { + + + } + + + + + + + + + + + + + +
+ +@code{ + string? NavMenuCssClass { get; set; } + bool _isMobileLayout; + bool IsMobileLayout { + get => _isMobileLayout; + set { + _isMobileLayout = value; + IsSidebarExpanded = !_isMobileLayout; + } + } + + bool _isSidebarExpanded = true; + bool IsSidebarExpanded { + get => _isSidebarExpanded; + set { + if(_isSidebarExpanded != value) { + NavMenuCssClass = value ? "expand" : "collapse"; + _isSidebarExpanded = value; + } + } + } + + protected override void OnInitialized() { + NavigationManager.LocationChanged += OnLocationChanged; + } + async void OnLocationChanged(object? sender, LocationChangedEventArgs args) { + if(IsMobileLayout) { + IsSidebarExpanded = false; + await InvokeAsync(StateHasChanged); + } + } + + public void Dispose() { + NavigationManager.LocationChanged -= OnLocationChanged; + } +} \ No newline at end of file diff --git a/CS/Shared/MainLayout.razor.css b/CS/Shared/MainLayout.razor.css new file mode 100644 index 0000000..e37787c --- /dev/null +++ b/CS/Shared/MainLayout.razor.css @@ -0,0 +1,29 @@ +.page { + height: 100%; + overflow: hidden; + background-color: inherit; +} +::deep .page-layout, +::deep .page-layout > .dx-gridlayout-root, +::deep .layout-item { + background-color: inherit; +} + +::deep .content { + padding: 1.1rem 2rem 0 2rem; + overflow: auto; +} + +@media (max-width: 1199.98px) { + ::deep .page-layout > .dx-gridlayout-root { + grid-template-columns: minmax(0, 1fr) !important; + } +} + +::deep .fit-width { + max-width: 100%; +} + +::deep .mw-1100 { + max-width: 1100px; +} diff --git a/CS/Shared/NavMenu.razor b/CS/Shared/NavMenu.razor new file mode 100644 index 0000000..46ad6a2 --- /dev/null +++ b/CS/Shared/NavMenu.razor @@ -0,0 +1,11 @@ + + +@code { + [Parameter] public string? StateCssClass { get; set; } +} \ No newline at end of file diff --git a/CS/Shared/NavMenu.razor.css b/CS/Shared/NavMenu.razor.css new file mode 100644 index 0000000..5d5b042 --- /dev/null +++ b/CS/Shared/NavMenu.razor.css @@ -0,0 +1,65 @@ +.sidebar { + min-width: 300px; + max-width: 300px; + box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16); + transition: transform 0.1s ease-out; + height: 100%; + max-height: 100%; + overflow: auto; + background-color: inherit; +} + +.sidebar.collapse { + display: none; +} + +.sidebar.expand { + display: block; +} + +@media (max-width: 1199.98px) { + .sidebar { + display: none; + } + + .sidebar.expand { + position: fixed; + top: 3.5rem; + left: 0; + height: auto; + min-width: 100%; + z-index: 1050; + } +} + +::deep .app-sidebar > .nav-pills > .nav-item:first-of-type { + padding-top: 1rem; +} + +::deep .app-sidebar > .nav-pills > .nav-item:last-of-type { + padding-bottom: 1rem; +} + +::deep .app-sidebar .nav-pills > .nav-item a { + border-radius: 0px; + display: flex; + align-items: center; +} + +::deep .app-sidebar > .nav-pills > .nav-item > a { + font-size: 1rem !important; + font-weight: 600 !important; + padding: .25rem 1rem .25rem .125rem; +} +::deep .app-sidebar, +::deep .app-sidebar > .nav-pills, +::deep .app-sidebar > .nav-pills > .nav-item, +::deep .app-sidebar > .nav-pills > .nav-item > a:not(.active) { + background-color: inherit; +} + +@media (max-width: 1199.98px) { + ::deep .app-sidebar > .nav-pills > .nav-item:last-of-type { + padding-bottom: 0; + } +} \ No newline at end of file diff --git a/CS/_Imports.razor b/CS/_Imports.razor new file mode 100644 index 0000000..735a037 --- /dev/null +++ b/CS/_Imports.razor @@ -0,0 +1,12 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Components.Authorization +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using GridWithContextMenu +@using GridWithContextMenu.Shared + +@using DevExpress.Blazor \ No newline at end of file diff --git a/CS/appsettings.Development.json b/CS/appsettings.Development.json new file mode 100644 index 0000000..770d3e9 --- /dev/null +++ b/CS/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CS/appsettings.json b/CS/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/CS/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/CS/readme.html b/CS/readme.html new file mode 100644 index 0000000..ace82de --- /dev/null +++ b/CS/readme.html @@ -0,0 +1,11 @@ + + + + + +
+

Before you start this application

+

Refer to the supported browsers list.

+
+ + diff --git a/CS/wwwroot/css/bootstrap/bootstrap.css b/CS/wwwroot/css/bootstrap/bootstrap.css new file mode 100644 index 0000000..f16c5be --- /dev/null +++ b/CS/wwwroot/css/bootstrap/bootstrap.css @@ -0,0 +1,11266 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --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-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-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", Arial, "Noto Sans", "Liberation Sans", 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-bg: #fff; +} + +*, +*::before, +*::after { + 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: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + +hr:not([size]) { + height: 1px; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +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 + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.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], +abbr[data-bs-original-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; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #0d6efd; + text-decoration: underline; +} +a:hover { + color: #0a58ca; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr /* rtl:ignore */; + unicode-bidi: bidi-override; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +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]::-webkit-calendar-picker-indicator { + display: none; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]: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: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; +} + +::file-selector-button { + font: inherit; +} + +::-webkit-file-upload-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: 0.5rem; +} + +.initialism { + font-size: 0.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: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + 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(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.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-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:first-child) { + border-top: 2px solid currentColor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.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-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-bg: #cfe2ff; + --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: #000; + border-color: #bacbe6; +} + +.table-secondary { + --bs-table-bg: #e2e3e5; + --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: #000; + border-color: #cbccce; +} + +.table-success { + --bs-table-bg: #d1e7dd; + --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: #000; + border-color: #bcd0c7; +} + +.table-info { + --bs-table-bg: #cff4fc; + --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: #000; + border-color: #badce3; +} + +.table-warning { + --bs-table-bg: #fff3cd; + --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: #000; + border-color: #e6dbb9; +} + +.table-danger { + --bs-table-bg: #f8d7da; + --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: #000; + border-color: #dfc2c4; +} + +.table-light { + --bs-table-bg: #f8f9fa; + --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: #000; + border-color: #dfe0e1; +} + +.table-dark { + --bs-table-bg: #212529; + --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: #fff; + border-color: #373b3e; +} + +.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: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.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: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + 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; +} +@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: #dde0e3; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} + +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.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 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.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 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + background-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 10l3 3l6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-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; + background-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: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.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: 0.65; +} + +.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 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-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: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + 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 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -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: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) { + 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: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), 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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, +.was-validated .input-group .form-select:valid, +.input-group .form-select.is-valid { + z-index: 1; +} +.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, +.was-validated .input-group .form-select:valid:focus, +.input-group .form-select.is-valid:focus { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), 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-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, +.was-validated .input-group .form-select:invalid, +.input-group .form-select.is-invalid { + z-index: 2; +} +.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, +.was-validated .input-group .form-select:invalid:focus, +.input-group .form-select.is-invalid:focus { + z-index: 3; +} + +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; +} +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +.btn-primary { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-primary:hover { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0a58ca; + border-color: #0a53be; +} +.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #565e64; + border-color: #51585e; +} +.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #146c43; + border-color: #13653f; +} +.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #198754; + border-color: #198754; +} + +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; +} +.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} + +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #ffcd39; + border-color: #ffc720; +} +.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #b02a37; + border-color: #a52834; +} +.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1a1e21; + border-color: #191c1f; +} +.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-primary { + color: #0d6efd; + border-color: #0d6efd; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #0d6efd; + background-color: transparent; +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-success { + color: #198754; + border-color: #198754; +} +.btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #198754; + background-color: transparent; +} + +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #0dcaf0; + background-color: transparent; +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} +.btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #212529; + background-color: transparent; +} + +.btn-link { + font-weight: 400; + color: #0d6efd; + text-decoration: underline; +} +.btn-link:hover { + color: #0a58ca; +} +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.fade { + transition: opacity 0.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 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} + +.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: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.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: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #1e2125; + background-color: #e9ecef; +} +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #0d6efd; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} + +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #0d6efd; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + 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:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #0d6efd; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: #0a58ca; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #0d6efd; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + 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 { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} +@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 0.25rem; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + 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: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-top, +.navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .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: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-top, +.navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .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: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-top, +.navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .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: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-top, +.navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .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: 0.5rem; + padding-left: 0.5rem; + } + .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-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-top, +.navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .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: 0.5rem; + padding-left: 0.5rem; +} +.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-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: 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"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} +.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: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.card-title { + margin-bottom: 0.5rem; +} + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-group > .card { + margin-bottom: 0.75rem; +} +@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-img-top, +.card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer { + 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-img-top, +.card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + border-radius: 0; + overflow-anchor: none; + 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; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #0c63e4; + background-color: #e7f1ff; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ""; + background-image: 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"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.accordion-body { + padding: 1rem 1.25rem; +} + +.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 { + border-radius: 0; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #0d6efd; + text-decoration: none; + background-color: #fff; + border: 1px solid #dee2e6; + 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; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #0a58ca; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + color: #0a58ca; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} + +.page-link { + padding: 0.375rem 0.75rem; +} + +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + color: #084298; + background-color: #cfe2ff; + border-color: #b6d4fe; +} +.alert-primary .alert-link { + color: #06357a; +} + +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + color: #055160; + background-color: #cff4fc; + border-color: #b6effb; +} +.alert-info .alert-link { + color: #04414d; +} + +.alert-warning { + color: #664d03; + background-color: #fff3cd; + border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #523e02; +} + +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #0d6efd; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.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: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #084298; + background-color: #bacbe6; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.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% - 1rem); +} +.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% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, +.modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-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-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} + +@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-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@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-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@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-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@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-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@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-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + 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; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] { + padding: 0.4rem 0; +} +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] { + padding: 0 0.4rem; +} +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] { + padding: 0.4rem 0; +} +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] { + padding: 0 0.4rem; +} +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 1070; + display: block; + max-width: 276px; + 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; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f0f0f0; +} + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 1rem 1rem; + color: #212529; +} + +.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 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + 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: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, +.carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.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: 0.5; + transition: opacity 0.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-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, +.spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.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: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} + +.offcanvas.show { + transform: none; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentColor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.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%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} + +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.link-primary { + color: #0d6efd; +} +.link-primary:hover, .link-primary:focus { + color: #0a58ca; +} + +.link-secondary { + color: #6c757d; +} +.link-secondary:hover, .link-secondary:focus { + color: #565e64; +} + +.link-success { + color: #198754; +} +.link-success:hover, .link-success:focus { + color: #146c43; +} + +.link-info { + color: #0dcaf0; +} +.link-info:hover, .link-info:focus { + color: #3dd5f3; +} + +.link-warning { + color: #ffc107; +} +.link-warning:hover, .link-warning:focus { + color: #ffcd39; +} + +.link-danger { + color: #dc3545; +} +.link-danger:hover, .link-danger:focus { + color: #b02a37; +} + +.link-light { + color: #f8f9fa; +} +.link-light:hover, .link-light:focus { + color: #f9fafb; +} + +.link-dark { + color: #212529; +} +.link-dark:hover, .link-dark:focus { + color: #1a1e21; +} + +.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; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 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: 0.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; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.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; +} + +.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 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.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: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #dee2e6 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #dee2e6 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #0d6efd !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #198754 !important; +} + +.border-info { + border-color: #0dcaf0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #212529 !important; +} + +.border-white { + border-color: #fff !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; +} + +.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; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.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: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.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: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.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: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 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 + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.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-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !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; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.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: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !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; +} + +.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-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-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: 0.25rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: 0.2rem !important; +} + +.rounded-2 { + border-radius: 0.25rem !important; +} + +.rounded-3 { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: 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; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: 0.25rem !important; + } + + .gap-sm-2 { + gap: 0.5rem !important; + } + + .gap-sm-3 { + gap: 1rem !important; + } + + .gap-sm-4 { + gap: 1.5rem !important; + } + + .gap-sm-5 { + gap: 3rem !important; + } + + .justify-content-sm-start { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } + + .order-sm-first { + order: -1 !important; + } + + .order-sm-0 { + order: 0 !important; + } + + .order-sm-1 { + order: 1 !important; + } + + .order-sm-2 { + order: 2 !important; + } + + .order-sm-3 { + order: 3 !important; + } + + .order-sm-4 { + order: 4 !important; + } + + .order-sm-5 { + order: 5 !important; + } + + .order-sm-last { + order: 6 !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.5rem !important; + } + + .mt-sm-3 { + margin-top: 1rem !important; + } + + .mt-sm-4 { + margin-top: 1.5rem !important; + } + + .mt-sm-5 { + margin-top: 3rem !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + + .mb-sm-3 { + margin-bottom: 1rem !important; + } + + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + + .mb-sm-5 { + margin-bottom: 3rem !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.5rem !important; + } + + .pt-sm-3 { + padding-top: 1rem !important; + } + + .pt-sm-4 { + padding-top: 1.5rem !important; + } + + .pt-sm-5 { + padding-top: 3rem !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pb-sm-3 { + padding-bottom: 1rem !important; + } + + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pb-sm-5 { + padding-bottom: 3rem !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 1rem !important; + } + + .ps-sm-4 { + padding-left: 1.5rem !important; + } + + .ps-sm-5 { + padding-left: 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; + } + + .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; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: 0.25rem !important; + } + + .gap-md-2 { + gap: 0.5rem !important; + } + + .gap-md-3 { + gap: 1rem !important; + } + + .gap-md-4 { + gap: 1.5rem !important; + } + + .gap-md-5 { + gap: 3rem !important; + } + + .justify-content-md-start { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } + + .order-md-first { + order: -1 !important; + } + + .order-md-0 { + order: 0 !important; + } + + .order-md-1 { + order: 1 !important; + } + + .order-md-2 { + order: 2 !important; + } + + .order-md-3 { + order: 3 !important; + } + + .order-md-4 { + order: 4 !important; + } + + .order-md-5 { + order: 5 !important; + } + + .order-md-last { + order: 6 !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.5rem !important; + } + + .mt-md-3 { + margin-top: 1rem !important; + } + + .mt-md-4 { + margin-top: 1.5rem !important; + } + + .mt-md-5 { + margin-top: 3rem !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mb-md-3 { + margin-bottom: 1rem !important; + } + + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + + .mb-md-5 { + margin-bottom: 3rem !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.5rem !important; + } + + .pt-md-3 { + padding-top: 1rem !important; + } + + .pt-md-4 { + padding-top: 1.5rem !important; + } + + .pt-md-5 { + padding-top: 3rem !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + + .pb-md-3 { + padding-bottom: 1rem !important; + } + + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + + .pb-md-5 { + padding-bottom: 3rem !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 1rem !important; + } + + .ps-md-4 { + padding-left: 1.5rem !important; + } + + .ps-md-5 { + padding-left: 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; + } + + .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; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: 0.25rem !important; + } + + .gap-lg-2 { + gap: 0.5rem !important; + } + + .gap-lg-3 { + gap: 1rem !important; + } + + .gap-lg-4 { + gap: 1.5rem !important; + } + + .gap-lg-5 { + gap: 3rem !important; + } + + .justify-content-lg-start { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } + + .order-lg-first { + order: -1 !important; + } + + .order-lg-0 { + order: 0 !important; + } + + .order-lg-1 { + order: 1 !important; + } + + .order-lg-2 { + order: 2 !important; + } + + .order-lg-3 { + order: 3 !important; + } + + .order-lg-4 { + order: 4 !important; + } + + .order-lg-5 { + order: 5 !important; + } + + .order-lg-last { + order: 6 !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.5rem !important; + } + + .mt-lg-3 { + margin-top: 1rem !important; + } + + .mt-lg-4 { + margin-top: 1.5rem !important; + } + + .mt-lg-5 { + margin-top: 3rem !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + + .mb-lg-3 { + margin-bottom: 1rem !important; + } + + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + + .mb-lg-5 { + margin-bottom: 3rem !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.5rem !important; + } + + .pt-lg-3 { + padding-top: 1rem !important; + } + + .pt-lg-4 { + padding-top: 1.5rem !important; + } + + .pt-lg-5 { + padding-top: 3rem !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pb-lg-3 { + padding-bottom: 1rem !important; + } + + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pb-lg-5 { + padding-bottom: 3rem !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 1rem !important; + } + + .ps-lg-4 { + padding-left: 1.5rem !important; + } + + .ps-lg-5 { + padding-left: 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; + } + + .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; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: 0.25rem !important; + } + + .gap-xl-2 { + gap: 0.5rem !important; + } + + .gap-xl-3 { + gap: 1rem !important; + } + + .gap-xl-4 { + gap: 1.5rem !important; + } + + .gap-xl-5 { + gap: 3rem !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: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 1rem !important; + } + + .ps-xl-4 { + padding-left: 1.5rem !important; + } + + .ps-xl-5 { + padding-left: 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; + } + + .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; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: 0.25rem !important; + } + + .gap-xxl-2 { + gap: 0.5rem !important; + } + + .gap-xxl-3 { + gap: 1rem !important; + } + + .gap-xxl-4 { + gap: 1.5rem !important; + } + + .gap-xxl-5 { + gap: 3rem !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: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.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: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.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: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.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: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.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: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.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: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.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: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.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: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.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: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.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: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.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: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.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: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.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: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.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: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 1rem !important; + } + + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + + .ps-xxl-5 { + padding-left: 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; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/CS/wwwroot/css/bootstrap/bootstrap.min.css b/CS/wwwroot/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..1472dec --- /dev/null +++ b/CS/wwwroot/css/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--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-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-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",Arial,"Noto Sans","Liberation Sans",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-bg:#fff}*,::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;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.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}.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[data-bs-original-title],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:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}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;direction:ltr;unicode-bidi:bidi-override}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:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}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:#6c757d;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]::-webkit-calendar-picker-indicator{display:none}[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}::file-selector-button{font:inherit}::-webkit-file-upload-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:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);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-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.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-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-bg:#cfe2ff;--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:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--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:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--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:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--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:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--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:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--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:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--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:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--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:#fff;border-color:#373b3e}.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 + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;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:#212529;background-color:#fff;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::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;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}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.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-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.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}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{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:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;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:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.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-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;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]{background-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 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-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;background-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{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");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{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.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}.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:#dee2e6;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:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px 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{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.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: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)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.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:.3rem}.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:.2rem}.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)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){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>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){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:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.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:rgba(25,135,84,.9);border-radius:.25rem}.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:#198754;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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position: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:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.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:#198754}.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"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-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:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.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:#dc3545;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:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.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:#dc3545}.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"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),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-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:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.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,.dropend,.dropstart,.dropup{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{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.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:.125rem}.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:.125rem}.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:.125rem}.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:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .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>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn: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:-1px}.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{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;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:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.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{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.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:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@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 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .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:.5rem;padding-left:.5rem}.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-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image: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")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.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:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@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-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image: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");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.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{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;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:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@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:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.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:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;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:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;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% - 1rem)}.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% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-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-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@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-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@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-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@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-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@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-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@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-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;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;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.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:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.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 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;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;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.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:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.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}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.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:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.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{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@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%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.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}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top: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}.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}.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(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}.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:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!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}.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}.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}.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}.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-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!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:#6c757d!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-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}.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-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-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:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float: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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}.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}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/CS/wwwroot/css/icons.css b/CS/wwwroot/css/icons.css new file mode 100644 index 0000000..0b2ad0c --- /dev/null +++ b/CS/wwwroot/css/icons.css @@ -0,0 +1,158 @@ +.menu-item-selected { + background-color: #d5d8db; +} + +.grid-context-menu-item-full-expand, +.grid-context-menu-item-full-collapse, +.grid-context-menu-item-sort-ascending, +.grid-context-menu-item-sort-descending, +.grid-context-menu-item-group-by-column, +.grid-context-menu-item-ungroup-column, +.grid-context-menu-item-clear-grouping, +.grid-context-menu-item-show-group-panel, +.grid-context-menu-item-column-chooser, +.grid-context-menu-item-clear-filter, +.grid-context-menu-item-expand-row, +.grid-context-menu-item-collapse-row, +.grid-context-menu-item-expand-detail-row, +.grid-context-menu-item-collapse-detail-row, +.grid-context-menu-item-new-row, +.grid-context-menu-item-edit-row, +.grid-context-menu-item-delete-row { + width: 16px; + height: 16px; + background-repeat: no-repeat; + background-color: gray; +} + +.dropdown-item:active .grid-context-menu-item-full-expand, +.dropdown-item:active .grid-context-menu-item-full-collapse, +.dropdown-item:active .grid-context-menu-item-sort-ascending, +.dropdown-item:active .grid-context-menu-item-sort-descending, +.dropdown-item:active .grid-context-menu-item-group-by-column, +.dropdown-item:active .grid-context-menu-item-ungroup-column, +.dropdown-item:active .grid-context-menu-item-clear-grouping, +.dropdown-item:active .grid-context-menu-item-show-group-panel, +.dropdown-item:active .grid-context-menu-item-column-chooser, +.dropdown-item:active .grid-context-menu-item-clear-filter, +.dropdown-item:active .grid-context-menu-item-expand-row, +.dropdown-item:active .grid-context-menu-item-collapse-row, +.dropdown-item:active .grid-context-menu-item-expand-detail-row, +.dropdown-item:active .grid-context-menu-item-collapse-detail-row, +.dropdown-item:active .grid-context-menu-item-new-row, +.dropdown-item:active .grid-context-menu-item-edit-row, +.dropdown-item:active .grid-context-menu-item-delete-row { + background-color: white; +} + +.dropdown-item.disabled .grid-context-menu-item-full-expand, +.dropdown-item.disabled .grid-context-menu-item-full-collapse, +.dropdown-item.disabled .grid-context-menu-item-sort-ascending, +.dropdown-item.disabled .grid-context-menu-item-sort-descending, +.dropdown-item.disabled .grid-context-menu-item-group-by-column, +.dropdown-item.disabled .grid-context-menu-item-ungroup-column, +.dropdown-item.disabled .grid-context-menu-item-clear-grouping, +.dropdown-item.disabled .grid-context-menu-item-show-group-panel, +.dropdown-item.disabled .grid-context-menu-item-clear-filter, +.dropdown-item.disabled .grid-context-menu-item-expand-row, +.dropdown-item.disabled .grid-context-menu-item-collapse-row, +.dropdown-item.disabled .grid-context-menu-item-expand-detail-row, +.dropdown-item.disabled .grid-context-menu-item-collapse-detail-row, +.dropdown-item.disabled .grid-context-menu-item-new-row, +.dropdown-item.disabled .grid-context-menu-item-edit-row, +.dropdown-item.disabled .grid-context-menu-item-delete-row { + background-color: #c3c2c2; +} + +.grid-context-menu-item-full-expand { + mask-image: url(../images/icons/full-expand.svg); + -webkit-mask-image: url(../images/icons/full-expand.svg); +} +.grid-context-menu-item-full-collapse { + mask-image: url(../images/icons/full-collapse.svg); + -webkit-mask-image: url(../images/icons/full-collapse.svg); +} +.grid-context-menu-item-sort-ascending { + mask-image: url(../images/icons/sort-ascending.svg); + -webkit-mask-image: url(../images/icons/sort-ascending.svg); +} +.grid-context-menu-item-sort-descending { + mask-image: url(../images/icons/sort-descending.svg); + -webkit-mask-image: url(../images/icons/sort-descending.svg); +} +.grid-context-menu-item-group-by-column { + mask-image: url(../images/icons/group-by-column.svg); + -webkit-mask-image: url(../images/icons/group-by-column.svg); +} +.grid-context-menu-item-ungroup-column { + mask-image: url(../images/icons/ungroup-column.svg); + -webkit-mask-image: url(../images/icons/ungroup-column.svg); +} +.grid-context-menu-item-clear-grouping { + mask-image: url(../images/icons/clear-grouping.svg); + -webkit-mask-image: url(../images/icons/clear-grouping.svg); +} +.grid-context-menu-item-show-group-panel { + mask-image: url(../images/icons/show-group-panel.svg); + -webkit-mask-image: url(../images/icons/show-group-panel.svg); +} +.grid-context-menu-item-column-chooser { + mask-image: url(../images/icons/column-chooser.svg); + -webkit-mask-image: url(../images/icons/column-chooser.svg); +} +.grid-context-menu-item-clear-filter { + mask-image: url(../images/icons/clear-filter.svg); + -webkit-mask-image: url(../images/icons/clear-filter.svg); +} +.grid-context-menu-item-expand-row { + mask-image: url(../images/icons/expand-row.svg); + -webkit-mask-image: url(../images/icons/expand-row.svg); +} +.grid-context-menu-item-collapse-row { + mask-image: url(../images/icons/collapse-row.svg); + -webkit-mask-image: url(../images/icons/collapse-row.svg); +} +.grid-context-menu-item-expand-detail-row { + mask-image: url(../images/icons/expand-detail-row.svg); + -webkit-mask-image: url(../images/icons/expand-detail-row.svg); +} +.grid-context-menu-item-collapse-detail-row { + mask-image: url(../images/icons/collapse-detail-row.svg); + -webkit-mask-image: url(../images/icons/collapse-detail-row.svg); +} +.grid-context-menu-item-new-row { + mask-image: url(../images/icons/new-row.svg); + -webkit-mask-image: url(../images/icons/new-row.svg); +} +.grid-context-menu-item-edit-row { + mask-image: url(../images/icons/edit-row.svg); + -webkit-mask-image: url(../images/icons/edit-row.svg); +} +.grid-context-menu-item-delete-row { + mask-image: url(../images/icons/delete-row.svg); + -webkit-mask-image: url(../images/icons/delete-row.svg); +} + + +.grid-context-menu-item-filter-row, +.grid-context-menu-item-footer { + width: 16px; + height: 16px; + background-repeat: no-repeat; +} + +.menu-item-selected .grid-context-menu-item-filter-row, +.menu-item-selected .grid-context-menu-item-footer { + background-color: gray; +} + +.menu-item-selected.dropdown-item:active .grid-context-menu-item-filter-row, +.menu-item-selected.dropdown-item:active .grid-context-menu-item-footer { + background-color: white; +} + +.menu-item-selected .grid-context-menu-item-filter-row, +.menu-item-selected .grid-context-menu-item-footer { + mask-image: url(../images/icons/item-checked.svg); + -webkit-mask-image: url(../images/icons/item-checked.svg); +} \ No newline at end of file diff --git a/CS/wwwroot/css/open.iconic/FONT-LICENSE.txt b/CS/wwwroot/css/open.iconic/FONT-LICENSE.txt new file mode 100644 index 0000000..a1dc03f --- /dev/null +++ b/CS/wwwroot/css/open.iconic/FONT-LICENSE.txt @@ -0,0 +1,86 @@ +SIL OPEN FONT LICENSE Version 1.1 + +Copyright (c) 2014 Waybury + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/CS/wwwroot/css/open.iconic/ICON-LICENSE.txt b/CS/wwwroot/css/open.iconic/ICON-LICENSE.txt new file mode 100644 index 0000000..2199f4a --- /dev/null +++ b/CS/wwwroot/css/open.iconic/ICON-LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Waybury + +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. \ No newline at end of file diff --git a/CS/wwwroot/css/open.iconic/README.md b/CS/wwwroot/css/open.iconic/README.md new file mode 100644 index 0000000..6b810e4 --- /dev/null +++ b/CS/wwwroot/css/open.iconic/README.md @@ -0,0 +1,114 @@ +[Open Iconic v1.1.1](http://useiconic.com/open) +=========== + +### Open Iconic is the open source sibling of [Iconic](http://useiconic.com). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](http://useiconic.com/open#icons) + + + +## What's in Open Iconic? + +* 223 icons designed to be legible down to 8 pixels +* Super-light SVG files - 61.8 for the entire set +* SVG sprite—the modern replacement for icon fonts +* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats +* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats +* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px. + + +## Getting Started + +#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](http://useiconic.com/open#icons) and [Reference](http://useiconic.com/open#reference) sections. + +### General Usage + +#### Using Open Iconic's SVGs + +We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute). + +``` +icon name +``` + +#### Using Open Iconic's SVG Sprite + +Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack. + +Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.* + +``` + + + +``` + +Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions. + +``` +.icon { + width: 16px; + height: 16px; +} +``` + +Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag. + +``` +.icon-account-login { + fill: #f00; +} +``` + +To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/). + +#### Using Open Iconic's Icon Font... + + +##### …with Bootstrap + +You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}` + + +``` + +``` + + +``` + +``` + +##### …with Foundation + +You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}` + +``` + +``` + + +``` + +``` + +##### …on its own + +You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}` + +``` + +``` + +``` + +``` + + +## License + +### Icons + +All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT). + +### Fonts + +All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web). diff --git a/CS/wwwroot/css/open.iconic/font/css/open-iconic-bootstrap.min.css b/CS/wwwroot/css/open.iconic/font/css/open-iconic-bootstrap.min.css new file mode 100644 index 0000000..4664f2e --- /dev/null +++ b/CS/wwwroot/css/open.iconic/font/css/open-iconic-bootstrap.min.css @@ -0,0 +1 @@ +@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} \ No newline at end of file diff --git a/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.eot b/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.eot new file mode 100644 index 0000000000000000000000000000000000000000..f98177dbf711863eff7c90f84d5d419d02d99ba8 GIT binary patch literal 28196 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 f%X4~$E_2;^J#ifP;CI~=<%5iE_!YyhznS + + + + +Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014 + By P.J. Onori +Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.ttf b/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fab604866cd5e55ef4525ea22e420c411f510b01 GIT binary patch literal 28028 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 literal 0 HcmV?d00001 diff --git a/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.woff b/CS/wwwroot/css/open.iconic/font/fonts/open-iconic.woff new file mode 100644 index 0000000000000000000000000000000000000000..f9309988aeab3868040d3b322658902098eba27f GIT binary patch literal 14984 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 literal 0 HcmV?d00001 diff --git a/CS/wwwroot/css/site.css b/CS/wwwroot/css/site.css new file mode 100644 index 0000000..2b2198a --- /dev/null +++ b/CS/wwwroot/css/site.css @@ -0,0 +1,41 @@ +@import url('open.iconic/font/css/open-iconic-bootstrap.min.css'); + +html, body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +html, body { + height: 100%; + overflow: hidden; +} + +.valid.modified:not([type=checkbox]) { + outline: 1px solid #26b050; +} + +.invalid { + outline: 1px solid red; +} + +.validation-message { + color: red; +} + +#blazor-error-ui { + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + +#blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; +} diff --git a/CS/wwwroot/images/banner.png b/CS/wwwroot/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..2da0ee1d2b0e3cc5ea1deff16404fb8738473378 GIT binary patch literal 119613 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

_4EilV!n3rwrH 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 UGlI{2?EnA(07*qoM6N<$g7v72SO5S3 literal 0 HcmV?d00001 diff --git a/CS/wwwroot/images/icons/clear-filter-disabled.svg b/CS/wwwroot/images/icons/clear-filter-disabled.svg new file mode 100644 index 0000000..0f1cdd3 --- /dev/null +++ b/CS/wwwroot/images/icons/clear-filter-disabled.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/clear-filter.svg b/CS/wwwroot/images/icons/clear-filter.svg new file mode 100644 index 0000000..80a1024 --- /dev/null +++ b/CS/wwwroot/images/icons/clear-filter.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/clear-grouping-disabled.svg b/CS/wwwroot/images/icons/clear-grouping-disabled.svg new file mode 100644 index 0000000..e8cb32e --- /dev/null +++ b/CS/wwwroot/images/icons/clear-grouping-disabled.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/clear-grouping.svg b/CS/wwwroot/images/icons/clear-grouping.svg new file mode 100644 index 0000000..c436a1d --- /dev/null +++ b/CS/wwwroot/images/icons/clear-grouping.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/collapse-detail-row-disabled.svg b/CS/wwwroot/images/icons/collapse-detail-row-disabled.svg new file mode 100644 index 0000000..a619fa4 --- /dev/null +++ b/CS/wwwroot/images/icons/collapse-detail-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/collapse-detail-row.svg b/CS/wwwroot/images/icons/collapse-detail-row.svg new file mode 100644 index 0000000..bf8998e --- /dev/null +++ b/CS/wwwroot/images/icons/collapse-detail-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/collapse-row-disabled.svg b/CS/wwwroot/images/icons/collapse-row-disabled.svg new file mode 100644 index 0000000..a619fa4 --- /dev/null +++ b/CS/wwwroot/images/icons/collapse-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/collapse-row.svg b/CS/wwwroot/images/icons/collapse-row.svg new file mode 100644 index 0000000..bf8998e --- /dev/null +++ b/CS/wwwroot/images/icons/collapse-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/column-chooser.svg b/CS/wwwroot/images/icons/column-chooser.svg new file mode 100644 index 0000000..89aa882 --- /dev/null +++ b/CS/wwwroot/images/icons/column-chooser.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/CS/wwwroot/images/icons/delete-row-disabled.svg b/CS/wwwroot/images/icons/delete-row-disabled.svg new file mode 100644 index 0000000..f058044 --- /dev/null +++ b/CS/wwwroot/images/icons/delete-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/delete-row.svg b/CS/wwwroot/images/icons/delete-row.svg new file mode 100644 index 0000000..3331c5e --- /dev/null +++ b/CS/wwwroot/images/icons/delete-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/edit-row-disabled.svg b/CS/wwwroot/images/icons/edit-row-disabled.svg new file mode 100644 index 0000000..034c7dc --- /dev/null +++ b/CS/wwwroot/images/icons/edit-row-disabled.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/edit-row.svg b/CS/wwwroot/images/icons/edit-row.svg new file mode 100644 index 0000000..7a436ea --- /dev/null +++ b/CS/wwwroot/images/icons/edit-row.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/expand-detail-row-disabled.svg b/CS/wwwroot/images/icons/expand-detail-row-disabled.svg new file mode 100644 index 0000000..d83a34a --- /dev/null +++ b/CS/wwwroot/images/icons/expand-detail-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/expand-detail-row.svg b/CS/wwwroot/images/icons/expand-detail-row.svg new file mode 100644 index 0000000..6623ce6 --- /dev/null +++ b/CS/wwwroot/images/icons/expand-detail-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/expand-row-disabled.svg b/CS/wwwroot/images/icons/expand-row-disabled.svg new file mode 100644 index 0000000..d83a34a --- /dev/null +++ b/CS/wwwroot/images/icons/expand-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/expand-row.svg b/CS/wwwroot/images/icons/expand-row.svg new file mode 100644 index 0000000..6623ce6 --- /dev/null +++ b/CS/wwwroot/images/icons/expand-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/full-collapse-disabled.svg b/CS/wwwroot/images/icons/full-collapse-disabled.svg new file mode 100644 index 0000000..d15f175 --- /dev/null +++ b/CS/wwwroot/images/icons/full-collapse-disabled.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/CS/wwwroot/images/icons/full-collapse.svg b/CS/wwwroot/images/icons/full-collapse.svg new file mode 100644 index 0000000..e291e07 --- /dev/null +++ b/CS/wwwroot/images/icons/full-collapse.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/CS/wwwroot/images/icons/full-expand-disabled.svg b/CS/wwwroot/images/icons/full-expand-disabled.svg new file mode 100644 index 0000000..67b0172 --- /dev/null +++ b/CS/wwwroot/images/icons/full-expand-disabled.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/full-expand.svg b/CS/wwwroot/images/icons/full-expand.svg new file mode 100644 index 0000000..bcf3835 --- /dev/null +++ b/CS/wwwroot/images/icons/full-expand.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/group-by-column-disabled.svg b/CS/wwwroot/images/icons/group-by-column-disabled.svg new file mode 100644 index 0000000..b8aac2f --- /dev/null +++ b/CS/wwwroot/images/icons/group-by-column-disabled.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/CS/wwwroot/images/icons/group-by-column.svg b/CS/wwwroot/images/icons/group-by-column.svg new file mode 100644 index 0000000..1b5d1f3 --- /dev/null +++ b/CS/wwwroot/images/icons/group-by-column.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/CS/wwwroot/images/icons/item-checked.svg b/CS/wwwroot/images/icons/item-checked.svg new file mode 100644 index 0000000..4408071 --- /dev/null +++ b/CS/wwwroot/images/icons/item-checked.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/new-row-disabled.svg b/CS/wwwroot/images/icons/new-row-disabled.svg new file mode 100644 index 0000000..d9c08b3 --- /dev/null +++ b/CS/wwwroot/images/icons/new-row-disabled.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/new-row.svg b/CS/wwwroot/images/icons/new-row.svg new file mode 100644 index 0000000..2cf5929 --- /dev/null +++ b/CS/wwwroot/images/icons/new-row.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/CS/wwwroot/images/icons/show-group-panel-disabled.svg b/CS/wwwroot/images/icons/show-group-panel-disabled.svg new file mode 100644 index 0000000..63e07ed --- /dev/null +++ b/CS/wwwroot/images/icons/show-group-panel-disabled.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/show-group-panel.svg b/CS/wwwroot/images/icons/show-group-panel.svg new file mode 100644 index 0000000..267d18a --- /dev/null +++ b/CS/wwwroot/images/icons/show-group-panel.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/CS/wwwroot/images/icons/sort-ascending-disabled.svg b/CS/wwwroot/images/icons/sort-ascending-disabled.svg new file mode 100644 index 0000000..478dd66 --- /dev/null +++ b/CS/wwwroot/images/icons/sort-ascending-disabled.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/sort-ascending.svg b/CS/wwwroot/images/icons/sort-ascending.svg new file mode 100644 index 0000000..468938e --- /dev/null +++ b/CS/wwwroot/images/icons/sort-ascending.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/sort-descending-disabled.svg b/CS/wwwroot/images/icons/sort-descending-disabled.svg new file mode 100644 index 0000000..2dbedea --- /dev/null +++ b/CS/wwwroot/images/icons/sort-descending-disabled.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/sort-descending.svg b/CS/wwwroot/images/icons/sort-descending.svg new file mode 100644 index 0000000..2950011 --- /dev/null +++ b/CS/wwwroot/images/icons/sort-descending.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/CS/wwwroot/images/icons/ungroup-column.svg b/CS/wwwroot/images/icons/ungroup-column.svg new file mode 100644 index 0000000..4a9c60e --- /dev/null +++ b/CS/wwwroot/images/icons/ungroup-column.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/CS/wwwroot/images/sad.svg b/CS/wwwroot/images/sad.svg new file mode 100644 index 0000000..aab2fdd --- /dev/null +++ b/CS/wwwroot/images/sad.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f1900ef --- /dev/null +++ b/LICENSE @@ -0,0 +1,5 @@ +This code example is provided "as is" without warranty of any kind. Developer Express Inc ("DevExpress") disclaims all warranties, +either express or implied, including the warranties of merchantability and fitness for a particular purpose. + +For licensing terms and conditions of DevExpress product(s) required for, or associated with the use of this code example, +please refer to the applicable End-User License Agreement at https://www.devexpress.com/Support/licensingfaq.xml \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d038341 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ + +![](https://img.shields.io/endpoint?url=https://codecentral.devexpress.com/api/v1/VersionRange/520094985/22.1.4%2B) +[![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183) + + +# Blazor Grid - Show the Context Menu + +![Grid with Context Menu for a column](result.png) + +## Files to Look At + +- + +## Documentation + +- + +## More Examples + +- diff --git a/config.json b/config.json new file mode 100644 index 0000000..d660d4a --- /dev/null +++ b/config.json @@ -0,0 +1,4 @@ +{ + "autoGenerateVb": true, + "runOnWeb": false +} \ No newline at end of file diff --git a/result.png b/result.png new file mode 100644 index 0000000000000000000000000000000000000000..e67d90d6dca9362df0da8a14fc3b7d870c57382a GIT binary patch literal 27981 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 literal 0 HcmV?d00001 From 6c3cf1e3706bf64836057ff844e299464e2e24d7 Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk <80813840+khamlyuk@users.noreply.github.com> Date: Wed, 3 Aug 2022 12:10:23 +0400 Subject: [PATCH 2/8] Update config.json --- config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.json b/config.json index d660d4a..a8b9b76 100644 --- a/config.json +++ b/config.json @@ -1,4 +1,4 @@ { - "autoGenerateVb": true, + "autoGenerateVb": false, "runOnWeb": false -} \ No newline at end of file +} From f121b5cd0335dbf05718a8a0d221e6074a971944 Mon Sep 17 00:00:00 2001 From: DevExpressExampleBot Date: Wed, 3 Aug 2022 12:10:28 +0400 Subject: [PATCH 3/8] Source auto update [skip ci] --- VB/.gitattributes | 2 + VB/App.razor | 11 ++ VB/Data/GridContextMenuHelper.vb | 302 ++++++++++++++++++++++++++++++ VB/Data/WeatherForecast.vb | 19 ++ VB/Data/WeatherForecastService.vb | 40 ++++ VB/GridWithContextMenu.vbproj | 14 ++ VB/NOTICE.txt | 12 ++ VB/Pages/Error.cshtml.vb | 35 ++++ VB/Program.vb | 252 +++++++++++++++++++++++++ VB/_Imports.razor | 12 ++ VB/appsettings.Development.json | 9 + VB/appsettings.json | 9 + VB/readme.html | 11 ++ 13 files changed, 728 insertions(+) create mode 100644 VB/.gitattributes create mode 100644 VB/App.razor create mode 100644 VB/Data/GridContextMenuHelper.vb create mode 100644 VB/Data/WeatherForecast.vb create mode 100644 VB/Data/WeatherForecastService.vb create mode 100644 VB/GridWithContextMenu.vbproj create mode 100644 VB/NOTICE.txt create mode 100644 VB/Pages/Error.cshtml.vb create mode 100644 VB/Program.vb create mode 100644 VB/_Imports.razor create mode 100644 VB/appsettings.Development.json create mode 100644 VB/appsettings.json create mode 100644 VB/readme.html diff --git a/VB/.gitattributes b/VB/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/VB/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/VB/App.razor b/VB/App.razor new file mode 100644 index 0000000..91c35f8 --- /dev/null +++ b/VB/App.razor @@ -0,0 +1,11 @@ + + + + + + + +

Sorry, there's nothing at this address.

+ + + diff --git a/VB/Data/GridContextMenuHelper.vb b/VB/Data/GridContextMenuHelper.vb new file mode 100644 index 0000000..81f6bdd --- /dev/null +++ b/VB/Data/GridContextMenuHelper.vb @@ -0,0 +1,302 @@ +Imports DevExpress.Blazor + +Namespace GridWithContextMenu.Data + + Public Class GridContextMenuHelper + + Public Shared Function IsContextMenuElement(ByVal elementType As GridElementType) As Boolean + Return GridContextMenuHelper.IsColumnContextMenuElement(elementType) OrElse GridContextMenuHelper.IsRowContextMenuElement(elementType) + End Function + + Public Shared Function IsColumnContextMenuElement(ByVal elementType As GridElementType) As Boolean + Select Case elementType + Case GridElementType.HeaderCell, GridElementType.HeaderCommandCell, GridElementType.HeaderSelectionCell, GridElementType.GroupPanelHeader + Return True + End Select + + Return False + End Function + + Public Shared Function IsRowContextMenuElement(ByVal elementType As GridElementType) As Boolean + Select Case elementType + Case GridElementType.DataRow, GridElementType.GroupRow + Return True + End Select + + Return False + End Function + + Public Shared Sub ProcessColumnMenuItemClick(ByVal item As ContextMenuItem, ByVal column As IGridColumn, ByVal grid As IGrid) + Dim dataColumn = TryCast(column, IGridDataColumn) + grid.BeginUpdate() + Select Case item.ItemType + Case GridContextMenuItemType.FullExpand + grid.ExpandAllGroupRows() + Case GridContextMenuItemType.FullCollapse + grid.CollapseAllGroupRows() + Case GridContextMenuItemType.SortAscending + If dataColumn.SortOrder IsNot GridColumnSortOrder.Ascending Then + Dim newSortIndex = If(dataColumn.SortIndex > -1, dataColumn.SortIndex, grid.GetSortedColumns().Count) + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Ascending, newSortIndex) + End If + + Case GridContextMenuItemType.SortDescending + If dataColumn.SortOrder IsNot GridColumnSortOrder.Descending Then + Dim newSortIndex = If(dataColumn.SortIndex > -1, dataColumn.SortIndex, grid.GetSortedColumns().Count) + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, newSortIndex) + End If + + Case GridContextMenuItemType.ClearSorting + grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, -1) + Case GridContextMenuItemType.GroupByColumn + grid.GroupBy(dataColumn.FieldName, grid.GetGroupCount()) + Case GridContextMenuItemType.UngroupColumn + grid.GroupBy(dataColumn.FieldName, -1) + Case GridContextMenuItemType.ClearGrouping + grid.ClearSort() + Case GridContextMenuItemType.ShowGroupPanel + grid.ShowGroupPanel = Not grid.ShowGroupPanel + Case GridContextMenuItemType.ShowFilterRow + grid.ShowFilterRow = Not grid.ShowFilterRow + Case GridContextMenuItemType.ShowFooter + Dim isFooterVisible = grid.FooterDisplayMode Is GridFooterDisplayMode.Always OrElse grid.FooterDisplayMode Is GridFooterDisplayMode.Auto AndAlso grid.GetTotalSummaryItems().Count > 0 + grid.FooterDisplayMode = If(isFooterVisible, GridFooterDisplayMode.Never, GridFooterDisplayMode.Always) + Case GridContextMenuItemType.HideColumn + column.Visible = False + Case GridContextMenuItemType.ShowColumnChooser + If String.IsNullOrEmpty(grid.CssClass) Then Throw New Exception("Specify DxGrid.CssClass property.") + Dim gridCssSelector = String.Join(String.Empty, grid.CssClass.Split(" ").Where(Function(i) Not String.IsNullOrWhiteSpace(i)).[Select](Function(i) "." & i.Trim())) + Dim positionTarget = $"{gridCssSelector} .dxbs-grid-header-row" + grid.ShowColumnChooser(positionTarget) + Case GridContextMenuItemType.ClearFilter + grid.ClearFilter() + End Select + + grid.EndUpdate() + End Sub + + Public Shared Async Function ProcessRowMenuItemClickAsync(ByVal item As ContextMenuItem, ByVal visibleIndex As Integer, ByVal grid As IGrid) As Task + Select Case item.ItemType + Case GridContextMenuItemType.ExpandRow + grid.ExpandGroupRow(visibleIndex) + Case GridContextMenuItemType.CollapseRow + grid.CollapseGroupRow(visibleIndex) + Case GridContextMenuItemType.ExpandDetailRow + grid.ExpandDetailRow(visibleIndex) + Case GridContextMenuItemType.CollapseDetailRow + grid.CollapseDetailRow(visibleIndex) + Case GridContextMenuItemType.NewRow + Await grid.StartEditNewRowAsync() + Case GridContextMenuItemType.EditRow + Await grid.StartEditRowAsync(visibleIndex) + Case GridContextMenuItemType.DeleteRow + grid.ShowRowDeleteConfirmation(visibleIndex) + End Select + End Function + + Public Shared Function GetColumnItems(ByVal e As GridCustomizeElementEventArgs) As List(Of ContextMenuItem) + Dim items = CreateColumnContextMenuItems() + Dim applyBeginGroupForNextVisibleItem = False + For Each item In items + item.Visible = IsColumnMenuItemVisible(e, item.ItemType) + If Not item.Visible AndAlso item.BeginGroup Then applyBeginGroupForNextVisibleItem = True + If item.Visible AndAlso applyBeginGroupForNextVisibleItem Then + item.BeginGroup = True + applyBeginGroupForNextVisibleItem = False + End If + + item.Enabled = IsColumnMenuItemEnabled(e, item.ItemType) + Dim isSelected = IsColumnMenuItemSelected(e, item.ItemType) + If item.Enabled AndAlso isSelected Then item.CssClass = "menu-item-selected" + Next + + Return items + End Function + + Public Shared Function GetRowItems(ByVal e As GridCustomizeElementEventArgs) As List(Of ContextMenuItem) + Dim items = CreateRowContextMenuItems() + For Each item In items + item.Visible = IsRowMenuItemVisible(e, item.ItemType) + item.Enabled = IsRowMenuItemEnabled(e, item.ItemType) + Next + + Return items + End Function + + Private Shared Function IsColumnMenuItemVisible(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean + Dim dataColumn = TryCast(e.Column, IGridDataColumn) + Dim allowSort = GetAllowSort(e.Column, e.Grid) + Dim allowGroup = GetAllowGroup(e.Column, e.Grid) + Select Case itemType + Case GridContextMenuItemType.FullExpand, GridContextMenuItemType.FullCollapse + Return e.ElementType Is GridElementType.GroupPanelHeader + Case GridContextMenuItemType.SortAscending, GridContextMenuItemType.SortDescending + Return allowSort + Case GridContextMenuItemType.ClearSorting + Return allowSort AndAlso dataColumn.GroupIndex < 0 + Case GridContextMenuItemType.GroupByColumn + Return allowGroup AndAlso dataColumn.GroupIndex < 0 + Case GridContextMenuItemType.UngroupColumn + Return allowGroup AndAlso dataColumn.GroupIndex > -1 + Case GridContextMenuItemType.ClearGrouping + Return e.Grid.AllowGroup + Case GridContextMenuItemType.ShowGroupPanel, GridContextMenuItemType.ShowFilterRow, GridContextMenuItemType.ShowFooter, GridContextMenuItemType.HideColumn, GridContextMenuItemType.ShowColumnChooser, GridContextMenuItemType.ClearFilter + Return True + End Select + + Return False + End Function + + Private Shared Function IsColumnMenuItemSelected(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean + Dim dataColumn = TryCast(e.Column, IGridDataColumn) + Dim isSorted = dataColumn IsNot Nothing AndAlso dataColumn.SortIndex > -1 + Dim isGrouped = dataColumn IsNot Nothing AndAlso dataColumn.GroupIndex > -1 + Dim sortOrder = GridColumnSortOrder.None + If isSorted OrElse isGrouped Then + sortOrder = dataColumn.SortOrder + If sortOrder Is GridColumnSortOrder.None Then sortOrder = GridColumnSortOrder.Ascending + End If + + Select Case itemType + Case GridContextMenuItemType.SortAscending + Return sortOrder Is GridColumnSortOrder.Ascending + Case GridContextMenuItemType.SortDescending + Return sortOrder Is GridColumnSortOrder.Descending + Case GridContextMenuItemType.ShowGroupPanel + Return e.Grid.ShowGroupPanel + Case GridContextMenuItemType.ShowFilterRow + Return e.Grid.ShowFilterRow + Case GridContextMenuItemType.ShowFooter + Return e.Grid.FooterDisplayMode Is GridFooterDisplayMode.Always OrElse e.Grid.FooterDisplayMode Is GridFooterDisplayMode.Auto AndAlso e.Grid.GetTotalSummaryItems().Count > 0 + End Select + + Return False + End Function + + Private Shared Function IsColumnMenuItemEnabled(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean + Dim dataColumn = TryCast(e.Column, IGridDataColumn) + Dim allowSort = GetAllowSort(e.Column, e.Grid) + Dim allowGroup = GetAllowGroup(e.Column, e.Grid) + Select Case itemType + Case GridContextMenuItemType.FullExpand, GridContextMenuItemType.FullCollapse, GridContextMenuItemType.SortAscending, GridContextMenuItemType.SortDescending, GridContextMenuItemType.GroupByColumn, GridContextMenuItemType.UngroupColumn, GridContextMenuItemType.ShowGroupPanel, GridContextMenuItemType.ShowFilterRow, GridContextMenuItemType.ShowFooter, GridContextMenuItemType.HideColumn, GridContextMenuItemType.ShowColumnChooser + Return True + Case GridContextMenuItemType.ClearSorting + Return allowSort AndAlso (dataColumn.SortIndex > -1 OrElse dataColumn.GroupIndex > -1) + Case GridContextMenuItemType.ClearGrouping + Return e.Grid.AllowGroup AndAlso e.Grid.GetGroupCount() > 1 + Case GridContextMenuItemType.ClearFilter + Return e.Grid.GetDataColumns().Any(Function(i) i.FilterRowValue IsNot Nothing) + End Select + + Return False + End Function + + Private Shared Function IsRowMenuItemVisible(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean + Dim isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex) + Dim hasDetailButton = Not isGroupRow AndAlso e.Grid.DetailRowTemplate IsNot Nothing AndAlso e.Grid.DetailRowDisplayMode Is GridDetailRowDisplayMode.Auto AndAlso e.Grid.DetailExpandButtonDisplayMode Is GridDetailExpandButtonDisplayMode.Auto + Select Case itemType + Case GridContextMenuItemType.ExpandRow, GridContextMenuItemType.CollapseRow + Return isGroupRow + Case GridContextMenuItemType.ExpandDetailRow, GridContextMenuItemType.CollapseDetailRow + Return hasDetailButton + Case GridContextMenuItemType.NewRow + Return True + Case GridContextMenuItemType.EditRow, GridContextMenuItemType.DeleteRow + Return Not isGroupRow + End Select + + Return False + End Function + + Private Shared Function IsRowMenuItemEnabled(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean + Dim isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex) + Dim isGroupRowExpanded = e.Grid.IsGroupRowExpanded(e.VisibleIndex) + Dim hasDetailButton = Not isGroupRow AndAlso e.Grid.DetailRowTemplate IsNot Nothing AndAlso e.Grid.DetailRowDisplayMode Is GridDetailRowDisplayMode.Auto AndAlso e.Grid.DetailExpandButtonDisplayMode Is GridDetailExpandButtonDisplayMode.Auto + Dim isDetailRowExpanded = e.Grid.IsDetailRowExpanded(e.VisibleIndex) + Select Case itemType + Case GridContextMenuItemType.ExpandRow + Return isGroupRow AndAlso Not isGroupRowExpanded + Case GridContextMenuItemType.CollapseRow + Return isGroupRow AndAlso isGroupRowExpanded + Case GridContextMenuItemType.ExpandDetailRow + Return hasDetailButton AndAlso Not isDetailRowExpanded + Case GridContextMenuItemType.CollapseDetailRow + Return hasDetailButton AndAlso isDetailRowExpanded + Case GridContextMenuItemType.NewRow, GridContextMenuItemType.EditRow, GridContextMenuItemType.DeleteRow + Return True + End Select + + Return False + End Function + + Private Shared Function GetAllowSort(ByVal column As IGridColumn, ByVal grid As IGrid) As Boolean + Dim dataColumn As IGridDataColumn = Nothing + If CSharpImpl.__Assign(dataColumn, TryCast(column, IGridDataColumn)) IsNot Nothing Then Return If(dataColumn.AllowSort, grid.AllowSort) + Return False + End Function + + Private Shared Function GetAllowGroup(ByVal column As IGridColumn, ByVal grid As IGrid) As Boolean + Dim dataColumn As IGridDataColumn = Nothing + If CSharpImpl.__Assign(dataColumn, TryCast(column, IGridDataColumn)) IsNot Nothing Then Return If(dataColumn.AllowGroup, grid.AllowGroup) + Return False + End Function + + Private Shared Function CreateColumnContextMenuItems() As List(Of ContextMenuItem) + Return New List(Of ContextMenuItem) From {New ContextMenuItem With {.ItemType = GridContextMenuItemType.FullExpand, .Text = "Expand All", .IconCssClass = "grid-context-menu-item-full-expand"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.FullCollapse, .Text = "Collapse All", .IconCssClass = "grid-context-menu-item-full-collapse"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.SortAscending, .Text = "Sort Ascending", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-sort-ascending"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.SortDescending, .Text = "Sort Descending", .IconCssClass = "grid-context-menu-item-sort-descending"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearSorting, .Text = "Clear Sorting"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.GroupByColumn, .Text = "Group By This Column", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-group-by-column"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.UngroupColumn, .Text = "Ungroup", .IconCssClass = "grid-context-menu-item-ungroup-column"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearGrouping, .Text = "Clear Grouping", .IconCssClass = "grid-context-menu-item-clear-grouping"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowGroupPanel, .Text = "Group Panel", .IconCssClass = "grid-context-menu-item-show-group-panel"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.HideColumn, .Text = "Hide Column", .BeginGroup = True}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowColumnChooser, .Text = "Column Chooser", .IconCssClass = "grid-context-menu-item-column-chooser"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearFilter, .Text = "Clear Filter", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-clear-filter"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowFilterRow, .Text = "Filter Row", .IconCssClass = "grid-context-menu-item-filter-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowFooter, .Text = "Footer", .IconCssClass = "grid-context-menu-item-footer"}} + End Function + + Private Shared Function CreateRowContextMenuItems() As List(Of ContextMenuItem) + Return New List(Of ContextMenuItem) From {New ContextMenuItem With {.ItemType = GridContextMenuItemType.ExpandRow, .Text = "Expand", .IconCssClass = "grid-context-menu-item-expand-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.CollapseRow, .Text = "Collapse", .IconCssClass = "grid-context-menu-item-collapse-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ExpandDetailRow, .Text = "Expand Detail", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-expand-detail-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.CollapseDetailRow, .Text = "Collapse Detail", .IconCssClass = "grid-context-menu-item-collapse-detail-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.NewRow, .Text = "New", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-new-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.EditRow, .Text = "Edit", .IconCssClass = "grid-context-menu-item-edit-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.DeleteRow, .Text = "Delete", .IconCssClass = "grid-context-menu-item-delete-row"}} + End Function + + Private Class CSharpImpl + + + Shared Function __Assign(Of T)(ByRef target As T, value As T) As T + target = value + Return value + End Function + End Class + End Class + + Public Class ContextMenuItem + + Public Property ItemType As GridContextMenuItemType + + Public Property Text As String + + Public Property Enabled As Boolean + + Public Property Visible As Boolean + + Public Property BeginGroup As Boolean + + Public Property CssClass As String + + Public Property IconCssClass As String + End Class + + Public Enum GridContextMenuItemType + FullExpand + FullCollapse + SortAscending + SortDescending + ClearSorting + GroupByColumn + UngroupColumn + ClearGrouping + ShowGroupPanel + HideColumn + ShowColumnChooser + ClearFilter + ShowFilterRow + ShowFooter + ExpandRow + CollapseRow + ExpandDetailRow + CollapseDetailRow + NewRow + EditRow + DeleteRow + End Enum +End Namespace diff --git a/VB/Data/WeatherForecast.vb b/VB/Data/WeatherForecast.vb new file mode 100644 index 0000000..ea9dca7 --- /dev/null +++ b/VB/Data/WeatherForecast.vb @@ -0,0 +1,19 @@ +Namespace GridWithContextMenu.Data + + Public Class WeatherForecast + + Public Property ID As Integer + + Public Property [Date] As DateTime + + Public Property TemperatureC As Integer + + Public ReadOnly Property TemperatureF As Integer + Get + Return 32 + CInt(TemperatureC / 0.5556) + End Get + End Property + + Public Property Summary As String? + End Class +End Namespace diff --git a/VB/Data/WeatherForecastService.vb b/VB/Data/WeatherForecastService.vb new file mode 100644 index 0000000..e6e4b25 --- /dev/null +++ b/VB/Data/WeatherForecastService.vb @@ -0,0 +1,40 @@ +Namespace GridWithContextMenu.Data + + Public Class WeatherForecastService + + Public ReadOnly Summaries As String() = {"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"} + + Private Forecasts As List(Of WeatherForecast)? + + Public Function GetForecastAsync() As Task(Of List(Of WeatherForecast)) + If Forecasts Is Nothing Then + Dim rnd = New Random() + Forecasts = Enumerable.Range(1, 5).[Select](Function(index) New WeatherForecast With {.ID = index, .[Date] = DateTime.Today.AddDays(index), .TemperatureC = rnd.[Next](-20, 55), .Summary = Summaries(rnd.[Next](Summaries.Length))}).ToList() + End If + + Return Task.FromResult(Forecasts) + End Function + + Public Function GetSummaries() As String() + Return Summaries + End Function + + Public Function ChangeForecastAsync(ByVal changed As WeatherForecast) As Task(Of List(Of WeatherForecast)) + Dim orginalForecast = Forecasts.FirstOrDefault(Function(i) i.ID Is changed.ID) + If orginalForecast IsNot Nothing Then + orginalForecast.TemperatureC = changed.TemperatureC + orginalForecast.Summary = changed.Summary + orginalForecast.Date = changed.Date + Else + Forecasts.Add(changed) + End If + + Return Task.FromResult(Forecasts) + End Function + + Public Function Remove(ByVal forecast As WeatherForecast) As Task(Of List(Of WeatherForecast)) + Forecasts.Remove(forecast) + Return Task.FromResult(Forecasts) + End Function + End Class +End Namespace diff --git a/VB/GridWithContextMenu.vbproj b/VB/GridWithContextMenu.vbproj new file mode 100644 index 0000000..5dcd441 --- /dev/null +++ b/VB/GridWithContextMenu.vbproj @@ -0,0 +1,14 @@ + + + + On + net6.0 + enable + + + + + + + + \ No newline at end of file diff --git a/VB/NOTICE.txt b/VB/NOTICE.txt new file mode 100644 index 0000000..f0858d6 --- /dev/null +++ b/VB/NOTICE.txt @@ -0,0 +1,12 @@ +The following open source libraries are used and included within thеse sample/demonstration projects: + +Bootstrap (Open Source – MIT License) +Copyright (c) 2011-2021 Twitter, Inc. / Copyright (c) 2011-2021 The Bootstrap Authors +https://github.com/twbs/bootstrap/blob/main/LICENSE + +open-iconic (Open Source – MIT License and SIL Open Font License) +Copyright (c) 2014 Waybury +https://github.com/iconic/open-iconic/blob/master/ICON-LICENSE +https://github.com/iconic/open-iconic/blob/master/FONT-LICENSE + +The open source libraries included in these sample/demonstration projects are done so pursuant to each individual open source library license and subject to the disclaimers and limitations on liability set forth in each open source library license. \ No newline at end of file diff --git a/VB/Pages/Error.cshtml.vb b/VB/Pages/Error.cshtml.vb new file mode 100644 index 0000000..2de4b72 --- /dev/null +++ b/VB/Pages/Error.cshtml.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Collections.Generic +Imports System.Diagnostics +Imports System.Linq +Imports System.Threading.Tasks +Imports Microsoft.AspNetCore.Mvc +Imports Microsoft.AspNetCore.Mvc.RazorPages +Imports Microsoft.Extensions.Logging + +Namespace GridWithContextMenu.Pages + + + + Public Class ErrorModel + Inherits PageModel + + Public Property RequestId As String? + + Public ReadOnly Property ShowRequestId As Boolean + Get + Return Not String.IsNullOrEmpty(RequestId) + End Get + End Property + + Private ReadOnly _logger As ILogger(Of ErrorModel) + + Public Sub New(ByVal logger As ILogger(Of ErrorModel)) + _logger = logger + End Sub + + Public Sub OnGet() + RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier) + End Sub + End Class +End Namespace diff --git a/VB/Program.vb b/VB/Program.vb new file mode 100644 index 0000000..5fcd54e --- /dev/null +++ b/VB/Program.vb @@ -0,0 +1,252 @@ +Imports Microsoft.AspNetCore.Components +' Add services to the container. +' The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. +Imports Microsoft.AspNetCore.Components.Web ' TODO: Error SkippedTokensTrivia ';' + +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia '}' +' TODO: Error SkippedTokensTrivia ')' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' Configure the HTTP request pipeline. +' TODO: Error SkippedTokensTrivia 'if' +' TODO: Error SkippedTokensTrivia ')' +' TODO: Error SkippedTokensTrivia '{' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia '}' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' +' TODO: Error SkippedTokensTrivia ';' + ''' Cannot convert FieldDeclarationSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. +''' Parameter name: member +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.GetMemberContext(MemberDeclarationSyntax member) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitFieldDeclaration(FieldDeclarationSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingVisitorWrapper`1.Accept(SyntaxNode csNode, Boolean addSourceMapping) +''' +''' Input: +''' +''' +''' var builder = WebApplication.CreateBuilder(args); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddRazorPages' at character 209 +''' +''' +''' Input: +''' +''' // Add services to the container. +''' builder.Services.AddRazorPages +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 239 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddServerS...' at character 244 +''' +''' +''' Input: +''' builder.Services.AddServerSideBlazor +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 280 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddDevExpr...' at character 285 +''' +''' +''' Input: +''' builder.Services.AddDevExpressBlazor +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 321 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddSinglet...' at character 326 +''' +''' +''' Input: +''' builder.Services.AddSingleton +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 404 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.Configure<...' at character 409 +''' +''' +''' Input: +''' builder.Services.Configure +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(options ' at character 482 +''' +''' +''' Input: +''' (options => { +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'options.BootstrapVersion' at character 501 +''' +''' +''' Input: +''' options.BootstrapVersion = +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'DevExpress.Blazor.Bootstrap...' at character 528 +''' +''' +''' Input: +''' DevExpress.Blazor.BootstrapVersion.v5; +''' }); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.WebHost.UseWebRoot' at character 573 +''' +''' +''' Input: +''' builder.WebHost.UseWebRoot +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 599 +''' +''' +''' Input: +''' ("wwwroot"); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.WebHost.UseStaticWe...' at character 613 +''' +''' +''' Input: +''' builder.WebHost.UseStaticWebAssets +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 647 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert FieldDeclarationSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. +''' Parameter name: member +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.GetMemberContext(MemberDeclarationSyntax member) +''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitFieldDeclaration(FieldDeclarationSyntax node) +''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) +''' at ICSharpCode.CodeConverter.VB.CommentConvertingVisitorWrapper`1.Accept(SyntaxNode csNode, Boolean addSourceMapping) +''' +''' Input: +''' +''' var app = builder.Build(); +''' +''' // Configure the HTTP request pipeline. +''' if +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 728 +''' +''' +''' Input: +''' (! +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.Environment.IsDevelopment' at character 730 +''' +''' +''' Input: +''' app.Environment.IsDevelopment +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 759 +''' +''' +''' Input: +''' ()) +''' { +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseExceptionHandler' at character 771 +''' +''' +''' Input: +''' app.UseExceptionHandler +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 794 +''' +''' +''' Input: +''' ("/Error"); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseHsts' at character 944 +''' +''' +''' Input: +''' // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. +''' app.UseHsts +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 955 +''' +''' +''' Input: +''' (); +''' } +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseHttpsRedirection' at character 963 +''' +''' +''' Input: +''' app.UseHttpsRedirection +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 986 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseStaticFiles' at character 993 +''' +''' +''' Input: +''' +''' app.UseStaticFiles +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1011 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseRouting' at character 1018 +''' +''' +''' Input: +''' +''' app.UseRouting +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1032 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.MapBlazorHub' at character 1041 +''' +''' +''' Input: +''' +''' +''' app.MapBlazorHub +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1057 +''' +''' +''' Input: +''' (); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.MapFallbackToPage' at character 1062 +''' +''' +''' Input: +''' app.MapFallbackToPage +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 1083 +''' +''' +''' Input: +''' ("/_Host"); +''' +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.Run' at character 1098 +''' +''' +''' Input: +''' +''' app.Run +''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1105 +''' +''' +''' Input: +''' (); +''' \ No newline at end of file diff --git a/VB/_Imports.razor b/VB/_Imports.razor new file mode 100644 index 0000000..b3cf706 --- /dev/null +++ b/VB/_Imports.razor @@ -0,0 +1,12 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Authorization +@using Microsoft.AspNetCore.Components.Authorization +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using GridWithContextMenu +@using GridWithContextMenu.Shared + +@using DevExpress.Blazor \ No newline at end of file diff --git a/VB/appsettings.Development.json b/VB/appsettings.Development.json new file mode 100644 index 0000000..770d3e9 --- /dev/null +++ b/VB/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/VB/appsettings.json b/VB/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/VB/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/VB/readme.html b/VB/readme.html new file mode 100644 index 0000000..ace82de --- /dev/null +++ b/VB/readme.html @@ -0,0 +1,11 @@ + + + + + +
+

Before you start this application

+

Refer to the supported browsers list.

+
+ + From 82c26aa722c0d4cc69d7151e4eed5774172e292f Mon Sep 17 00:00:00 2001 From: DevExpressExampleBot Date: Wed, 3 Aug 2022 12:19:52 +0400 Subject: [PATCH 4/8] README auto update [skip ci] --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d038341..899b7de 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -![](https://img.shields.io/endpoint?url=https://codecentral.devexpress.com/api/v1/VersionRange/520094985/22.1.4%2B) [![](https://img.shields.io/badge/📖_How_to_use_DevExpress_Examples-e9f6fc?style=flat-square)](https://docs.devexpress.com/GeneralInformation/403183) From c78350cd837163e9d96e321fc08e6db0c45bbd4a Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk Date: Wed, 3 Aug 2022 13:28:15 +0400 Subject: [PATCH 5/8] update readme --- README.md | 13 +- VB/.gitattributes | 2 - VB/App.razor | 11 -- VB/Data/GridContextMenuHelper.vb | 302 ------------------------------ VB/Data/WeatherForecast.vb | 19 -- VB/Data/WeatherForecastService.vb | 40 ---- VB/GridWithContextMenu.vbproj | 14 -- VB/NOTICE.txt | 12 -- VB/Pages/Error.cshtml.vb | 35 ---- VB/Program.vb | 252 ------------------------- VB/_Imports.razor | 12 -- VB/appsettings.Development.json | 9 - VB/appsettings.json | 9 - VB/readme.html | 11 -- 14 files changed, 10 insertions(+), 731 deletions(-) delete mode 100644 VB/.gitattributes delete mode 100644 VB/App.razor delete mode 100644 VB/Data/GridContextMenuHelper.vb delete mode 100644 VB/Data/WeatherForecast.vb delete mode 100644 VB/Data/WeatherForecastService.vb delete mode 100644 VB/GridWithContextMenu.vbproj delete mode 100644 VB/NOTICE.txt delete mode 100644 VB/Pages/Error.cshtml.vb delete mode 100644 VB/Program.vb delete mode 100644 VB/_Imports.razor delete mode 100644 VB/appsettings.Development.json delete mode 100644 VB/appsettings.json delete mode 100644 VB/readme.html diff --git a/README.md b/README.md index 899b7de..e9b37f9 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,23 @@ # Blazor Grid - Show the Context Menu +You can show a Context Menu on a right mouse click on a row or column header. + ![Grid with Context Menu for a column](result.png) +In the Grid's [CustomizeElement](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.CustomizeElement) event handler, subscribe for the **contextmenu** event. The [GridContextMenuContainer](./CS/Pages/GridContextMenuContainer.razor) component contains two Context Menus (for a row and column). The [GridContextMenuHelper](./CS/Data/GridContextMenuHelper.cs) class stores available in the Context Menu options and applies changes to the Grid component. + ## Files to Look At -- +- [Index.razor](./CS/Pages/Index.razor) +- [GridContextMenuHelper.cs](./CS/Data/GridContextMenuHelper.cs) +- [GridContextMenuContainer.razor](./CS/Pages/GridContextMenuContainer.razor) ## Documentation -- +- [DxContextMenu](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxContextMenu) +- [DxGrid](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid) ## More Examples -- +- [Blazor Data Grid - How to edit/delete the selected row by clicking on external buttons](https://github.com/DevExpress-Examples/blazor-DxDataGrid-edit-selected-row-by-clicking-on-external-button) diff --git a/VB/.gitattributes b/VB/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/VB/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/VB/App.razor b/VB/App.razor deleted file mode 100644 index 91c35f8..0000000 --- a/VB/App.razor +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - -

Sorry, there's nothing at this address.

-
-
-
diff --git a/VB/Data/GridContextMenuHelper.vb b/VB/Data/GridContextMenuHelper.vb deleted file mode 100644 index 81f6bdd..0000000 --- a/VB/Data/GridContextMenuHelper.vb +++ /dev/null @@ -1,302 +0,0 @@ -Imports DevExpress.Blazor - -Namespace GridWithContextMenu.Data - - Public Class GridContextMenuHelper - - Public Shared Function IsContextMenuElement(ByVal elementType As GridElementType) As Boolean - Return GridContextMenuHelper.IsColumnContextMenuElement(elementType) OrElse GridContextMenuHelper.IsRowContextMenuElement(elementType) - End Function - - Public Shared Function IsColumnContextMenuElement(ByVal elementType As GridElementType) As Boolean - Select Case elementType - Case GridElementType.HeaderCell, GridElementType.HeaderCommandCell, GridElementType.HeaderSelectionCell, GridElementType.GroupPanelHeader - Return True - End Select - - Return False - End Function - - Public Shared Function IsRowContextMenuElement(ByVal elementType As GridElementType) As Boolean - Select Case elementType - Case GridElementType.DataRow, GridElementType.GroupRow - Return True - End Select - - Return False - End Function - - Public Shared Sub ProcessColumnMenuItemClick(ByVal item As ContextMenuItem, ByVal column As IGridColumn, ByVal grid As IGrid) - Dim dataColumn = TryCast(column, IGridDataColumn) - grid.BeginUpdate() - Select Case item.ItemType - Case GridContextMenuItemType.FullExpand - grid.ExpandAllGroupRows() - Case GridContextMenuItemType.FullCollapse - grid.CollapseAllGroupRows() - Case GridContextMenuItemType.SortAscending - If dataColumn.SortOrder IsNot GridColumnSortOrder.Ascending Then - Dim newSortIndex = If(dataColumn.SortIndex > -1, dataColumn.SortIndex, grid.GetSortedColumns().Count) - grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Ascending, newSortIndex) - End If - - Case GridContextMenuItemType.SortDescending - If dataColumn.SortOrder IsNot GridColumnSortOrder.Descending Then - Dim newSortIndex = If(dataColumn.SortIndex > -1, dataColumn.SortIndex, grid.GetSortedColumns().Count) - grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, newSortIndex) - End If - - Case GridContextMenuItemType.ClearSorting - grid.SortBy(dataColumn.FieldName, GridColumnSortOrder.Descending, -1) - Case GridContextMenuItemType.GroupByColumn - grid.GroupBy(dataColumn.FieldName, grid.GetGroupCount()) - Case GridContextMenuItemType.UngroupColumn - grid.GroupBy(dataColumn.FieldName, -1) - Case GridContextMenuItemType.ClearGrouping - grid.ClearSort() - Case GridContextMenuItemType.ShowGroupPanel - grid.ShowGroupPanel = Not grid.ShowGroupPanel - Case GridContextMenuItemType.ShowFilterRow - grid.ShowFilterRow = Not grid.ShowFilterRow - Case GridContextMenuItemType.ShowFooter - Dim isFooterVisible = grid.FooterDisplayMode Is GridFooterDisplayMode.Always OrElse grid.FooterDisplayMode Is GridFooterDisplayMode.Auto AndAlso grid.GetTotalSummaryItems().Count > 0 - grid.FooterDisplayMode = If(isFooterVisible, GridFooterDisplayMode.Never, GridFooterDisplayMode.Always) - Case GridContextMenuItemType.HideColumn - column.Visible = False - Case GridContextMenuItemType.ShowColumnChooser - If String.IsNullOrEmpty(grid.CssClass) Then Throw New Exception("Specify DxGrid.CssClass property.") - Dim gridCssSelector = String.Join(String.Empty, grid.CssClass.Split(" ").Where(Function(i) Not String.IsNullOrWhiteSpace(i)).[Select](Function(i) "." & i.Trim())) - Dim positionTarget = $"{gridCssSelector} .dxbs-grid-header-row" - grid.ShowColumnChooser(positionTarget) - Case GridContextMenuItemType.ClearFilter - grid.ClearFilter() - End Select - - grid.EndUpdate() - End Sub - - Public Shared Async Function ProcessRowMenuItemClickAsync(ByVal item As ContextMenuItem, ByVal visibleIndex As Integer, ByVal grid As IGrid) As Task - Select Case item.ItemType - Case GridContextMenuItemType.ExpandRow - grid.ExpandGroupRow(visibleIndex) - Case GridContextMenuItemType.CollapseRow - grid.CollapseGroupRow(visibleIndex) - Case GridContextMenuItemType.ExpandDetailRow - grid.ExpandDetailRow(visibleIndex) - Case GridContextMenuItemType.CollapseDetailRow - grid.CollapseDetailRow(visibleIndex) - Case GridContextMenuItemType.NewRow - Await grid.StartEditNewRowAsync() - Case GridContextMenuItemType.EditRow - Await grid.StartEditRowAsync(visibleIndex) - Case GridContextMenuItemType.DeleteRow - grid.ShowRowDeleteConfirmation(visibleIndex) - End Select - End Function - - Public Shared Function GetColumnItems(ByVal e As GridCustomizeElementEventArgs) As List(Of ContextMenuItem) - Dim items = CreateColumnContextMenuItems() - Dim applyBeginGroupForNextVisibleItem = False - For Each item In items - item.Visible = IsColumnMenuItemVisible(e, item.ItemType) - If Not item.Visible AndAlso item.BeginGroup Then applyBeginGroupForNextVisibleItem = True - If item.Visible AndAlso applyBeginGroupForNextVisibleItem Then - item.BeginGroup = True - applyBeginGroupForNextVisibleItem = False - End If - - item.Enabled = IsColumnMenuItemEnabled(e, item.ItemType) - Dim isSelected = IsColumnMenuItemSelected(e, item.ItemType) - If item.Enabled AndAlso isSelected Then item.CssClass = "menu-item-selected" - Next - - Return items - End Function - - Public Shared Function GetRowItems(ByVal e As GridCustomizeElementEventArgs) As List(Of ContextMenuItem) - Dim items = CreateRowContextMenuItems() - For Each item In items - item.Visible = IsRowMenuItemVisible(e, item.ItemType) - item.Enabled = IsRowMenuItemEnabled(e, item.ItemType) - Next - - Return items - End Function - - Private Shared Function IsColumnMenuItemVisible(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean - Dim dataColumn = TryCast(e.Column, IGridDataColumn) - Dim allowSort = GetAllowSort(e.Column, e.Grid) - Dim allowGroup = GetAllowGroup(e.Column, e.Grid) - Select Case itemType - Case GridContextMenuItemType.FullExpand, GridContextMenuItemType.FullCollapse - Return e.ElementType Is GridElementType.GroupPanelHeader - Case GridContextMenuItemType.SortAscending, GridContextMenuItemType.SortDescending - Return allowSort - Case GridContextMenuItemType.ClearSorting - Return allowSort AndAlso dataColumn.GroupIndex < 0 - Case GridContextMenuItemType.GroupByColumn - Return allowGroup AndAlso dataColumn.GroupIndex < 0 - Case GridContextMenuItemType.UngroupColumn - Return allowGroup AndAlso dataColumn.GroupIndex > -1 - Case GridContextMenuItemType.ClearGrouping - Return e.Grid.AllowGroup - Case GridContextMenuItemType.ShowGroupPanel, GridContextMenuItemType.ShowFilterRow, GridContextMenuItemType.ShowFooter, GridContextMenuItemType.HideColumn, GridContextMenuItemType.ShowColumnChooser, GridContextMenuItemType.ClearFilter - Return True - End Select - - Return False - End Function - - Private Shared Function IsColumnMenuItemSelected(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean - Dim dataColumn = TryCast(e.Column, IGridDataColumn) - Dim isSorted = dataColumn IsNot Nothing AndAlso dataColumn.SortIndex > -1 - Dim isGrouped = dataColumn IsNot Nothing AndAlso dataColumn.GroupIndex > -1 - Dim sortOrder = GridColumnSortOrder.None - If isSorted OrElse isGrouped Then - sortOrder = dataColumn.SortOrder - If sortOrder Is GridColumnSortOrder.None Then sortOrder = GridColumnSortOrder.Ascending - End If - - Select Case itemType - Case GridContextMenuItemType.SortAscending - Return sortOrder Is GridColumnSortOrder.Ascending - Case GridContextMenuItemType.SortDescending - Return sortOrder Is GridColumnSortOrder.Descending - Case GridContextMenuItemType.ShowGroupPanel - Return e.Grid.ShowGroupPanel - Case GridContextMenuItemType.ShowFilterRow - Return e.Grid.ShowFilterRow - Case GridContextMenuItemType.ShowFooter - Return e.Grid.FooterDisplayMode Is GridFooterDisplayMode.Always OrElse e.Grid.FooterDisplayMode Is GridFooterDisplayMode.Auto AndAlso e.Grid.GetTotalSummaryItems().Count > 0 - End Select - - Return False - End Function - - Private Shared Function IsColumnMenuItemEnabled(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean - Dim dataColumn = TryCast(e.Column, IGridDataColumn) - Dim allowSort = GetAllowSort(e.Column, e.Grid) - Dim allowGroup = GetAllowGroup(e.Column, e.Grid) - Select Case itemType - Case GridContextMenuItemType.FullExpand, GridContextMenuItemType.FullCollapse, GridContextMenuItemType.SortAscending, GridContextMenuItemType.SortDescending, GridContextMenuItemType.GroupByColumn, GridContextMenuItemType.UngroupColumn, GridContextMenuItemType.ShowGroupPanel, GridContextMenuItemType.ShowFilterRow, GridContextMenuItemType.ShowFooter, GridContextMenuItemType.HideColumn, GridContextMenuItemType.ShowColumnChooser - Return True - Case GridContextMenuItemType.ClearSorting - Return allowSort AndAlso (dataColumn.SortIndex > -1 OrElse dataColumn.GroupIndex > -1) - Case GridContextMenuItemType.ClearGrouping - Return e.Grid.AllowGroup AndAlso e.Grid.GetGroupCount() > 1 - Case GridContextMenuItemType.ClearFilter - Return e.Grid.GetDataColumns().Any(Function(i) i.FilterRowValue IsNot Nothing) - End Select - - Return False - End Function - - Private Shared Function IsRowMenuItemVisible(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean - Dim isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex) - Dim hasDetailButton = Not isGroupRow AndAlso e.Grid.DetailRowTemplate IsNot Nothing AndAlso e.Grid.DetailRowDisplayMode Is GridDetailRowDisplayMode.Auto AndAlso e.Grid.DetailExpandButtonDisplayMode Is GridDetailExpandButtonDisplayMode.Auto - Select Case itemType - Case GridContextMenuItemType.ExpandRow, GridContextMenuItemType.CollapseRow - Return isGroupRow - Case GridContextMenuItemType.ExpandDetailRow, GridContextMenuItemType.CollapseDetailRow - Return hasDetailButton - Case GridContextMenuItemType.NewRow - Return True - Case GridContextMenuItemType.EditRow, GridContextMenuItemType.DeleteRow - Return Not isGroupRow - End Select - - Return False - End Function - - Private Shared Function IsRowMenuItemEnabled(ByVal e As GridCustomizeElementEventArgs, ByVal itemType As GridContextMenuItemType) As Boolean - Dim isGroupRow = e.Grid.IsGroupRow(e.VisibleIndex) - Dim isGroupRowExpanded = e.Grid.IsGroupRowExpanded(e.VisibleIndex) - Dim hasDetailButton = Not isGroupRow AndAlso e.Grid.DetailRowTemplate IsNot Nothing AndAlso e.Grid.DetailRowDisplayMode Is GridDetailRowDisplayMode.Auto AndAlso e.Grid.DetailExpandButtonDisplayMode Is GridDetailExpandButtonDisplayMode.Auto - Dim isDetailRowExpanded = e.Grid.IsDetailRowExpanded(e.VisibleIndex) - Select Case itemType - Case GridContextMenuItemType.ExpandRow - Return isGroupRow AndAlso Not isGroupRowExpanded - Case GridContextMenuItemType.CollapseRow - Return isGroupRow AndAlso isGroupRowExpanded - Case GridContextMenuItemType.ExpandDetailRow - Return hasDetailButton AndAlso Not isDetailRowExpanded - Case GridContextMenuItemType.CollapseDetailRow - Return hasDetailButton AndAlso isDetailRowExpanded - Case GridContextMenuItemType.NewRow, GridContextMenuItemType.EditRow, GridContextMenuItemType.DeleteRow - Return True - End Select - - Return False - End Function - - Private Shared Function GetAllowSort(ByVal column As IGridColumn, ByVal grid As IGrid) As Boolean - Dim dataColumn As IGridDataColumn = Nothing - If CSharpImpl.__Assign(dataColumn, TryCast(column, IGridDataColumn)) IsNot Nothing Then Return If(dataColumn.AllowSort, grid.AllowSort) - Return False - End Function - - Private Shared Function GetAllowGroup(ByVal column As IGridColumn, ByVal grid As IGrid) As Boolean - Dim dataColumn As IGridDataColumn = Nothing - If CSharpImpl.__Assign(dataColumn, TryCast(column, IGridDataColumn)) IsNot Nothing Then Return If(dataColumn.AllowGroup, grid.AllowGroup) - Return False - End Function - - Private Shared Function CreateColumnContextMenuItems() As List(Of ContextMenuItem) - Return New List(Of ContextMenuItem) From {New ContextMenuItem With {.ItemType = GridContextMenuItemType.FullExpand, .Text = "Expand All", .IconCssClass = "grid-context-menu-item-full-expand"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.FullCollapse, .Text = "Collapse All", .IconCssClass = "grid-context-menu-item-full-collapse"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.SortAscending, .Text = "Sort Ascending", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-sort-ascending"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.SortDescending, .Text = "Sort Descending", .IconCssClass = "grid-context-menu-item-sort-descending"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearSorting, .Text = "Clear Sorting"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.GroupByColumn, .Text = "Group By This Column", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-group-by-column"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.UngroupColumn, .Text = "Ungroup", .IconCssClass = "grid-context-menu-item-ungroup-column"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearGrouping, .Text = "Clear Grouping", .IconCssClass = "grid-context-menu-item-clear-grouping"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowGroupPanel, .Text = "Group Panel", .IconCssClass = "grid-context-menu-item-show-group-panel"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.HideColumn, .Text = "Hide Column", .BeginGroup = True}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowColumnChooser, .Text = "Column Chooser", .IconCssClass = "grid-context-menu-item-column-chooser"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ClearFilter, .Text = "Clear Filter", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-clear-filter"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowFilterRow, .Text = "Filter Row", .IconCssClass = "grid-context-menu-item-filter-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ShowFooter, .Text = "Footer", .IconCssClass = "grid-context-menu-item-footer"}} - End Function - - Private Shared Function CreateRowContextMenuItems() As List(Of ContextMenuItem) - Return New List(Of ContextMenuItem) From {New ContextMenuItem With {.ItemType = GridContextMenuItemType.ExpandRow, .Text = "Expand", .IconCssClass = "grid-context-menu-item-expand-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.CollapseRow, .Text = "Collapse", .IconCssClass = "grid-context-menu-item-collapse-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.ExpandDetailRow, .Text = "Expand Detail", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-expand-detail-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.CollapseDetailRow, .Text = "Collapse Detail", .IconCssClass = "grid-context-menu-item-collapse-detail-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.NewRow, .Text = "New", .BeginGroup = True, .IconCssClass = "grid-context-menu-item-new-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.EditRow, .Text = "Edit", .IconCssClass = "grid-context-menu-item-edit-row"}, New ContextMenuItem With {.ItemType = GridContextMenuItemType.DeleteRow, .Text = "Delete", .IconCssClass = "grid-context-menu-item-delete-row"}} - End Function - - Private Class CSharpImpl - - - Shared Function __Assign(Of T)(ByRef target As T, value As T) As T - target = value - Return value - End Function - End Class - End Class - - Public Class ContextMenuItem - - Public Property ItemType As GridContextMenuItemType - - Public Property Text As String - - Public Property Enabled As Boolean - - Public Property Visible As Boolean - - Public Property BeginGroup As Boolean - - Public Property CssClass As String - - Public Property IconCssClass As String - End Class - - Public Enum GridContextMenuItemType - FullExpand - FullCollapse - SortAscending - SortDescending - ClearSorting - GroupByColumn - UngroupColumn - ClearGrouping - ShowGroupPanel - HideColumn - ShowColumnChooser - ClearFilter - ShowFilterRow - ShowFooter - ExpandRow - CollapseRow - ExpandDetailRow - CollapseDetailRow - NewRow - EditRow - DeleteRow - End Enum -End Namespace diff --git a/VB/Data/WeatherForecast.vb b/VB/Data/WeatherForecast.vb deleted file mode 100644 index ea9dca7..0000000 --- a/VB/Data/WeatherForecast.vb +++ /dev/null @@ -1,19 +0,0 @@ -Namespace GridWithContextMenu.Data - - Public Class WeatherForecast - - Public Property ID As Integer - - Public Property [Date] As DateTime - - Public Property TemperatureC As Integer - - Public ReadOnly Property TemperatureF As Integer - Get - Return 32 + CInt(TemperatureC / 0.5556) - End Get - End Property - - Public Property Summary As String? - End Class -End Namespace diff --git a/VB/Data/WeatherForecastService.vb b/VB/Data/WeatherForecastService.vb deleted file mode 100644 index e6e4b25..0000000 --- a/VB/Data/WeatherForecastService.vb +++ /dev/null @@ -1,40 +0,0 @@ -Namespace GridWithContextMenu.Data - - Public Class WeatherForecastService - - Public ReadOnly Summaries As String() = {"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"} - - Private Forecasts As List(Of WeatherForecast)? - - Public Function GetForecastAsync() As Task(Of List(Of WeatherForecast)) - If Forecasts Is Nothing Then - Dim rnd = New Random() - Forecasts = Enumerable.Range(1, 5).[Select](Function(index) New WeatherForecast With {.ID = index, .[Date] = DateTime.Today.AddDays(index), .TemperatureC = rnd.[Next](-20, 55), .Summary = Summaries(rnd.[Next](Summaries.Length))}).ToList() - End If - - Return Task.FromResult(Forecasts) - End Function - - Public Function GetSummaries() As String() - Return Summaries - End Function - - Public Function ChangeForecastAsync(ByVal changed As WeatherForecast) As Task(Of List(Of WeatherForecast)) - Dim orginalForecast = Forecasts.FirstOrDefault(Function(i) i.ID Is changed.ID) - If orginalForecast IsNot Nothing Then - orginalForecast.TemperatureC = changed.TemperatureC - orginalForecast.Summary = changed.Summary - orginalForecast.Date = changed.Date - Else - Forecasts.Add(changed) - End If - - Return Task.FromResult(Forecasts) - End Function - - Public Function Remove(ByVal forecast As WeatherForecast) As Task(Of List(Of WeatherForecast)) - Forecasts.Remove(forecast) - Return Task.FromResult(Forecasts) - End Function - End Class -End Namespace diff --git a/VB/GridWithContextMenu.vbproj b/VB/GridWithContextMenu.vbproj deleted file mode 100644 index 5dcd441..0000000 --- a/VB/GridWithContextMenu.vbproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - On - net6.0 - enable - - - - - - - - \ No newline at end of file diff --git a/VB/NOTICE.txt b/VB/NOTICE.txt deleted file mode 100644 index f0858d6..0000000 --- a/VB/NOTICE.txt +++ /dev/null @@ -1,12 +0,0 @@ -The following open source libraries are used and included within thеse sample/demonstration projects: - -Bootstrap (Open Source – MIT License) -Copyright (c) 2011-2021 Twitter, Inc. / Copyright (c) 2011-2021 The Bootstrap Authors -https://github.com/twbs/bootstrap/blob/main/LICENSE - -open-iconic (Open Source – MIT License and SIL Open Font License) -Copyright (c) 2014 Waybury -https://github.com/iconic/open-iconic/blob/master/ICON-LICENSE -https://github.com/iconic/open-iconic/blob/master/FONT-LICENSE - -The open source libraries included in these sample/demonstration projects are done so pursuant to each individual open source library license and subject to the disclaimers and limitations on liability set forth in each open source library license. \ No newline at end of file diff --git a/VB/Pages/Error.cshtml.vb b/VB/Pages/Error.cshtml.vb deleted file mode 100644 index 2de4b72..0000000 --- a/VB/Pages/Error.cshtml.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Collections.Generic -Imports System.Diagnostics -Imports System.Linq -Imports System.Threading.Tasks -Imports Microsoft.AspNetCore.Mvc -Imports Microsoft.AspNetCore.Mvc.RazorPages -Imports Microsoft.Extensions.Logging - -Namespace GridWithContextMenu.Pages - - - - Public Class ErrorModel - Inherits PageModel - - Public Property RequestId As String? - - Public ReadOnly Property ShowRequestId As Boolean - Get - Return Not String.IsNullOrEmpty(RequestId) - End Get - End Property - - Private ReadOnly _logger As ILogger(Of ErrorModel) - - Public Sub New(ByVal logger As ILogger(Of ErrorModel)) - _logger = logger - End Sub - - Public Sub OnGet() - RequestId = If(Activity.Current?.Id, HttpContext.TraceIdentifier) - End Sub - End Class -End Namespace diff --git a/VB/Program.vb b/VB/Program.vb deleted file mode 100644 index 5fcd54e..0000000 --- a/VB/Program.vb +++ /dev/null @@ -1,252 +0,0 @@ -Imports Microsoft.AspNetCore.Components -' Add services to the container. -' The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. -Imports Microsoft.AspNetCore.Components.Web ' TODO: Error SkippedTokensTrivia ';' - -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia '}' -' TODO: Error SkippedTokensTrivia ')' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' Configure the HTTP request pipeline. -' TODO: Error SkippedTokensTrivia 'if' -' TODO: Error SkippedTokensTrivia ')' -' TODO: Error SkippedTokensTrivia '{' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia '}' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' -' TODO: Error SkippedTokensTrivia ';' - ''' Cannot convert FieldDeclarationSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. -''' Parameter name: member -''' at ICSharpCode.CodeConverter.VB.NodesVisitor.GetMemberContext(MemberDeclarationSyntax member) -''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitFieldDeclaration(FieldDeclarationSyntax node) -''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) -''' at ICSharpCode.CodeConverter.VB.CommentConvertingVisitorWrapper`1.Accept(SyntaxNode csNode, Boolean addSourceMapping) -''' -''' Input: -''' -''' -''' var builder = WebApplication.CreateBuilder(args); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddRazorPages' at character 209 -''' -''' -''' Input: -''' -''' // Add services to the container. -''' builder.Services.AddRazorPages -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 239 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddServerS...' at character 244 -''' -''' -''' Input: -''' builder.Services.AddServerSideBlazor -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 280 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddDevExpr...' at character 285 -''' -''' -''' Input: -''' builder.Services.AddDevExpressBlazor -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 321 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.AddSinglet...' at character 326 -''' -''' -''' Input: -''' builder.Services.AddSingleton -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 404 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.Services.Configure<...' at character 409 -''' -''' -''' Input: -''' builder.Services.Configure -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(options ' at character 482 -''' -''' -''' Input: -''' (options => { -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'options.BootstrapVersion' at character 501 -''' -''' -''' Input: -''' options.BootstrapVersion = -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'DevExpress.Blazor.Bootstrap...' at character 528 -''' -''' -''' Input: -''' DevExpress.Blazor.BootstrapVersion.v5; -''' }); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.WebHost.UseWebRoot' at character 573 -''' -''' -''' Input: -''' builder.WebHost.UseWebRoot -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 599 -''' -''' -''' Input: -''' ("wwwroot"); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'builder.WebHost.UseStaticWe...' at character 613 -''' -''' -''' Input: -''' builder.WebHost.UseStaticWebAssets -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 647 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert FieldDeclarationSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown. -''' Parameter name: member -''' at ICSharpCode.CodeConverter.VB.NodesVisitor.GetMemberContext(MemberDeclarationSyntax member) -''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitFieldDeclaration(FieldDeclarationSyntax node) -''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node) -''' at ICSharpCode.CodeConverter.VB.CommentConvertingVisitorWrapper`1.Accept(SyntaxNode csNode, Boolean addSourceMapping) -''' -''' Input: -''' -''' var app = builder.Build(); -''' -''' // Configure the HTTP request pipeline. -''' if -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 728 -''' -''' -''' Input: -''' (! -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.Environment.IsDevelopment' at character 730 -''' -''' -''' Input: -''' app.Environment.IsDevelopment -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 759 -''' -''' -''' Input: -''' ()) -''' { -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseExceptionHandler' at character 771 -''' -''' -''' Input: -''' app.UseExceptionHandler -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 794 -''' -''' -''' Input: -''' ("/Error"); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseHsts' at character 944 -''' -''' -''' Input: -''' // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. -''' app.UseHsts -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 955 -''' -''' -''' Input: -''' (); -''' } -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseHttpsRedirection' at character 963 -''' -''' -''' Input: -''' app.UseHttpsRedirection -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 986 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseStaticFiles' at character 993 -''' -''' -''' Input: -''' -''' app.UseStaticFiles -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1011 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.UseRouting' at character 1018 -''' -''' -''' Input: -''' -''' app.UseRouting -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1032 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.MapBlazorHub' at character 1041 -''' -''' -''' Input: -''' -''' -''' app.MapBlazorHub -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1057 -''' -''' -''' Input: -''' (); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.MapFallbackToPage' at character 1062 -''' -''' -''' Input: -''' app.MapFallbackToPage -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '(' at character 1083 -''' -''' -''' Input: -''' ("/_Host"); -''' -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in 'app.Run' at character 1098 -''' -''' -''' Input: -''' -''' app.Run -''' ''' Cannot convert IncompleteMemberSyntax, CONVERSION ERROR: Conversion for IncompleteMember not implemented, please report this issue in '()' at character 1105 -''' -''' -''' Input: -''' (); -''' \ No newline at end of file diff --git a/VB/_Imports.razor b/VB/_Imports.razor deleted file mode 100644 index b3cf706..0000000 --- a/VB/_Imports.razor +++ /dev/null @@ -1,12 +0,0 @@ -@using System.Net.Http -@using Microsoft.AspNetCore.Authorization -@using Microsoft.AspNetCore.Components.Authorization -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Components.Routing -@using Microsoft.AspNetCore.Components.Web -@using Microsoft.AspNetCore.Components.Web.Virtualization -@using Microsoft.JSInterop -@using GridWithContextMenu -@using GridWithContextMenu.Shared - -@using DevExpress.Blazor \ No newline at end of file diff --git a/VB/appsettings.Development.json b/VB/appsettings.Development.json deleted file mode 100644 index 770d3e9..0000000 --- a/VB/appsettings.Development.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "DetailedErrors": true, - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/VB/appsettings.json b/VB/appsettings.json deleted file mode 100644 index 10f68b8..0000000 --- a/VB/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/VB/readme.html b/VB/readme.html deleted file mode 100644 index ace82de..0000000 --- a/VB/readme.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -
-

Before you start this application

-

Refer to the supported browsers list.

-
- - From 7fc7465c72f4df7c42be6e7ac0096dbaa0c44e11 Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk <80813840+khamlyuk@users.noreply.github.com> Date: Wed, 3 Aug 2022 16:05:18 +0400 Subject: [PATCH 6/8] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e9b37f9..a61a5eb 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,15 @@ # Blazor Grid - Show the Context Menu -You can show a Context Menu on a right mouse click on a row or column header. +You can show a Context Menu on a right mouse click on a Grid element. In this example, a click on a column header or row invokes the Context Menu. ![Grid with Context Menu for a column](result.png) -In the Grid's [CustomizeElement](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.CustomizeElement) event handler, subscribe for the **contextmenu** event. The [GridContextMenuContainer](./CS/Pages/GridContextMenuContainer.razor) component contains two Context Menus (for a row and column). The [GridContextMenuHelper](./CS/Data/GridContextMenuHelper.cs) class stores available in the Context Menu options and applies changes to the Grid component. +Add the **oncontextmenu:preventDefault** to disable the standard browser context menu. In the Grid's [CustomizeElement](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.CustomizeElement) event handler, subscribe for the **contextmenu** event that shows the custom Context Menu. + +The [GridContextMenuContainer](./CS/Pages/GridContextMenuContainer.razor) component contains Context Menu instances. The [GridContextMenuHelper](./CS/Data/GridContextMenuHelper.cs) class implements Context Menu's items, their state, and click handlers. You can use the [Grid's API](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid._methods) to apply modifications. + +In this example, the [Column Chooser](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.ShowColumnChooser(System.String)) is shown next to the Grid component. To do this, assign a CSS class to the Grid and use it to [arrange](./CS/Data/GridContextMenuHelper.cs#L85) the Column Chooser. ## Files to Look At From c0d8bfbcd6277e843cfba959c221fa6fbe1dfd34 Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk <80813840+khamlyuk@users.noreply.github.com> Date: Wed, 3 Aug 2022 17:40:19 +0400 Subject: [PATCH 7/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a61a5eb..0bbb330 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ You can show a Context Menu on a right mouse click on a Grid element. In this ex Add the **oncontextmenu:preventDefault** to disable the standard browser context menu. In the Grid's [CustomizeElement](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.CustomizeElement) event handler, subscribe for the **contextmenu** event that shows the custom Context Menu. -The [GridContextMenuContainer](./CS/Pages/GridContextMenuContainer.razor) component contains Context Menu instances. The [GridContextMenuHelper](./CS/Data/GridContextMenuHelper.cs) class implements Context Menu's items, their state, and click handlers. You can use the [Grid's API](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid._methods) to apply modifications. +The [GridContextMenuContainer](./CS/Pages/GridContextMenuContainer.razor) component contains Context Menu components. The [GridContextMenuHelper](./CS/Data/GridContextMenuHelper.cs) class implements Context Menu's item generation, their state, and click handler that use the [Grid's API](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid._methods) to execute commands. In this example, the [Column Chooser](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxGrid.ShowColumnChooser(System.String)) is shown next to the Grid component. To do this, assign a CSS class to the Grid and use it to [arrange](./CS/Data/GridContextMenuHelper.cs#L85) the Column Chooser. From cd9e1cb86ba707b6a51e70f6acb65db2e651ecac Mon Sep 17 00:00:00 2001 From: Elena Khamlyuk <80813840+khamlyuk@users.noreply.github.com> Date: Wed, 3 Aug 2022 18:28:42 +0400 Subject: [PATCH 8/8] Update README.md Co-authored-by: DirkPieterse --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bbb330..cbeec38 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # Blazor Grid - Show the Context Menu -You can show a Context Menu on a right mouse click on a Grid element. In this example, a click on a column header or row invokes the Context Menu. +You can show a Context Menu when you right-click a Grid element. In this example, a click on a column header or row invokes the Context Menu. ![Grid with Context Menu for a column](result.png)