From 33526d18c17d66ddde4c09c94eb7aed7f80511e2 Mon Sep 17 00:00:00 2001 From: Ali Ahmed Sahi Date: Wed, 7 Nov 2018 18:22:07 +0500 Subject: [PATCH 01/54] Updated for v18.10 --- .../GenerateReport.cs | 89 +++++++++++++++++- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 59 +++++++----- .../packages.config | 2 +- .../Email Templates/Empty Paragraph.msg | Bin 0 -> 26624 bytes .../Empty Paragraph.pptx | Bin 0 -> 33475 bytes .../Word Templates/Empty Paragraph.docx | Bin 0 -> 12586 bytes 7 files changed, 123 insertions(+), 31 deletions(-) create mode 100644 Examples/Data/Source/Email Templates/Empty Paragraph.msg create mode 100644 Examples/Data/Source/Presentation Templates/Empty Paragraph.pptx create mode 100644 Examples/Data/Source/Word Templates/Empty Paragraph.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 4e91924..d4d5e74 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -547,11 +547,90 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase break; } } - /// - /// Insert Hyperlink Dynamically in Email Document - /// Feature is supported by version 18.7 or greater - /// - public static void DynamicHyperlinkInsertionEmail() + + public static void EmptyParagraphInEmail() + { + //setting up source + const String strDocumentTemplate = "Email Templates/Empty Paragraph.msg"; + //Setting up destination + const String strDocumentReport = "Email Reports/Empty Paragraph.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler + { + //Apply Remove Empty Paragraph option + Options = DocumentAssemblyOptions.RemoveEmptyParagraphs + }; + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("dummy", "dummy")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + public static void EmptyParagraphInPresentation() + { + //setting up source + const String strDocumentTemplate = "Presentation Templates/Empty Paragraph.pptx"; + //Setting up destination + const String strDocumentReport = "Presentation Reports/Empty Paragraph.pptx"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler + { + //Apply Remove Empty Paragraph option + Options = DocumentAssemblyOptions.RemoveEmptyParagraphs + }; + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("dummy", "dummy")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + /// + /// Supports removal of paragraphs becoming empty after template syntax tags are removed or replaced with empty values for Word Processing documents s + /// + public static void EmptyParagraphInWordProcessing() + { + //setting up source + const String strDocumentTemplate = "Word Templates/Empty Paragraph.docx"; + //Setting up destination + const String strDocumentReport = "Word Reports/Empty Paragraph.docx"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler + { + //Apply Remove Empty Paragraph option + Options = DocumentAssemblyOptions.RemoveEmptyParagraphs + }; + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("dummy", "dummy")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + /// + /// Insert Hyperlink Dynamically in Email Document + /// Feature is supported by version 18.7 or greater + /// + public static void DynamicHyperlinkInsertionEmail() { //setting up source const String strDocumentTemplate = "Email Templates/Dynamic Hyperlink.msg"; diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 5b0d942..71dfb83 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.18.9.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.18.10.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 9e3abcb..7e110d2 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -424,40 +424,53 @@ static void Main(string[] args) //Insert Hyperlink Dynamically in Email Document GenerateReport.DynamicHyperlinkInsertionEmail(); - #endregion + #endregion + + #region Support removal of paragraphs becoming empty after template syntax tags are removed or replaced with empty values + //Working with word processing document + //GenerateReport.EmptyParagraphInWordProcessing(); + + //Working with presentation document + //GenerateReport.EmptyParagraphInPresentation(); + + //Working with email documents + GenerateReport.EmptyParagraphInEmail(); + #endregion + + //Update fields/formulas in word processing or spreadsheet documents + //GenerateReport.UpdateWordDocFields("spreadsheet"); + + //Use of Next keyword in template syntax + //GenerateReport.NextIteration(); - //Update fields/formulas in word processing or spreadsheet documents - //GenerateReport.UpdateWordDocFields("spreadsheet"); + //Generate report from excel data source + //GenerateReport.UseSpreadsheetAsDataSource(); - //Use of Next keyword in template syntax - //GenerateReport.NextIteration(); + //Generate report from presentation data source + //GenerateReport.UsePresentationTableAsDataSource(); - //Generate report from excel data source - //GenerateReport.UseSpreadsheetAsDataSource(); + //Importing word processing table into presentation + //GenerateReport.ImportingWordProcessingTableIntoPresentation(); - //Generate report from presentation data source - //GenerateReport.UsePresentationTableAsDataSource(); + //Importing spread table into html + //GenerateReport.ImportingSpreadsheetIntoHtmlDocument(); - //Importing word processing table into presentation - //GenerateReport.ImportingWordProcessingTableIntoPresentation(); + //Load document table set using default options + //GenerateReport.LoadDocTableSet("Multiple Tables Data.docx"); - //Importing spread table into html - //GenerateReport.ImportingSpreadsheetIntoHtmlDocument(); + //Load document table set using custom options + //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); - //Load document table set using default options - //GenerateReport.LoadDocTableSet("Multiple Tables Data.docx"); + //Using DocumentTableSet as Data Source + //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); + //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); + //GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx"); - //Load document table set using custom options - //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); + //GenerateReport.UsingStringAsTemplate(); - //Using DocumentTableSet as Data Source - //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); - //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); - //GenerateReport.ChangingDocumentTableColumnType("Presentation Templates/Changing Document Table Column Type.pptx"); - //GenerateReport.UsingStringAsTemplate(); - Console.WriteLine(); + Console.WriteLine(); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 204b26a..99edab2 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Source/Email Templates/Empty Paragraph.msg b/Examples/Data/Source/Email Templates/Empty Paragraph.msg new file mode 100644 index 0000000000000000000000000000000000000000..5d931e45117f3fab74c78fb18ac754238d2cf0fd GIT binary patch literal 26624 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Presentation Templates/Empty Paragraph.pptx b/Examples/Data/Source/Presentation Templates/Empty Paragraph.pptx new file mode 100644 index 0000000000000000000000000000000000000000..c79526c994ae8f4b3290853556cec3633345ec66 GIT binary patch literal 33475 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 S<7c`x9H0|Ot;o^*Ed4*;(xmeM literal 0 HcmV?d00001 From 17cf7224ad7f5b660e595d13b3572165be6d4630 Mon Sep 17 00:00:00 2001 From: Ali Ahmed Sahi Date: Mon, 17 Dec 2018 20:05:56 +0500 Subject: [PATCH 02/54] Updated for v18.12 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../BusinessObjects.cs | 2 +- .../GenerateReport.cs | 52 +++++++++++++++++- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 39 +++++++------ .../packages.config | 2 +- .../Nested External Document.msg | Bin 0 -> 61952 bytes .../Nested External Document.docx | Bin 0 -> 15022 bytes 9 files changed, 81 insertions(+), 24 deletions(-) create mode 100644 Examples/Data/Source/Email Templates/Nested External Document.msg create mode 100644 Examples/Data/Source/Word Templates/Nested External Document.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index a5a1de9..0cd3957 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.17.9\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.18.12.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index e83ac9d..bf3b39d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs index 39bc758..869e2e7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs @@ -21,7 +21,7 @@ public class Customer public IEnumerable Order { get; set; } public string Barcode { get; set; } public String Photo { get { return Path.Combine(Path.GetFullPath(imagePath), "no-photo.jpg"); } } - public string Document { get { return Path.Combine(Path.GetFullPath(docPath), "outerDoc.odt"); } } + public string Document { get { return Path.Combine(Path.GetFullPath(docPath), "OuterDocument.docx"); } } public string Color { get; set; } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index d4d5e74..24678a9 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -547,6 +547,54 @@ public static void GenerateBubbleChart(string strDocumentFormat, bool isDatabase break; } } + /// + /// This method inertes nested external doucments in email document + /// + public static void InsertNestedExternalDocumentsInEmail() + { + //Setting up source open document template + const String strDocumentTemplate = "Email Templates/Nested External Document.msg"; + //Setting up destination open document report + const String strDocumentReport = "Email Reports/Nested External Document.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + /// + /// This method inertes nested external doucments in word document + /// + public static void InsertNestedExternalDocumentsInWord() + { + //Setting up source open document template + const String strDocumentTemplate = "Word Templates/Nested External Document.docx"; + //Setting up destination open document report + const String strDocumentReport = "Word Reports/Nested External Document.docx"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to generate Report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + + } public static void EmptyParagraphInEmail() { @@ -7102,7 +7150,9 @@ public static void OuterDocumentInsertion() //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); //Call AssembleDocument to generate Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); } catch (Exception ex) { diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 71dfb83..708773d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.18.10.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.18.12.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 7e110d2..6d74a83 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -18,15 +18,16 @@ static void Main(string[] args) * Please uncomment the statement if you do have license. */ CommonUtilities.ApplyLicense(); - //ExEnd:ApplyingLicense - #region Change Target File Format + //ExEnd:ApplyingLicense - //Change target file format using the file extension - GenerateReport.ChangeTargetFileFormat(); + #region Change Target File Format + + //Change target file format using the file extension + //GenerateReport.ChangeTargetFileFormat(); //Change target file format using explicit specifying - GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); + //GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); #endregion #region Generating Bubble Chart Report @@ -354,21 +355,27 @@ static void Main(string[] args) //Outer document insertion in a report //GenerateReport.OuterDocumentInsertion(); - #endregion + //Insert nested external output documents in word + //GenerateReport.InsertNestedExternalDocumentsInWord(); - #region Barcode Insertion + //Insert nested external output documents in email + //GenerateReport.InsertNestedExternalDocumentsInEmail(); - //add barcode in word processing documents - //GenerateReport.AddBarCodes("document"); - //add barcode in spreadsheet documents - //GenerateReport.AddBarCodes("spreadsheet"); - //add barcode in persentation documents - //GenerateReport.AddBarCodes("presentation"); + #endregion - #endregion + #region Barcode Insertion + + //add barcode in word processing documents + //GenerateReport.AddBarCodes("document"); + //add barcode in spreadsheet documents + //GenerateReport.AddBarCodes("spreadsheet"); + //add barcode in persentation documents + //GenerateReport.AddBarCodes("presentation"); + + #endregion - #region Ability to remove selective chart series - GenerateReport.RemoveSelectiveChartSeries(); + #region Ability to remove selective chart series + GenerateReport.RemoveSelectiveChartSeries(); #endregion #region Dynamic Chart Axis Title diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 99edab2..96db345 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Source/Email Templates/Nested External Document.msg b/Examples/Data/Source/Email Templates/Nested External Document.msg new file mode 100644 index 0000000000000000000000000000000000000000..9479c6abf585316800cb7e463d5f5c858203caf4 GIT binary patch literal 61952 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 EA0!PN!2kdN literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Nested External Document.docx b/Examples/Data/Source/Word Templates/Nested External Document.docx new file mode 100644 index 0000000000000000000000000000000000000000..a44ef75a58d40d9c93f9c9c4cda276c6b222f024 GIT binary patch literal 15022 zcmeHu1#=xqvh@|SMV7_P%*>1yOBTywW@gD^W@ct)Sy_7Y0@}bnB(Pu0+VF{fIr^<@AZFp1nS~OEW7Ctgzw{@;G-LrbPsY$D1bwG5~$@5 zA<*1_m0x29THo4{f#sBdqM^+Rh#BwK7?t~druaZ6MSN|Ojs#@E$mQx z>7$cu#?h_u53zWgGqtv%OR)ga5!Uy_j443Nq~)ghqNqFoA}Hb`m5E%#8FBnxzA$dw zx2=IBt`S?4%hW?)e$vW9f{CqJVD_*SBS6#tWjCW@6ffoXz3y}Hk^A9nW}JJXY?SS? zuO0S91O^&!lI*t#h!cBUdnP%`!G3}QC!ONZN_RyKm*%QGD(PjcjT@zW;<~3LY9U&n z=<$`5oN|@y)r@yCh=OpSRxaV~Wo&rz=nV`2=f1QbiWG09$mK{Ya$e3#a1urnmx$Ra zRJ1Wjw#(hb-r`bPNZz>34UkFhHgEr0rFr?d$p(P_aK=kBRczj90^-&piw}EnZ~58c z0R#Yee+L1`{)(m&2RVrn&SUq`}@mJFN^6i?V*F^ zJNJF{oobU?>O#wvrq!EVM*9T;sV**syu4_-@b=2JxCpFys3STuJrg_WYL_PBuo0(u zfsvpD7t#hb|ESfY{@m&ei1%;Jr+1#W-hxftyEA+pCKM+h_6=1<37NnEkA4VB8tX*f zr4YK?Erc;4AfK4kBdX2Kuu)pLPx55UN~WKiHx*NNgDBw^ZV$k28AtboHsq~NWTcLY z>|U$U>{UF9ZDI&FCBLP@FsGv>PK(wpgT}aMojP*O?I`RE_NRi%h6<*Ab~n^OQhVDE z*+b`LImcJ6)84egOw;7Q{#cm)-9EzhqFy~e0RZas00830pg39C>eK35={Z<@tXsb= zSSRWxky~O7uWxye@Ilc}lF|uIzK25?zml+P&t+t&D;K|WhOxqScoKAjGlY(&jFugG zuFB)*V;={*S*5w@kuUJR$GcdPGxrPvy(uI=2_#4sRD$$eHp=WimOZLaC+4W!!p(uT zKPvJh%ROpqzu)n`bIrqMk!BnY5JPT?*6U^Q#-Fl%G6h9EY&a~QLY_=(IMZ9Anc|g7KcEuk|WSi)GGHjH@JNCPk z)}>iM+kR`+dtWN$REQGt3Ad^{m5Lao`U?R$=*em%A>bajpfL|>2JFcu8kENc#}pL( zwqIfDf2e$ZgqA-rKW#h?wwjvk1f1ynRCLH3CZgPuPCyp91jR#$bC@G=DlG$Hy_{4& zlJ_F-{OUfLuwi(VqQ1j^MA9=yS3XHEYYVfEK!}=d$j-B{FKpwV(}dZZZ-mvY)>O+# zV$D?}U#Tbr4i_3?h)+?R`qtDzEHFa5<@$$NhZDp;u8&5J5o z8LChxM!Nv$EB6-HKHqK6mZxBh8z7I5210r_hR|k>?n;P-n%QRiIc17<9^ST$OxEE* zrz+aCk0ga)lmOz9YfOtV7PL7nr8g_82FD)YKueTTC49>g+YHia%>B}3(>nddqR zq8x_V@MaaY8~GP~>I&IY5O)Jq6q5pwb9FP~(Z#pOnbc$%8Hwbf(jmwa$|12dX%0z~ zbW{SiOt@^S;ti5rR|b~}0;vcT$WfhT>d2FhENh&-qjwmEzPL zz(y#=@F}-s9r@Owl=z$;j3G3j`B$m zW*0#kTv_((vs@Z$8xwyYqBVBzVH3@`pL+RO0P*Mq$s5W6ZA!D}VbCD{B-*0|B+|Q< zFCW36ss8?{wbIn+ZM3My=?{6Ef?Xfz_R5G$!Z)qY9>>M&x6*7c3)(9W-){DukLIaf zX+QC}z)->4UW)|jdf=4h0KivFU?XXSWuFICT#>pUO#-w86b0lys&FbVAj zj8|#+i%e~}gx|H2@K)ZwlDG8Z(f7FHbt9OuCv`OXgu>p@ZTZ9SPHZa+yZ2&f_K?`X zRj`e-C@st>dPKsV9LTQLeZiLzAqn6tUH~BpQSUGa+VALN3f4gGR6$@js*{)H5`P2X z9U%sw!;SeZ^MRcf*4)FhR>EEfSiTL*9(W55;4h};V_UzF@nk#n+ie_q7togDdm|}M zT5q&|#|PpX?l=C7{lH`Yl!m(a8a76dB~&Knl6(=&gP(EGtcbpNO%JgaR)QcJv-KyLUDBI$8 zemn*b#fuyIfCkS|alZzc!3}jvMm(L&;cF2h$!V3i23=9Vj`1dGtBLWr#qQB6{H}f2 zc-kTUl1F6JH`UMvx0Nz*k@ZHsa?bRyeH7K`yggd4iC%3m+d|y(@fyy3N-wkP6Gv6`-1tW7rM-+k*O8}lKHG$3~ntG`*_D`owLQL2xec? zXJHSS4JgbKH}gy>i&374$-l^^n)RxD*X$-R@5}xatI;hS7!g3vdu|yX7*1$KU8>D| z|Fw~QZW;^`cW-lpW5s=d1xg7*=A*oPZooUk2TTjmS*wD#9`l4|O;J9u8K!?ejf(+YXY9 zG;=p!torM@j)oF>{S#h3lnz2b&eSS%A{*hDCF1j<(XF7FbP_)D!D01VLOMO(4XmDK zGA!jb_zkR_$eRxZ>*-mu%!CXEyZ8cW#9Tt5v6cngP%WEuVXo9(o&Ds}3{yu^)GytY zv<6*Rvb&ddd&hv$Zl3TsxKo=M`)g}clZNqtS_e)yH0yaw`!zq(_OV`H&DmWdrQ4D? zPJ6?g_8aA!PTiWku^q0P(}>;r*6=1SITEJmz7p z+Q;N_^#bFc1-OKVCsk|S9Hki;Y0PC}=)tAn^lDkh+DV2>cjqU^#(mF~0%|95kSq%q z=8I_7RXD{bG-!v2(x#`9)ULWYv{XZYengi9myTuGtc~h>1DzU>g+@$&f?V4>1?yo^ zE1y^MLXdeDj$Lo;PB2B9HAQgsHJF6$KUHQ{lJ^3``7$qEgmFzScz)7u?z*2Ah_^fp zzkOO!==eZQuWkN%Yujedsxm({!8twpX_dvw-@M>?(3>yX5L5QGmRISLUmfCgY*@y z1>L}nHb$3D!6#i}go!J{*eG|l8RQ&!PaZ?J)1^|hPHn#kD4~toNw%aoB`n@Y$CjTA z_i?D-Tr&R2Waq@;nEv7-| zOEL=cImOpSI#Lu1!*5@3+{~%T`5r+=u=`+^OdIwDu|Xn^JdL7GIeog##+_GhYE4bk za;s}rGL3nQBtwr}+Yri7^w+=l&QXS?M@0-Sm1|9E;QH3Kq>0Abcbol$1))%FjEV5q zNnBohZUH|k(>kn{)3=?rR>oG3#jY)_;oPpexUpd1N-y`*;lxZP*`S*78AZ5utlE)3 z`d&x>UGV0cfciHPzudu}kL+62j=q{y5#e)n0x~mNZrIet!@*HauM+oAI!s1Ua8NlE zpBRH#77P;U*t*eHfd&RI6`1cx9Bju8hj>YdBeGVoCl`e<_;mBM3+?PN`z%=z` zH+`}?hMctiK^D_y?66|*;~^Tm6f8J?TfIoqR>q%$clhSJqhV6 zQBw#h6O&r=6gd96&-|w2Y&8oRVRk2F&fLYWl`WPw-#vyNQA=Z%-GbmVvayCqYd>5z z5at%7I0;-<`P4ZSs}QDS-7)u8+m6B`j1n<=|Mf)x+Gz&U#Wm5xJ{uHICVU80gb2;# z{e(28i;;VrfKmA}5X|n`c}qKXWmDp4=K6~CR_Oe*TMzH~>CQ6inY$8#mcs6S_;YBf zL&)Y8W=~=t)&P(1gXDUX9^AV`+M8F0O$RtF^+GkyrjvbpRN@eAl#V#}Q^U#6O9bKU z=bta{Pjr(B+7Km1^J|dJ>o7h^kGzLhJ@0(iKc$Wgd@lsmeb`XmO2=~g!o~-WBd%uZlifXijy>el`U2}Q)zDAE9lp=7+$@<|j5i&}R zT`f%KCa_gpf;4G+#krLU!6@!BpP?`p1%k_L9Do>dNmh|R8U1?M2;+@G;0u*8sv?%^sQD#eY{wn)T{NxCQiDIRX|j${BBz%iNN=hv-n-wSIFYdJQuJ-GU=zNq;FW9^5z z!C(h6;vVgrQKjCY7Z}m4yAFc(H_ZPOtj_D#%H4bfsq`OI4;BCt==WgtAB@glL)Jgo z9iR`Q^&{y0zkQX(jC`;gA4H@7n{Sc_HK&KHz>c{D{_^}QKp2O&hze@#X0xMGO#FEA zd&`AwMUvfwH_P%wSBO*CtXpB$pe@2dSf$$ng>x}ZO+fSWE^yS(3Ejk-mFO{mS4LS`MMM@%v5;(&(}obbS@d2u`=m zL8h<|xD8e*Ya70-Rv;Wa3i!O%?_r~dY!WKi>iS@@bdo|*`@+hSA(ObFdJKiKR3)9c zeZ`$R8KoVXH5oHBZwo} zzz`k)fbyXXziW-Xv4MpF?eBN`-)Rn2$xuvDgm#E4+<@j0*RcbgGUjQqE3*ZbwR+#k zHhHsx@(h!y)unp6fbW^MP@rj1g0RiI2m-M5y*n|udR5|SxY0*A;*8X{y^)%}P(Obt z@wS(|wUo59FxhQxy(V#pCc$*aM5uFrv%yXaTTCL-8EEsMqpH^s6^jc)G=Ms5f}vUo z<;?VQ1WHdtjHm{=3TBJsuq4_&ac`y)p$qF}XX$|&{fZVD?MDMYq8AatZzVNSFOe@7 zfhev)%1>X^MxPvo==dp4!pSJ#oo`c{z#jumuDw!GPf$Q_V5Z~=2?kO23=4nBMkk$~ zlc)1O|5%oYNXmXCrVrVG)bWLe2g@_0@H*bN^L}7RrhGaUx0hIN_Rq}!F zN85)9cVrxqa?%{w7{TTEeFKPu(uOtLT43dtpRSJjLK7o1I^1ubM+PFbd7d1a?;2JN z;{05iS$RFKCuV5VJG`DR$6~Ecoudaj-gZkDyj~u)kMjACe;QS0^19u=E_l7Z^a7vT z+9w6#Mxnv%bMQD?R->^Ps{(MZ?qk`45QZe}V`Z~I$P6MLuXC!Ca_)#_Z(oH;%M9&ZsD^zfw*j&GxY2nb@|(x7SzaT)epY&g0ue z$`a4-2baQ1-h}1P)-^3>XC6{5d_sdCpm{$S#MnhL-7J}gL!cas6(vZR!jL^e1l~bq z4%)RIU~zZG#w}uT^!zX=)cuQZwg5??CoFMNBWH0Kt&b^kMVO%`dPVypTE`l{YX-ky z6g{jOfh8H!U1zcl+@$~Pj=Lr3D^a4pso)tw|J5K*DmY?@k@7fE@YN!vE;N2fTB?+q zINh~h5zhk#&4N8G?N?};^C z!b>VyBtosc$ER7?WFQTPYG$oNW79nO?z!yx*d}~kJuiPXE0IA+$~n|KXHDxKuXEde zzP&Yw!HxR_pWe6e26nz#6+DeU}Xn{QG=*re1fjl*9@1yh@|Tjg$giCoOU z>g1jua4YY8pttAXWvCZtik(h6V--1shxBXP$-6C-nSr+Tt`1R|J(y%Hb(=(~CTmmn z$_gIW7np?iAIoCcOZCSo(0>k!7U|b)3G)K0aUV>nZFLv&APXF}Ysj`z+W#WlIEf6T zE81S9arBsO!l7A%2#z>N7J>8?cYWib*o0~;i zv~+IH?kfTx17={i8S^KD6e&^6u@j&*wYD?=C;sCQ?-&nUq~<;;BnOz_J<|(nqMLDP zf8pisocvkTnn`WR%Ff*#yj!uAdwCHAON42?-9kmr-BpEq`)K+xiv_A>Gs=p>Z4+N1 zniVOeX1cJAt3@mx1MNn}M2wp_@&*$ob=;l>ieU2{@RTI(eYA0nRS0H6rsF2$hau20 zXYeP#Va1>T@d50i{A^yL+R>&c52BpU1%=bE146oIvPgnu`>TAhVe0ksif%7LL-mxI z8M`;%)`pxJx(HS2VjOg6lyuX%@l_lavBb_rxApd;#viFc1Flk)3_9r%Z7s&=H=8%c z%bKDq5=5t**JH5dgp3f?*2o_9GrAqzzLGY=kJ;OOGxTas?vZ6b>}@<-_Ma7^G5Ml_ zcQjwO9~tR1w69{|vi?23;A~7|L2I`qM}2DtRUksGA&LJheS_?X$XC-s6@;Ax^+3ZZ zY@4OVF2mUp7+s}rM{Dz;7LLyF1Rd~mM`;q-#od)(B7V$K4lyAgOer}w)26eNV&C)k zoxAdn!Ary^@RGSWRLYw^uDTWi1*xQ>}8rl7}0M;q5TWzr+c=8^;LB#Fn;^XrLCsbs`ncWYc znjRizq%Q)Mz7a3`)D%9iTb=a6ttyw^DSH69wI^HkZztRExVvwZHIgpLk{im|vIMyb z#UUwFrweB>i`+7ppHIbR;r;(ltzpZ}3^2;@)4PHQwZt`_BypZ3IheU+vnvDPna7w{n-Ign{UQF zHs=0QGeL{ruulXgY|bK(wRX*tiatL#YY5$*dX+wCun0&j^xWuLwys`2a5?vnC{hzi z*|R8-d}7yJS*V6Yc@=8a$(}126WZ)kCPiVh&D1J&is2RF zVP()?7}Gb><1b&!(3H$d>StMj1&Lcz8P$}8d_kb&>jSQ`)o|Q1DxtdR?$?K`EC$!J zU{_gMeQR2^#mtC1cuKH$p7t%L7u?*{+AmynkiTf>*F~224(;kQ;Ic$>)CmUs!ov*L z7N`;C_)0>HkFEZ45WjDEzS|(D%5*qRKXF|Q{q_0Q``A}Aj zzN(qHe_KA+;8#uaAMxHM&cJiPUTbEVg*4oOE8Qs1^X696Q&FC5U@RJS zb;focbiBxiK5GM|MjqmXHIi60!oUS29kg`sSBlKQ(Bn?4kLcTNji-EPn-}pMF!~R5 zs-y^v8LtZPAr}@^;@3m_rW2zP^XbgOZ{J=Y2{gwGbNl8V?H{d{^EL@@w|GC?;D2|N zw`PczmtX*ZJ6iw%{trjl&fdk`;P)A#HC^3qxdm}xopa{Ab4uZPW6+5-IXBHFE$@zL z{4)4t51jxXhFPqr^S_6Wq8b**B?T&elmz1Z zjuc2n03~?Glco9RYs0-Kl0Lg60f|z#Q7mf4SI_sGg^riI8~PD#q6uI)v6@I5w$!pK z_g5Q^v2K(|)jR2Omz)lb5+=jux1=>0y#$`m$8EBGW(lGGQ3PJeIA`aX(iBo0emMz} zh*z`}RJs{EES@R0#laLq%DU-ub%pqKr12uhivC<9HzETyJAG0_n4?|vfIb2#rGkV< z&Nh0bP%4Q)+>_-F-Da?~4L~5k8Y2X9fUO)&0sGg6K2{)mG5s&e(M(c)EYH>!8O7l* z^0D>{psvTjFf8vW@gCDdh{YE$+BE`u$&X2Ed2<6tv9IT;5?55tPlGkGLF%h$U&H(Z zv@=MPlMbxdMy{@W%*?M04TbyHbUy-^X+C#NtQzRzj%FtDd$;mk|YNWrL$5J{dL z8%($bk3SnK7$Rq!td5Q4_=8W7P_3qBrVg6a8|=P^pK5lz=`XYzW>-<_j-(y;^0KY6 z%94joe3Idr#r6DBP^cPRYD)Y?_N}8!nm^Hu*Vt)PGWN*o@#-fut~1lbEoyDBW}=p} zlS3?YyeZ*03GNBUZ8v*lUw#ll29sw}nNY7+xwCEJrSZ>~39EUjxgWA9!Eet8C%pwe zqdAom_}Z9eM^?y&LXSGYd5;eG4U~DaS`2K4Z0tEbiqZ1d*`<6+GB;K1TN!UFHIHHN@2{(@D zG5;u%ABEzhKp966PEBEn;^eYNFbP}RqO{ahMW2X9n4j;Tt%*L^IGrQCH2u5>c&@C1 zwBtJ6Kb#G$a;H7pI7O~~Jo07EP?xU%L1|G-gnL?(FYl6Li?j3M!WB-OVi3xLk@4&B zGEScmif(sM`7}s$M!=Bwd>p|{{{7X(a=3+$+Bd(6R$lWs(t=F}r+HS%sWV6H8q$Y+ zB6N0&kcU0}ide=4X-PMdqWUna00}mRKnr1KFJ(2h+8GJaN&71i`ezoX^5gw@`d~b< zqa^=gjCH2I!T!K=0?hSq;7IN?c{@U7xJ=}Rs@rBDq3GHeDx(j>ox1&~;BaF_Ek!wq zw~E4qM^zyrvsMP4^0(?AmB!yHC>HJ=t05Xo`0eb+Y-pY*X95&E%`995 zZWhi$;L8{N>L+S4v16d8F$EdPsG+ShbqP#^b#^47wgQ}M7F4*II_eCa9hWKg1x zq_SP5qfGTS)^jPi3Xc+nh5nQ~czP+yIafbr-*h?S_r>z%b5}{R6Fi9*6ib6YW=AzO z)?B}qSb{;f3-ny7Xniwtq^sKisuzlkcsvb^_<|2}R2hUBo+>JZYOlCRb6}cC~&I!=X)3QG00hL}})UY!uO6mtd+hu%R`YprS&_aT18w>dR-==K9Y|^_n_& z$`Mmvo1&?9D2WL(I2wkqOOJP5T-5uI_m&M|IZhrmS1PZ*w=ZFxTIovPJBiGLxlx+m zL;rkwscX;9r#wj!%?UaV=uRbePNWu13PQNaA>$-!X*5(mSnCsQ zoqi4>qL$e}@ceS&pAVlNY(1aIn~E_J?QZ0uS_gHeVWCZ6LGV-lqKr0FO&MyuXEKf2 z`v~?rjMFp8W#tkLwV51^vzgr2V^`z`{e;x(v*APpI@9SB%QqQsn|0|Ni10M8FC|=- z>l~X*F9j8p+%^&nIQF&?0hvvv;S6VT2tF)FLCHTbeHbVp?-?la zvcjPejdKM)TC9Ns7%9RA&{6uI(NN^w!=TCk@%#fpA@q;eT*pt-H?>6kKiA3O16wEt z@nO!5ql%)T^lyhjZ+mdakLNF=f5Bb}x28sx028v?*n14JPQHOgChu*dk@xS~H zf}1M<{d?E`_|R|tLHPGB-sx{b=5{-$$?3F4%6-r(MNvQgr*Hp&{8kNv?r!_D_fv_P zbL0{W26qq-xf$b>cY&ELB^bB0E|gBl4op}|jl*LYp0wRY`8YquG2tW4+vs5lzQ~ig z1ufaAwGGuL3S~*Vzu8QA16qeF$XZnsNWiTqIA zw^=_}4g>w!wcXCY@Kn=ICVU>jXT4501Ic6UcOO0Q6$kq|TgT5$Jn0hP;lue6`>Bq>LO-r4vd}|FGPOr$ss#D}@*)5B{3L2Lo4XdTX z3SC}>xl77ihpueumD>WPQjFgvY3hBMh>_EpA3(-iyxAEPkAYMr{|rBF`6F=_uuaP> z*K{3^$!uV#LN|H zM=^iMN&BPm_m2!w|4U;_-oN$0zFZKri!f`CUh>-e%*7^=N`2S-r3dOfCeBEL=ZcKa z>gcBUcATR2({l*>>$8Sck&C&@HcoDlyZHx~!`m9da-P7@RUpiNi&1G>ZQ<+?G53~k z*n&{uS=-^|XyfRpl|E9oKCM)?u-B!(FI-{obo|BW&g`0l#;%m?{Ynp68{BgJSgB)Z zqyW-AHgS#WEiF^hCUbFMM=1$xr0LOSj#!D4LpzxzRfCTFi^;K)NxA-84PEhTRb z@vh766kZF%1vRe`j{E(6+!hTq=VRHnc-G7pg3L9irrDMg0tqokycI~Xell~Mlfwxj z6J-)H{;eDGTD4aTrl)To8!WLRPs_d@&sYK9)@g@Dp*gk{exBO^7o7IT;XYsIxexI< z$ob9G7SE2dr-TUr7nL+(R<$<&Sq zy%0hTJCy7gU*x@671cW`c9xHAttr7sPt8sT1&QxFZRtDOQ|b+1N>RngGxeiUCWuoc zEajo|<;_{VQvyGC?vDi!9L4oCDHm-&v%tdYOb%6))tXfH3)9Dol4#|~&ZvOg>o-91 zI6PAP7$I<3TkIq)Zxb>jpT~~@+S7n!!6XWjFE;RnfNc0Eh~Od-bY6PNRTU*O^(XS_Ow20 zw7i~8$EfwSK#*sRRdhKy7Lcn1BYbt!)=5p$YOwR;m^jvlsiW5Kddr$nMjSY^Y9=Um zs$Gj|5oqsULQ2hucZ^6IM3$oNjI>ONIAF?;Hu#R$1&-6#?bo27yq#EFH_$6i5Mw8# z`9z@3JLhzMB%)JFkga6YGBG}(X0^h~rUCW@ENJvbMMVNQy|%quVHI%bs#ve$kqEzN zV;pm7n-OI*gIb9qu|-@~?Ji>GX{%V$9V36Jxe~Pf3P%)szoW*tI27|f39M~iy&1M? zDw2={w8!ay$Hkcn{I!T#%)8dX_?8U6jftpHzW1VuIQFLlv$+Yz*;ZC-YY>OD#G@NtinJ0Ec~Esr|jEN z8#xA$5gK$T*b)8)oh6^gVT5QQa7 zE3RF5*JuzUVUy$92Bo-I&MjH<)UT@*U>5^3bBPtfEkm9Bvz3H07&$Vv*Coq`t-Y0G z7N|=~JR&j^rC`IcNm2qae)@F;+i|@nSYC4=pPpz1TyQqt`!6RKp_Z`WGELt83so7_!Y7vZQqo z-{Vs(CIanDsIiu7+Dvz6?4;*6fMs?L-+419c-Pst_6+Fe5Cvz)D^zQXRQ;8krI%k* zxa%@2d8#N#s<6?FY{sO~eucX~iA$U$K)oJ7TF+u+OrK?K35HPlW2q~jyN zyj!_#Q+7U{z4m6gG|<$xa~C(}JgIomi2921ZQ!Oun6r>U+ud9y<4AmJYXgobZv9G{ z@Bs^66cBE0cW&@FY1K z9Uxnu@ZlX`IIgj0j)EwfWrbg3`&;zqoPv^;>kUOAG0b%pmh?p|+@<&%IM7SDpXCxv z^5@SPc8F+@MHv~Q+Ve1Fg6_Fjsb4`F$aO>mpz1rxhsKRwkZ zJQaRv(3(E=liEj22`0VcKK_pt00C2fI6wb6vF{)M`Jeaykme^V`L6>0H4W)c=!Y}# zVOoDlO8PtS@A(;jLTf*~h=0r0_&fYxPt5!Y1^~W)9EJG*ouB!;q`#k{_)}H_>i=@4 z;_o8FmfcM$vm{~xmY@8G{XwSR*9Y5ocRn~VE*34izA z{*-`A_fHA`;>-OV|F28_pJ)Jpf&l>dHwWPF@PD0({|cXC`V0J@6SJ%&*oS)jmhuJz N==$(67Fd6){Xb07Z7cu) literal 0 HcmV?d00001 From d1ecdc944f957e90cb649e150d500560cf131d86 Mon Sep 17 00:00:00 2001 From: Ali Ahmed Sahi Date: Tue, 18 Dec 2018 20:56:49 +0500 Subject: [PATCH 03/54] Create OuterDocument.docx --- Examples/Data/OuterDocuments/OuterDocument.docx | Bin 0 -> 12179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Examples/Data/OuterDocuments/OuterDocument.docx diff --git a/Examples/Data/OuterDocuments/OuterDocument.docx b/Examples/Data/OuterDocuments/OuterDocument.docx new file mode 100644 index 0000000000000000000000000000000000000000..e0393caef90adf328b6340adad3fcc46a8f56544 GIT binary patch literal 12179 zcmeHt1y>zOxAsAThT!h*E&+nOySuvucLKqJySux)yF+l-;7)J}@SV&%b7v+q_xl6) z?X|ks>8g5mSJ&CrwI4Z2FmMzA1ON&E01yH;@}{jcKmY)OHvj-K018x7(ALJ$*v3&; z$<5B#L7UFi+KM0t9F!sp016!c-{b%A3e?4o+Vn6W2;ap&!bdkM8yw`6P=SW>B+x1x zLSlG;syxRGw!L&9gUTy|M8jASkuu+{Gph`Io?1?^f<~-&Aw5RtPVkM@F@I0Jw6H_# zV}wbz700m7Kg{;Yilwa`Q;H3Qfw;amW?T_QHZ3>pGpgD>Ac87BQia4loEgvm2O9I{ zUHdv%;yS4vrEEPU_B)*{B-q%R1y(N`F(M43C5IU`(|9R=y*iXHN1lhXnQ@+pa#8jx zpB->7BCs%cljKw*AWt0e9a-e5hX#lWT=a`WD?OF8+?uQMXk=D!Hm{ZQN$Vb$X@%%P zq9;~Ua>~`R*D_uyAPd4l+PH+bS8(Aeqc^btANFPZQKfh*MZS-=A?M|+eo4Y=;u5i3 zgN`->%XYi{y0^HT7Lqsd@fyTDcbj)$z0#_D!h93JcsS#uohmkO`W5oVI*Si?Xm91o z`W_4bczp!}$oH~;_itNt|DG z-52ZJ`}vsO#TZ3W!H$Xs)Sp4VcxYs_OgZ`-J4QZYob>CL1QD{^7_qZal40l@$znqv zG=F}l!a9;!jG?%8`!T;nxxlq2_t&nRRI*DR<)UXT-QUzISxx=YWQNnZ?n>IGWv8 zJBM)s(F?Hd7+1G}?|O?y3$btTKAR|*6X~7{Pg?C!YaniXJAp`5CtG;7PZwuf`%oTt zLu(m|JMWcqr+NveWWq}tb1VRbY;^8pz*R8|g9)wCYc1JrTD^BZ3?yA5zO`)RjgoU0 z;qLpZuj<+lU%%)xY=*PwI$HAg zCb;xBJYXMl3T1>`r@c|g-!IlP4xM=u&Wjs1KJiduflXkV+wHUG% z!%8DpCRYi;*OnHm6JP!kv&f~96(v&?HLRD%3Esz9-5c&+BJ1|zru!OmE$mwDPW@Y# zyNA@K!3H*!*};v$TASVQDvha71>5KfOe zN;8}hr?Y670nl=B1%XH0H}eP5FtKklnM+@?I2fh(C zD4eY}=TEaVwY0O_F@l0OT)sS0Z0OgN3Qs=zQAK1(t4>%^RDYG>+fbELPO$0lgZ6Ih zxnOH@#$;;JT^&ng)yntzCgG*Pk@=vk?3!WHfNhii=DUlbNG!6Y$VaKIteP}sI1+{B zSbdE}3$=JH5g{fpS!_m*%$C@eFGmgQEkDlACmwl$*7i?(oHweKzXtX&0&Nlp00r`! zJ^m+X{naY}2w)(GDS9!*dV5w?(j7x

Kh3W*$%w%JR5B06#7M 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 N=mxshHkzMz{}1y4-+KT6 literal 0 HcmV?d00001 From 67564ca2b676a7e34d0f37559efd2d0df76d78ed Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Fri, 1 Feb 2019 17:13:23 +0500 Subject: [PATCH 04/54] Changes after V19.1 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 9 +- .../packages.config | 4 +- .../GenerateReport.cs | 108 +++++++++++++++++- .../GroupDocs.AssemblyExamples.csproj | 5 +- .../GroupDocs.AssemblyExamples/Program.cs | 21 +++- .../packages.config | 2 +- .../Merging Cells Dynamically.msg | Bin 0 -> 54272 bytes .../Merging Cells Dynamically.pptx | Bin 0 -> 32026 bytes .../Merging Cells Dynamically.xlsx | Bin 0 -> 10066 bytes .../Merging Cells Dynamically.docx | Bin 0 -> 12599 bytes 10 files changed, 136 insertions(+), 13 deletions(-) create mode 100644 Examples/Data/Source/Email Templates/Merging Cells Dynamically.msg create mode 100644 Examples/Data/Source/Presentation Templates/Merging Cells Dynamically.pptx create mode 100644 Examples/Data/Source/Spreadsheet Templates/Merging Cells Dynamically.xlsx create mode 100644 Examples/Data/Source/Word Templates/Merging Cells Dynamically.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 0cd3957..acf6dee 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,11 +32,12 @@ 4 - - ..\..\packages\GroupDocs.Assembly.18.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.1.0\lib\net40-client\GroupDocs.Assembly.dll + True - - ..\..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll + + ..\..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index bf3b39d..dcc0c78 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 24678a9..5c83efb 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -7354,5 +7354,111 @@ public static void ImportingSpreadsheetIntoHtmlDocument() //ExEnd:ImportingSpreadsheetIntoHtmlDocument } - } + ///

+ ///Change target file format using explicit specifying + /// Features is supported by version 19.1 or greater + /// + public static void TableCellsMergingInWordProcessing() + { + //ExStart:TableCellsMergingInWordProcessing + //Setting up source document template + const String strDocumentTemplate = "Word Templates/Merging Cells Dynamically.docx"; + //Setting up destination PDF report + const String strDocumentReport = "PDF Reports/Merging Cells Dynamically Report.pdf"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to Merging Cells Dynamically Report in document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:TableCellsMergingInWordProcessing + } + /// + ///Change target file format using explicit specifying + /// Features is supported by version 19.1 or greater + /// + public static void TableCellsMergingInPresentations() + { + //ExStart:TableCellsMergingInPresentations + //Setting up source presentation template + const String strDocumentTemplate = "Presentation Templates/Merging Cells Dynamically.pptx"; + //Setting up destination PDF report + const String strDocumentReport = "PDF Reports/Merging Cells Dynamically Report.pdf"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to Merging Cells Dynamically Report in document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:TableCellsMergingInPresentations + } + /// + ///Change target file format using explicit specifying + /// Features is supported by version 19.1 or greater + /// + public static void TableCellsMergingInSpreadsheets() + { + //ExStart:TableCellsMergingInSpreadsheets + //Setting up source spreadsheet template + const String strDocumentTemplate = "Spreadsheet Templates/Merging Cells Dynamically.xlsx"; + //Setting up destination PDF report + const String strDocumentReport = "PDF Reports/Merging Cells Dynamically Report.pdf"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to Merging Cells Dynamically Report in document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:TableCellsMergingInSpreadsheets + } + /// + ///Change target file format using explicit specifying + /// Features is supported by version 19.1 or greater + /// + public static void TableCellsMergingInEmails() + { + //ExStart:TableCellsMergingInEmails + //Setting up source email template + const String strEmailTemplate = "Email Templates/Merging Cells Dynamically.msg"; + //Setting up destination email report + const String strEmailReport = "Email Reports/Merging Cells Dynamically Report.msg"; + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()); + var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customers"); + + //Call AssembleDocument to generate In-Table List Report in email format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), + CommonUtilities.SetDestinationDocument(strEmailReport), + new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), + new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), + new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), + new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), + new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) + ); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:TableCellsMergingInEmails + } + } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 708773d..313182c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,9 @@ 4 - - ..\..\packages\GroupDocs.Assembly.18.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.1.0\lib\net40-client\GroupDocs.Assembly.dll + True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 6d74a83..8cd0705 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -32,7 +32,7 @@ static void Main(string[] args) #region Generating Bubble Chart Report //Generate a bubble chart report in document processing format - GenerateReport.GenerateBubbleChart("document", false, false, false, true); + //GenerateReport.GenerateBubbleChart("document", false, false, false, true); //Generate a Bulleted List report in spreadsheet format //GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); @@ -375,7 +375,7 @@ static void Main(string[] args) #endregion #region Ability to remove selective chart series - GenerateReport.RemoveSelectiveChartSeries(); + // GenerateReport.RemoveSelectiveChartSeries(); #endregion #region Dynamic Chart Axis Title @@ -442,7 +442,21 @@ static void Main(string[] args) //Working with email documents GenerateReport.EmptyParagraphInEmail(); - #endregion + #endregion + + #region Merging table cells dynamically + // Merging table cells dynamically in Word Processing + GenerateReport.TableCellsMergingInWordProcessing(); + + // Merging table cells dynamically in Presentations + //GenerateReport.TableCellsMergingInPresentations(); + + // Merging table cells dynamically in Spreadsheets + //GenerateReport.TableCellsMergingInSpreadsheets(); + + // Merging table cells dynamically in Email + // GenerateReport.TableCellsMergingInEmails(); + #endregion //Update fields/formulas in word processing or spreadsheet documents //GenerateReport.UpdateWordDocFields("spreadsheet"); @@ -468,6 +482,7 @@ static void Main(string[] args) //Load document table set using custom options //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); + //Using DocumentTableSet as Data Source //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 96db345..9a4882b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Source/Email Templates/Merging Cells Dynamically.msg b/Examples/Data/Source/Email Templates/Merging Cells Dynamically.msg new file mode 100644 index 0000000000000000000000000000000000000000..4dc4d8e1ca71a245ab62c31fb4d6f16e9924140b GIT binary patch literal 54272 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Presentation Templates/Merging Cells Dynamically.pptx b/Examples/Data/Source/Presentation Templates/Merging Cells Dynamically.pptx new file mode 100644 index 0000000000000000000000000000000000000000..6e64ce4c99748488aa77e2fa28775c74090c3dab GIT binary patch literal 32026 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 T`XB&+2K~H%x-mZ0Z%6+Fo`YsX literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Merging Cells Dynamically.docx b/Examples/Data/Source/Word Templates/Merging Cells Dynamically.docx new file mode 100644 index 0000000000000000000000000000000000000000..21ebdbbf310b8ae0db6a46675109f5e8d9976f52 GIT binary patch literal 12599 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 Date: Mon, 4 Feb 2019 11:14:57 +0500 Subject: [PATCH 05/54] Comment Changes for V19.1 --- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 5c83efb..2bba138 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -7369,7 +7369,7 @@ public static void TableCellsMergingInWordProcessing() { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to Merging Cells Dynamically Report in document format + //Call AssembleDocument to Merging Cells Dynamically Report in PDF format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); } catch (Exception ex) @@ -7393,7 +7393,7 @@ public static void TableCellsMergingInPresentations() { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to Merging Cells Dynamically Report in document format + //Call AssembleDocument to Merging Cells Dynamically Report in PDF format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); } catch (Exception ex) @@ -7417,7 +7417,7 @@ public static void TableCellsMergingInSpreadsheets() { //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to Merging Cells Dynamically Report in document format + //Call AssembleDocument to Merging Cells Dynamically Report in PDF format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); } catch (Exception ex) @@ -7444,7 +7444,7 @@ public static void TableCellsMergingInEmails() var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()); var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customers"); - //Call AssembleDocument to generate In-Table List Report in email format + //Call AssembleDocument to generate Merging Cells Dynamically Report in email format assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), CommonUtilities.SetDestinationDocument(strEmailReport), new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), From f35ae1a872f1a33d1a6ed2ff216c3828a519bb35 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Fri, 15 Feb 2019 16:44:05 +0500 Subject: [PATCH 06/54] Update GenerateReport.cs --- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 2bba138..84410ea 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -7355,7 +7355,7 @@ public static void ImportingSpreadsheetIntoHtmlDocument() } /// - ///Change target file format using explicit specifying + /// Table Cell Merging in Word Processing Documents /// Features is supported by version 19.1 or greater /// public static void TableCellsMergingInWordProcessing() @@ -7379,7 +7379,7 @@ public static void TableCellsMergingInWordProcessing() //ExEnd:TableCellsMergingInWordProcessing } /// - ///Change target file format using explicit specifying + /// Table Cell Merging in Presentations /// Features is supported by version 19.1 or greater /// public static void TableCellsMergingInPresentations() @@ -7403,7 +7403,7 @@ public static void TableCellsMergingInPresentations() //ExEnd:TableCellsMergingInPresentations } /// - ///Change target file format using explicit specifying + /// Table Cell Merging in Spreadsheets /// Features is supported by version 19.1 or greater /// public static void TableCellsMergingInSpreadsheets() @@ -7427,7 +7427,7 @@ public static void TableCellsMergingInSpreadsheets() //ExEnd:TableCellsMergingInSpreadsheets } /// - ///Change target file format using explicit specifying + /// Table Cell Merging in Emails /// Features is supported by version 19.1 or greater /// public static void TableCellsMergingInEmails() From 0d84d393eaed2f8ecfb6f16569dd8df06da59c60 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 18 Mar 2019 09:53:54 +0500 Subject: [PATCH 07/54] Updated for 19.3 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 35 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 4 +- .../packages.config | 2 +- ..., Grouping, and Ordering_Dynamic_Title.msg | Bin 56320 -> 50176 bytes .../PDF Reports/Inline Error Demo.pdf | Bin 0 -> 32664 bytes .../Word Templates/Inline Error Demo.docx | Bin 0 -> 12953 bytes 9 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 Examples/Data/Destination/PDF Reports/Inline Error Demo.pdf create mode 100644 Examples/Data/Source/Word Templates/Inline Error Demo.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index acf6dee..95296d7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.3.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index dcc0c78..d0ad1d4 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 84410ea..62b090a 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -7460,5 +7460,40 @@ public static void TableCellsMergingInEmails() } //ExEnd:TableCellsMergingInEmails } + /// + /// In-lining syntax error messages into templates + /// Features is supported by version 19.3 or greater + /// + public static void DemoInLineSyntaxError() + { + //ExStart:DemoInLineSyntaxError_19.3 + //Setting up source document template + const String strDocumentTemplate = "Word Templates/Inline Error Demo.docx"; + //Setting up destination PDF report + const String strDocumentReport = "PDF Reports/Inline Error Demo.pdf"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + + //Enable the In-line error messaging + assembler.Options |= DocumentAssemblyOptions.InlineErrorMessages; + + //Call AssembleDocument to show the demo Report and save the report in PDF format + //The AssembleDocument will return a boolean value to indicate the success or failed with inline error. + if (assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new LoadSaveOptions(FileFormat.Pdf), new DataSourceInfo(DataLayer.GetCustomerData(), "customer"))) + { + Console.WriteLine("No error found in template"); + }else + { + Console.WriteLine("Do something with a report containing a template syntax error."); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:DemoInLineSyntaxError_19.3 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 313182c..5a3c5dc 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.3.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 8cd0705..9da63a7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -446,7 +446,7 @@ static void Main(string[] args) #region Merging table cells dynamically // Merging table cells dynamically in Word Processing - GenerateReport.TableCellsMergingInWordProcessing(); + //GenerateReport.TableCellsMergingInWordProcessing(); // Merging table cells dynamically in Presentations //GenerateReport.TableCellsMergingInPresentations(); @@ -490,6 +490,8 @@ static void Main(string[] args) //GenerateReport.UsingStringAsTemplate(); + // Demonstrate how to enable in-line syntax errors in the template without throw any exception + //GenerateReport.DemoInLineSyntaxError(); Console.WriteLine(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 9a4882b..9923760 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg b/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg index 607b0f1ff225daa7edfd08dc91b66d55d47f7159..8ff30fb6f91b23e9ca1b22f77d016b0585bddaf3 100644 GIT binary patch delta 14852 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 delta 21317 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 HwY>CiFyx`C diff --git a/Examples/Data/Destination/PDF Reports/Inline Error Demo.pdf b/Examples/Data/Destination/PDF Reports/Inline Error Demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d21ee0dd4f65c0586dc81d9e20a1181c57c4a261 GIT binary patch literal 32664 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

O`c7)F7ffc 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 literal 0 HcmV?d00001 From 1531204d9081687a452e83f89e8b4790de93496f Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Thu, 30 May 2019 17:22:43 +0500 Subject: [PATCH 08/54] Updated for Version 19.5 --- .../CommonUtilities.cs | 8 + ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 107 +++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 13 +- .../packages.config | 2 +- .../colorschememapping.xml | 2 + .../TestWordsResourceLoad_files/filelist.xml | 7 + .../TestWordsResourceLoad_files/image001.jpg | Bin 0 -> 1373 bytes .../themedata.thmx | Bin 0 -> 3134 bytes .../ResourceLoad/TestWordsResourceLoad.htm | 789 ++++++++++++++++++ .../colorschememapping.xml | 2 + .../TestWordsResourceLoad_files/filelist.xml | 7 + .../TestWordsResourceLoad_files/image001.jpg | Bin 0 -> 1671 bytes .../themedata.thmx | Bin 0 -> 3134 bytes .../TestCellsResourceSaveOneSheet.xlsx | Bin 0 -> 11041 bytes .../TestCellsResourceSaveTwoSheets.xlsx | Bin 0 -> 14495 bytes .../ResourceSave/TestEmailResourceSave.msg | Bin 0 -> 25088 bytes .../ResourceSave/TestSlidesResourceSave.pptx | Bin 0 -> 31985 bytes .../ResourceSave/TestWordsResourceSave.docx | Bin 0 -> 13628 bytes 21 files changed, 939 insertions(+), 8 deletions(-) create mode 100644 Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/colorschememapping.xml create mode 100644 Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/filelist.xml create mode 100644 Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/image001.jpg create mode 100644 Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/themedata.thmx create mode 100644 Examples/Data/ResourceLoad/TestWordsResourceLoad.htm create mode 100644 Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml create mode 100644 Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml create mode 100644 Examples/Data/ResourceLoad/TestWordsResourceLoad_files/image001.jpg create mode 100644 Examples/Data/ResourceLoad/TestWordsResourceLoad_files/themedata.thmx create mode 100644 Examples/Data/ResourceSave/TestCellsResourceSaveOneSheet.xlsx create mode 100644 Examples/Data/ResourceSave/TestCellsResourceSaveTwoSheets.xlsx create mode 100644 Examples/Data/ResourceSave/TestEmailResourceSave.msg create mode 100644 Examples/Data/ResourceSave/TestSlidesResourceSave.pptx create mode 100644 Examples/Data/ResourceSave/TestWordsResourceSave.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index 2522250..de2c519 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -16,6 +16,7 @@ public static class CommonUtilities { public const string sourceFolderPath = "../../../../Data/Source/"; + public const string dataFolderPath = "../../../../Data/"; public const string destinationFolderPath = "../../../../Data/Destination/"; public const string dataSourcesFolderPath = "../../../../Data/Data Sources/"; //ExStart:LicenseFilePath @@ -35,6 +36,13 @@ public static string GetSourceDocument(string sourceFileName) return Path.Combine(Path.GetFullPath(sourceFolderPath), sourceFileName); } ///

+ /// Takes source folder name as argument. + /// + public static string GetSourceFolder(string sourceFolder) + { + return Path.Combine(Path.GetFullPath(dataFolderPath), sourceFolder); + } + /// /// Takes output file name as argument. /// /// output file name diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 95296d7..7d93455 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index d0ad1d4..64ca09c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 62b090a..5809779 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -7495,5 +7495,112 @@ public static void DemoInLineSyntaxError() } //ExEnd:DemoInLineSyntaxError_19.3 } + + /// + /// Loading of template documents from HTML with resources + /// Features is supported by version 19.5 or greater + /// + public static void LoadDocFromHTMLWithResource() + { + //ExStart:LoadDocFromHTMLWithResource_19.5 + + //Setting up resource directory for input template and output + String strDirectoryPath = CommonUtilities.GetSourceFolder("ResourceLoad/"); + + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + //Assemble the document using relative directory path and file names. + assembler.AssembleDocument(strDirectoryPath + "TestWordsResourceLoad.htm", strDirectoryPath + "TestWordsResourceLoad_Out.docx", new DataSourceInfo("It should be a jeep image.", "value")); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:LoadDocFromHTMLWithResource_19.5 + } + /// + /// Loading of template documents from HTML with resources from an explicitly specified folder + /// Features is supported by version 19.5 or greater + /// + public static void LoadDocFromHTMLWithResource_ExplicitFolder() + { + //ExStart:LoadDocFromHTMLWithResource_ExplicitFolder_19.5 + + //Setting up resource directory for input template and output + String strDirectoryPath = CommonUtilities.GetSourceFolder("ResourceLoad/"); + + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + //Initialize LoadSaveOptions + LoadSaveOptions loadSaveOptions = new LoadSaveOptions(); + + //Resolve URIs from the specified alternative folder. + loadSaveOptions.ResourceLoadBaseUri = strDirectoryPath + "Alternative"; + + assembler.AssembleDocument(strDirectoryPath + "TestWordsResourceLoad.htm", strDirectoryPath + "TestWordsResourceLoad_Out.docx", loadSaveOptions, new DataSourceInfo("It should be a sport car image.", "value")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:LoadDocFromHTMLWithResource_ExplicitFolder_19.5 + } + /// + /// Saving of external resource files at relative path while an assembled document loaded from a non-HTML format is being saved to HTML + /// Features is supported by version 19.5 or greater + /// + public static void SaveDocToHTMLWithResource() + { + //ExStart:SaveDocToHTMLWithResource_19.5 + + //Setting up resource directory for input template and output + String strDirectoryPath = CommonUtilities.GetSourceFolder("ResourceSave/"); + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + //Assemble the document using relative directory path and file names. + assembler.AssembleDocument(strDirectoryPath + "TestCellsResourceSaveOneSheet.xlsx", strDirectoryPath + "TestCellsResourceSaveOneSheet_Out.htm", new DataSourceInfo("Hello!", "value")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveDocToHTMLWithResource_19.5 + } + /// + /// Saving of external resource files in a specified folder at relative path while saving output to HTML + /// Features is supported by version 19.5 or greater + /// + public static void SaveDocToHTMLWithResource_ExplicitFolder() + { + //ExStart:SaveDocToHTMLWithResource_ExplicitFolder_19.5 + + //Setting up resource directory for input template and output + String strDirectoryPath = CommonUtilities.GetSourceFolder("ResourceSave/"); + + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + //Initialize LoadSaveOptions + LoadSaveOptions loadSaveOptions = new LoadSaveOptions(); + + //Resolve URIs from the specified alternative folder. + loadSaveOptions.ResourceSaveFolder = strDirectoryPath + "Alternative"; + + assembler.AssembleDocument(strDirectoryPath + "TestWordsResourceSave.docx", strDirectoryPath + "TestWordsResourceSave_Out.htm", loadSaveOptions, new DataSourceInfo("Hello!", "value")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveDocToHTMLWithResource_ExplicitFolder_19.5 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 5a3c5dc..8dafd68 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 9da63a7..95e78a5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -441,7 +441,7 @@ static void Main(string[] args) //GenerateReport.EmptyParagraphInPresentation(); //Working with email documents - GenerateReport.EmptyParagraphInEmail(); + //GenerateReport.EmptyParagraphInEmail(); #endregion #region Merging table cells dynamically @@ -493,8 +493,17 @@ static void Main(string[] args) // Demonstrate how to enable in-line syntax errors in the template without throw any exception //GenerateReport.DemoInLineSyntaxError(); + //Loading of template documents from HTML(with relative path) with resources + //GenerateReport.LoadDocFromHTMLWithResource(); - Console.WriteLine(); + // Loading of template documents from HTML with resources from an explicitly specified folder + //GenerateReport.LoadDocFromHTMLWithResource_ExplicitFolder(); + + //Saving of external resource files at relative path + //GenerateReport.SaveDocToHTMLWithResource(); + + // Saving of external resource files in a specified folder at relative path while saving output to HTML + //GenerateReport.SaveDocToHTMLWithResource_ExplicitFolder(); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 9923760..617595e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/colorschememapping.xml b/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/colorschememapping.xml new file mode 100644 index 0000000..6a0069c --- /dev/null +++ b/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/colorschememapping.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/filelist.xml b/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/filelist.xml new file mode 100644 index 0000000..2fc5612 --- /dev/null +++ b/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/filelist.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/image001.jpg b/Examples/Data/ResourceLoad/Alternative/TestWordsResourceLoad_files/image001.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2afe6e505cb2f02525e19bebd16751690ef59ed4 GIT binary patch literal 1373 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad.htm b/Examples/Data/ResourceLoad/TestWordsResourceLoad.htm new file mode 100644 index 0000000..fba5a60 --- /dev/null +++ b/Examples/Data/ResourceLoad/TestWordsResourceLoad.htm @@ -0,0 +1,789 @@ + + + + + + + + + + + + + + + + + + + +
+ +

+ +

<<[value]>>

+ +
+ + + + diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml new file mode 100644 index 0000000..6a0069c --- /dev/null +++ b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/colorschememapping.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml new file mode 100644 index 0000000..2fc5612 --- /dev/null +++ b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/filelist.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/image001.jpg b/Examples/Data/ResourceLoad/TestWordsResourceLoad_files/image001.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d29fc0010f00d62f64c8e132aeebb29f6d7b371c GIT binary patch literal 1671 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestCellsResourceSaveOneSheet.xlsx b/Examples/Data/ResourceSave/TestCellsResourceSaveOneSheet.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c4a7e5bf6f6dc6030286f2422f20a4b2f03f31c5 GIT binary patch literal 11041 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestCellsResourceSaveTwoSheets.xlsx b/Examples/Data/ResourceSave/TestCellsResourceSaveTwoSheets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b10aea4b670aeb94d8cbca7722d7b8e81612653b GIT binary patch literal 14495 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�cbgJYr7 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestEmailResourceSave.msg b/Examples/Data/ResourceSave/TestEmailResourceSave.msg new file mode 100644 index 0000000000000000000000000000000000000000..d325ce77ea2940999d078feb0e978828d653b266 GIT binary patch literal 25088 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 Ca*iVa literal 0 HcmV?d00001 diff --git a/Examples/Data/ResourceSave/TestWordsResourceSave.docx b/Examples/Data/ResourceSave/TestWordsResourceSave.docx new file mode 100644 index 0000000000000000000000000000000000000000..9e0b2f5f5bd9bf0fe4246c1d08ad773d4e7b1c32 GIT binary patch literal 13628 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 literal 0 HcmV?d00001 From db509612b45aaa227810b7b53d5a6cb674b4905a Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 22 Jul 2019 20:00:44 +0500 Subject: [PATCH 09/54] Updated for version 19.7 --- .../CommonUtilities.cs | 10 +- .../DataLayer.cs | 39 +- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../BusinessObjects.cs | 9 + .../GenerateReport.cs | 1127 +---------------- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 520 ++++---- .../packages.config | 2 +- .../Numbered List_RestartNum.msg | Bin 0 -> 15872 bytes .../Numbered List_RestartNum.pptx | 0 .../Numbered List_RestartNum.xlsx | Bin 0 -> 8806 bytes .../Numbered List_RestartNum.docx | Bin 0 -> 11809 bytes .../Numbered List_RestartNum.msg | Bin 0 -> 24576 bytes .../Merging Cells Dynamically.docx | Bin 12599 -> 12668 bytes .../Numbered List_RestartNum.docx | Bin 0 -> 13959 bytes 16 files changed, 362 insertions(+), 1355 deletions(-) create mode 100644 Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg create mode 100644 Examples/Data/Destination/Presentation Reports/Numbered List_RestartNum.pptx create mode 100644 Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx create mode 100644 Examples/Data/Destination/Word Reports/Numbered List_RestartNum.docx create mode 100644 Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg create mode 100644 Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index de2c519..d9e31c8 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -89,9 +89,13 @@ public static void MeteredLicensing() Metered metered = new Metered(); metered.SetMeteredKey("PublicKey", "PrivateKey"); - // Ensure that the product is licensed. - License license = new License(); - Debug.Assert(license.IsLicensed); + //Do something here.... + + // and get consumption quantity + decimal consumptionQuantitiy = GroupDocs.Assembly.Metered.GetConsumptionQuantity(); + + // get consumption credit (Supported since version 19.7) + decimal consumptionCredit = GroupDocs.Assembly.Metered.GetConsumptionCredit(); } //ExEnd:metered licensing #endregion diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs index e949fce..a3265d0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/DataLayer.cs @@ -34,21 +34,47 @@ public static class DataLayer /// Returns customer's complete information public static IEnumerable PopulateData() { - BusinessObjects.Customer customer = new BusinessObjects.Customer { CustomerName = "Atir Tahir", CustomerContactNumber = "+9211874", ShippingAddress = "Flat # 1, Kiyani Plaza ISB", Barcode = "123456789qwertyu0025" }; + BusinessObjects.Customer customer = new BusinessObjects.Customer { CustomerName = "Jane Doe", CustomerContactNumber = "+9211874", ShippingAddress = "Flat # 1, Kiyani Plaza ISB", Barcode = "123456789qwertyu0025" }; + customer.Order = new BusinessObjects.Order[] { - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName ="Lumia 525" }, Customer = customer, Price= 170, ProductQuantity = 5, OrderDate = new DateTime(2015, 1, 1) } + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName ="Lumia 525" }, Customer = customer, Price= 170, ProductQuantity = 5, OrderDate = new DateTime(2015, 1, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Oven Cleaning"} + } + } }; yield return customer; //yield return statement will return one data at a time - customer = new BusinessObjects.Customer { CustomerName = "Usman Aziz", CustomerContactNumber = "+458789", ShippingAddress = "Quette House, Park Road, ISB", Barcode = "123456789qwertyu0025" }; + customer = new BusinessObjects.Customer { CustomerName = "John Smith", CustomerContactNumber = "+458789", ShippingAddress = "Quette House, Park Road, ISB", Barcode = "123456789qwertyu0025" }; customer.Order = new BusinessObjects.Order[] { - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Lenovo G50" }, Customer = customer, Price = 480, ProductQuantity = 2, OrderDate = new DateTime(2015, 2, 1) }, - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Pavilion G6"}, Customer = customer, Price = 400, ProductQuantity = 1, OrderDate = new DateTime(2015, 10, 1) }, - new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Nexus 5"}, Customer = customer, Price = 320, ProductQuantity = 3, OrderDate = new DateTime(2015, 6, 1) } + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Lenovo G50" }, Customer = customer, Price = 480, ProductQuantity = 2, OrderDate = new DateTime(2015, 2, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Oven Cleaning"}, + new BusinessObjects.Service { ServiceName="Carpet Cleaning"} + } + }, + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Pavilion G6"}, Customer = customer, Price = 400, ProductQuantity = 1, OrderDate = new DateTime(2015, 10, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Regular Cleaning"}, + new BusinessObjects.Service { ServiceName="Carpet Cleaning"} + + } + }, + new BusinessObjects.Order { Product = new BusinessObjects.Product { ProductName = "Nexus 5"}, Customer = customer, Price = 320, ProductQuantity = 3, OrderDate = new DateTime(2015, 6, 1), + Services= new BusinessObjects.Service[] + { + new BusinessObjects.Service { ServiceName="Oven Cleaning"} + } + } }; yield return customer; //yield return statement will return one data at a time } @@ -99,6 +125,7 @@ public static BusinessObjects.Customer GetCustomerData() { IEnumerator customer = PopulateData().GetEnumerator(); customer.MoveNext(); + customer.MoveNext(); return customer.Current; } //ExEnd:GetSingleCustomerData diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 7d93455..a4efb7b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 64ca09c..5e25a87 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs index 869e2e7..8049102 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs @@ -35,6 +35,9 @@ public class Order public DateTime OrderDate { get; set; } public int OrderNumber { get; set; } public DateTime ShippingDate { get; set; } + public IEnumerable Services { get; set; } + + } public class Product { @@ -43,6 +46,12 @@ public class Product public int Discount { get; set; } public string ProductPrice { get; set; } } + public class Service + { + public string ServiceName { get; set; } + + } + //ExEnd:ProjectEntities } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 5809779..72d170c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -5942,1092 +5942,51 @@ public static void GenerateNumberedList(string strDocumentFormat, bool isDatabas break; } } - public static void GeneratePieChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_DB Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_DT Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart_XML Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninWord - //setting up source - const String strDocumentTemplate = "Word Templates/Pie Chart.docx"; - //Setting up destination - const String strDocumentReport = "Word Reports/Pie Chart_Json Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninWord - } - else - { - //ExStart:GeneratePieChartinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Pie Chart.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Pie Chart Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_DB Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_DT Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart_XML Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Pie Chart.xlsx"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Pie Chart_Json Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninSpreadsheet - } - else - { - //ExStart:GeneratePieChartinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Pie Chart.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Pie Chart Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GeneratePieChartFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_DB Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersDataDB(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GeneratePieChartFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_DT Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GeneratePieChartFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart_XML Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GeneratePieChartReportFromJsoninPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Pie Chart.pptx"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Pie Chart_Json Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Pie Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerDataFromJson(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartReportFromJsoninPresentation - } - else - { - //ExStart:GeneratePieChartinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Pie Chart.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Pie Chart Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Pie Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.PopulateData(), "customers")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartinOpenPresentationFormat - } - break; - case "email": - { - //ExStart:GeneratePieChartiEmailFormat - //Setting up source email template - const String strEmailTemplate = "Email Templates/Pie Chart.msg"; - //Setting up destination email report - const String strEmailReport = "Email Reports/Pie Chart Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.PopulateData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customers"); - - //Call AssembleDocument to generate Pie Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GeneratePieChartiEmailFormat - } - break; - } - } - public static void GenerateScatterChart(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_DB Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_DT Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart_DB.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart_XML Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninWord - //setting up source - const String strDocumentTemplate = "Word Templates/Scatter Chart.docx"; - //Setting up destination - const String strDocumentReport = "Word Reports/Scatter Chart_Json Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninWord - } - else - { - //ExStart:GenerateScatterChartinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Scatter Chart.docx"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Scatter Chart Report.docx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_DB Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_DT Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart_DB.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart_XML Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Scatter Chart.xlsx"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Scatter Chart_Json Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninSpreadsheet - } - else - { - //ExStart:GenerateScatterChartinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Scatter Chart.xlsx"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Scatter Chart Report.xlsx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GenerateScatterChartFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_DB Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetOrdersDataDB(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GenerateScatterChartFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_DT Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomersAndOrdersDataDT())); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateScatterChartFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart_DB.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart_XML Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetAllDataFromXML(), "ds")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GenerateScatterChartReportFromJsoninPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Scatter Chart.pptx"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Scatter Chart_Json Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Scatter Chart report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerOrderDataFromJson(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartReportFromJsoninPresentation - } - else - { - //ExStart:GenerateScatterChartinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Scatter Chart.pptx"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Scatter Chart Report.pptx"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Scatter Chart Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinOpenPresentationFormat - } - break; - case "email": - { - //ExStart:GenerateScatterChartinEmailFormat - //Setting up source email template - const string strEmailTemplate = "Email Templates/Scatter Chart.msg"; - //Setting up destination email report - const String strEmailReport = "Email Reports/Scatter Chart Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetOrdersData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "orders"); - - //Call AssembleDocument to generate Scatter Chart Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateScatterChartinEmailFormat - } - break; - } - } - public static void GenerateSingleRow(string strDocumentFormat, bool isDatabase, bool isDataSet, bool isDataSourceXML, bool isJson) - { - switch (strDocumentFormat) - { - case "document": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_DB Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenDocumentProcessingFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_DT Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenDocumentProcessingFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row_XML Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenDocumentProcessingFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenWord - //setting up source - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination - const String strDocumentReport = "Word Reports/Single Row_OpenDocument_Json Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenWord - } - else - { - //ExStart:GenerateSingleRowinOpenDocumentProcessingFormat - //Setting up source open document template - const String strDocumentTemplate = "Word Templates/Single Row_OpenDocument.odt"; - //Setting up destination open document report - const String strDocumentReport = "Word Reports/Single Row Report.odt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open document format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenDocumentProcessingFormat - } - break; - - case "spreadsheet": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_DB Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenSpreadsheetFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_DT Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenSpreadsheetFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row_XML Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenSpreadsheetFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenSpreadsheet - //setting up source - const String strDocumentTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination - const String strDocumentReport = "Spreadsheet Reports/Single Row_OpenDocument_Json Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenSpreadsheet - } - else - { - //ExStart:GenerateSingleRowinOpenSpreadsheetFormat - //Setting up source open spreadsheet template - const String strSpreadsheetTemplate = "Spreadsheet Templates/Single Row_OpenDocument.ods"; - //Setting up destination open document report - const String strSpreadsheetReport = "Spreadsheet Reports/Single Row Report.ods"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open spreadsheet format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strSpreadsheetTemplate), CommonUtilities.SetDestinationDocument(strSpreadsheetReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenSpreadsheetFormat - } - break; - - case "presentation": - if (isDatabase) - { - //ExStart:GenerateSingleRowFromDatabaseinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_DB Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataDB(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDatabaseinOpenPresentationFormat - } - else if (isDataSet) - { - //ExStart:GenerateSingleRowFromDataSetinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_DT Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerDT(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromDataSetinOpenPresentationFormat - } - else if (isDataSourceXML) - { - //ExStart:GenerateSingleRowFromXMLinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row_XML Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetSingleCustomerXML(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowFromXMLinOpenPresentationFormat - } - else if (isJson) - { - //ExStart:GenerateSingleRowReportFromJsoninOpenPresentation - //setting up source - const String strDocumentTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination - const String strDocumentReport = "Presentation Reports/Single Row_OpenDocument_Json Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class - //Call AssembleDocument to generate Single Row report in presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetSingleCustomerDataJson(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowReportFromJsoninOpenPresentation - } - else - { - //ExStart:GenerateSingleRowinOpenPresentationFormat - //Setting up source open spreadsheet template - const String strPresentationTemplate = "Presentation Templates/Single Row_OpenDocument.odp"; - //Setting up destination open document report - const String strPresentationReport = "Presentation Reports/Single Row Report.odp"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in open presentation format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strPresentationTemplate), CommonUtilities.SetDestinationDocument(strPresentationReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinOpenPresentationFormat - } - break; - case "html": - { - //ExStart:GenerateSingleRowinHtmlFormat - //Setting up source html template - const String strHtmlTemplate = "HTML Templates/Single Row.html"; - //Setting up destination html report - const String strHtmlReport = "HTML Reports/Single Row Report.html"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - // This is needed solely for images in HTML documents. - assembler.KnownTypes.Add(typeof(GroupDocs.AssemblyExamples.BusinessLayer.CommonUtilities.FileUtil)); - //Call AssembleDocument to generate Single Row Report in html format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strHtmlTemplate), CommonUtilities.SetDestinationDocument(strHtmlReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinHtmlFormat - } - break; - - case "text": - { - //ExStart:GenerateSingleRowinTextFormat - //Setting up source text format template - const String strTextTemplate = "Text Templates/Single Row.txt"; - //Setting up destination text format report - const String strDocumentReport = "Text Reports/Single Row Report.txt"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - //Call AssembleDocument to generate Single Row Report in text format format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strTextTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetCustomerData(), "customer")); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinTextFormat - } - break; + public static void GenerateNumberedListRestartNum_Documents() + { - case "email": - { - //ExStart:GenerateSingleRowinEmailFormat - //Setting up source email format template - const String strEmailTemplate = "Email Templates/Single Row.msg"; - //Setting up destination email format report - const String strEmailReport = "Email Reports/Single Row Report.msg"; - try - { - //Instantiate DocumentAssembler class - DocumentAssembler assembler = new DocumentAssembler(); - - var dataSources = DataLayer.EmailDataSourceObject(strEmailTemplate, DataLayer.GetCustomerData()); - var dataSourcesNames = DataLayer.EmailDataSourceName(".msg", "customer"); + //ExStart:GenerateNumberedListRestartNum + //setting up source + const String strDocumentTemplate = "Word Templates/Numbered List_RestartNum.docx"; + //Setting up destination + const String strDocumentReport = "Word Reports/Numbered List_RestartNum.docx"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListRestartNum + } + + + public static void GenerateNumberedListRestartNum_Email() + { - //Call AssembleDocument to generate Single Row Report in email format - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strEmailTemplate), - CommonUtilities.SetDestinationDocument(strEmailReport), - new DataSourceInfo(dataSources.DataSource, dataSourcesNames.Name), - new DataSourceInfo(dataSources.Sender, dataSourcesNames.Sender), - new DataSourceInfo(dataSources.Recipients, dataSourcesNames.Recipients), - new DataSourceInfo(dataSources.CC, dataSourcesNames.CC), - new DataSourceInfo(dataSources.Subject, dataSourcesNames.Subject) - ); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - //ExEnd:GenerateSingleRowinEmailFormat - } - break; - } - } - public static void GenerateReportLazilyAndRecursively() + //ExStart:GenerateNumberedListRestartNum + //setting up source + const String strDocumentTemplate = "Email Templates/Numbered List_RestartNum.msg"; + //Setting up destination + const String strDocumentReport = "Email Reports/Numbered List_RestartNum.msg"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler();//initialize object of DocumentAssembler class + //Call AssembleDocument to generate Numbered List report in open document format + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.GetOrdersData(), "orders")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:GenerateNumberedListRestartNum + } + public static void GenerateReportLazilyAndRecursively() { //ExStart:GeneratingReportbyRecursivelyandLazilyAccessingtheData //Setting up source open document template diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 8dafd68..0a4993e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.5.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 95e78a5..f0280b5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -26,334 +26,341 @@ static void Main(string[] args) //Change target file format using the file extension //GenerateReport.ChangeTargetFileFormat(); - //Change target file format using explicit specifying - //GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); - #endregion + //Change target file format using explicit specifying + //GenerateReport.ChangeTargetFileFormatUsingExplicitSpecifying(); + #endregion - #region Generating Bubble Chart Report - //Generate a bubble chart report in document processing format - //GenerateReport.GenerateBubbleChart("document", false, false, false, true); + #region Generating Bubble Chart Report + //Generate a bubble chart report in document processing format + //GenerateReport.GenerateBubbleChart("document", false, false, false, true); - //Generate a Bulleted List report in spreadsheet format - //GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); + //Generate a Bulleted List report in spreadsheet format + //GenerateReport.GenerateBubbleChart("spreadsheet", false, false, false, true); - //Generate a Bulleted List report in presentation format - //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); + //Generate a Bulleted List report in presentation format + //GenerateReport.GenerateBubbleChart("presentation", false, false, false, true); - //Generate a Bubble chart report in email format - //GenerateReport.GenerateBubbleChart("email", false, false, false, false); + //Generate a Bubble chart report in email format + //GenerateReport.GenerateBubbleChart("email", false, false, false, false); - #endregion + #endregion - #region Generating Bulleted List Report - //Generate a Bulleted List report in document processing format - //GenerateReport.GenerateBulletedList("document", false, false, true, false); + #region Generating Bulleted List Report + //Generate a Bulleted List report in document processing format + //GenerateReport.GenerateBulletedList("document", false, false, true, false); - //Generate a Bulleted List report in spreadsheet format - //GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); + //Generate a Bulleted List report in spreadsheet format + //GenerateReport.GenerateBulletedList("spreadsheet", false, false, true, false); - //Generate a Bulleted List report in presentation format - //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); + //Generate a Bulleted List report in presentation format + //GenerateReport.GenerateBulletedList("presentation", false, false, true, false); - //Generate a Bulleted List report in html format - //GenerateReport.GenerateBulletedList("html", false, false, false, false); + //Generate a Bulleted List report in html format + //GenerateReport.GenerateBulletedList("html", false, false, false, false); - //Generate a Bulleted List report in text format - //GenerateReport.GenerateBulletedList("text", false, false, false, false); + //Generate a Bulleted List report in text format + //GenerateReport.GenerateBulletedList("text", false, false, false, false); - //Generate a Bulleted List report in email format - //GenerateReport.GenerateBulletedList("email", false, false, false, false); - #endregion + //Generate a Bulleted List report in email format + //GenerateReport.GenerateBulletedList("email", false, false, false, false); + #endregion - #region Generating Chart report with Filtering, Grouping, and Ordering - //Generate a Chart report with Filtering, Grouping, and Ordering in document processing format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); + #region Generating Chart report with Filtering, Grouping, and Ordering + //Generate a Chart report with Filtering, Grouping, and Ordering in document processing format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("document", false, false, true, false); - //Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); + //Generate a Chart report with Filtering, Grouping, and Ordering in spreadsheet format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + //Generate a Chart report with Filtering, Grouping, and Ordering in presentation format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - //Generate a Chart report with Filtering, Grouping, and Ordering in email format - //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); - #endregion + //Generate a Chart report with Filtering, Grouping, and Ordering in email format + //GenerateReport.GenerateChartWithFilteringGroupingAndOrdering("email", false, false, false, false); + #endregion - #region Generating Common List Report - //Generate a Common List Report in document processing format - //GenerateReport.GenerateCommonList("document", false, false, true, false); + #region Generating Common List Report + //Generate a Common List Report in document processing format + //GenerateReport.GenerateCommonList("document", false, false, true, false); - //Generate a Common List Report in spreadsheet format - //GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); + //Generate a Common List Report in spreadsheet format + //GenerateReport.GenerateCommonList("spreadsheet", false, false, true, false); - //Generate a Common List Report in presentation format - //GenerateReport.GenerateCommonList("presentation", false, false, true, false); + //Generate a Common List Report in presentation format + //GenerateReport.GenerateCommonList("presentation", false, false, true, false); - //Generate a Common List Report in html format - //GenerateReport.GenerateCommonList("html", false, false, false, false); + //Generate a Common List Report in html format + //GenerateReport.GenerateCommonList("html", false, false, false, false); - //Generate a Common List Report in text format - //GenerateReport.GenerateCommonList("text", false, false, false, false); + //Generate a Common List Report in text format + //GenerateReport.GenerateCommonList("text", false, false, false, false); - //Generate a Common List Report in email format - //GenerateReport.GenerateCommonList("email", false, false, false, false); - #endregion + //Generate a Common List Report in email format + //GenerateReport.GenerateCommonList("email", false, false, false, false); + #endregion - #region Generating Common Master-Detail Report - //Generate a Common Master-Detail Report in document processing format - //GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); + #region Generating Common Master-Detail Report + //Generate a Common Master-Detail Report in document processing format + //GenerateReport.GenerateCommonMasterDetail("document", false, false, false, true); - //Generate a Common Master-Detail Report in spreadsheet format - //GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); + //Generate a Common Master-Detail Report in spreadsheet format + //GenerateReport.GenerateCommonMasterDetail("spreadsheet", false, false, false, true); - //Generate a Common Master-Detail Report in presentation format - //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); + //Generate a Common Master-Detail Report in presentation format + //GenerateReport.GenerateCommonMasterDetail("presentation", false, false, false, true); - //Generate a Common Master-Detail Report in html format - //GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); + //Generate a Common Master-Detail Report in html format + //GenerateReport.GenerateCommonMasterDetail("html", false, false, false, false); - //Generate a Common Master-Detail Report in text format - //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); + //Generate a Common Master-Detail Report in text format + //GenerateReport.GenerateCommonMasterDetail("text", false, false, false, false); - //Generate a Common Master-Detail Report in email format - //GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); + //Generate a Common Master-Detail Report in email format + //GenerateReport.GenerateCommonMasterDetail("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Paragraph List Report - //Generate an In-Paragraph List Report in document processing format - //GenerateReport.GenerateInParagraphList("document", false, false, false, true); + #region Generating In-Paragraph List Report + //Generate an In-Paragraph List Report in document processing format + //GenerateReport.GenerateInParagraphList("document", false, false, false, true); - //Generate an In-Paragraph List Report in spreadsheet format - //GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); + //Generate an In-Paragraph List Report in spreadsheet format + //GenerateReport.GenerateInParagraphList("spreadsheet", false, false, false, true); - //Generate an In-Paragraph List Report in presentation format - //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); + //Generate an In-Paragraph List Report in presentation format + //GenerateReport.GenerateInParagraphList("presentation", false, false, false, true); - //Generate an In-Paragraph List Report in html format - //GenerateReport.GenerateInParagraphList("html", false, false, false, false); + //Generate an In-Paragraph List Report in html format + //GenerateReport.GenerateInParagraphList("html", false, false, false, false); - //Generate an In-Paragraph List Report in text format - //GenerateReport.GenerateInParagraphList("text", false, false, false, false); + //Generate an In-Paragraph List Report in text format + //GenerateReport.GenerateInParagraphList("text", false, false, false, false); - //Generate an In-Paragraph List Report in email format - //GenerateReport.GenerateInParagraphList("email", false, false, false, false); - #endregion + //Generate an In-Paragraph List Report in email format + //GenerateReport.GenerateInParagraphList("email", false, false, false, false); + #endregion - #region Generating In-Table with Alternate Content Report - //Generate an In-Table List with Alternate Content Report in document processing format - //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); + #region Generating In-Table with Alternate Content Report + //Generate an In-Table List with Alternate Content Report in document processing format + //GenerateReport.GenerateInTableListWithAlternateContent("document", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in spreadsheet format - //GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); + //Generate an In-Table List with Alternate Content Report in spreadsheet format + //GenerateReport.GenerateInTableListWithAlternateContent("spreadsheet", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in presentation format - //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); + //Generate an In-Table List with Alternate Content Report in presentation format + //GenerateReport.GenerateInTableListWithAlternateContent("presentation", false, false, false, true); - //Generate an In-Table List with Alternate Content Report in html format - //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); + //Generate an In-Table List with Alternate Content Report in html format + //GenerateReport.GenerateInTableListWithAlternateContent("html", false, false, false, false); - //Generate an In-Table List with Alternate Content Report in email format - //GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); + //Generate an In-Table List with Alternate Content Report in email format + //GenerateReport.GenerateInTableListWithAlternateContent("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Table with Filtering, Grouping and Ordering Report - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); + #region Generating In-Table with Filtering, Grouping and Ordering Report + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in document processing format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("document", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in spreadsheet format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("spreadsheet", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in presentation format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("presentation", false, false, false, true); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in html format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("html", false, false, false, false); - //Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format - //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); - #endregion + //Generate an In-Table List with Filtering, Grouping, and Ordering Report in email format + //GenerateReport.GenerateInTableListWithFilteringGroupingAndOrdering("email", false, false, false, false); + #endregion - #region Generating In-Table List with Highlighted Rows Report - //Generate an In-Table List with Highlighted Rows Report in document processing format - //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); + #region Generating In-Table List with Highlighted Rows Report + //Generate an In-Table List with Highlighted Rows Report in document processing format + //GenerateReport.GenerateInTableListWithHighlightedRows("document", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in spreadsheet format - //GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); + //Generate an In-Table List with Highlighted Rows Report in spreadsheet format + //GenerateReport.GenerateInTableListWithHighlightedRows("spreadsheet", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in presentation format - //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); + //Generate an In-Table List with Highlighted Rows Report in presentation format + //GenerateReport.GenerateInTableListWithHighlightedRows("presentation", false, false, false, true); - //Generate an In-Table List with Highlighted Rows Report in html format - //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); + //Generate an In-Table List with Highlighted Rows Report in html format + //GenerateReport.GenerateInTableListWithHighlightedRows("html", false, false, false, false); - //Generate an In-Table List with Highlighted Rows Report in email format - //GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); + //Generate an In-Table List with Highlighted Rows Report in email format + //GenerateReport.GenerateInTableListWithHighlightedRows("email", false, false, false, false); - #endregion + #endregion - #region Generating In-Table List Report - //Generate an In-Table List Report in document processing format - //GenerateReport.GenerateInTableList("document", false, false, false, true); + #region Generating In-Table List Report + //Generate an In-Table List Report in document processing format + //GenerateReport.GenerateInTableList("document", false, false, false, true); - //Generate an In-Table List Report in spreadsheet format - //GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); + //Generate an In-Table List Report in spreadsheet format + //GenerateReport.GenerateInTableList("spreadsheet", false, false, false, true); - //Generate an In-Table List Report in presentation format - //GenerateReport.GenerateInTableList("presentation", false, false, false, true); + //Generate an In-Table List Report in presentation format + //GenerateReport.GenerateInTableList("presentation", false, false, false, true); - //Generate an In-Table List Report in html format - //GenerateReport.GenerateInTableList("html", false, false, false, false); + //Generate an In-Table List Report in html format + //GenerateReport.GenerateInTableList("html", false, false, false, false); - //Generate an In-Table List Report in email format - //GenerateReport.GenerateInTableList("email", false, false, false, false); - #endregion + //Generate an In-Table List Report in email format + //GenerateReport.GenerateInTableList("email", false, false, false, false); + #endregion - #region Generating In-Table Master-Detail Report - //Generate an In-Table Master-Detail Report in document processing format - //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); + #region Generating In-Table Master-Detail Report + //Generate an In-Table Master-Detail Report in document processing format + //GenerateReport.GenerateInTableMasterDetail("document", false, false, false, true); - //Generate an In-Table Master-Detail Report in spreadsheet format - //GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); + //Generate an In-Table Master-Detail Report in spreadsheet format + //GenerateReport.GenerateInTableMasterDetail("spreadsheet", false, false, false, true); - //Generate an In-Table Master-Detail Report in presentation format - //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); + //Generate an In-Table Master-Detail Report in presentation format + //GenerateReport.GenerateInTableMasterDetail("presentation", false, false, false, true); - //Generate an In-Table Master-Detail Report in html format - //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); + //Generate an In-Table Master-Detail Report in html format + //GenerateReport.GenerateInTableMasterDetail("html", false, false, false, false); - //Generate an In-Table Master-Detail Report in email format - //GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); - #endregion + //Generate an In-Table Master-Detail Report in email format + //GenerateReport.GenerateInTableMasterDetail("email", false, false, false, false); + #endregion - #region Generating In-Table with Running (Progressive) Total Report - //Generate an In-Table List with Running (Progressive) Total Report in document processing format - //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); + #region Generating In-Table with Running (Progressive) Total Report + //Generate an In-Table List with Running (Progressive) Total Report in document processing format + //GenerateReport.GenerateInTableListWithProgressiveTotal("document", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format - //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in spreadsheet format + //GenerateReport.GenerateInTableListWithProgressiveTotal("spreadsheet", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in presentation format - //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in presentation format + //GenerateReport.GenerateInTableListWithProgressiveTotal("presentation", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in html format - //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); + //Generate an In-Table List with Running (Progressive) Total Report in html format + //GenerateReport.GenerateInTableListWithProgressiveTotal("html", false, false, false, false); - //Generate an In-Table List with Running (Progressive) Total Report in email format - //GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); - #endregion + //Generate an In-Table List with Running (Progressive) Total Report in email format + //GenerateReport.GenerateInTableListWithProgressiveTotal("email", false, false, false, false); + #endregion - #region Generating Multicolored Number List Report - //Generate a Multicolored Numbered List Report in document processing format - //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); + #region Generating Multicolored Number List Report + //Generate a Multicolored Numbered List Report in document processing format + //GenerateReport.GenerateMulticoloredNumberedList("document", false, false, false, true); - //Generate a Multicolored Numbered List Report in spreadsheet format - //GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); + //Generate a Multicolored Numbered List Report in spreadsheet format + //GenerateReport.GenerateMulticoloredNumberedList("spreadsheet", false, false, false, true); - //Generate a Multicolored Numbered List Report in presentation format - //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); + //Generate a Multicolored Numbered List Report in presentation format + //GenerateReport.GenerateMulticoloredNumberedList("presentation", false, false, false, true); - //Generate a Multicolored Numbered List Report in html format - //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); + //Generate a Multicolored Numbered List Report in html format + //GenerateReport.GenerateMulticoloredNumberedList("html", false, false, false, false); - //Generate a Multicolored Numbered List Report in email format - //GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); - #endregion + //Generate a Multicolored Numbered List Report in email format + //GenerateReport.GenerateMulticoloredNumberedList("email", false, false, false, false); + #endregion - #region Generating Numbered List Report - //Generate a Numbered List Report in document processing format - //GenerateReport.GenerateNumberedList("document", false, false, false, true); + #region Generating Numbered List Report + //Generate a Numbered List Report in document processing format + //GenerateReport.GenerateNumberedList("document", false, false, false, true); - //Generate a Numbered List Report in spreadsheet format - //GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); + //Generate a Numbered List Report in spreadsheet format + //GenerateReport.GenerateNumberedList("spreadsheet", false, false, false, true); - //Generate a Numbered List Report in presentation format - //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); + //Generate a Numbered List Report in presentation format + //GenerateReport.GenerateNumberedList("presentation", false, false, false, true); - //Generate a Numbered List Report in html format - //GenerateReport.GenerateNumberedList("html", false, false, false, false); + //Generate a Numbered List Report in html format + //GenerateReport.GenerateNumberedList("html", false, false, false, false); - //Generate a Numbered List Report in text format - //GenerateReport.GenerateNumberedList("text", false, false, false, false); + //Generate a Numbered List Report in text format + //GenerateReport.GenerateNumberedList("text", false, false, false, false); - //Generate a Numbered List Report in email format - //GenerateReport.GenerateNumberedList("email", false, false, false, false); - #endregion + //Generate a Numbered List Report in email format + //GenerateReport.GenerateNumberedList("email", false, false, false, false); - #region Generating Pie Chart Report - //Generate a Pie Chart Report in document processing format - //GenerateReport.GeneratePieChart("document", false, false, false, true); + //Generate a Nested Numbered List Report with restartNum in Documents + //GenerateReport.GenerateNumberedListRestartNum_Documents(); - //Generate a Pie Chart Report in spreadsheet format - //GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); + //Generate a Nested Numbered List Report with restartNum in Emails + //GenerateReport.GenerateNumberedListRestartNum_Email(); - //Generate a Pie Chart Report in presentation format - //GenerateReport.GeneratePieChart("presentation", false, false, true, false); + #endregion - //Generate a Pie Chart Report in email format - //GenerateReport.GeneratePieChart("email", false, false, false, false); - #endregion + #region Generating Pie Chart Report + //Generate a Pie Chart Report in document processing format + //GenerateReport.GeneratePieChart("document", false, false, false, true); - #region Generating Scatter Chart Report - //Generate a Scatter Chart Report in document processing format - //GenerateReport.GenerateScatterChart("document", false, false, false, true); + //Generate a Pie Chart Report in spreadsheet format + //GenerateReport.GeneratePieChart("spreadsheet", false, false, false, true); - //Generate a Scatter Chart Report in spreadsheet format - //GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); + //Generate a Pie Chart Report in presentation format + //GenerateReport.GeneratePieChart("presentation", false, false, true, false); - //Generate a Scatter Chart Report in presentation format - //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + //Generate a Pie Chart Report in email format + //GenerateReport.GeneratePieChart("email", false, false, false, false); + #endregion + + #region Generating Scatter Chart Report + //Generate a Scatter Chart Report in document processing format + //GenerateReport.GenerateScatterChart("document", false, false, false, true); - //Generate a Scatter Chart Report in email format - //GenerateReport.GenerateScatterChart("email", false, false, false, false); - #endregion + //Generate a Scatter Chart Report in spreadsheet format + //GenerateReport.GenerateScatterChart("spreadsheet", false, false, false, true); - #region Generating Single Row Report - //Generate a Single Row Report in document processing format - //GenerateReport.GenerateSingleRow("document", false, false, false, false); + //Generate a Scatter Chart Report in presentation format + //GenerateReport.GenerateScatterChart("presentation", false, false, false, true); + + //Generate a Scatter Chart Report in email format + //GenerateReport.GenerateScatterChart("email", false, false, false, false); + #endregion - //Generate a Single Row Report in spreadsheet format - //GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); + #region Generating Single Row Report + //Generate a Single Row Report in document processing format + //GenerateReport.GenerateSingleRow("document", false, false, false, false); - //Generate a Single Row Report in presentation format - //GenerateReport.GenerateSingleRow("presentation", false, false, false, true); + //Generate a Single Row Report in spreadsheet format + //GenerateReport.GenerateSingleRow("spreadsheet", false, false, false, true); - //Generate a Single Row Report in html format - //GenerateReport.GenerateSingleRow("html", false, false, false, false); + //Generate a Single Row Report in presentation format + //GenerateReport.GenerateSingleRow("presentation", false, false, false, true); - //Generate a Single Row Report in text format - //GenerateReport.GenerateSingleRow("text", false, false, false, false); + //Generate a Single Row Report in html format + //GenerateReport.GenerateSingleRow("html", false, false, false, false); - //Generate a Single Row Report in email format - //GenerateReport.GenerateSingleRow("email", false, false, false, false); - #endregion + //Generate a Single Row Report in text format + //GenerateReport.GenerateSingleRow("text", false, false, false, false); - #region Generating Report by Recursively and Lazily Accessing the Data - //GenerateReport.GenerateReportLazilyAndRecursively(); - #endregion + //Generate a Single Row Report in email format + //GenerateReport.GenerateSingleRow("email", false, false, false, false); + #endregion + + #region Generating Report by Recursively and Lazily Accessing the Data + //GenerateReport.GenerateReportLazilyAndRecursively(); + #endregion - #region Generating Report using Multiple DataSources - //Generate a report using multiple data sources in document processing format - //GenerateReport.GenerateReportUsingMultipleDS("document"); - //Generate a report using multiple data sources in spreadsheet format - //GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); - //Generate a report using multiple data sources in presentation format - //GenerateReport.GenerateReportUsingMultipleDS("presentation"); - #endregion + #region Generating Report using Multiple DataSources + //Generate a report using multiple data sources in document processing format + //GenerateReport.GenerateReportUsingMultipleDS("document"); + //Generate a report using multiple data sources in spreadsheet format + //GenerateReport.GenerateReportUsingMultipleDS("spreadsheet"); + //Generate a report using multiple data sources in presentation format + //GenerateReport.GenerateReportUsingMultipleDS("presentation"); + #endregion - #region Template Syntax Formatting + #region Template Syntax Formatting - //Generate document processing formatted reports with desired string or numeric format - //GenerateReport.TemplateSyntaxFormatting(); + //Generate document processing formatted reports with desired string or numeric format + //GenerateReport.TemplateSyntaxFormatting(); - #endregion + #endregion - #region Insert Outer Documents + #region Insert Outer Documents - //Outer document insertion in a report - //GenerateReport.OuterDocumentInsertion(); + //Outer document insertion in a report + //GenerateReport.OuterDocumentInsertion(); //Insert nested external output documents in word //GenerateReport.InsertNestedExternalDocumentsInWord(); @@ -375,7 +382,7 @@ static void Main(string[] args) #endregion #region Ability to remove selective chart series - // GenerateReport.RemoveSelectiveChartSeries(); + // GenerateReport.RemoveSelectiveChartSeries(); #endregion #region Dynamic Chart Axis Title @@ -386,7 +393,7 @@ static void Main(string[] args) //Dynamic Chart Axis Title in Spreadsheet Document //GenerateReport.DynamicChartAxisTitleSpreadSheet(); //Dynamic Chart Axis Title in Presentation Document - GenerateReport.DynamicChartAxisTitleEmail(); + //GenerateReport.DynamicChartAxisTitleEmail(); #endregion #region Dynamic Color @@ -398,7 +405,7 @@ static void Main(string[] args) // Sets colors of chart series dynamically based upon expressions presentation docuement //GenerateReport.DynamicChartSeriesColorPresentation(); // Sets colors of chart series dynamically based upon expressions email docuement - GenerateReport.DynamicChartSeriesColorEmail(); + //GenerateReport.DynamicChartSeriesColorEmail(); // Sets colors of chart series point color dynamically based upon expressions wordprocessing document //GenerateReport.DynamicChartSeriesPointColor(); @@ -407,29 +414,29 @@ static void Main(string[] args) // Sets colors of chart series point color dynamically based upon expressions prosentation document //GenerateReport.DynamicChartSeriesPointColorPresentation(); // Sets colors of chart series point color dynamically based upon expressions email document - GenerateReport.DynamicChartSeriesPointColorEmail(); - #endregion - - #region Working With Table Row Data Bands - // Working With Table Row DataBands in Word Processing Document - //GenerateReport.WorkingWithTableRowDataBandsWord(); - // Working With Table Row DataBands in SpreadSheet Document - //GenerateReport.WorkingWithTableRowDataBandsSpreadSheet(); - // Working With Table Row DataBands in Presentation Document - //GenerateReport.WorkingWithTableRowDataBandsPresentation(); - // Working With Table Row DataBands in Email Format - //GenerateReport.WorkingWithTableRowDataBandsEmail(); - #endregion - - #region Insert Hyperlinks Dynamically - //Insert Hyperlink Dynamically in Word Document - //GenerateReport.DynamicHyperlinkInsertionWord(); - //Insert Hyperlink Dynamically in Presentation Document - //GenerateReport.DynamicHyperlinkInsertionPresentation(); - //Insert Hyperlink Dynamically in Spreadsheet Document - //GenerateReport.DynamicHyperlinkInsertionSpreadsheet(); - //Insert Hyperlink Dynamically in Email Document - GenerateReport.DynamicHyperlinkInsertionEmail(); + //GenerateReport.DynamicChartSeriesPointColorEmail(); + #endregion + + #region Working With Table Row Data Bands + // Working With Table Row DataBands in Word Processing Document + //GenerateReport.WorkingWithTableRowDataBandsWord(); + // Working With Table Row DataBands in SpreadSheet Document + //GenerateReport.WorkingWithTableRowDataBandsSpreadSheet(); + // Working With Table Row DataBands in Presentation Document + //GenerateReport.WorkingWithTableRowDataBandsPresentation(); + // Working With Table Row DataBands in Email Format + //GenerateReport.WorkingWithTableRowDataBandsEmail(); + #endregion + + #region Insert Hyperlinks Dynamically + //Insert Hyperlink Dynamically in Word Document + //GenerateReport.DynamicHyperlinkInsertionWord(); + //Insert Hyperlink Dynamically in Presentation Document + //GenerateReport.DynamicHyperlinkInsertionPresentation(); + //Insert Hyperlink Dynamically in Spreadsheet Document + //GenerateReport.DynamicHyperlinkInsertionSpreadsheet(); + //Insert Hyperlink Dynamically in Email Document + //GenerateReport.DynamicHyperlinkInsertionEmail(); #endregion @@ -482,7 +489,6 @@ static void Main(string[] args) //Load document table set using custom options //GenerateReport.LoadDocTableSetWithCustomOptions("Multiple Tables Data.docx"); - //Using DocumentTableSet as Data Source //GenerateReport.UseDocumentTableSetAsDataSource("Multiple Tables Data.docx", "Using Document Table Set as Data Source.pptx"); //GenerateReport.DefiningDocumentTableRelations("Related Tables Data.xlsx", "Using Document Table Relations.docx"); @@ -504,6 +510,8 @@ static void Main(string[] args) // Saving of external resource files in a specified folder at relative path while saving output to HTML //GenerateReport.SaveDocToHTMLWithResource_ExplicitFolder(); + Console.WriteLine("Done..."); + Console.ReadKey(); } } } \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 617595e..31fb8a6 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg b/Examples/Data/Destination/Email Reports/Numbered List_RestartNum.msg new file mode 100644 index 0000000000000000000000000000000000000000..0225a876d324e59a5936222b00155f89a26f5944 GIT binary patch literal 15872 zcmeHu2UJr@8}^0J5rP5%1vdf2vI+?uDSHtV6~PPGMGY+i3fw?KTg6Z;U?Jez3$Y540;6CbfHtP_S-J|mH|~-RFw79%t3rGL0HEZ)5b*Zj@c)qov>2T&T!R`A z!+bj<<*$?ln8HU46tN1XqKH+oU`0&9#w%hqOhXZ?WBQ6%12a{`n%Hqgtc9IW#M%mC zO-x7W0ysj=(O5h-9!tc+V9di}Fg_N5ao`;frbNLzAB==g6X9JfOyMh}E`qLdca^s* zUDfzVrRv9ZuA`OrhZHxSUTBjJ0A7z0azzR!dA48=7OONMd; zlzEsNrU&~Jf}f(7Af4fm5yb*xvv8 z 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 Yy1W$l`(_dd2==`Izt1vgs=sRg18m!@@c;k- literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg b/Examples/Data/Source/Email Templates/Numbered List_RestartNum.msg new file mode 100644 index 0000000000000000000000000000000000000000..9d4299066151b468b1675fa87eceeb8d59682365 GIT binary patch literal 24576 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 b00000005km&@es$S(6VjA_k={000006d+^X delta 2906 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 diff --git a/Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx b/Examples/Data/Source/Word Templates/Numbered List_RestartNum.docx new file mode 100644 index 0000000000000000000000000000000000000000..d1a29d1071d3ef08dec8b9319c12073ecfaa983e GIT binary patch literal 13959 zcmeHu1$Q0CvhEgH%*<>tvqct57TaQGW(JEaW@cuV#mtNrGg-{c{C0AZo5UyU{egRD zuc=uLUr+b$s;=s;8aYWYa5TU>02BZKAONp@Qq+@>udWKCsRHd6YEev(fEq{I24obf={fLDF@Bs{5GAJ z0rvZiIL0-BA$D&I*48#`DRvM>(z>3Qu`e*PX}M{>=qmSs2=kgAXH=Dxw(xb81FxPANh+&_|wbshsIk=A*7?)lm72QD})^^H?&4qULdek(1~x z?rbGJsZ=&$HSQJHLwAfuLdAeMrRFTCvxL<-g38*ydJ%;JT>(;Qe=4lfb$w-q)-lR0 zKs}ruRO~aNUptqM6g&rDU4LD~Q&0U8J;N2jM^qkvA6a$ho~yLSYU7=BeV{!5KIUfe zN}w$Utq5%KYl}f3KajKD-oOBI{}4}tXq<*KV2KP+`e1?LscmOyVb4JS8~s1A{9i1K ze;ayPOczir;Xa=EzW7eI$uD(b<;pPVPb_0CLPDuaNTDt-n9aYw@GLBVY98o{jZ96) zPPo~pi8}s_(>%vXP=pU@gPwcP>QR4cbpgctx8^gs%-L+hrS9Guy$q8|P!0Qrs-lOC zKfS9gaj;T35Qz;FJ6 z?FnPVUzNy07ZusPR;}5qa2VUj9BxK+LyKd<$UvSJtyczvbKW|6=$6}2*ca?i3!M!e z%<%NpNCQRfbuVNWo1guRShZGr!x}eDQ{W1yr2bnzYT85bA%G?IU;qFf01Cv}+RlLC zKSE+)t?y_F)MUS@us;O`1gOV=wf}ctWwB$wt>b=Y{_VaC?sVLiLeSCnR6ZK&cOVAt zFG4r^dD3bf9wMJm0^d#hMzH7^xBJh!U6rGAXI-_ifmV}21Qb*|TC0H&_T6qkBvF`} z6_*Kskh(2w-#H&~D8zI}ojrEdMCrA9N0_MCo|YoiT?gY&_$Bs#praC>zZ6i)tQKh( zpC)&nh8z6OyjX$p)9Hq^QV;K(f3e>55k}jxZr)^H6yi=Cjs1%FOEZQ<=a7UT#`!W- zXb}`Ebs8w%jfMwC&DybJFulcBVor5?q>&^fG@}bpo45`m_JMP}*zBqR7}XN!fyESG zmk{U+|DC7I*t8@HB+r}WOG4n>|2G@a-;(080WF|KUH||YSmSp#`a1(1t7}_taw2*0 zAG8a_1{9<|?xgI0RR(Pn>D!sWLB3R5r_?yqm&B%S8vAPCe6HE#kZ$UO{IWvI& z_1t#xt~gOR3Q97DsI?=k%?BR_`3^tOoj44@A09P8S!i#2I60Vo#dVoglQ-(TWHmBt z&6G>9t?|Pdeh}1VIV!ZicoGX`k+YB%R1ib;r?5Bg`-|W_0x%yVDAEfu)0WjRIQ#`@ zQV*d`GGlT0gF?7uG4^lh$sG91%uxH-`0uK=eNYH;T*yTg&8nG3gJ^G|tAcFitg#zD z1Rm)0c7Enl0uQY`EA%Bvvun@P8==cW79k;&_w(PgH%b!*M9=odXQ_fUIBG?FbdUXr zhgXoME*k410*^0x62Y@uJ2Ol#Fhc37$?A#4GL6)02O+BUMo$#ygPnjU5wD8kD4ATx z8%JO)`a*FNR&J>6M*F6#({lPS*5@))RZ{}}C4Nb{l%mdvDJQQ0#`t+|?sVHfP?!pr>{|f}j>JL| zN_H>giqO>D_k81g6^I~1LQwh&PEfEX*bt(I(~T*&EM%e*rdE=#xg7)Z!)_>%dL^tm zwmj3Ba94O2a|m=v&6ae7Q*aOBTn({9-~FXJJ6n`@{fLXDskCjYGT|l2wH47Z)>esI zi)lz(t6LCNo^#sA%jCXwQ>L#o_650wG7a@2RmexBY=QSs<}&V#MvT(GSK?% z!e89!Bsa{VN}#va#>Uw6!ckj8pJd;_N5fmp>kFnwWl_hSOEVre9lkyzi8Ba zk#T^!Z1M#gMX|kC==byVe3!VyX+FWMpv6<95%ys(li_N(8ZzF6I)ibP^A+Bf2?TBs z|1(|zXf)X;caql5Ces~DXU_<4WIDo$G@si{pRnDCwcgSUA2S%`d=?qrDz^tTed)26 z@lyBsemLjUY>@MxZ91Cg!|>&Lc-HiI4Xl$IoJxrGKYXkzn&d5hP^;J1A%DWfHMcl! zvnX>wD^J>^P3lUMe=PE}$qrY&6>AT!6h4i7cdOlS&2mmKrZQ&EE=bLK_8s{_OAu{6 zWQN1H_32|3X*sPV39Xmp^SU_GS8okzw@hKkhcxG{?_WQ+FCq{&lCC4< zwL6Pe@h_NJ`)>gy9k zt1KwNZpalQxRh*;IF91rCZ6u%hq+8?*s(OMk#S}2?=**%Dl`<1kp#(R4ITpslKBcJ zY6#VCZskoMOezpyKGa-7hvxo zDe7ZY=}=q_tai*t!rm2pud#dmV2%ZSZqu4nzvK7hVy>bY@@3fA5^I{MpyXT_F!`nj z**HCoQ9$b>sHCcZfX$QOiTb%hkviNC)b`LD?fulr*aa3O6rK@%`fB%s z_n=qtPgS9h3j(`1*cdRlG9`(+7~JS94OaxT4=;yHKd<0ijxq9M-S_GgE9fu8s^Kep?$s*w$kCH*R8Fhgb4U4QIYDNG|0Ni@I8Ql zkp~@rPyb+clE_-?^?rB9-sW+??;uxOhLE4nU{5(~iEpQPI_rx+tkQ@_Cjnb%GOd|l3 z-q-X#UAQW%Noi7qFG-6k6JW@=`?&VvSrGF=M&M`6RH*DfXBRzu&jm(}K-InHw|W7m zUp~3TsqQ)O;z~w#(}o}W)+9%?z;8rbT6ocQ_%13`I9u2s3=C$uh7QK{K;?^jmqp4T zRVS_XECe0#AzdeGE<#D^# zP8vVk{;@g(yT%e)cM|vRf|K{l%Dlm`AjbF+|%)rK4E+ z$UXZ?v&&PQ|NW-9GvSXZb#W_9*y}cjj>OZqHV5nF@jZqGnsBAW`^}Py6*Bd+6Md;c zpCr`Uf%s;7t~MJ=TtyLVIzrTfDq8vg78_*W5;!dMOdVvxUK{Gb;u2(%b{l+K#(a$o z#FE8B?jxcagUkR|^Ex%25? z5Taf;H@fR0FjPl_$zXRVDa(u#DNj^iTUJud;H-DzA!(zO%_8wggb>*kG`e6(3AV#l zstOPq?PE?MHd@-$60w!8z)+vO@3W{AAx`eMvCY}n%ji*bl@Ln})NAIWscBCdr5ujA zo+~_E6jcp;pQ4Tsbv#phG| zXSdtujI7mXe)sQ|`v9NOkT^I1a1Z-8%iZ44!NJtZ*#0+-QmZ6yz08i}Nm%)&v+o)~ zo*ZMDEu*VGnL?r!$oT>iC%h~yE>A?oZB_NwPD0bu37t>ekylj<>t<_Ia)} z9;dzAK&MxaQ>0+RcvypvEO z(Wy9?I+oBqT3&m>VZ4M46#Hg*u`{6g@5C3Uns5A~S=2ih)E8yS#!MzuJ^Yh*nw= zNp}n;^9F}ax=H7wUDi`)vwJ49G_RsSBT&vP;S2|UvaNM}{b&Q-c1!URK|ccZ!MS*4 zQw!=u!NaR64ct^2{2ec;Cy&HS8Rk&G5C5r9w**jJek_Pl9^bHJ1caIP+5dD`b5L@D1iWT+OrC^N_T9)(7?nd)i4tlsA_NG39A zHy1d%c~SO;W~7Q$*j6>h%&K`Kdj2vk1BO=KtwkoPx`eCV3{@jyUBQCpKfRW2#Iha8 zKA*eSydCU{`Ica1m@?|!5Qe_nl;={(&agLVvVCbQK@+$Ko&jnXY>~3!)1wPZ8G${L z1vhA?D1i3A32yh}j+R#@CFGJ3{f&Lh<>Z7keyDiXaTl!QnJ}mmLEe!P= zW7{!1B#6jhq#IVn_KDU9_A_jtd-}=jCy2JAhXs>T@uyu_3tOVh5X_TV5}FpVPr@`S ztHUEeyM9CVj#KEtQlF05qF_PxtM}x#43N#4WN?5tiaScg_*7PP)WtAZzp34)7ZCVO z(9ueUhkqPg+45%?wF`$C7GZ4^!c&i)fWaQj3qa%r3esJ+Ub0MlQ8%B`N|NQIHtoB~ z2bn?v2bQn`)epj3eGZK(Iej(>(ut}V!mlJr&(oTpII6YZfD6li9~j)IN7y9*Pm<_> zhX!bW8ne!ZdSCvw@*KxW%K{JP0?x#r1F4;0<13-UIt5cCGI=8zBAaP1eNw;Cuud4m zo?CEo^6V?BLOh`QedO>EM%!Ycd$hp$HnzDCN@a4YZqg-JC0yv5H6yJzwt6&506mic znJh`(Lt;fC5m?T6%7I2JN%a%7Ps$hC(d+mlGIDt4rz3vTS!)yY=I#$@KY34b6?>*N zQrO<}KD?Xy%z3R6fI(N2QY0$xo-z}ygxh)G>3xfnCE~=(wC_?e2%17hf`uCe>7VvA zi>;VUJJ`Kdb8E_RGPi>l+9#r!VlTpm!Jx?e^WE@y@q6qT*vk~`^PCJlNl`O%_)NxRDs5-Vq&-8~M!cRBNCu4V};T)128x^?e zSFtinys}GgPS5f9W2#={CcZP5`1F(EcuE8sSFCcO?pJp1UyL=V$_P#?aF*s|ti0N`)}01*G2M|%fX3&Y=)M{ByY{W2#?z?pj8n@|4qX;*YddR~8Wb-K%m z8ux|pk8QZy?F+}XS9R&lPz_V)`l!{XGXf?u@D0rWv;rOp0Xf}CR z2xrqv_>?k_y%L$nYJMJ&jtCN;I*#DPK#jG0kYr(+bmttotdXkxkuG^9wwJ*;f}1)n zLiYa4wBBvv+CykxVeHGxO#wShwSRq#@bjb)qna(umlV zkA1@Wrh{DW=Y(VO1y%i ztNm;h$Medn2<@2b@#ITVaA4d4MCbiM!3SfU6{bD{G<7;Kd!=UFWga67?mcEV=u@iQ z+7#isiUwl4>`1k|zIzbM$)aAxtDtS*4X$+6FL|uQ5IY8X5>k+njDFSnr8a?8yp{z6 zbLX2=>yio|UpG5wBN{bntN=#>(YKD2oibYrk=^BMyRQT6Wf#?M>G9$%%EZua*dyoB z@8PxE${ME(7q?8N^278WdPzTQ(kfSn)fH^tl}o;pc$KVHtCm_&EB43YoBjUX8?wQI z?a}*G@BL?-4v$5Nq#&?n^xoN*6KNX;<$_UGFd;CWL|1xLW+TV<=Y;$Z&zY?FJkugJ zkAe=h#=?bxw8w%-Qq1HMqQYctqiDrM$wG8z>(7St$sr~t&LN2$>Dy^Roccp08V*P% zl6!p=>0VGuLJ4;iU%JyUb5Le^q04NS7-@FjHa6}R?iAmV83(kZH}SriBsR~bAaHml zPjrWClc-o99(46GbamC+Y$4YB=YCiSO)^Zj(GtAbmB&9#5%Xx>3hfA?&@aXik>c<+ zCt8H6@G%gg+#-=+878gg=?1IkIou+L!yX~!BsX?_`%FS&AK)+V+TC5WqNA(8SIPJp zGOR1tv7<)RS**9zkB#yTF*UN5?nhRR(6?JYbaPeWOSou$s>k(} zabF7xG$a^JxLJICzw6>$y3?#<;W!80p=)^wy=7BMr~?HJB4w*9`?oJZ_D{aQrc za%Is%n`kyclh|bnQ-rP<+*sG70^{Qu+;rHoXOhdxEf#tc6&6<$m9OKD=r!~)_Z#`> zXoN&cecR(HbkyAmiJRQ+b8gg*>(d-W;Rd3k=8^xGl#8rbd&cK(MVgVu0b849The!X z_#ApRpmwD13`q*PsL6rN*~j8CaY{5H?^{3^gKN}(yKS_9IPs`P&$~A$MJ@$!=$+ej zhJS=bCz%k$ulj65DkliBt0m}_`Pd?zUa69ko;E{XSHbYh!spCQK@V1kg4iy$pO|$Sp^Oz^1*W9%0!0WlBvSML72jPxY4njcgT$^1@ z0Dq_r{f_>`!_N($a*hCjULK68j2tHoC2PAAI^-hQ%ys(5%yZKzvDf|2H?)3jMle4E zh3LAt;(OYotku4eoK-SRr6%aix-KMo0G~KK$CAxTiASlQuN}a{o~ERFT*h_R63cOS zZGxWc9D0x5^ZBZY)Q6A0GBeEF- zK8#6Y9rAMM7U8af$ML6Qwd$`@)&{Op@+%7^>uR1bC~$xrnTem3xUqfMtM83k-0SC=sW{ov{n&N#HYMmLrJHc z%d^5bK-Y~E&2?D3wXN~aEgl3ID#-dTT?Z8%{cIfygv1`FmrgLoio%}JPenrW)ia&{!@>WSc z{ohDrT2wl4$iQ4JAR%ukwVnN(_zw~@Jqzs5{GVj##7v`ZX6GN|@13a2RZHQk)9N%> zxb-)99C;WCNnQVG#lwgi-yxu;30|w+8gYn8j;%i(o8?BXShwiZ*sNpnrj%T9SaNoJ zO5nkDZ)1gMu12g&(Vc%PqViG^lZ!fgmOF=dzo0GVu}VG=S+rzj`Of&|#H^A7Q)1+- zjy~x2mYd_p{y~kS(%F9etApdY5PH_KThS9sl`Y!rTemNjC8_H^t6mtg8A9A^lw>f2Okh^i8*nJ*h@E zxN?{Bt3ia>RmiA&^!ca-Li>o{;z01p$Oj*Zq&kjx-qqIpnok_%4Gv3|;fafo{0Nka8#R$j%BNza{ zoi*_#uVWfXmVC-5Z?_y26cHk;{~!YMpv2WAT|@CzBZSpb;2sV$e1>V5wL#%UQ+LxBflV-6qPa~IU#H&Ul6e3)lUFK$-$7=|VOa?iGi9O+S(ry`Fb%w`7D0O7eRmTWW zUtb#H>F;7Dt-Xp|2;zp!_)+YL`c}dM@@$kUtprO=zS9+(S1|ViQbGV`F7FXa8)23= zHvJNldf*M|$t6)UEVR?)<<5amy8h{%t^;~ZS6nYNu>@M15}4Ctq+nC#Ps08rsaydR zZHI73ftuV?$T3gg4E*2egZRKdGXJ`jJiv5po&)j;65$%P~ z^bJI0X@DIO)UU`?L^An(-96rV>XC0_ zvnz2Ux)1@0D85L?OdLiY{S{LBhvBorN&o!XZYViK9ntJuTAiX54Xoc6j{FlpQ$ z^^vHt@m$0ELB;#F{cJ%=F5+bsLGQ0<8yiLvzx z{i?+Xx<-yu1K^UmNuxxEBB%pZY;;(!mNpL4%>bgvL`m$DKa77Eb-}>1 z3AtyDOVU1=DR&OXw9?aAi0&pLf?m8snfFZk+~0)-D@tNWXM0GeIyYQr!li>Jiq|;V zfNg5|)%_e#q?W#FVOQ>&h8}YIlr>2>YTXVhV+SQzP-r{&97{)x=}}1NXummU7@N5V z+0BosS2h%|YyRAqM0!@5)?-Jni5m^rqj}8rbapAlJ%EeY0Y{09i^GRdVPzScc}gh= zM?rud;Ne-;WSv1)MR1!C0XIm6E~B`wPJ7DJrXT2Ne4q@7rNl?@w0Zcba2VGUF~x#H z&6hQu*U-?CqETuTItyMpsKrn{|3tp1&mQ=UEV_BzK*LB)Ga+3Q0KOIPw`?GMtvXqz zPx+u6bsdZRv4O_S`b+QR%sSoBL`!OnL#bchZ9+;3g{gITay*NHic&aSvU*6FK)@}! zW??m1c2+>%kI9e<^|t*{r)=~%>gH41kP2lkA^dU~^?m&B`(=kQZvORhpJE(qbB>f5 znk!UI;JHI&RvYKYhu65ZwdCT@zS`?x_rI7##gx16t*@>k2Bh3JaBDvmo_!s9wXyD( z;Q2^$@OBAM4WEs@e&y-Z4Lv0z_?ac*jDu*?n8O_m$!Rf}-V26TyT29*8MWHh42h*$ zu-HzRZ!k`v6Z^6V#_GcIgW%^e$nPX1<_AGmG-TG$s_fPJi=9ai)b`V!je}%T70{K^ zJ7uscAG9I#%CkOTR8X!*nCMSI1NZmOIyF4VzNjx#4()Y7YtfPv6BO zZTI9X6eZ}_RNH5}Yjr&j{RDH^@_VMcADZDD89Bp_Yo(zh#X3cX-8h%U@7>hvvBzFVAdqFXWlK>a{F_qKeXqElEK z(k06mN2%x1gGEbn_1@D0b7X$051S;QKD6ETJ>hnNm2AE2*-z`b@g{9%PxAGr&K_5< zZPMdc4v%X@#wQ@R{I^zkJv7Q#26EU6P%|L?-K5dAvH3rX2B;?gxYE8zTQ4)hwIMEe zF*;bsMH-rbsrE(b?dz(8^;(XnNO5-?NJK4UEq*7oX^9=Z$+anLpq=Cxd%0eFK?*-VYts?F_a_Z*WI<6Jc zK@TM41u)A5qt+i|os`^QrRSoY5isC1Aq2V0y_h)+CDhSM(7(#&;QBVw?E^;urQM8cC5{Mx6Y$2^GB}1n zAX=K7zOwib!LQKJ4m&*g^})}ilYdIT=vniPb<=RncQA z7&bbGr6Dw=yBUGnHokO6x|zL{4%C-WHykgeCYABsYk1jxyxc&>7m-U$;MD#{AV5Ir zfKH-+|KjFP2Ke*&FW=wDN&d5ee|{72C-AptCQ!=$_JzQ&z<&ly{~g!?jLZ7}g--w4 z(y#Hdf3@`v`d^}Fe}(@V3icP=4B-#>uYqB|Hu0<9|F0%Gf&RGP$MW|mfM4Oi`tSaN zb721g|HYg4YYV@6j{a)l4H)3|pAP(wAL&={KX-b6L4jKv3IO20_Iy$YCwYe zk9YsW^8OY7t9Jhjk4gUr{vW#jSNuO$^}o11>;(Y80e>Js4z*$V HE%pBZQiTE% literal 0 HcmV?d00001 From c4c6625a518d25750678b3e42b6f5f6974c29a1c Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Fri, 30 Aug 2019 18:40:46 +0500 Subject: [PATCH 10/54] Update README.md --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7da76f5..e52046a 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,27 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents

    +## How to Run the Examples + ++ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. ++ Extract the contents of the ZIP file to any folder on your computer. All the examples are located in the Examples folder. ++ In the extracted files and folders, you can see solution file for C# Project.. ++ The project is created in Visual Studio 2013, but the solution file is compatible with Visual Studio 2010 SP1 and higher. ++ Open the solution file in Visual Studio and build the project. ++ On the first run, the dependencies will automatically be downloaded via NuGet. ++ Data folder at the root folder of Examples contains some sample input templates used in code examples. It is mandatory that you download the Data folder along with the examples project. ++ Open Program.cs file, all the examples are called from here. ++ Uncomment the examples you want to run from within the project. + +Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). + Directory | Description --------- | ----------- [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. -# Resources +## Resources + **Website:** [www.groupdocs.com](https://www.groupdocs.com/) + **Product Home:** [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) From a9629443ee5997852fd562872cd802641c8b1951 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 2 Sep 2019 10:15:09 +0500 Subject: [PATCH 11/54] Updated for version 19.8 --- .../CommonUtilities.cs | 10 ++ ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 104 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 11 ++ .../packages.config | 2 +- ..., Grouping, and Ordering_Dynamic_Title.msg | Bin 50176 -> 50176 bytes .../Dynamic Chart Point Series Color.msg | Bin 0 -> 31744 bytes .../Dynamic Chart Series Color.msg | Bin 0 -> 33280 bytes .../Email Reports/Dynamic Hyperlink.msg | Bin 0 -> 14336 bytes .../Email Reports/Empty Paragraph.msg | Bin 0 -> 13312 bytes .../Markdown Reports/ReadMe Out.md | 6 + .../Destination/Word Reports/ReadMe Out.docx | Bin 0 -> 5638 bytes .../Data/Source/Markdown Templates/ReadMe.md | 6 + .../Numbered List_RestartNum.pptx | Bin 0 -> 37943 bytes .../Numbered List_RestartNum.xlsx | Bin 0 -> 9669 bytes .../Source/Word Templates/Numbered List.docx | Bin 12726 -> 13095 bytes .../Data/Source/Word Templates/ReadMe.docx | Bin 0 -> 12292 bytes 19 files changed, 143 insertions(+), 6 deletions(-) create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Chart Series Color.msg create mode 100644 Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg create mode 100644 Examples/Data/Destination/Email Reports/Empty Paragraph.msg create mode 100644 Examples/Data/Destination/Markdown Reports/ReadMe Out.md create mode 100644 Examples/Data/Destination/Word Reports/ReadMe Out.docx create mode 100644 Examples/Data/Source/Markdown Templates/ReadMe.md create mode 100644 Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx create mode 100644 Examples/Data/Source/Spreadsheet Templates/Numbered List_RestartNum.xlsx create mode 100644 Examples/Data/Source/Word Templates/ReadMe.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index d9e31c8..b5ad2fb 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -149,7 +149,17 @@ public static string GetBytesAsBase64(string path) return Convert.ToBase64String(File.ReadAllBytes(path)); } } + public enum DocumentFormat + { + Word = 0, + Email = 1, + Presentation = 2, + Markdown = 3, + Spreadsheet = 4 + + } } + //ExEnd:CommonUtilities } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index a4efb7b..834186f 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 5e25a87..e1980f7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 72d170c..ddaa011 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6561,5 +6561,109 @@ public static void SaveDocToHTMLWithResource_ExplicitFolder() } //ExEnd:SaveDocToHTMLWithResource_ExplicitFolder_19.5 } + /// + /// Saving an assembled Markdown document to a Word Processing format using file extension. + /// Features is supported by version 19.8 or greater + /// + public static void SaveMdtoWord_UsingExtension() + { + //ExStart:SaveMdtoWord_UsingExtension_19.8 + + //Setting up source document template + const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; + //Setting up destination Markdown reports + const String strDocumentReport = "Word Reports/ReadMe Out.docx"; + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + + try + { + + + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument( + CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), + new DataSourceInfo(description, "description")); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveMdtoWord_UsingExtension_19.8 + } + /// + /// Saving an assembled Word Processing document or email to Markdown using file extension. + /// Features is supported by version 19.8 or greater + /// + public static void SaveWordOrEmailtoMD_UsingExtension() + { + //ExStart:SaveWordtoMD_UsingExtension_19.8 + + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/ReadMe.docx"; + + //Setting up destination Markdown reports + const String strDocumentReport = "Markdown Reports/ReadMe Out.md"; + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + try + { + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument( + CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), + new DataSourceInfo(description, "description")); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveWordtoMD_UsingExtension_19.8 + } + /// + /// Saving an assembled Word Processing document or email to Markdown using explicit specifying. + /// Features is supported by version 19.8 or greater + /// + public static void SaveWordOrEmailtoMD_Explicit() + { + //ExStart:SaveWordtoMD_Explicit_19.8 + + try + { + //Setting up source document template (Email or Word Document) + Stream sourceStream = File.OpenRead(CommonUtilities.GetSourceDocument("Word Templates/ReadMe.docx")); + //Setting up destination Markdown Reports + FileStream targetStream = File.Create(CommonUtilities.SetDestinationDocument("Markdown Reports/ReadMe Out.md")); + + //Setting up description variable + const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + + DataSourceInfo dataSourceInfo1 = new DataSourceInfo("GroupDocs.Assembly for .NET(Using Stream)", "product"); + DataSourceInfo dataSourceInfo2 = new DataSourceInfo(description, "description"); + + DocumentAssembler assembler = new DocumentAssembler(); + + assembler.AssembleDocument(sourceStream, targetStream, new LoadSaveOptions(FileFormat.Markdown), dataSourceInfo1,dataSourceInfo2); + + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SaveWordtoMD_UsingExtension_19.8 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 0a4993e..803b16e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.7.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll True diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index f0280b5..5a372dc 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -465,6 +465,17 @@ static void Main(string[] args) // GenerateReport.TableCellsMergingInEmails(); #endregion + #region Using Markdown File Format + //Saving an assembled Markdown document to a Word Processing format using file extension. + //GenerateReport.SaveMdtoWord_UsingExtension(); + + //Saving an assembled Word Processing document or email to Markdown using file extension. + //GenerateReport.SaveWordOrEmailtoMD_UsingExtension(); + + //Saving an assembled Word Processing document or email to Markdown using file extension. + //GenerateReport.SaveWordOrEmailtoMD_Explicit(); + #endregion + //Update fields/formulas in word processing or spreadsheet documents //GenerateReport.UpdateWordDocFields("spreadsheet"); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 31fb8a6..4a9f8b3 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg b/Examples/Data/Destination/Email Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.msg index 8ff30fb6f91b23e9ca1b22f77d016b0585bddaf3..012fe52cbb7baa51cb96754b0ccf0b8c601bcf6f 100644 GIT binary patch delta 394 zcmZqZU~cGO-p~*xAjHJL@Ryl^!6(YC^ozjWf0HMK{jN7s5c{BKE;nEDNJ-|q62$`& z@5LGQHSdcZlzbE{^FU&Mx~XV`4cmj1O_k!cmS*At`~hX+1=V8342lX23E4Pu^V zb|wb;hDKuAMhfBr1qyz}ii@NL7!DMrb2sRIRDDojWx#46YhY^1_CTM>fw{o+3X_m7 z!-T5T3@by!dR7A^19@Zr^l26nh3p0CCL4;9r3I{#`5mm-3&bv{3m6zA80r<|rAvQc z{*aPVk|8Z%Y9ZGsu^{tbI^PCq0f_{;Ms^38Lb=KR4a~R}8>kx>8JKe|anWJ?Nvqx1`Y!@1_lNwfAaO#m9hxAKlMm*jLZyw>)AGc W?BQpee4#mHQ%8jY(6q`G?a}}>C52P~ delta 393 zcmZqZU~cGO-p~*xAjrhP@Ryl^!6(YC^kesz1(PR){jQf%5c{Af*DtxXB(vnZ;sJ^G z;*9#5_r(rMK9YH$DX~A@RJ6f{?LkWAP4QYwGjRd_fHLs{v0_^WMFj>116R=oF;6oS zc>{ezBQb3w1#y7_h2rIki=+h@4iu$xH|VN9_)%bGz-l0CU~0i{?ol898{t^LPkL?R;8GQ~+4)oRD zd?4ZmKcnd8nHlP`;wk4pP0zk{h0%e5!+?!}fdR^&e7$w0EJE&2J(3(FGsE9{w#^@V V_!%c(Xb#!bQK0}dt#U=XGyo=ph1viB diff --git a/Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg b/Examples/Data/Destination/Email Reports/Dynamic Chart Point Series Color.msg new file mode 100644 index 0000000000000000000000000000000000000000..3a6705b0f126535f672a3b75117fedaba1ee164a GIT binary patch literal 31744 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg b/Examples/Data/Destination/Email Reports/Dynamic Hyperlink.msg new file mode 100644 index 0000000000000000000000000000000000000000..d9acda3651e88064e7982aa06bc6536c2548f0b5 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Email Reports/Empty Paragraph.msg b/Examples/Data/Destination/Email Reports/Empty Paragraph.msg new file mode 100644 index 0000000000000000000000000000000000000000..a01fc2b29faa59c1a9e9cb2933ad2cdf0bdae3a5 GIT binary patch literal 13312 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 +----- +## Description +<<[description]>> +## Evaluation and Licensing +The library comes up with some limitations in the evaluation mode. In order to test full features of <<[product]>>, please request a **free 30-day temporary license**. \ No newline at end of file diff --git a/Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx b/Examples/Data/Source/Presentation Templates/Numbered List_RestartNum.pptx new file mode 100644 index 0000000000000000000000000000000000000000..ee2aaf5c86cefbde8e9a33b5c2d7ab09e228cf70 GIT binary patch literal 37943 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Numbered List.docx b/Examples/Data/Source/Word Templates/Numbered List.docx index ab0d0cefbbf4b23731275e5c95fc29e9bc69c970..9b3d5c109246eb0c45bbdd44df624bae75b5097f 100644 GIT binary patch delta 7931 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 delta 7587 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 at)1nipg`>LTOlz5pbO+i(9!+&^#1@~jtQ#( literal 0 HcmV?d00001 From ec042f78c2c97c5e4fd095668130d4f7172fc290 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 2 Sep 2019 13:51:26 +0500 Subject: [PATCH 12/54] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e52046a..00ad14e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents

    +Directory | Description +--------- | ----------- +[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. +[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. +[Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. + ## How to Run the Examples + You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. @@ -25,12 +31,6 @@ GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). -Directory | Description ---------- | ----------- -[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. -[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. -[Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. - ## Resources + **Website:** [www.groupdocs.com](https://www.groupdocs.com/) From 9681047858a145cbd2f1672f0d9d159d66d8b080 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Sat, 19 Oct 2019 12:17:18 +0500 Subject: [PATCH 13/54] Updated for V19.10 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 8 +- .../packages.config | 4 +- .../GenerateReport.cs | 97 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 5 +- .../GroupDocs.AssemblyExamples/Program.cs | 10 ++ .../packages.config | 2 +- .../Data Sources/Excel DataSource/Person.csv | 4 + .../JSON DataSource/ManagerData.json | 71 +++++++++++++ .../Data Sources/XML DataSource/Managers.xml | 67 ++++++++++++ .../Source/Text Templates/CsvDatasetDemo.txt | 4 + .../Word Templates/SimpleDatasetDemo.docx | Bin 0 -> 12192 bytes 11 files changed, 261 insertions(+), 11 deletions(-) create mode 100644 Examples/Data/Data Sources/Excel DataSource/Person.csv create mode 100644 Examples/Data/Data Sources/JSON DataSource/ManagerData.json create mode 100644 Examples/Data/Data Sources/XML DataSource/Managers.xml create mode 100644 Examples/Data/Source/Text Templates/CsvDatasetDemo.txt create mode 100644 Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 834186f..882efb9 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,13 +32,11 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll - ..\..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll - True + ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index e1980f7..b198266 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index ddaa011..0e8cd5b 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6665,5 +6665,102 @@ public static void SaveWordOrEmailtoMD_Explicit() } //ExEnd:SaveWordtoMD_UsingExtension_19.8 } + /// + /// Working with JSON data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleJsonDS_Demo() + { + //ExStart:SimpleJsonDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/SimpleDatasetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleJsonDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "JSON DataSource/ManagerData.json"; + + + //initialize data source + JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource)); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "managers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleJsonDS_Demo_19.10 + } + /// + /// Working with XML data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleXMLDS_Demo() + { + //ExStart:SimpleXMLDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/SimpleDatasetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleXMLDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "XML DataSource/Managers.xml"; + + + //initialize data source + XmlDataSource dataSource = new XmlDataSource(CommonUtilities.GetDataSourceDocument(strDataSource)); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "managers")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleXMLDS_Demo_19.10 + } + /// + /// Working with XML data sources + /// Features is supported by version 19.10 or greater + /// + public static void SimpleCsvDS_Demo() + { + //ExStart:SimpleCsvDS_Demo_19.10 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Text Templates/CsvDatasetDemo.txt"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/SimpleCsvDSDemo Out.docx"; + + //Setting up destination Markdown reports + const String strDataSource = "Excel DataSource/Person.csv"; + + CsvDataLoadOptions options = new CsvDataLoadOptions(true); + + //initialize data source + CsvDataSource dataSource = new CsvDataSource(CommonUtilities.GetDataSourceDocument(strDataSource), options); + + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "persons")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SimpleCsvDS_Demo_19.10 + } } } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 803b16e..b690b96 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,9 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.8.0\lib\net40-client\GroupDocs.Assembly.dll - True + + ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 5a372dc..721d320 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -521,6 +521,16 @@ static void Main(string[] args) // Saving of external resource files in a specified folder at relative path while saving output to HTML //GenerateReport.SaveDocToHTMLWithResource_ExplicitFolder(); + + //Working with JSON data sources + //GenerateReport.SimpleJsonDS_Demo(); + + //Working with XML data sources + //GenerateReport.SimpleXMLDS_Demo(); + + //Working with csv data sources + //GenerateReport.SimpleCsvDS_Demo(); + Console.WriteLine("Done..."); Console.ReadKey(); } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 4a9f8b3..af3300c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Data Sources/Excel DataSource/Person.csv b/Examples/Data/Data Sources/Excel DataSource/Person.csv new file mode 100644 index 0000000..5d16125 --- /dev/null +++ b/Examples/Data/Data Sources/Excel DataSource/Person.csv @@ -0,0 +1,4 @@ +Name,Age,Birth +John Doe,30,4/1/1989 16:00 +Jane Doe,27,1/31/1992 7:00 +John Smith,51,3/8/1968 13:00 diff --git a/Examples/Data/Data Sources/JSON DataSource/ManagerData.json b/Examples/Data/Data Sources/JSON DataSource/ManagerData.json new file mode 100644 index 0000000..1ca5d8a --- /dev/null +++ b/Examples/Data/Data Sources/JSON DataSource/ManagerData.json @@ -0,0 +1,71 @@ +[ + { + Name:"John Smith", + Contract:[ + { + Client:{ + Name:"A Company" + }, + Price:1200000 + }, + { + Client:{ + Name:"B Ltd." + }, + Price:750000 + }, + { + Client:{ + Name:"C & D" + }, + Price:350000 + } + ] + }, + { + Name:"Tony Anderson", + Contract:[ + { + Client:{ + Name:"E Corp." + }, + Price:650000 + }, + { + Client:{ + Name:"F & Partners" + }, + Price:550000 + } + ] + }, + { + Name:"July James", + Contract:[ + { + Client:{ + Name:"G & Co." + }, + Price:350000 + }, + { + Client:{ + Name:"H Group" + }, + Price:250000 + }, + { + Client:{ + Name:"I & Sons" + }, + Price:100000 + }, + { + Client:{ + Name:"J Ent." + }, + Price:100000 + } + ] + } +] \ No newline at end of file diff --git a/Examples/Data/Data Sources/XML DataSource/Managers.xml b/Examples/Data/Data Sources/XML DataSource/Managers.xml new file mode 100644 index 0000000..9ad6a8b --- /dev/null +++ b/Examples/Data/Data Sources/XML DataSource/Managers.xml @@ -0,0 +1,67 @@ + + + + John Smith + + + A Company + + 1200000 + + + + B Ltd. + + 750000 + + + + C & D + + 350000 + + + + Tony Anderson + + + E Corp. + + 650000 + + + + F & Partners + + 550000 + + + + July James + + + G & Co. + + 350000 + + + + H Group + + 250000 + + + + I & Sons + 43 + + 100000 + + + + J Ent. + + 100000 + + + \ No newline at end of file diff --git a/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt b/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt new file mode 100644 index 0000000..6c7b5c4 --- /dev/null +++ b/Examples/Data/Source/Text Templates/CsvDatasetDemo.txt @@ -0,0 +1,4 @@ +<>Name: <<[Name]>>, Age: <<[Age]>>, Date of +Birth: <<[Birth]:"dd.MM.yyyy">> +<> +Average age: <<[persons.Average(p => p.Age)]>> \ No newline at end of file diff --git a/Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx b/Examples/Data/Source/Word Templates/SimpleDatasetDemo.docx new file mode 100644 index 0000000000000000000000000000000000000000..afc7a3c7c5d5119f07a7a587ba729327e1c93b84 GIT binary patch literal 12192 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 Date: Mon, 25 Nov 2019 17:55:30 +0500 Subject: [PATCH 14/54] Updated for version 19.11 --- ...oupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../GroupDocs.AssemblyExamples/GenerateReport.cs | 10 +++++++--- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- .../GroupDocs.AssemblyExamples/packages.config | 2 +- .../Word Reports/SimpleCsvDSDemo Out.docx | Bin 0 -> 5234 bytes .../Word Reports/SimpleJsonDSDemo Out.docx | Bin 0 -> 9834 bytes .../Word Reports/SimpleXMLDSDemo Out.docx | Bin 0 -> 5234 bytes 8 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 882efb9..092cf01 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index b198266..5b7a779 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 0e8cd5b..1a44a69 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6713,7 +6713,7 @@ public static void SimpleXMLDS_Demo() //Setting up destination for reports const String strDocumentReport = "Word Reports/SimpleXMLDSDemo Out.docx"; - //Setting up destination Markdown reports + //Setting up Data Source file const String strDataSource = "XML DataSource/Managers.xml"; @@ -6730,7 +6730,7 @@ public static void SimpleXMLDS_Demo() //ExEnd:SimpleXMLDS_Demo_19.10 } /// - /// Working with XML data sources + /// Working with csv data sources /// Features is supported by version 19.10 or greater /// public static void SimpleCsvDS_Demo() @@ -6748,13 +6748,17 @@ public static void SimpleCsvDS_Demo() //Setting up destination Markdown reports const String strDataSource = "Excel DataSource/Person.csv"; + //Setting up CSV data load options CsvDataLoadOptions options = new CsvDataLoadOptions(true); //initialize data source CsvDataSource dataSource = new CsvDataSource(CommonUtilities.GetDataSourceDocument(strDataSource), options); + //Assemble the document DocumentAssembler assembler = new DocumentAssembler(); - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(dataSource, "persons")); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(dataSource, "persons")); } catch (Exception ex) { diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index b690b96..e94f988 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.10.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index af3300c..2f55990 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleCsvDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..09abac17859a0f7cf55785a96ba60c6a4efb9da9 GIT binary patch literal 5234 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 Dd?3W_ literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleJsonDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..6a02238c5d07cd2b1d352417671362f2389aa3ea GIT binary patch literal 9834 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 literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx b/Examples/Data/Destination/Word Reports/SimpleXMLDSDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..803c3a696c5ec03a6da722ece39260919ea6cd03 GIT binary patch literal 5234 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 Dn7+g5 literal 0 HcmV?d00001 From 5bdb51f90f638029e1ec3f5417cbe7609865353d Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 6 Jan 2020 15:58:53 +0500 Subject: [PATCH 15/54] Updated for version 19.12 --- .../GroupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 6 +++--- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs | 6 +++++- Examples/CSharp/GroupDocs.AssemblyExamples/packages.config | 2 +- Examples/Data/Source/Markdown Templates/List_demo.md | 5 +++++ 7 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 Examples/Data/Source/Markdown Templates/List_demo.md diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 092cf01..2d9eb46 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 5b7a779..cc3b29d 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 1a44a69..dd97b14 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6565,14 +6565,14 @@ public static void SaveDocToHTMLWithResource_ExplicitFolder() /// Saving an assembled Markdown document to a Word Processing format using file extension. /// Features is supported by version 19.8 or greater /// - public static void SaveMdtoWord_UsingExtension() + public static void SaveMdtoWord_UsingExtension(String DocumentName) { //ExStart:SaveMdtoWord_UsingExtension_19.8 //Setting up source document template - const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; + String strDocumentTemplate = "Markdown Templates/"+ DocumentName; //Setting up destination Markdown reports - const String strDocumentReport = "Word Reports/ReadMe Out.docx"; + String strDocumentReport = "Word Reports/"+ DocumentName + " Out.docx"; //Setting up description variable const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + "office and email file formats based upon template documents and data obtained from various sources " + diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index e94f988..2f353af 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.11.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 721d320..a1f3e04 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -467,7 +467,11 @@ static void Main(string[] args) #region Using Markdown File Format //Saving an assembled Markdown document to a Word Processing format using file extension. - //GenerateReport.SaveMdtoWord_UsingExtension(); + //GenerateReport.SaveMdtoWord_UsingExtension("ReadMe.md"); + + //Unordered lists demo for Markdown + GenerateReport.SaveMdtoWord_UsingExtension("List_demo.md"); + //Saving an assembled Word Processing document or email to Markdown using file extension. //GenerateReport.SaveWordOrEmailtoMD_UsingExtension(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 2f55990..3ae0da5 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Source/Markdown Templates/List_demo.md b/Examples/Data/Source/Markdown Templates/List_demo.md new file mode 100644 index 0000000..338de59 --- /dev/null +++ b/Examples/Data/Source/Markdown Templates/List_demo.md @@ -0,0 +1,5 @@ + +# List Demo +- foo +- foo ++ bar \ No newline at end of file From 4cec8edcc542f9abd858087df32c441926f255e4 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 10 Feb 2020 17:05:01 +0500 Subject: [PATCH 16/54] Updated for V20.1 --- ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../GenerateReport.cs | 61 ++++++++++++++++-- .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 6 ++ .../packages.config | 2 +- ... Grouping, and Ordering_Dynamic_Title.xlsx | Bin 11350 -> 0 bytes .../Numbered List_RestartNum.xlsx | Bin 8806 -> 0 bytes .../Destination/Word Reports/ReadMe Out.docx | Bin 5638 -> 0 bytes .../Dynamic Cell Range.xlsx | Bin 0 -> 12693 bytes .../Word Templates/Dynamic Bookmarks.docx | Bin 0 -> 13292 bytes 11 files changed, 68 insertions(+), 11 deletions(-) delete mode 100644 Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx delete mode 100644 Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx delete mode 100644 Examples/Data/Destination/Word Reports/ReadMe Out.docx create mode 100644 Examples/Data/Source/Spreadsheet Templates/Dynamic Cell Range.xlsx create mode 100644 Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 2d9eb46..84d1f96 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index cc3b29d..594b015 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index dd97b14..b277ce0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -779,12 +779,63 @@ public static void DynamicHyperlinkInsertionWord() Console.WriteLine(ex.Message); } } - - /// - /// Sets colors of chart series point color dynamically based upon expressions - /// Feature is supported by version 18.6 or greater + /// + /// Insert Bookmarks Dynamically in Word Document + /// Feature is supported by version 20.1 or greater /// - public static void DynamicChartSeriesPointColorEmail() + public static void DynamicBookmarkInsertionWord() + { + //setting up source + const String strDocumentTemplate = "Word Templates/Dynamic bookmarks.docx"; + //Setting up destination + const String strDocumentReport = "Word Reports/Dynamic bookmarks.docx"; + //Setting up Uri Expression + const String bookmark_expression = "gd_bookmark"; + //Setting up Display Text Expression + const String displayTextExpression = "GroupDocs"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + /// + /// Insert Bookmarks Dynamically in Excel Document + /// Feature is supported by version 20.1 or greater + /// + public static void DynamicBookmarkInsertionExcel() + { + //setting up source + const String strDocumentTemplate = "Spreadsheet Templates/Dynamic Cell Range.xlsx"; + //Setting up destination + const String strDocumentReport = "Spreadsheet Reports/Dynamic Cell Range.xlsx"; + //Setting up Uri Expression + const String bookmark_expression = "gd_bookmark"; + //Setting up Display Text Expression + const String displayTextExpression = "GroupDocs"; + try + { + //Instantiate DocumentAssembler class + DocumentAssembler assembler = new DocumentAssembler(); + //Call AssembleDocument to assemble document + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + /// + /// Sets colors of chart series point color dynamically based upon expressions + /// Feature is supported by version 18.6 or greater + /// + public static void DynamicChartSeriesPointColorEmail() { //setting up source const String strDocumentTemplate = "Email Templates/Dynamic Chart Point Series Color.msg"; diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index 2f353af..edd0dfc 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.19.12.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index a1f3e04..78201a3 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -535,6 +535,12 @@ static void Main(string[] args) //Working with csv data sources //GenerateReport.SimpleCsvDS_Demo(); + //Insert Bookmarks Dynamically in Word Document + //GenerateReport.DynamicBookmarkInsertionWord(); + + //Insert Bookmarks Dynamically in Word Document + GenerateReport.DynamicBookmarkInsertionExcel(); + Console.WriteLine("Done..."); Console.ReadKey(); } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 3ae0da5..45310a7 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx b/Examples/Data/Destination/Spreadsheet Reports/Chart with Filtering, Grouping, and Ordering_Dynamic_Title.xlsx deleted file mode 100644 index 2ab56fa1054c1c3dc9f8b7d4ba887b0e61c23360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11350 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 diff --git a/Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx b/Examples/Data/Destination/Spreadsheet Reports/Numbered List_RestartNum.xlsx deleted file mode 100644 index a9b840b4797477ca593374175509db02c1252144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8806 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 Cx10+A literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx b/Examples/Data/Source/Word Templates/Dynamic Bookmarks.docx new file mode 100644 index 0000000000000000000000000000000000000000..e94550cc1085e70cfcc30e8574b508377566c944 GIT binary patch literal 13292 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 b@PBJ(83_oWc>Mfe01nUv^f}%#{yh4BX*>qb literal 0 HcmV?d00001 From 3216e422949d5590435e5012cb7c076ee8d84b04 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Date: Mon, 6 Apr 2020 18:42:58 +0500 Subject: [PATCH 17/54] Updated for Version 20.3 --- .../CommonUtilities.cs | 16 ++++ ...Docs.AssemblyExamples.BusinessLayer.csproj | 4 +- .../packages.config | 2 +- .../BusinessObjects.cs | 3 + .../GenerateReport.cs | 87 ++++++++++++++++++ .../GroupDocs.AssemblyExamples.csproj | 4 +- .../GroupDocs.AssemblyExamples/Program.cs | 12 ++- .../packages.config | 2 +- .../CheckBoxValueSetDemo Out.docx | Bin 0 -> 10632 bytes .../Word Reports/DynamicDocInsert Out.docx | Bin 0 -> 10784 bytes .../Word Reports/DynamicImageDemo Out.docx | Bin 0 -> 15558 bytes .../Word Reports/List_demo.md Out.docx | Bin 0 -> 6101 bytes .../Word Reports/ReadMe.md Out.docx | Bin 0 -> 5696 bytes .../Word Templates/CheckBoxValueSetDemo.docx | Bin 0 -> 13243 bytes .../Word Templates/DynamicDocInsert.docx | Bin 0 -> 13013 bytes .../Word Templates/DynamicImageDemo.docx | Bin 0 -> 15916 bytes 16 files changed, 123 insertions(+), 7 deletions(-) create mode 100644 Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/DynamicDocInsert Out.docx create mode 100644 Examples/Data/Destination/Word Reports/DynamicImageDemo Out.docx create mode 100644 Examples/Data/Destination/Word Reports/List_demo.md Out.docx create mode 100644 Examples/Data/Destination/Word Reports/ReadMe.md Out.docx create mode 100644 Examples/Data/Source/Word Templates/CheckBoxValueSetDemo.docx create mode 100644 Examples/Data/Source/Word Templates/DynamicDocInsert.docx create mode 100644 Examples/Data/Source/Word Templates/DynamicImageDemo.docx diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs index b5ad2fb..17e1d84 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/CommonUtilities.cs @@ -19,6 +19,8 @@ public static class CommonUtilities public const string dataFolderPath = "../../../../Data/"; public const string destinationFolderPath = "../../../../Data/Destination/"; public const string dataSourcesFolderPath = "../../../../Data/Data Sources/"; + public const string imageFolderPath = "../../../../Data/Images/"; + public const string docFolderPath = "../../../../Data/OuterDocuments/"; //ExStart:LicenseFilePath public const string licensePath = "D:/GroupDocs.Total.NET.lic"; //ExEnd:LicenseFilePath @@ -43,6 +45,20 @@ public static string GetSourceFolder(string sourceFolder) return Path.Combine(Path.GetFullPath(dataFolderPath), sourceFolder); } /// + /// Takes Image folder name as argument. + /// + public static string GetImageFolder(string imageFolder) + { + return Path.Combine(Path.GetFullPath(imageFolderPath), imageFolder); + } + /// + /// Takes Document folder name as argument. + /// + public static string GetOuterDocumentFolder(string DocumentPath) + { + return Path.Combine(Path.GetFullPath(docFolderPath), DocumentPath); + } + /// /// Takes output file name as argument. /// /// output file name diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index 84d1f96..c9b414e 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index 594b015..de03769 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs index 8049102..8c39e61 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.ProjectEntities/BusinessObjects.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using System.IO; + namespace GroupDocs.AssemblyExamples.ProjectEntities { public class BusinessObjects @@ -37,6 +38,8 @@ public class Order public DateTime ShippingDate { get; set; } public IEnumerable Services { get; set; } + + } public class Product diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index b277ce0..6f35633 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -6817,5 +6817,92 @@ public static void SimpleCsvDS_Demo() } //ExEnd:SimpleCsvDS_Demo_19.10 } + /// + /// Insert Image Dynamically in Word Document + /// Features is supported by version 20.3 or greater + /// + public static void InsertImageDynamicallyInWord() + { + //ExStart:InsertImageDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/DynamicImageDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/DynamicImageDemo Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:InsertImageDynamicallyInWord_20.3 + } + + /// + /// Insert Document Dynamically in Word Document + /// Features is supported by version 20.3 or greater + /// + public static void InsertDocumentDynamicallyInWord() + { + //ExStart:InsertImageDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/DynamicDocInsert.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/DynamicDocInsert Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetOuterDocumentFolder("OuterDocument.docx"), "document_expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:InsertImageDynamicallyInWord_20.3 + } + + + /// + /// Set checkbox value dynamically in Word document + /// Features is supported by version 20.3 or greater + /// + public static void SetCheckboxValueDynamicallyInWord(Boolean boolVal) + { + //ExStart:SetCheckboxValueDynamicallyInWord_20.3 + + try + { + //Setting up source document template (Email or Word Document) + const String strDocumentTemplate = "Word Templates/CheckBoxValueSetDemo.docx"; + + //Setting up destination for reports + const String strDocumentReport = "Word Reports/CheckBoxValueSetDemo Out.docx"; + + //Assemble the document + DocumentAssembler assembler = new DocumentAssembler(); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(boolVal, "conditional_expression")); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + //ExEnd:SetCheckboxValueDynamicallyInWord_20.3 + } + } + } + diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index edd0dfc..d89b885 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.1.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs index 78201a3..a4407ec 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/Program.cs @@ -539,7 +539,17 @@ static void Main(string[] args) //GenerateReport.DynamicBookmarkInsertionWord(); //Insert Bookmarks Dynamically in Word Document - GenerateReport.DynamicBookmarkInsertionExcel(); + // GenerateReport.DynamicBookmarkInsertionExcel(); + + //Insert Image Dynamically in Word Document + //GenerateReport.InsertImageDynamicallyInWord(); + + // Set checkbox value dynamically in Word document + //GenerateReport.SetCheckboxValueDynamicallyInWord(true); + + // Insert Document Dynamically in Word Document + //GenerateReport.InsertDocumentDynamicallyInWord(); + Console.WriteLine("Done..."); Console.ReadKey(); diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 45310a7..5077b5f 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx b/Examples/Data/Destination/Word Reports/CheckBoxValueSetDemo Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..2158558c581639dd938041650331cc17c774f27b GIT binary patch literal 10632 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%0D81ov~}Vxe`}75vJ%o;SM=0E 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 J1fm~T{{nhLMEL*! literal 0 HcmV?d00001 diff --git a/Examples/Data/Destination/Word Reports/ReadMe.md Out.docx b/Examples/Data/Destination/Word Reports/ReadMe.md Out.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee4f9591058f665ebbe7a6ffd4e6df0a420cfa5a GIT binary patch literal 5696 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 W1O!k${^0+^0=j@H$2RRBSN{hOpWes- literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/DynamicDocInsert.docx b/Examples/Data/Source/Word Templates/DynamicDocInsert.docx new file mode 100644 index 0000000000000000000000000000000000000000..8083182f13c4d1ee327202c0bcfd9b4459f40cf4 GIT binary patch literal 13013 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 F{{V8DSs4HT literal 0 HcmV?d00001 diff --git a/Examples/Data/Source/Word Templates/DynamicImageDemo.docx b/Examples/Data/Source/Word Templates/DynamicImageDemo.docx new file mode 100644 index 0000000000000000000000000000000000000000..171b05452f29db5f65340d2a4fb9a4eeb64b81ae GIT binary patch literal 15916 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 Date: Mon, 27 Apr 2020 15:32:59 +0500 Subject: [PATCH 18/54] Updated for V20.4 --- .../GroupDocs.AssemblyExamples.BusinessLayer.csproj | 4 ++-- .../packages.config | 2 +- .../CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs | 9 +++++---- .../GroupDocs.AssemblyExamples.csproj | 4 ++-- .../CSharp/GroupDocs.AssemblyExamples/packages.config | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj index c9b414e..d54986c 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/GroupDocs.AssemblyExamples.BusinessLayer.csproj @@ -32,8 +32,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.4.0\lib\net40-client\GroupDocs.Assembly.dll ..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config index de03769..820c2d0 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples.BusinessLayer/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs index 6f35633..1efd616 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GenerateReport.cs @@ -798,7 +798,8 @@ public static void DynamicBookmarkInsertionWord() //Instantiate DocumentAssembler class DocumentAssembler assembler = new DocumentAssembler(); //Call AssembleDocument to assemble document - assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); + assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(bookmark_expression, "bookmark_expression"), new DataSourceInfo(displayTextExpression, "displayTextExpression")); } catch (Exception ex) { @@ -6836,7 +6837,7 @@ public static void InsertImageDynamicallyInWord() //Assemble the document DocumentAssembler assembler = new DocumentAssembler(); assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), - CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"expression")); + CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(CommonUtilities.GetImageFolder("no-photo.jpg"),"image_expression")); } catch (Exception ex) { @@ -6851,7 +6852,7 @@ public static void InsertImageDynamicallyInWord() ///

    public static void InsertDocumentDynamicallyInWord() { - //ExStart:InsertImageDynamicallyInWord_20.3 + //ExStart:InsertDocumentDynamicallyInWord_20.3 try { @@ -6870,7 +6871,7 @@ public static void InsertDocumentDynamicallyInWord() { Console.WriteLine(ex.Message); } - //ExEnd:InsertImageDynamicallyInWord_20.3 + //ExEnd:InsertDocumentDynamicallyInWord_20.3 } diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj index d89b885..8a80295 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/GroupDocs.AssemblyExamples.csproj @@ -34,8 +34,8 @@ 4 - - ..\..\packages\GroupDocs.Assembly.20.3.0\lib\net40-client\GroupDocs.Assembly.dll + + ..\..\packages\GroupDocs.Assembly.20.4.0\lib\net40-client\GroupDocs.Assembly.dll diff --git a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config index 5077b5f..b6906ec 100644 --- a/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config +++ b/Examples/CSharp/GroupDocs.AssemblyExamples/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From f5712d539c0611363c79a48b2bb826d6a748d7c7 Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 17:16:24 +0500 Subject: [PATCH 19/54] Standardized & merged the package description --- README.md | 108 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 80 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 00ad14e..724b726 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# GroupDocs.Assembly for .NET +# .NET Document Automation & Reporting API -This package contains [Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples), [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) and [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) for [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) that will help you in understanding the API's working and writing your own applications. - -GroupDocs.Assembly for .NET is a .NET API engine designed to generate documents based on templates. In essence, the engine accepts a template document and some data, assembles data with the template document as per syntax defined by the template document and then, generates the output document in the same format as of the template document format. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and some data to assemble documents as per syntax defined by the template. Data can be fetched from various sources including CSV, XML, OData, JSON, .NET Objects & more.

    @@ -17,27 +15,81 @@ Directory | Description [Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. -## How to Run the Examples - -+ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. -+ Extract the contents of the ZIP file to any folder on your computer. All the examples are located in the Examples folder. -+ In the extracted files and folders, you can see solution file for C# Project.. -+ The project is created in Visual Studio 2013, but the solution file is compatible with Visual Studio 2010 SP1 and higher. -+ Open the solution file in Visual Studio and build the project. -+ On the first run, the dependencies will automatically be downloaded via NuGet. -+ Data folder at the root folder of Examples contains some sample input templates used in code examples. It is mandatory that you download the Data folder along with the examples project. -+ Open Program.cs file, all the examples are called from here. -+ Uncomment the examples you want to run from within the project. - -Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/assemblynet/How+to+Run+Examples). - -## Resources - -+ **Website:** [www.groupdocs.com](https://www.groupdocs.com/) -+ **Product Home:** [GroupDocs.Assembly for .NET](https://products.groupdocs.com/assembly/net) -+ **Installation:** [GroupDocs.Assembly for .NET NuGet Package](https://www.nuget.org/packages/GroupDocs.Assembly/) -+ **API Reference:** [GroupDocs.Assembly for .NET API Reference](https://apireference.groupdocs.com/net/assembly) -+ **Documentation:** [GroupDocs.Assembly for .NET Documentation](https://docs.groupdocs.com/display/assemblynet/Home) -+ **Free Support:** [GroupDocs.Assembly for .NET Free Support Forum](https://forum.groupdocs.com/c/assembly) -+ **Paid Support:** [GroupDocs.Assembly for .NET Paid Support Helpdesk](https://helpdesk.groupdocs.com/) -+ **Blog:** [GroupDocs.Assembly for .NET Blog](https://blog.groupdocs.com/category/groupdocs-assembly-product-family/) +## Report Generation via .NET + +- Wide range of supported [document formats](https://docs.groupdocs.com/display/assemblynet/Supported+Document+Formats). +- Capable to manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. +- Supports upper, lower, capital, first-cap formatting. +- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting in template syntax. +- Dynamically insert document content & hyperlinks in reports. +- Apply attributes to email message body and dynamically add email attachments. +- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. +- Dynamically set background color of HTML documents. +- Apply formatting to numeric, text, image, date-time & chart elements in template. +- Apply conditional formatting on text elements. +- LINQ-based template syntax. +- Supports NEXT field analogue of Microsoft Word. +- Update fields during Word document assembly. +- Apply & calculate formula during Excel file assembly. +- Automatically remove empty paragraphs. +- Generate various report types, such as, charts, lists, tables etc. +- Load templates from HTML as well as save assembled documents to HTML with resources. + +## Read & Write Microsoft Office Formats + +**Microsoft Word:** DOC, DOT, DOCX, DOCM, DOTX, DOTM, RTF\ +**Microsoft Excel:** XLSX, XLSM, XLTX, XLTM, XLSB, XLS, XLT\ +**Microsoft PowerPoint:** PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, PPT, PPS + +## Other Supported Formats + +**OpenOffice:** ODS, ODT, OTT, OTP, ODP, OXPS\ +**Email:** EML, MSG, EMLX\ +**Fixed Layout:** PDF, XPS\ +**Web:** HTML, MHTML\ +**Images:** TIFF, SVG\ +**Other:** XML, XAML, TXT, EPUB, PS, PCL, MD + +## Platform Independence + +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. + +## Getting Started with GroupDocs.Assembly for .NET + +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. + +## Generate DOCX from Markdown (MD) Template via C# Code + +```csharp +//Setting up source document template +const String strDocumentTemplate = "Markdown Templates/ReadMe.md"; +//Setting up destination Markdown reports +const String strDocumentReport = "Word Reports/ReadMe Out.docx"; +//Setting up description variable +const string description = "GroupDocs.Assembly for .NET is a class library that enables you to generate documents in popular " + + "office and email file formats based upon template documents and data obtained from various sources " + + "including databases, XML, JSON, OData, objects of custom .NET types, external documents, and more."; + +DocumentAssembler assembler = new DocumentAssembler(); +//Assemble Document +assembler.AssembleDocument( +CommonUtilities.GetSourceDocument(strDocumentTemplate), +CommonUtilities.SetDestinationDocument(strDocumentReport), +new DataSourceInfo("GroupDocs.Assembly for .NET", "product"), +new DataSourceInfo(description, "description")); +} +``` + +## Use Excel File as a Data Source to Assemble a Document + +```csharp +string strDocumentTemplate = "Word Templates/Using Spreadsheet as Table of Data.docx"; +string strDocumentReport = "Word Reports/Using Spreadsheet as Table of Data_Output.docx"; +// Assemble a document using the external document table as a data source. +DocumentAssembler assembler = new DocumentAssembler(); +assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), + CommonUtilities.SetDestinationDocument(strDocumentReport), + new DataSourceInfo(DataLayer.ExcelData(), "contracts")); +``` + +[Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/display/assemblynet/Home) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/net/assembly) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From db6045194adda281325b58bdfd23954cd7d8af2c Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 17:24:34 +0500 Subject: [PATCH 20/54] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 724b726..f01e28c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # .NET Document Automation & Reporting API -An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and some data to assemble documents as per syntax defined by the template. Data can be fetched from various sources including CSV, XML, OData, JSON, .NET Objects & more. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts template document and data to assemble reports as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more.

    @@ -52,11 +52,11 @@ Directory | Description ## Platform Independence -GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .NET via COM Interop. ## Getting Started with GroupDocs.Assembly for .NET -Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .NET and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. ## Generate DOCX from Markdown (MD) Template via C# Code From 8d9c2197dc0dc1bdbc4f61eaf96696a70497aaa1 Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Thu, 9 Jul 2020 18:42:40 +0500 Subject: [PATCH 21/54] Update README.md --- README.md | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f01e28c..e637d0d 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,36 @@ # .NET Document Automation & Reporting API -An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts template document and data to assemble reports as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more. +An on-premise [Document Automation Engine](https://products.groupdocs.com/assembly/net) that accepts a template document and data to generate documents as per syntax defined by the template. Data can be merged from various sources including CSV, XML, OData, JSON, .NET Objects & more.

    Directory | Description --------- | ----------- -[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contains the package of all .NET examples and sample files that will help you learn how to use product features. -[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress of GroupDocs.Assembly and WinWard while generating the reports, compare code and template preparation. +[Examples](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Examples) | Contain package of all .NET examples and sample files that will help you learn how to use GroupDocs.Assembly for NET to its full extent. +[Plugins](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Plugins) | Analyze the progress while generating reports, compare code and template preparation. [Showcases](https://github.com/groupdocsassembly/GroupDocs_Assembly_NET/tree/master/Showcases) | Web Report Generator is an ASP.NET Web Forms Application that demonstrates the core functionalities provided by GroupDocs.Assembly for .NET. ## Report Generation via .NET - Wide range of supported [document formats](https://docs.groupdocs.com/display/assemblynet/Supported+Document+Formats). -- Capable to manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. -- Supports upper, lower, capital, first-cap formatting. -- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting in template syntax. -- Dynamically insert document content & hyperlinks in reports. -- Apply attributes to email message body and dynamically add email attachments. -- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. -- Dynamically set background color of HTML documents. -- Apply formatting to numeric, text, image, date-time & chart elements in template. -- Apply conditional formatting on text elements. +- Document generation using data from [various sources](https://docs.groupdocs.com/assembly/net/working-with-multiple-data-sources/). - LINQ-based template syntax. +- Manipulate data using formulae & [sequential data](https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+2+of+2#TemplateSyntax-Part2of2-OutputtingSequentialData) operations. +- Supports Upper, Lower, Capital, First-Cap content formatting. +- Apply Ordinal, Cardinal, Alphabetic & Numeric formatting to template syntax. +- Apply attributes to email message body and dynamically add attachments. +- [Generate barcode labels](https://docs.groupdocs.com/display/assemblynet/Working+with+Barcode+Image+Generation) in reports. +- Apply conditional formatting & formatting based on type such as numeric, text, image & date-time. - Supports NEXT field analogue of Microsoft Word. - Update fields during Word document assembly. - Apply & calculate formula during Excel file assembly. -- Automatically remove empty paragraphs. -- Generate various report types, such as, charts, lists, tables etc. -- Load templates from HTML as well as save assembled documents to HTML with resources. +- Generate various report types, such as, Charts, Lists, Tables etc. +- Load templates from HTML as well as save assembled documents as HTML with resources. ## Read & Write Microsoft Office Formats @@ -52,11 +49,11 @@ Directory | Description ## Platform Independence -GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .NET via COM Interop. +GroupDocs.Assembly for .NET can be used to build applications for Windows, Mac OS X as well as for Linux. Developers may code in PHP, VBScript, Delphi & C++ programming languages while using GroupDocs.Assembly for .BET via COM Interop. ## Getting Started with GroupDocs.Assembly for .NET -Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .NET and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. +Are you ready to give GroupDocs.Assembly for .NET a try? Simply execute `Install-Package GroupDocs.Assembly` from Package Manager Console in Visual Studio to fetch & reference GroupDocs.Assembly assembly in your project. If you already have GroupDocs.Assembly for .Net and want to upgrade it, please execute `Update-Package GroupDocs.Assembly` to get the latest version. ## Generate DOCX from Markdown (MD) Template via C# Code From a22d4983b670dada715a1fba323c263f0aa19b1e Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Fri, 7 Aug 2020 18:27:52 +0500 Subject: [PATCH 22/54] Added site home to the footer of readme.md --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e637d0d..d3d70b1 100644 --- a/README.md +++ b/README.md @@ -77,16 +77,14 @@ new DataSourceInfo(description, "description")); } ``` -## Use Excel File as a Data Source to Assemble a Document +## Use Word Table as a Source to Assemble a Document ```csharp -string strDocumentTemplate = "Word Templates/Using Spreadsheet as Table of Data.docx"; -string strDocumentReport = "Word Reports/Using Spreadsheet as Table of Data_Output.docx"; -// Assemble a document using the external document table as a data source. +// assemble a document using the external document table as a data source. DocumentAssembler assembler = new DocumentAssembler(); assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport), new DataSourceInfo(DataLayer.ExcelData(), "contracts")); ``` -[Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/display/assemblynet/Home) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/net/assembly) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/assembly/net) | [Documentation](https://docs.groupdocs.com/assembly/net/) | [Demo](https://products.groupdocs.app/assembly/family) | [API Reference](https://apireference.groupdocs.com/assembly/net) | [Examples](https://github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET) | [Blog](https://blog.groupdocs.com/category/assembly/) | [Free Support](https://forum.groupdocs.com/c/assembly) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From ab75f96ff704d0a9df38764fdae7ce5244d5e005 Mon Sep 17 00:00:00 2001 From: Ali Salman Date: Wed, 19 Aug 2020 14:49:02 +0500 Subject: [PATCH 23/54] Created Live Demos Project --- Demos/.runsettings | 13 + Demos/README.md | 10 + Demos/groupdocs.assembly.live.demos.sln | 28 + .../App_Data/EmailTemplate.html | 34 + .../App_Data/TemplateEmail.html | 34 + .../App_Data/resources_EN.xml | 742 + .../App_Data/resources_ZH.xml | 668 + .../App_Start/BundleConfig.cs | 18 + .../App_Start/RouteConfig.cs | 18 + .../ApplicationInsights.config | 139 + .../AssemblyApp/Default.aspx | 425 + .../AssemblyApp/Default.aspx.cs | 18 + .../AssemblyApp/Default.aspx.designer.cs | 15 + .../AssemblyApp/app.config.js | 13 + .../AssemblyApp/app.controller.main.js | 108 + .../AssemblyApp/app.js | 13 + .../AssemblyApp/app.run.js | 9 + .../AssemblyApp/const.js | 16 + .../AssemblyApp/menu.js | 9 + .../AssemblyApp/sitemap.aspx | 18 + .../AssemblyApp/style.css | 19 + .../Bundle.config | 7 + .../Config/AppSettings.cs | 41 + .../Config/BaseMasterPage.cs | 46 + .../Config/BasePage.cs | 61 + .../Config/BaseRootPage.cs | 81 + .../Config/BaseUserControl.cs | 45 + .../Config/Configuration.cs | 85 + .../Config/Context.cs | 93 + .../Config/EmailManager.cs | 139 + .../Config/GlobalAppHelper.cs | 71 + .../Config/GroupDocsToolsContext.cs | 36 + .../Content/Site.css | 31 + .../Content/bootstrap-grid.css | 3719 ++++ .../Content/bootstrap-grid.css.map | 1 + .../Content/bootstrap-grid.min.css | 7 + .../Content/bootstrap-grid.min.css.map | 1 + .../Content/bootstrap-reboot.css | 331 + .../Content/bootstrap-reboot.css.map | 1 + .../Content/bootstrap-reboot.min.css | 8 + .../Content/bootstrap-reboot.min.css.map | 1 + .../Content/bootstrap.css | 10038 +++++++++ .../Content/bootstrap.css.map | 1 + .../Content/bootstrap.min.css | 7 + .../Content/bootstrap.min.css.map | 1 + .../Controllers/ApiControllerBase.cs | 447 + .../Controllers/GroupDocsAppsWebController.cs | 167 + .../GroupDocsAssemblyController.cs | 133 + .../Default.aspx | 15 + .../Default.aspx.cs | 17 + .../Default.aspx.designer.cs | 26 + .../DownloadFile.aspx | 17 + .../DownloadFile.aspx.cs | 44 + .../DownloadFile.aspx.designer.cs | 24 + .../Global.asax | 1 + .../Global.asax.cs | 68 + .../GroupDocs.Assembly.Live.Demos.UI.csproj | 643 + .../Helpers/ApiHelperBase.cs | 69 + .../Index.aspx | 16 + .../Index.aspx.cs | 30 + .../Index.aspx.designer.cs | 24 + .../MasterControls/Footer.ascx | 3 + .../MasterControls/Footer.ascx.cs | 18 + .../MasterControls/Footer.ascx.designer.cs | 15 + .../MasterControls/Header.ascx | 2 + .../MasterControls/Header.ascx.cs | 18 + .../MasterControls/Header.ascx.designer.cs | 15 + .../Models/BarCodeRespose.cs | 14 + .../Models/FileManager.cs | 208 + .../Models/FileUploadResult.cs | 15 + .../Models/MimeMultipart.cs | 27 + .../Models/OCRLanguage.cs | 15 + .../Models/Response.cs | 22 + .../Models/UploadMultipartFormProvider.cs | 23 + .../Properties/AssemblyInfo.cs | 35 + .../Scripts/README.md | 219 + .../Scripts/WebForms/DetailsView.js | 34 + .../Scripts/WebForms/Focus.js | 93 + .../Scripts/WebForms/GridView.js | 36 + .../Scripts/WebForms/MSAjax/MicrosoftAjax.js | 6 + .../MicrosoftAjaxApplicationServices.js | 6 + .../MSAjax/MicrosoftAjaxComponentModel.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxCore.js | 6 + .../MSAjax/MicrosoftAjaxGlobalization.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxHistory.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxNetwork.js | 6 + .../MSAjax/MicrosoftAjaxSerialization.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxTimer.js | 6 + .../WebForms/MSAjax/MicrosoftAjaxWebForms.js | 6 + .../MSAjax/MicrosoftAjaxWebServices.js | 6 + .../Scripts/WebForms/Menu.js | 898 + .../Scripts/WebForms/MenuStandards.js | 697 + .../Scripts/WebForms/SmartNav.js | 280 + .../Scripts/WebForms/TreeView.js | 220 + .../Scripts/WebForms/WebForms.js | 567 + .../Scripts/WebForms/WebParts.js | 647 + .../Scripts/WebForms/WebUIValidation.js | 684 + .../Scripts/bootstrap.bundle.js | 7013 +++++++ .../Scripts/bootstrap.bundle.js.map | 1 + .../Scripts/bootstrap.bundle.min.js | 7 + .../Scripts/bootstrap.bundle.min.js.map | 1 + .../Scripts/bootstrap.js | 4435 ++++ .../Scripts/bootstrap.js.map | 1 + .../Scripts/bootstrap.min.js | 7 + .../Scripts/bootstrap.min.js.map | 1 + .../Scripts/esm/popper-utils.js | 1093 + .../Scripts/esm/popper-utils.js.map | 1 + .../Scripts/esm/popper-utils.min.js | 5 + .../Scripts/esm/popper-utils.min.js.map | 1 + .../Scripts/esm/popper.js | 2520 +++ .../Scripts/esm/popper.js.map | 1 + .../Scripts/esm/popper.min.js | 5 + .../Scripts/esm/popper.min.js.map | 1 + .../Scripts/jquery-3.4.1.intellisense.js | 2670 +++ .../Scripts/jquery-3.4.1.js | 10598 ++++++++++ .../Scripts/jquery-3.4.1.min.js | 2 + .../Scripts/jquery-3.4.1.min.map | 1 + .../Scripts/jquery-3.4.1.slim.js | 8495 ++++++++ .../Scripts/jquery-3.4.1.slim.min.js | 2 + .../Scripts/jquery-3.4.1.slim.min.map | 1 + .../Scripts/jquery.validate.js | 1245 ++ .../Scripts/jquery.validate.min.js | 16 + .../Scripts/jquery.validate.unobtrusive.js | 429 + .../jquery.validate.unobtrusive.min.js | 19 + .../Scripts/modernizr-2.6.2.js | 1416 ++ .../Scripts/modernizr-2.8.3.js | 1406 ++ .../Scripts/popper-utils.js | 1042 + .../Scripts/popper-utils.js.map | 1 + .../Scripts/popper-utils.min.js | 5 + .../Scripts/popper-utils.min.js.map | 1 + .../Scripts/popper.js | 2372 +++ .../Scripts/popper.js.map | 1 + .../Scripts/popper.min.js | 5 + .../Scripts/popper.min.js.map | 1 + .../Scripts/respond.js | 224 + .../Scripts/respond.matchmedia.addListener.js | 273 + .../respond.matchmedia.addListener.min.js | 5 + .../Scripts/respond.min.js | 5 + .../Scripts/umd/popper-utils.js | 1131 ++ .../Scripts/umd/popper-utils.js.map | 1 + .../Scripts/umd/popper-utils.min.js | 5 + .../Scripts/umd/popper-utils.min.js.map | 1 + .../Scripts/umd/popper.js | 2528 +++ .../Scripts/umd/popper.js.map | 1 + .../Scripts/umd/popper.min.js | 5 + .../Scripts/umd/popper.min.js.map | 1 + .../Web.config | 177 + .../css/Jcrop.gif | Bin 0 -> 329 bytes .../css/app_products.css | 2518 +++ .../css/assets/fonts/icons.eot | Bin 0 -> 60767 bytes .../css/assets/fonts/icons.svg | 565 + .../css/assets/fonts/icons.ttf | Bin 0 -> 122092 bytes .../css/assets/fonts/icons.woff | Bin 0 -> 71508 bytes .../css/assets/fonts/icons.woff2 | Bin 0 -> 56780 bytes .../css/bootstrap.min.css | 6 + .../css/colorpicker.css | 100 + .../css/customgroupdocsapp.css | 1583 ++ .../css/dropdownmenu.css | 270 + .../css/howto.css | 1 + .../css/howto.png | Bin 0 -> 12359 bytes .../css/jquery.Jcrop.css | 165 + .../css/searchicon.png | Bin 0 -> 860 bytes .../errorpage.aspx | 16 + .../errorpage.aspx.cs | 19 + .../errorpage.aspx.designer.cs | 15 + .../favicon.ico | Bin 0 -> 15086 bytes .../images/GroupDocs-logo.jpg | Bin 0 -> 1992 bytes .../images/GroupDocs-logo.png | Bin 0 -> 9936 bytes .../images/groupdocs1616.png | Bin 0 -> 724 bytes .../images/groupdocsapp.png | Bin 0 -> 181356 bytes .../images/loader.gif | Bin 0 -> 160600 bytes .../images/scrollbar/arrow-down.png | Bin 0 -> 255 bytes .../images/scrollbar/arrow-left.png | Bin 0 -> 265 bytes .../images/scrollbar/arrow-right.png | Bin 0 -> 264 bytes .../images/scrollbar/arrow-up.png | Bin 0 -> 263 bytes .../images/scrollbar/resizer.png | Bin 0 -> 233 bytes .../img/404.png | Bin 0 -> 15286 bytes .../img/GDVLogo.png | Bin 0 -> 3014 bytes .../img/anywhere.png | Bin 0 -> 2432 bytes .../img/asposetools.png | Bin 0 -> 44165 bytes .../img/bg/header.png | Bin 0 -> 27977 bytes .../img/body-pattern.png | Bin 0 -> 82 bytes .../img/downloadnow.jpg | Bin 0 -> 2401 bytes .../img/fast-easy.png | Bin 0 -> 2469 bytes .../img/grid-cancel-ico.png | Bin 0 -> 490 bytes .../img/grid-delete-ico.png | Bin 0 -> 655 bytes .../img/grid-edit-ico.png | Bin 0 -> 522 bytes .../img/grid-update-ico.png | Bin 0 -> 432 bytes .../img/groupdocs-comparison-net.png | Bin 0 -> 2145 bytes .../img/groupdocs-conversion-net.png | Bin 0 -> 3941 bytes .../img/groupdocs-metadata-net.png | Bin 0 -> 4484 bytes .../img/groupdocs-parser-net.png | Bin 0 -> 4525 bytes .../img/groupdocs-search-net.png | Bin 0 -> 4769 bytes .../img/groupdocs-viewer-net.png | Bin 0 -> 4265 bytes .../img/groupdocs-watermark-net.png | Bin 0 -> 4246 bytes .../img/howto.png | Bin 0 -> 5325 bytes .../img/icon-bmp.png | Bin 0 -> 3258 bytes .../img/icon-doc.png | Bin 0 -> 2703 bytes .../img/icon-emf.png | Bin 0 -> 2849 bytes .../img/icon-eml.png | Bin 0 -> 2617 bytes .../img/icon-epub.png | Bin 0 -> 2292 bytes .../img/icon-html.png | Bin 0 -> 3212 bytes .../img/icon-image.png | Bin 0 -> 3191 bytes .../img/icon-jpg.png | Bin 0 -> 2781 bytes .../img/icon-mht.png | Bin 0 -> 2691 bytes .../img/icon-mimemsg.png | Bin 0 -> 3378 bytes .../img/icon-msg.png | Bin 0 -> 3405 bytes .../img/icon-odp.png | Bin 0 -> 3621 bytes .../img/icon-ost.png | Bin 0 -> 3691 bytes .../img/icon-pdf.png | Bin 0 -> 2759 bytes .../img/icon-ppt.png | Bin 0 -> 3093 bytes .../img/icon-pptx.png | Bin 0 -> 3007 bytes .../img/icon-pst.png | Bin 0 -> 2865 bytes .../img/icon-svg.png | Bin 0 -> 2823 bytes .../img/icon-text.png | Bin 0 -> 2999 bytes .../img/icon-tiff.png | Bin 0 -> 3214 bytes .../img/icon-xls.png | Bin 0 -> 2780 bytes .../img/icon-xps.png | Bin 0 -> 2494 bytes .../img/loader.gif | Bin 0 -> 36677 bytes .../img/quality.png | Bin 0 -> 2400 bytes .../img/sprite_meta.png | Bin 0 -> 2402 bytes .../js/bootstrap.js | 3850 ++++ .../js/bootstrap.min.js | 6 + .../js/colorpicker.js | 22 + .../js/dropdownmenu.js | 22 + .../js/groupdocs-apps-lang.js | 145 + .../js/jquery-1.10.2.js | 9803 +++++++++ .../js/jquery-1.10.2.min.js | 23 + .../js/jquery-1.10.2.min.map | 1 + .../js/jquery.Jcrop.js | 1694 ++ .../js/jquery.blockUI.js | 620 + .../js/modernizr-2.6.2.js | 1416 ++ .../js/popper.min.js | 5 + .../js/respond.js | 340 + .../js/respond.min.js | 20 + .../packages.config | 60 + .../qi/config/icons.js | 51 + .../qi/css/addon/effect-light.min.css | 6 + .../qi/css/bootstrap-quantumui.css | 11049 ++++++++++ .../qi/css/bootstrap-quantumui.css.map | 1 + .../qi/css/bootstrap-quantumui.min.css | 1 + .../qi/css/docstyle.css | 16792 ++++++++++++++++ .../qi/css/quantumui.css | 5541 +++++ .../qi/css/quantumui.css.map | 1 + .../qi/css/quantumui.min.css | 5120 +++++ .../qi/doc/js/app.js | 288 + .../qi/doc/js/custom.js | 99 + .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../qi/js/quantumui-all.js | 10254 ++++++++++ .../qi/js/quantumui-all.min.js | 56 + .../qi/js/quantumui-all.min.js.map | 6 + .../qi/js/quantumui-nojq.js | 8620 ++++++++ .../qi/js/quantumui-nojq.min.js | 15 + .../qi/js/quantumui-nojq.min.js.map | 6 + .../qi/js/quantumui.js | 7769 +++++++ .../qi/js/quantumui.min.js | 56 + .../qi/js/quantumui.min.js.map | 6 + .../site.Master | 64 + .../site.Master.cs | 20 + .../site.Master.designer.cs | 51 + 260 files changed, 162166 insertions(+) create mode 100644 Demos/.runsettings create mode 100644 Demos/README.md create mode 100644 Demos/groupdocs.assembly.live.demos.sln create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.min.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/ApiControllerBase.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/GroupDocsAppsWebController.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Controllers/GroupDocsAssemblyController.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Default.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/DownloadFile.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Global.asax create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Global.asax.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/GroupDocs.Assembly.Live.Demos.UI.csproj create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Helpers/ApiHelperBase.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Index.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Footer.ascx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/MasterControls/Header.ascx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/BarCodeRespose.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/FileManager.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/FileUploadResult.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/MimeMultipart.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/OCRLanguage.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/Response.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Models/UploadMultipartFormProvider.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Properties/AssemblyInfo.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/README.md create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/DetailsView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/Focus.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/GridView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjax.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxApplicationServices.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxComponentModel.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxCore.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxGlobalization.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxHistory.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxNetwork.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxSerialization.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxTimer.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxWebForms.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MSAjax/MicrosoftAjaxWebServices.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/Menu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/MenuStandards.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/SmartNav.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/TreeView.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebForms.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebParts.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/WebForms/WebUIValidation.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.bundle.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/bootstrap.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/esm/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.intellisense.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery-3.4.1.slim.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.unobtrusive.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/modernizr-2.6.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/modernizr-2.8.3.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.matchmedia.addListener.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.matchmedia.addListener.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/respond.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper-utils.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Scripts/umd/popper.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/Web.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/Jcrop.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/app_products.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.eot create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.svg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.ttf create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.woff create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/assets/fonts/icons.woff2 create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/bootstrap.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/colorpicker.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/customgroupdocsapp.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/dropdownmenu.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/howto.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/howto.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/jquery.Jcrop.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/css/searchicon.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/errorpage.aspx.designer.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/favicon.ico create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/GroupDocs-logo.jpg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/GroupDocs-logo.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/groupdocs1616.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/groupdocsapp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/loader.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-down.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-left.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-right.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/arrow-up.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/images/scrollbar/resizer.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/404.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/GDVLogo.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/anywhere.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/asposetools.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/bg/header.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/body-pattern.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/downloadnow.jpg create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/fast-easy.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-cancel-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-delete-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-edit-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/grid-update-ico.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-comparison-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-conversion-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-metadata-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-parser-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-search-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-viewer-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/groupdocs-watermark-net.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/howto.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-bmp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-doc.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-emf.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-eml.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-epub.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-html.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-image.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-jpg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-mht.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-mimemsg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-msg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-odp.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-ost.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pdf.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-ppt.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pptx.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-pst.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-svg.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-text.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-tiff.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-xls.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/icon-xps.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/loader.gif create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/quality.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/img/sprite_meta.png create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/bootstrap.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/bootstrap.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/colorpicker.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/dropdownmenu.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/groupdocs-apps-lang.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery-1.10.2.min.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery.Jcrop.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/jquery.blockUI.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/modernizr-2.6.2.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/popper.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/respond.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/js/respond.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/packages.config create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/config/icons.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/addon/effect-light.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/bootstrap-quantumui.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/docstyle.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.css.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/css/quantumui.min.css create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/doc/js/app.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/doc/js/custom.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/fonts/glyphicons-halflings-regular.woff2 create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-all.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui-nojq.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.min.js create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/qi/js/quantumui.min.js.map create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master.cs create mode 100644 Demos/src/GroupDocs.Assembly.Live.Demos.UI/site.Master.designer.cs diff --git a/Demos/.runsettings b/Demos/.runsettings new file mode 100644 index 0000000..ded747e --- /dev/null +++ b/Demos/.runsettings @@ -0,0 +1,13 @@ + + + + 0 + + + + + 0 + MethodLevel + + + diff --git a/Demos/README.md b/Demos/README.md new file mode 100644 index 0000000..089872b --- /dev/null +++ b/Demos/README.md @@ -0,0 +1,10 @@ +# GroupDocs.Assembly for .NET Live Demos + +GroupDocs.Assembly for .NET Live Demos Source Code. +The Live Demos are hosted at https://products.groupdocs.app/assembly/family + +# How to run + + 1. Clone the repository. + 2. Open the solution file in the latest version of Microsoft Visual Studio. + 3. Build and Start the solution. diff --git a/Demos/groupdocs.assembly.live.demos.sln b/Demos/groupdocs.assembly.live.demos.sln new file mode 100644 index 0000000..c7b65d2 --- /dev/null +++ b/Demos/groupdocs.assembly.live.demos.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2002 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GroupDocs.Assembly.Live.Demos.UI", "src\GroupDocs.Assembly.Live.Demos.UI\GroupDocs.Assembly.Live.Demos.UI.csproj", "{0479AE08-F6E6-4808-8DB2-566097B07188}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Staging|Any CPU = Staging|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0479AE08-F6E6-4808-8DB2-566097B07188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Release|Any CPU.Build.0 = Release|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Staging|Any CPU.ActiveCfg = Staging|Any CPU + {0479AE08-F6E6-4808-8DB2-566097B07188}.Staging|Any CPU.Build.0 = Staging|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {A88EA196-6BAD-4AD7-8F6B-58DEE5CC4812} + EndGlobalSection +EndGlobal diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html new file mode 100644 index 0000000..365a9be --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/EmailTemplate.html @@ -0,0 +1,34 @@ + + + + + + Free GroupDocs Document Manupulation Apps + + + +
    +
    +
    +

    Free Document Manupulation Apps
    {FeatureDescription}

    +
    + +

    {SuccessMessage}

    + Download Now

    This file will be available for download/view for 24 hours. All uploaded and output file will be deleted from our servers after 24 hours. +

    + Thanks,
    + Support Team,
    + GroupDocs.app +

    +
    +
    +
    + Copyright © 2019 Aspose, all rights reserved.
    +
    + Aspose Pty Ltd, Suite 163, 79 Longueville Road, Lane Cove, NSW, 2066, Australia. +
    +
    + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html new file mode 100644 index 0000000..98b950a --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/TemplateEmail.html @@ -0,0 +1,34 @@ + + + + + + Free GroupDocs Document Manipulation Apps + + + +
    +
    +
    +

    Free Document Manipulation Apps{Heading}

    +
    + +

    {SuccessMessage}

    + Download Now This file will be available for download/view for 24 hours. All uploaded and output files will be deleted from our servers after 24 hours. +

    + Thanks,
    + Support Team,
    + GroupDocs.app +

    +
    +
    +
    + Copyright © {Year} Aspose, all rights reserved.
    +
    + Aspose Pty Ltd, Suite 163, 79 Longueville Road, Lane Cove, NSW, 2066, Australia. +
    +
    + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml new file mode 100644 index 0000000..3b3290a --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_EN.xml @@ -0,0 +1,742 @@ + + + Free Document Manipulation Apps + Convert, View Word, Excel, PowerPoint, Visio, Project, Slides and many other file formats online + Convert your {0} document to {1} format + {0} to {1} + Home + Download your file + GroupDocs Conversion App - Download File + Free Online Document Parser + GroupDocs.Parser App - Download File + Try it NOW + PDF + HTML + EPUB + BMP + JPG + EMF + TIFF + Your file has been converted successfully, please check your email to download converted file + Your file has been parsed successfully, please check your email to download parsed file + Invalid file, please upload a file with extension + CONVERT NOW + XPS + SVG + Excel + Tex + Word + DOC + ODP + PST + OST + PPTX + EML + MSG + MIME MSG + MHT + 404 Page not found + The link you followed probably broken or the page has been moved + Back to Home + PDF/A-1a + PDF/A-1b + PDF 15 + Image + Word to PDF Conversion + Save as + Drop or upload your file + Your file has been converted successfully + Your file has been parsed successfully + + DOWNLOAD NOW + Send the download link to + Word to Image Conversion + Word to HTML Conversion + EML to MHT Conversion + EML to MSG Conversion + XPS to PDF Conversion + SVG to PDF Conversion + EPUB to PDF Conversion + MIME MSG to EML Conversion + Outlook OST to PST Conversion + PDF to Word Conversion + PDF to Image Conversion + PDF to PPTX Conversion + PDF to Tex Conversion + PDF to Excel Conversion + PowerPoint to HTML Conversion + PowerPoint to Image Conversion + PowerPoint to ODP Conversion + PowerPoint to PDF Conversion + Excel to HTML Conversion + Excel to Image Conversion + Excel to PDF Conversion + Please Enter Valid Email ID + Please drop or upload your file + + GroupDocs.Conversion + GroupDocs.Classification + GroupDocs.Viewer + GroupDocs.Metadata + GroupDocs.Editor + GroupDocs.Cells + GroupDocs.Email + GroupDocs.Pdf + GroupDocs.Slides + GroupDocs.Parser + + PowerPoint + Convert another file + Parse another file + DOC Conversion + PDF Conversion + Spreadsheet Conversion + Presentation Conversion + More Products + + Convert Word documents to PDF, HTML, Open Office, image and other formats + Convert Excel worksheets to PDF, HTML, Open Office and other supported formats + Convert PDF to Word, PowerPoint, image and other formats + Convert PowerPoint presentations to PDF, Open Office, image and other formats + Convert email messages (EML, MSG) and mailboxes from OST to PST format + + Fast and Easy Conversion + Upload your document, choose the save format type and click on “Convert” button. You will get the download link as soon as the file is converted + Convert from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Conversion Quality + Powered by + . All files are processed using GroupDocs APIs + Conversion + DOCX + Download link sent successfully, please check your email. + words + cells + slides + pdf + email + + Fast and Easy Classification + Upload your document or type text and click on button with a taxonomy name. You will see the classification results in the table or be able to download them in .csv file + Classify from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Classification Quality + . All files are processed using GroupDocs APIs + + Fast and Easy Parser + Upload your document and click on “Get” button. You will get the download link as soon as the file is parsed + Parse from Anywhere + Parser Quality + + Supported documents: {0} + Save as: {0} + conversion + + {0} Product Family Includes + + + Free Word Document Apps + Convert your Word, PDF, Slides, Excel and other documents formats online from anywhere + Convert your Word, PDF, Slides, Excel and other documents formats online from anywhere + View your Word, PDF, Slides, Excel and other documents formats online from anywhere + View, Clean and Add/Update metadata of your Word, PDF, Slides, Excel, Images and other documents formats online from anywhere + HTML editor to convert, edit and manipulate documents of popular file formats of Microsoft Office, OpenDocument and other documents formats online from anywhere + Convert your Word documents to PDF and other file formats in seconds + + Parse your Word, PDF, Slides, Excel and other documents formats online from anywhere + + Online Excel Worksheet Apps + Convert, Add Watermark or View your Excel worksheets online from anywhere + Convert your Excel worksheets to PDF, HTML and other formats from any OS and browser + + Free Online PDF Web Apps + Convert, Add Watermark, Add Annotation or View your PDF files online from anywhere + Convert your PDF files to Word, XPS, PPTX and plenty of other formats + + Free PowerPoint Presentation Apps + Convert or View your PowerPoint presentations online from anywhere + Convert your PowerPoint presentations to PDF, Open Office and other formats + + Free Online Email Apps + Convert or View your emails and mailboxes online from anywhere + Convert your emails and mailboxes from one format to another with our free web apps + Product Family + + Viewer + VIEW NOW + Slides + View your {0} online from anywhere + Quick and Easy Viewer + Upload your document and you will be redirected to the {0} Viewer app with great user experience and many more features. + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Viewer Quality + . All files are processed using GroupDocs APIs + View your {0} as an image representation + View your {0} online from anywhere + + View your {0} metadata online from anywhere + Quick and Easy Metadata + Upload your document and you will be redirected to the {0} Metadata Editor app with great user experience and many more features. + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Metadata Quality + . All files are processed using GroupDocs APIs + View your {0} online from anywhere + + Edit your {0} documents online from anywhere + Quick and Easy Editor + Upload or create new document and you will be redirected to the {0} HTML Editor app with great user experience and many more features. + Edit from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Editor Quality + . All files are processed using GroupDocs APIs + Edit your {0} online from anywhere + + View your Documents online from anywhere + Document Viewer + View your Spreadsheets online from anywhere + Spreadsheet Viewer + View your PDF file online from anywhere + PDF Viewer + View your PowerPoint file online from anywhere + PowerPoint Viewer + View your Emails online from anywhere + Email Viewer + View your Project files online from anywhere + Project Viewer + View your Visio files online from anywhere + Visio Viewer + View your OneNote files online from anywhere + OneNote Viewer + View your 3D file online from anywhere + 3D Viewer + View your AutoCAD file online from anywhere + AutoCAD Viewer + View your HTML file online from anywhere + HTML Viewer + View your PostScript file online from anywhere + PostScript Viewer + View your Photoshop files online from anywhere + Photoshop Viewer + + DOC, DOCX, DOT, DOTX, RTF or ODT + XLS, XLSX or ODS + PPT, PPTX, ODP + PDF + document + workbook + presentation + document + Word + Excel + PowerPoint + PDF + .doc|.docx|.dot|.dotx|.rtf|.odt + .xls|.xlsx|.ods + .ppt|.pptx|.odp + .pdf + + + View and edit your Word and OpenOffice document's metadata properties + View and edit your Excel and OpenOffice worksheet's metadata properties + View and edit your PowerPoint and OpenOffice presentation's metadata properties + View and edit your PDF's metadata properties + Supported + documents + Please select a file to upload + API response timeout + Cancel + document + Drop a file or upload your + Upload another file + Send the download link to + View and edit meta information in + Fast and Easy Metadata + Upload your document, update the Metadata and click on "Save" button. You will get the download link as soon as the file is saved + View from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required by you + Metadata Quality + All files are processed using GroupDocs APIs + View Metadata + Metadata has been saved successfully + Metadata has been saved successfully, please check your email to download updated file + + {0} Watermark + Watermark added successfully + Watermark removed successfully + Add Watermark in another file + Watermark + Add Watermark in Word documents online from anywhere + add-watermark + add + remove + add-watermark-in-table-cell + Add Watermark + Add Watermark to your Word document + Remove Watermark + Remove Watermark from your Word document + Add Watermark in Table Cell + Add Watermark in Table Cell of your word document + Fast and Easy {0} + Add + Remove + Upload your file, enter watermark text and click on “Add Watermark” button. You will get the download link as soon as the watermark text is added. + Upload your file and click on “Remove Watermark” button. You will get the download link as soon as the watermark is removed. + Upload your file, enter watermark text and click on “Add Watermark” button. You will get the download link as soon as the watermark text is added in table cell. + Add Watermark to Chart + Add Watermark to Chart of your Excel Worksheet + Add Watermark in your worksheets online from anywhere + add-in-chart + add + Add Watermark Text + Add Watermark + Add Watermark to Worksheet of your Excel Worksheet + + Add Text Stamp in your PDF documents online from anywhere + add + Add Text Stamp + Add Text Stamp to your PDF document + PNG + Excel to XPS Conversion + {0} Watermark from Anywhere + Watermark Quality + Please enter watermark text + + Annotation + Add Annotation Text in your PDF documents online from anywhere + add-text + remove-text + Please enter contents + Annotation Text added successfully + Remove Annotations from your PDF document + {0} Annotation + Title + Subject + Contents + Add Annotation Text in another file + Remove Annotation from another file + Annotation removed successfully + {0} Annotation from Anywhere + Add Annotation Text + Remove Annotation + Add Annotation text to your PDF document + Upload your PDF document, enter title, subject, contents and click on “Add Annotation” button. You will get the download link as soon as the annotation is added. + + Remove All Annotations + Remove All Annotations from your PDF document + Upload your document and click on “Remove Annotation” button. You will get the download link as soon as the annotations are removed. + Annotation Quality + + + Editor + to + format + Convert + + file + file + file + file + file + file + file + file + file + file + file + file + + XPS + SVG + EPUB + Word + Spreadsheet + PDF + Excel + Excel + Microsoft Project® + PowerPoint + PowerPoint + HTML + PostScript + PSD + BMP + JPG + TIFF + ODP + ODT + ODS + Image + Email + MSG + EML + MHT + TEX + Project + Visio + OneNote + OneNote + Photoshop + Raster + Metafile + Markdown + MHTML + Primavera + Text + + 3D + Autodesk + Wavefront + 3D Studio + Draco + AutoCAD + AutoCAD + GIS + Google Earth + GeoJSON + ESRI Shapefile + PostScript + PST + OST + MBOX + + DOC, DOCX + XLSX + PPTX + PDF, PDFA_1A, PDFA_1B, PDF_15 + BMP, JPG, PNG, SVG, TIFF + HTML + EPUB + MSG + EML + MHT + ODP + ODT + ODS + XPS + TEX + PSD + BMP, GIF, JPG, PNG, TIFF + MD + XHTML + MHTML + XML, XER + TXT + FBX + OBJ + 3DS + DRC + KML + JSON, GEOJSON + SHX + PST + OST + MBOX + + PDF + PDF + PDF + PDF + PDF + BMP, GIF, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + + .jpg|.j2k|.bmp|.tiff|.gif|.png|.emf|.wmf|.psd|.webp|.svg|.dicom|.djvu|.dng|.odg|.eps + + .eml|.msg + .eml + .msg + .pst + .ost + .mbox + + .html|.xhtml|.mhtml|.epub|.svg + .mpp|.xml + .vsd|.vsdx|.vsx|.vtx|.vdx|.vssx|.vstx|.vsdm|.vssm|.vstm + .one + .fbx|.stl. obj|.3ds|.gltf|.drc|.rvm|.pdf|.x|.jt|.dxf|.ply|.3mf|.ase + .dwg|.dxf|.dwf|.ifc|.stl + .gpx|.shx|.json|.kml + .ps|.eps + .psd|.psb + .txt + + GroupDocs.Imaging + Free Online Imaging Apps + Convert, Add Watermark or View your Image files online from anywhere + Convert your Image files to Photoshop, Raster and other formats + + GroupDocs.HTML + Free Online HTML Apps + Convert or View your HTML files online from anywhere + Convert your HTML files to PDF, Image and other formats + + GroupDocs.Tasks + Free Online Tasks Apps + Convert or View your Microsoft Project files online from anywhere + Convert your Microsoft Project files to Primavera, PDF and other formats + + GroupDocs.Diagram + Free Online Diagram Apps + Convert or View your Microsoft Visio files online from anywhere + Convert your Microsoft Visio files to PDF, Image and other formats + + GroupDocs.Note + Free Online Note Apps + Convert or View your Microsoft OneNote files online from anywhere + Convert your Microsoft OneNote files to PDF, Image and other formats + + GroupDocs.3D + GroupDocs.3D + Free Online 3D Apps + Convert or View your 3D files online from anywhere + Convert your 3D files to Autodesk, Draco and other formats + + GroupDocs.CAD + Free Online AutoCAD Apps + Convert or View your AutoCAD files online from anywhere + Convert your AutoCAD files to PDF, Image and other formats + + GroupDocs.GIS + Free Online GIS Apps + Convert or View your GIS files online from anywhere + Convert your GIS files to Google Earth, GeoJSON and other formats + + GroupDocs.XPS + Free Online XPS Apps + Convert your XPS files online from anywhere + Convert your Text files to XPS format + + GroupDocs.EPS + Free Online EPS Apps + Convert or View your PostScript files online from anywhere + Convert your PostScript files to PDF format + + GroupDocs.PSD + GroupDocs.PSD + Free Online PSD Apps + Convert or View your PSD files online from anywhere + Convert your PSD files to image and other formats + + PDF 417 + Data Matrix + Aztec + QR + Code 39 Standard + Code 128 + EAN-8 + EAN-13 + EAN-14 + ISSN + ISMN + Pharmacode + Postnet + UPC-A + UPC-E + Encode Type + Recognize BarCode + GroupDocs.BarCode + Recognize BarCode + Recognize BarCode from your image + Recognize BarCode + Drop an image or Upload your image + Read BarCode from an image + Easily read BarCode in 2 simple steps + Fast and Easy Recognize + Upload your image, choose the encode type and click on “Recognize BarCode” button. You will get the BarCode text as soon as the BarCode is recogized + Recognize from Anywhere + Your barcode has been recognized successfully + Recognize Quality + Recognize another barcode + Recognize or Generate your BarCode online from anywhere + Free BarCode Apps + Recognize + Generate + Generate BarCode + Generate BarCode from contents + Fast and Easy Generate + Enter contents, choose the encode type and click on “Generate” button. You will get the BarCode as soon as the BarCode is generated + Generate from Anywhere + Generate Quality + Generate BarCode from content + Easily generate BarCode in 2 simple steps + Enter Barcode Data + Your barcode has been generated successfully + Generate another barcode + 404 + Home Page + Please enter data as numeric value + + Add Watermark to image online from anywhere + Add Watermark to your image + add-diagonal + add + Add Diagonal Watermark + Add Diagonal Watermark to your image + + .jpg|.bmp|.tiff|.gif|.png|.emf|.svg|.eps + Perform OCR + GroupDocs.OCR + Perform OCR for English, French, Spanish and Portuguese languages in your application + Free Online OCR Apps + Performing OCR on an Image + Perform OCR Operation on a Multipage TIFF + Extracting Text from a Recognition Block + image-to-text + tiff-to-text + image-to-text-zonal + + Fast and Easy Perform OCR + Upload your image, choose the language and click on “Perform OCR” button. You will get the text as soon as the OCR is performed + Perform OCR from Anywhere + Perform OCR Quality + Language + Supported {0}: + Upload + Perform another OCR + OCR performed successfully + Doc,Dot,Docx,Docm,Dotx,Dotm,Rtf,Odt,tiff + CSV,Tiff,Xlsb,Xlsm,Xlsx,Xltm,Xltx,pdf,xls,ods + Pdf,Doc,Docx,PPTX,Tex,XLS,XLSX,EPUB + bmp,gif,jpeg,pdf,png,psd,tiff,emf + Annotation + Invisible Annotation + Lnk Annotation + Watermak Annotation + Annotation Type + + Document + Spreadsheet + PDF + PowerPoint + Email + Project + Visio + OneNote + 3D + AutoCAD + HTML + PostScript + Photoshop + Supported formats:{0} + View your files instantly without installing anything + Fast and easy to use + Pick Color + Convert your Word, PDF and Excel documents from anywhere + Parse your Word, PDF and Excel documents from anywhere + + .doc|.docx|.dot|.docm|.rtf|.odt|.txt|.md|.xls|.xlsx|.csv|.xlsm|.xlsb|.ods|.tsv|.ppt|.pptx|.pptm|.pps|.ppsx|.ppsm|.odp|.one|.msg|.eml|.emlx|.pst|.ost|.pop|.imap|.dotx|.potx|.dotm|.potm|.pdf|.epub|.fb2‎|.xml|.html|.xhtml|.mhtml|.chm + .pdf|.doc|.docx|.dot|.dotx|.docm|.dotm|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.odt|.vsdx|.vstx|.vssx|.vsdm|.vssm|.vstm|.vdx|.vsx|.vtx|.png|.bmp|.gif|.jpg|.jpeg|.tif|.tiff|.jp2|.webp|.eml|.msg|.emlx|.oft + + Free Online Document Signature + GroupDocs.Signature App - Download File + Your file has been signed successfully, please check your email to download signed file + GroupDocs.Signature + Sign another file + Fast and Easy Signature + Upload your document, select signature type and click on “Sign” button. You will get the download link as soon as the file is signed + Sign from Anywhere + Signature Quality + Sign your Word, PDF, Slides, Excel and other documents formats online from anywhere + Sign your Word, PDF and Excel documents from anywhere + .doc|.docx|.dot|.dotx|.docm|.dotm|.xls|.xlsx|.xlsm|.xlsb|.ots|.xltx|.xltm|.ppt|.pptx|.pps|.ppsx|.otp|.potx|.potm|.pptm|.ppsm|.pdf|.txt|.jpg|.jpeg|.webp|.tiff + Your file has been signed successfully + + GroupDocs.Comparison + Compare your Word, PDF, Slides, Excel and other documents formats online from anywhere + Comparison + COMPARE NOW + Compare your {0} online from anywhere + Quick and Easy Comparison + Upload your source & target documents, you will be redirected to the {0} Comparison app with great user experience and many more features. + Compare from Anywhere + It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you + Comparison Quality + . All files are processed using GroupDocs APIs + Compare your {0} online from anywhere + + GroupDocs.Search + Index your data and perform text Search in all Popular document formats online from anywhere + Free Online Document Search + Search Type + Upload your files, select search type and click on “SEARCH NOW” button. You will get the search result as soon as the search complete. + .doc|.docx|.docm|.dot|.dotx|.dotm|.xls|.xlsx|.xlsm|.xltx|.xltm|.xlsb|.ppt|.pptx|.pot|.potx|.pps|.ppsx|.pptm|.ppsm|.chm|.one|.pdf|.odt|.ott|.ods|.odp|.pst|.ost|.msg|.eml|.emlx|.txt|.epub|.fb2|.zip|.rtf + SEARCH NOW + Simple + Boolean + Regex + Fuzzy + Case Sensitive + Faceted + Numeric Range + Exact Phrase + Blended Characters + Wildcard + Free Online Search App for DOC, DOCX, DOCM, DOT, DOTX, DOTM, XLS, XLSX, XLSM, XLTX, XLTM, XLSB, PPT, PPTX, POT, POTX, PPS, PPSX, PPTM, PPSM, CHM, ONE, PDF, ODT, OTT, ODS, ODP, PST, OST, MSG, EML, EMLX, TXT, EPUB, FB2, ZIP and RTF formats + Drop or upload your files + First Term + Second Term + Relevant Key + Search Text + Search Results + GroupDocs.Watermark App - Download File + Add text watermark to your document + + Free Online Document Merger + GroupDocs.Merger App - Download File + Your file has been merged successfully, please check your email to download file + GroupDocs.Merger + Fast and Easy Merger + Merge from Anywhere + Merger Quality + Your file has been merged successfully + Merge another file + Merge your Word, PDF, Slides, Excel and other documents formats online from anywhere + Merge your Word, PDF and Excel documents from anywhere + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + Upload your document(s), click on "Merge" button. You will get the download link as soon as the file is merged + + Free Online Document Redaction + GroupDocs.Redaction App - Download File + Your file has been redacted successfully, please check your email to download file + GroupDocs.Redaction + Fast and Easy Redaction + Upload your document, select redaction type and click on "Redact" button. You will get the download link as soon as the file is redacted + Redact from Anywhere + Redaction Quality + Redact your Word, PDF, Slides, Excel and other documents formats online from anywhere + Redact your Word, PDF and Excel documents from anywhere + Redact another file + Your file has been redacted successfully + .doc|.docx|.dot|.dotx|.docm|.dotm‎|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.csv|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.pdf + + Please enter an email address + + Other Parser file formats + You can also parse other file formats. Please see the list below. + Other Merger file formats + You can also merge other file formats. Please see the list below. + Other Redaction file formats + You can also redact other file formats. Please see the list below. + Other Signature file formats + You can also sign other file formats. Please see the list below. + Other Splitter file formats + You can also split other file formats. Please see the list below. + + Free Online Document Splitter + GroupDocs.Splitter App - Download File + Your file has been split successfully, please check your email to download file + GroupDocs.Splitter + Fast and Easy Splitter + Split from Anywhere + Splitter Quality + Split your Word, PDF, Slides, Excel and other documents formats online from anywhere + Split your Word, PDF and Excel documents from anywhere + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + Upload your document(s), click on "Split" button. You will get the download link as soon as the file is split + Your file has been split successfully + Split another file + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml new file mode 100644 index 0000000..0e49353 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Data/resources_ZH.xml @@ -0,0 +1,668 @@ + + + 免费的文件格式应用 + 从任何地方在线转换您的Word,PDF和Excel文档 + 将您的{0}文档转换为{1}格式 + {0}到{1} + + 下载转换后的文件 + 下载文件 + 现在就试试3 + PDF + HTML + EPUB + BMP + JPG + EMF + TIFF + 您的文件已成功转换,请检查您的电子邮件下载转换后的文件. + 无效文件。 请上传带扩展名的文件 + 立即转换 + XPS + SVG + Excel + Tex + Word + DOC + ODP + PST + OST + PPTX + EML + MSG + MIME MSG + MHT + 404页面不存在 + 您跟踪的链接可能已损坏或页面已移动 + 回到首页 + PDF/A-1a + PDF/A-1b + PDF 15 + 图片 + 另存为 + 删除文件或上传您的Word文档 + 您的文件已成功转换 + 现在下载 + 发送下载链接到 + Word到PDF转换器 + Word到图像转换器 + Word到HTML转换器 + EML到MHT转换器 + EML到MSG转换器 + XPS到PDF转换器 + SVG到PDF转换器 + EPUB到PDF转换器 + MIME MSG到EML转换器 + Outlook OST到PST转换器 + PDF到Word转换器 + PDF到图像转换器 + PDF到PPTX转换器 + PDF到Tex转换器 + PDF到Excel转换器 + PowerPoint到HTML转换器 + PowerPoint到图像转换器 + PowerPoint到ODP转换器 + PowerPoint到PDF转换器 + Excel到HTML转换器 + Excel到图像转换器 + Excel到PDF转换器 + 请输入有效的电子邮件ID + 请删除文件或上传您的文件 + GroupDocs.Conversion + GroupDocs.Classification + GroupDocs.Cells + GroupDocs.Email + GroupDocs.Pdf + GroupDocs.Slides + PowerPoint + 转换另一个文件 + DOC转换 + PDF转换 + 电子表格转换 + 演示文稿转换 + 更多产品 + 将Word文档转换为PDF,HTML,Open Office,图像和其他格式 + 将Excel工作表转换为PDF,HTML,Open Office和其他支持的格式 + 将PDF转换为Word,PowerPoint,图像和其他格式 + 将PowerPoint演示文稿转换为PDF,Open Office,图像和其他格式 + 将电子邮件(EML,MSG)和邮箱从OST转换为PST格式 + 快速和简单的转换 + 上传你的文件,选择保存格式类型,然后点击“转换”按钮。 文件转换完成后,您将立即获得下载链接 + 从任何地方转换 + 它适用于所有平台,包括Windows,Mac,Android和iOS。 所有文件都在我们的服务器上处理。 无需为您安装插件或软件 + 转换质量 + 供电 + 。 所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + 转变 + DOCX + 下载链接已成功发送,请检查您的电子邮件. + words + cells + slides + pdf + email + + 快速简便的分类 + 上载您的文档或键入文本,然后单击带有分类名称的按钮。 您将在表中看到分类结果或将其下载为.csv文件 + 从任何地方分类 + 它适用于所有平台,包括Windows,Mac,Android和iOS。 所有文件都在我们的服务器上处理。 无需为您安装插件或软件 + 分类质量 + 。 所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + + 支持的文档:{0} + 另存为:{0} + 转变 + + + {0}产品系列包括 + + + 免费Word文档应用程序 + 转换,添加水印或从任何地方在线查看您的Word文档 + 在几秒钟内将Word文档转换为PDF和其他文件格式 + + 在线Excel工作表应用程序 + 转换,添加水印或从任何地方在线查看您的Excel工作表 + 将任何操作系统和浏览器的Excel工作表转换为PDF,HTML和其他格式 + + 免费在线PDF Web应用程序 + 从任何地方在线转换,添加水印,添加注释或查看PDF文件 + 将您的PDF文件转换为Word,XPS,PPTX和其他许多格式 + + 免费PowerPoint演示文稿应用 + 轻松地将您的PowerPoint演示文稿转换为PDF,Open Office和其他格式 + 轻松地将您的PowerPoint演示文稿转换为PDF,Open Office和其他格式 + + 免费在线电子邮件应用 + 使用我们的免费网络应用将您的电子邮件和邮箱从一种格式转换为另一种格式 + 使用我们的免费网络应用将您的电子邮件和邮箱从一种格式转换为另一种格式 + Product Family + + 查看器 + 现在查看 + 从任何地方在线查看您的{0}文档 + 快速和简单的查看器 + 上传您的文档,您将被重定向到具有出色用户体验和功能的{0}文档查看器应用程序 + 从任何地方查看 + 它适用于所有平台,包括Windows,Mac,Android和iOS。所有文件都在我们的服务器上处理。无需为您安装插件或软件 + 看者质量 + Slides + 。所有文件均使用GroupDocs API进行处理,这些API正在114个国家的许多财富100强公司中使用 + View your {0} as an 文档查看器 + 从任何地方在线查看您的{0}文档 + 从任何地方在线查看您的{0}文档 + Document查看器 + 从任何地方在线查看您的Spreadsheet文档 + Spreadsheet文档查看器 + 从任何地方在线查看您的PDF文档 + PDF文档查看器 + 从任何地方在线查看您的Slides文档 + Slides文档查看器 + 从任何地方在线查看您的Emails文档 + Email 文档查看器 + 从任何地方在线查看您的Microsoft Project®文档 + Microsoft Project® 文档查看器 + 从任何地方在线查看您的Diagrams文档 + Diagrams文档查看器 + 从任何地方在线查看您的OneNote文档 + OneNote 文档查看器 + 从任何地方在线查看您的OneNote文档 + OneNote 文档查看器 + 从任何地方在线查看您的3D文档 + 3D 文档查看器 + 从任何地方在线查看您的AutoCAD文档 + AutoCAD 文档查看器 + 从任何地方在线查看您的HTML文档 + HTML 文档查看器 + 从任何地方在线查看您的PostScript文档 + PostScript文档查看器 + 从任何地方在线查看您的PSD文档 + PSD文档查看器 + + DOC, DOCX, DOT, DOTX, RTF or ODT + XLS, XLSX or ODS + PPT, PPTX, ODP + PDF + document + workbook + presentation + document + Word + Excel + PowerPoint + PDF + .doc|.docx|.dot|.dotx|.rtf|.odt + .xls|.xlsx|.ods + .ppt|.pptx|.odp + .pdf + 查看和编辑你的 Word 和 OpenOffice 文件元数据属性 + 查看和编辑你的 Excel 和 OpenOffice 工作表元数据属性 + 查看和编辑你的 PowerPoint 和 OpenOffice 介绍元数据属性 + 查看和编辑你的 PDF 元数据属性 + 支持的 + 文件 + 请选择要上传的文件 + API 响应超时 + 取消 + 文件 + 删除文件或上传您的文件 + 上传另一个文件 + 发送下载链接到 + 查看和编辑元信息 + 快速和简单的元数据 + 上传文件,更新元数据并点击“保存”按钮。文件保存后,您将立即获得下载链接 + 从任何地方查看 + 它适用于所有平台,包括 Windows, Mac, Android 和 iOS. 所有文件都在我们的服务器上处理。您不需要插件或软件安装 + 元数据质量 + 所有文件都使用 GroupDocs APIs, 这被许多人所使用 Fortune 100 遍布114个国家的公司 + 查看元数据 + 元数据已成功保存 + 元数据已成功保存,请检查您的电子邮件以下载更新的文件 + + {0} 水印 + 水印添加成功 + 水印成功删除 + {0} 在另一个文件中加水印 + 水印 + 从任何地方在线添加Word文档中的水印 + add-watermark + add + remove + add-watermark-in-table-cell + 加水印 + 将水印添加到您的Word文档 + 去除水印 + 从您的Word文档中删除水印 + 在表格单元格中添加水印 + 在Word文档的表单元格中添加水印 + 快速和简单 {0} + + 去掉 + 上传文件,输入水印文本,然后单击“添加水印”按钮。 添加水印文本后,您将立即获得下载链接. + 上传您的文件,然后单击“删除水印”按钮。 删除水印后,您将立即获得下载链接. + 上传文件,输入水印文本,然后单击“添加水印”按钮。 只要在表格单元格中添加水印文本,您就会获得下载链接. + 将水印添加到图表 + 将水印添加到Excel工作表的图表中 + 随时随地在工作表中添加水印 + add-in-chart + add + 添加水印文本 + 将水印添加到工作表 + 将水印添加到Excel工作表的工作表 + + 从任何地方在线添加PDF文档中的文本标记 + add + 添加文字印章 + 将文本戳添加到您的PDF文档 + PNG + Excel到XPS转换 + {0}来自任何地方的水印 + 水印质量 + 请输入水印文字 + 注解 + 随时随地在线添加PDF文档中的注释文本 + add-text + remove-text + 请输入内容 + 注释文本已成功添加 + 从PDF文档中删除注释 + {0}注释 + 标题 + 学科 + 内容 + 在另一个文件中添加注释文本 + 从其他文件中删除注释 + 注释已成功删除 + 来自任何地方的{0}注释 + 添加注释文本 + 删除注释 + + 将注释文本添加到PDF文档中 + 上传您的PDF文档,输入标题,主题,内容,然后单击“添加注释”按钮。 添加注释后,您将立即获得下载链接. + + 删除所有注释 + 从PDF文档中删除所有注释 + 上传您的文档,然后单击“删除注释”按钮。 删除注释后,您将立即获得下载链接. + 注释质量 + + 编辑 + + 格式 + 兑换 + + file + file + file + file + file + file + file + file + file + file + file + file + + XPS + SVG + EPUB + Word + PDF + Excel + Excel + Microsoft Project® + PowerPoint + PowerPoint + HTML + PostScript + PSD + BMP + JPG + TIFF + ODP + ODT + ODS + Image + Email + MSG + EML + MHT + TEX + Project + Visio + OneNote + OneNote + Photoshop + Raster + Metafile + Markdown + MHTML + Primavera + Text + + 3D + Autodesk + Wavefront + 3D Studio + Draco + AutoCAD + AutoCAD + GIS + Google Earth + GeoJSON + ESRI Shapefile + PostScript + PST + OST + MBOX + + DOC, DOCX + XLSX + PPTX + PDF, PDFA_1A, PDFA_1B, PDF_15 + BMP, JPG, PNG, SVG, TIFF + HTML + EPUB + MSG + EML + MHT + ODP + ODT + ODS + XPS + TEX + PSD + BMP, GIF, JPG, PNG, TIFF + MD + XHTML + MHTML + XML, XER + TXT + FBX + OBJ + 3DS + DRC + KML + JSON, GEOJSON + SHX + PST + OST + MBOX + + PDF + PDF + PDF + PDF + PDF + BMP, GIF, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + BMP, JPG, PNG, TIFF + + .jpg|.j2k|.bmp|.tiff|.gif|.png|.emf|.wmf|.psd|.webp|.svg|.dicom|.djvu|.dng|.odg|.eps + + .eml|.msg + .eml + .msg + .pst + .ost + .mbox + + .html|.xhtml|.mhtml|.epub|.svg + .mpp|.xml + .vsd|.vsdx|.vsx|.vtx|.vdx|.vssx|.vstx|.vsdm|.vssm|.vstm + .one + .fbx|.stl. obj|.3ds|.gltf|.drc|.rvm|.pdf|.x|.jt|.dxf|.ply|.3mf|.ase + .dwg|.dxf|.dwf|.ifc|.stl + .gpx|.shx|.json|.kml + .ps|.eps + .psd|.psb + .txt + + GroupDocs.Imaging + 免费在线成像应用 + 从任何地方在线转换,添加水印或查看您的图像文件 + 将图像文件转换为Photoshop,Raster和其他格式 + + GroupDocs.HTML + 免费在线HTML应用程序 + 随时随地在线转换或查看HTML文件 + 将HTML文件转换为PDF,图像和其他格式 + + GroupDocs.Tasks + 免费在线任务应用 + 从任何地方在线转换或查看Microsoft Project文件 + 将Microsoft Project文件转换为Primavera,PDF和其他格式 + + GroupDocs.Diagram + 免费在线图表应用 + 从任何地方在线转换或查看Microsoft Visio文件 + 将Microsoft Visio文件转换为PDF,图像和其他格式 + + GroupDocs.Note + 免费在线笔记应用 + 从任何地方在线转换或查看Microsoft OneNote文件 + 将Microsoft OneNote文件转换为PDF,图像和其他格式 + + GroupDocs.3D + GroupDocs.3D + 免费在线3D应用程序 + 从任何地方在线转换或查看您的3D文件 + 将您的3D文件转换为Autodesk,Draco和其他格式 + + GroupDocs.CAD + 免费在线AutoCAD应用程序 + 随时随地在线转换或查看AutoCAD文件 + 将AutoCAD文件转换为PDF,图像和其他格式 + + GroupDocs.GIS + 免费在线GIS应用程序 + 从任何地方在线转换或查看您的GIS文件 + 将您的GIS文件转换为Google Earth,GeoJSON和其他格式 + + GroupDocs.XPS + 免费在线XPS应用程序 + 从任何地方在线转换您的XPS文件 + 将文本文件转换为XPS格式 + + GroupDocs.EPS + 免费在线EPS应用程序 + 从任何地方在线转换或查看PostScript文件 + 将PostScript文件转换为PDF格式 + + GroupDocs.PSD + GroupDocs.PSD + 免费在线PSD应用程序 + 从任何地方在线转换或查看PSD文件 + 将PSD文件转换为image格式 + + PDF 417 + Data Matrix + Aztec + QR + Code 39 Standard + Code 128 + EAN-8 + EAN-13 + EAN-14 + ISSN + ISMN + Pharmacode + Postnet + UPC-A + UPC-E + 编码类型 + 认识BarCode + GroupDocs.BarCode + 认识BarCode + 从您的图像中识别BarCode + 认识BarCode + 删除图像或上传图像 + 从图像中读取BarCode + 只需2个简单步骤即可轻松阅读BarCode + 快速轻松识别 + 上传您的图像,选择编码类型,然后单击“识别条形码”按钮。 一旦BarCode被识别,您将获得BarCode文本 + 从任何地方认识 + 您的条形码已成功识别 + 认可质量 + 识别另一个条形码 + 随时随地在线识别或生成您的BarCode + 免费BarCode应用程序 + 认识 + 生成 + 生成BarCode + 从内容生成BarCode + 快速简便的生成 + 输入内容,选择编码类型,然后单击“生成”按钮。 生成BarCode后,您将立即获得BarCode + 从任何地方生成 + 生成质量 + 从内容生成BarCode + 只需2个简单步骤即可轻松生成BarCode + 输入条形码数据 + 您的条形码已成功生成 + 生成另一个条形码 + 404 + 主页 + 请输入数据作为数值 + 添加水印从任何地方在线图像 + 为您的图片添加水印 + add-diagonal + 添加对角线水印 + 为图像添加对角线水印 + add + + .jpg|.bmp|.tiff|.gif|.png|.emf|.svg|.eps + 执行OCR + GroupDocs.OCR + 在您的应用程序中执行英语,法语,西班牙语和葡萄牙语语言的OCR + 免费在线OCR应用程序 + 在图像上执行OCR + 在多页TIFF上执行OCR操作 + 从识别块中提取文本 + image-to-text + tiff-to-text + image-to-text-zonal + + 快速轻松地执行OCR + 上传您的图像,选择语言并单击“执行OCR”按钮. 执行OCR后,您将立即获得文本 + 从任何地方执行OCR + 执行OCR质量 + 语言 + 支持{0}: + 上传 + 执行另一个OCR + OCR成功完成 + Doc,Dot,Docx,Docm,Dotx,Dotm,Rtf,Odt,tiff + CSV,Tiff,Xlsb,Xlsm,Xlsx,Xltm,Xltx,pdf,xls + Pdf,Doc,Docx,PPTX,Tex,XLS,XLSX,EPUB + bmp,gif,jpeg,pdf,png,psd,tiff,emf + + 注解 + 隐形注释 + Lnk注释 + 水印注释 + 注释类型 + + Document + Spreadsheet + PDF + PowerPoint + Email + Project + Visio + OneNote + 3D + AutoCAD + HTML + PostScript + Photoshop + Supported formats:{0} + View your files instantly without installing anything + Fast and easy to use + 选择颜色 + Convert your Word, PDF and Excel documents from anywhere + + GroupDocs.Parser App - 下载文件 + 您的文件已成功解析,请检查您的电子邮件以下载已解析的文件 + 您的文件已成功解析 + GroupDocs.Parser + 解析另一个文件 + 快速简便的解析器 + 上传您的文档,然后单击“解析”按钮。解析文件后,您将立即获得下载链接 + 从任何地方解析 + 解析器质量 + 从任何地方在线解析您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方解析Word,PDF和Excel文档 + .doc|.docx|.dot|.docm|.rtf|.odt|.txt|.md|.xls|.xlsx|.csv|.xlsm|.xlsb|.ods|.tsv|.ppt|.pptx|.pptm|.pps|.ppsx|.ppsm|.odp|.one|.msg|.eml|.emlx|.pst|.ost|.pop|.imap|.dotx|.potx|.dotm|.potm|.pdf|.epub|.fb2‎|.xml|.html|.xhtml|.mhtml|.chm + + GroupDocs.Signature 应用程序 - 下载文件 + 您的文件已成功签名,请检查您的电子邮件以下载签名文件 + GroupDocs.Signature + 签署另一个文件 + 快速简便的签名 + 上传您的文档,选择签名类型,然后单击“签名”按钮。文件签名后,您将立即获得下载链接 + 从任何地方签名 + 签名质量 + 随时随地在线签署您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方签署您的Word,PDF和Excel文档 + .doc|.docx|.dot|.dotx|.docm|.dotm|.xls|.xlsx|.xlsm|.xlsb|.ots|.xltx|.xltm|.ppt|.pptx|.pps|.ppsx|.otp|.potx|.potm|.pptm|.ppsm|.pdf|.txt|.jpg|.jpeg|.webp|.tiff + 您的文件已成功签名 + + 免费在线文档解析器 + 免费在线文档签名 + + 免费的在线文档合并 + GroupDocs.Merger App-下载文件 + 您的文件已成功合并,请检查您的电子邮件以下载文件 + GroupDocs.Merger + 快速轻松合并 + 从任何地方合并 + 合并质量 + 您的文件已成功合并 + 合并另一个文件 + 随时随地在线合并您的Word,PDF,幻灯片,Excel和其他文档格式 + 随时随地合并您的Word,PDF和Excel文档 + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + 上传您的文件,点击“合并”按钮。合并文件后,您将立即获得下载链接 + + 免费在线文档编辑 + GroupDocs.Redaction 应用程序 - 下载文件 + 您的文件已成功编辑,请检查您的电子邮件以下载文件 + GroupDocs.Redaction + 快速简便的编辑 + 上传您的文档,选择编辑类型,然后单击“编辑”按钮。编辑文件后,您将立即获得下载链接 + 从任何地方编辑 + 编辑质量 + 从任何地方在线编辑您的Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方编辑您的Word,PDF和Excel文档 + 编辑另一个文件 + 您的文件已成功编辑 + .doc|.docx|.dot|.dotx|.docm|.dotm‎|.rtf|.xls|.xlsx|.xlt|.xltx|.xlsm|.xltm|.csv|.ppt|.pptx|.pps|.ppsx|.potx|.pptm|.ppsm|.potm|.pdf + + 请输入电子邮件地址 + + 其他解析器文件格式 + 您还可以解析其他文件格式。请参阅下面的列表 + 其他合并文件格式 + 您还可以合并其他文件格式。请参阅下面的列表 + 其他修订文件格式 + 您还可以编辑其他文件格式。请参阅下面的列表 + 其他签名文件格式 + 您还可以签署其他文件格式。请参阅下面的列表 + + 其他Splitter文件格式 + 您还可以拆分其他文件格式。请参阅下面的列表 + 免费的在线文件拆分器 + GroupDocs.Splitter应用程序-下载文件 + 您的文件已成功拆分,请检查您的电子邮件以下载文件 + GroupDocs.Splitter + 快速简便的分配器 + 从任何地方拆分 + 分离器质量 + 随时随地在线拆分Word,PDF,幻灯片,Excel和其他文档格式 + 从任何地方拆分Word,PDF和Excel文档 + .doc|.docm|.docx|.dot|.dotx|.dotm|.rtf|.xls|.xlsx|.xlsm|.xlsb|.ppt|.pptx|.pps|.ppsx|.vsdx|.vsdm|.vssx|.vssm|.vtx|.vstm|.vdx|.vstx|.vsx|.one|.odt|.ott|.odp|.otp|.ods|.pdf|.xps|.txt|.csv|.epub + 上传您的文档,点击“拆分”按钮。文件拆分后,您将立即获得下载链接 + 您的文件已成功拆分 + 分割另一个档案 + + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs new file mode 100644 index 0000000..7fef1c7 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/BundleConfig.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Optimization; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public class BundleConfig + { + // For more information on Bundling, visit https://go.microsoft.com/fwlink/?LinkID=303951 + public static void RegisterBundles(BundleCollection bundles) + { + + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs new file mode 100644 index 0000000..0a6c098 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/App_Start/RouteConfig.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.Routing; +using Microsoft.AspNet.FriendlyUrls; + +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public static class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + var settings = new FriendlyUrlSettings(); + settings.AutoRedirectMode = RedirectMode.Permanent; + routes.EnableFriendlyUrls(settings); + } + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config new file mode 100644 index 0000000..080c0c3 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/ApplicationInsights.config @@ -0,0 +1,139 @@ + + + + + + + + + + search|spider|crawl|Bot|Monitor|AlwaysOn + + + + + + + + + + + + + + + core.windows.net + core.chinacloudapi.cn + core.cloudapi.de + core.usgovcloudapi.net + + + Microsoft.Azure.EventHubs + Microsoft.Azure.ServiceBus + + + + + + + + + + + + + + + + + + + Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler + System.Web.StaticFileHandler + System.Web.Handlers.AssemblyResourceLoader + System.Web.Optimization.BundleHandler + System.Web.Script.Services.ScriptHandlerFactory + System.Web.Handlers.TraceHandler + System.Web.Services.Discovery.DiscoveryRequestHandler + System.Web.HttpDebugHandler + + + + + + + + + + + + + 5 + Event + + + 5 + Event + + + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx new file mode 100644 index 0000000..6e51b92 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx @@ -0,0 +1,425 @@ +<%@ Page Title="Free online document and report generator for DOCX, PPTX, XLSX, DOT and other formats" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GroupDocs.Assembly.Live.Demos.UI.Assembly.Default" MasterPageFile="~/site.Master" %> + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + +
    +

    Free Online Document Assembly

    +

    Free Online {{REQUESTED_EXTENSION}} file Assembly

    +

    Generate meaningful documents from template and raw data, supporting Word, Excel, Email and more than 50 types of documents

    +

    Generate meaningful documents from {{REQUESTED_EXTENSION}} template files, and many other supported file formats

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

    +

    + +
    + +   + Upload Template + +
    +
    + +   + Help + +
    +
    +
    +
    + + +
    +
    +
    + + +
    + + +
    + + + + + + + + + + +
    + Table Index + +
    + +
    +
    + Data Source Name + +
    + +
    +
    +
    + +

    +

    +
    + +   + Upload Data Source + +
    +
    + +   + Help + +
    +
    +
     
    + +   + Go Back + +
    +
    + + +
    +
    +
    + + + +   + ASSEMBLE NOW + + +
    +
    + +   + Go Back + +
    +
    + +
    +
    +
    +
    + + + + + +
    +
    +

    + {{REQUESTED_FILEFORMAT.Extension}} + {{REQUESTED_FILEFORMAT.Name}} +

    +

    + {{REQUESTED_FILEFORMAT.Description}} +
    +
    + Read More +

    +
    +
    + +
    +
    +
    +

    GroupDocs.Assembly App

    +

    GroupDocs.Assembly App Supported Document Formats

    +
    +
    +
    +
    +
    +
    +
    +
    Microsoft Office Formats
    +
      +
    • Word: DOC, DOCX, DOT, DOTX, DOTM, DOCM, RTF, WordprocessingML (XML)
    • +
    • Excel: XLS, XLSX, XLSM, XLSB, XLT, XLTM, XLTX, SpreadsheetML (XML)
    • +
    • PowerPoint: PPT, PPTX, PPTM, PPS, PPSX, PPSM, POTX, POTM
    • +
    • Outlook: EML, EMLX, MSG
    • +
    +
    Supported Data Sources
    +
      +
    • Spreadsheet as Table of Data
    • +
    • Word Processing Table as Table of Data
    • +
    +
    +
    +
    Other Formats
    +
      +
    • OpenOffice Document Formats: ODT, OTT, ODS, ODP
    • +
    • Email: MHT, MHTML
    • +
    • Web: HTML
    • +
    • Other : TXT
    • +
    +
    Inter-Format Assembly Support
    +
      +
    • Word Processing TO Word Processing, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
    • +
    • Spreadsheet TO Spreadsheet, HTML, PDF, XPS, TIFF, MHTML
    • +
    • Presentation TO Presentation, HTML, PDF, XPS, TIFF
    • +
    • Email TO Word Processing, Email, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
    • +
    • HTML & TXT TO Word Processing, HTML, PDF, XPS, TIFF, MHTML, TXT, XAML, OpenXPS, EPUB, SVG, PS, PCL
    • +
    +
    +
    + +
    +
    + +
    + +
    +
    + +
    + +
    +
    +
    +

     How to assemble a {{REQUESTED_EXTENSION}} file using GroupDocs.Assembly App

    +
      +
    • Click inside the file drop area to upload a {{REQUESTED_EXTENSION}} template file or drag & drop a {{REQUESTED_EXTENSION}} template file.
    • +
    • Click Upload Template to start uploading.
    • +
    • Click inside the file drop area to upload a data-source file or drag & drop it.
    • +
    • Choose the appropriate Table Index and Data Source Name options.
    • +
        +
      1. Table Index is the zero-based serial number of the table that exist in the data-source file. For example, if you have a spreadsheet file as data-source file then its first sheet is at zero index.
      2. +
      3. Data Source Name is that name of data-source table which is used to reffer inside your {{REQUESTED_EXTENSION}} template file.
      4. +
      +
    • In the next step, you can download your assembled {{REQUESTED_EXTENSION}} file.
    • +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +

    Fast and Easy Assembly

    +

    Upload your template and data-source files, choose the appropriate options and click on “ASSEMBLE NOW” button. You will get the output file as soon as the files are assembled.

    +
    +
    +
    + +
    +

    Assemble from Anywhere

    +

    It works from all platforms including Windows, Mac, Android and iOS. All files are processed on our servers. No plugin or software installation required for you.

    +
    +
    +
    + +
    +

    Assembly Quality

    +

    Powered by GroupDocs.Assembly. All files are processed using GroupDocs APIs.

    +
    +
    +
    +
    + +
    + + +
    diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs new file mode 100644 index 0000000..e6739ea --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.cs @@ -0,0 +1,18 @@ +using System; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Assembly +{ + public partial class Default : System.Web.UI.Page + { + protected FileFormat fileFormat; + + protected void Page_Load(object sender, EventArgs e) + { + if (Page.RouteData.Values["extension"] != null) + { + string extension = Page.RouteData.Values["extension"].ToString().ToLower(); + } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs new file mode 100644 index 0000000..c575c07 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/Default.aspx.designer.cs @@ -0,0 +1,15 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace GroupDocs.Assembly.Live.Demos.UI.Assembly { + + + public partial class Default { + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js new file mode 100644 index 0000000..06f3ece --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.config.js @@ -0,0 +1,13 @@ +(function () { + 'use strict'; + + angular.module('GroupDocsAssemblyApp').config([ + '$locationProvider', + '$routeProvider', + function ($locationProvider, $routeProvider) { +// $locationProvider.hashPrefix('!'); +// $routeProvider.otherwise({redirectTo: '/overview'}); + } + ]); + +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js new file mode 100644 index 0000000..6b646ee --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.controller.main.js @@ -0,0 +1,108 @@ +(function () { + 'use strict'; + + function main($rootScope, $scope, $http, $window, Upload, $timeout, $mdSidenav) { + $scope.jid = randomString(); + $scope.templateFile = {}; + $scope.datasourceFile = {}; + $scope.datasourceTableIndex = 0; + $scope.datasourceName = ""; + $scope.stage = 1; + $scope.REQUESTED_FILEFORMAT = REQUESTED_FILEFORMAT; + + if (REQUESTED_EXTENSION === null) { + $scope.REQUESTED_EXTENSION = null; + } else { + $scope.REQUESTED_EXTENSION = REQUESTED_EXTENSION.toUpperCase(); + } + + $scope.uploadTemplateFile = function () { + $scope.uploadFile( + $scope.templateFile.file, + function (response) { + $scope.stage = 2; + }, + function (response) { + alertError(response); + }, + function (e) { + $scope.templateFile.loadedSize = e.loaded; + $scope.templateFile.totalSize = e.total; + $scope.templateFile.progress = Math.min(100, parseInt(100.0 * e.loaded / e.total)); + } + ); + }; + + $scope.uploadDatasourceFile = function () { + $scope.uploadFile( + $scope.datasourceFile.file, + function () { + $scope.stage = 3; + }, + function (response) { + alertError(response); + }, + function (e) { + $scope.datasourceFile.loadedSize = e.loaded; + $scope.datasourceFile.totalSize = e.total; + $scope.datasourceFile.progress = Math.min(100, parseInt(100.0 * e.loaded / e.total)); + } + ); + }; + + $scope.assembleDocument = function () { + $http({ + method: "POST", + url: GROUPDOCS_ASSEMBLY_API_BASE + "Assemble?" + $.param({ + jid: $scope.jid, + templateFilename: $scope.templateFile.file.name, + datasourceFilename: $scope.datasourceFile.file.name, + assembledFilename: "assembled-" + $scope.templateFile.file.name, + datasourceName: $scope.datasourceName, + datasourceTableIndex: $scope.datasourceTableIndex, + }), + responseType: "application/json", + }).then( + function (response) { + window.location.href = GROUPDOCS_ASSEMBLY_API_BASE + "Download?" + $.param({ + jid: $scope.jid, + filename: response.data.filename, + }); + }, + function (response) { + alertError(response) + } + ); + }; + + $scope.uploadFile = function (file, success, error, progress) { + Upload.upload({ + url: GROUPDOCS_ASSEMBLY_API_BASE + "Upload?" + $.param({ + jid: $scope.jid, + }), + data: { + file: file, + } + }).then(success, error, progress); + }; + + } + + function randomString() { + return Math.random().toString(36).substring(2) + + Math.random().toString(36).substring(2) + + Math.random().toString(36).substring(2); + } + + function alertError(response) { + console.error("Error occurred while processing request.", response.data); + alert(response.data.Message + + " " + + response.data.ExceptionMessage + + "\n\n" + + "See console for details." + ); + } + + angular.module('GroupDocsAssemblyApp').controller('Main', main); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js new file mode 100644 index 0000000..fc03ce8 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.js @@ -0,0 +1,13 @@ +(function () { + 'use strict'; + + angular.module('GroupDocsAssemblyApp', [ + 'ngRoute', + 'ngMessages', + 'ngResource', + 'ngMaterial', + 'ngFileUpload' + ]).info({ + version: '1.0', + }); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js new file mode 100644 index 0000000..1d35561 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/app.run.js @@ -0,0 +1,9 @@ +(function () { + 'use strict'; + + function main($rootScope) { + } + + angular.module('GroupDocsAssemblyApp').run(main); + +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js new file mode 100644 index 0000000..e804df4 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/const.js @@ -0,0 +1,16 @@ +(function (window, location) { + "use strict"; + + switch (String(location.hostname)) { + case "products.groupdocs.app": + window.GROUPDOCS_ASSEMBLY_API_BASE = "/GroupDocsAPI/api/GroupDocsAssembly/"; + break; + case "products-qa.groupdocs.app": + window.GROUPDOCS_ASSEMBLY_API_BASE = "/GroupDocsAPI/api/GroupDocsAssembly/"; + break; + case "localhost": + window.GROUPDOCS_ASSEMBLY_API_BASE = "http://localhost:2122/api/GroupDocsAssembly/"; + break; + } +})(window, location); + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js new file mode 100644 index 0000000..9d9bb5e --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/menu.js @@ -0,0 +1,9 @@ +(function () { + $(document).ready(function () { + // if (window.location.hostname.startsWith('zh.')) { + // LoadMenu("GroupDocsApp", "Chinese"); + // } else { + LoadMenu("GroupDocsApp"); + // } + }); +})(); diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx new file mode 100644 index 0000000..7b338f5 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/sitemap.aspx @@ -0,0 +1,18 @@ +<%@ Page Language="C#" AutoEventWireup="true" ContentType="text/xml"%> + +<% + string[] extensions = "DOC DOCX DOT DOTX DOTM DOCM RTF XML XLS XLSX XLSM XLSB XLT XLTM XLTX PPT PPTX PPTM PPS PPSX PPSM POTX POTM EML EMLX MSG ODT OTT ODS ODP MHT MHTML HTML TXT".Split(' '); +%> + + + + + + https://products.groupdocs.app/assembly/total + 0.9 + + <%foreach (var e in extensions) { %> + https://products.groupdocs.app/assembly/<%= e.ToLower() %> + 0.9 + <% } %> + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css new file mode 100644 index 0000000..d3c4148 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/AssemblyApp/style.css @@ -0,0 +1,19 @@ +.navbar-inverse, .skin-inverse .navbar { + background-color: #000b1b; + border-color: #00040f +} + +#DynabicMenuInnerDiv .topheader { + z-index: 1000; +} + +.btn-group.saveformat +{ + margin-bottom: 10px; +} + +.btn-group.saveformat, +.btn-group.saveformat input { + width: 100px; +} + diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config new file mode 100644 index 0000000..de5e842 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Bundle.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs new file mode 100644 index 0000000..5c860a9 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/AppSettings.cs @@ -0,0 +1,41 @@ +using System; +using System.Data; +using System.Configuration; +using System.Web; +using System.IO; + +/// +/// Summary description for Configuration +/// +namespace GroupDocs.Assembly.Live.Demos.UI +{ + public static class AppSettings + { + private static string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6); // + "\\GroupDocs.Total.lic"; + + private static string _outputDirectory = path + ConfigurationManager.AppSettings["OutputDirectory"].ToString(); + private static string _workingDirectory = path + ConfigurationManager.AppSettings["WorkingDirectory"].ToString(); + private static string _storageDirectory = path + ConfigurationManager.AppSettings["StorageDirectory"].ToString(); + private static string _filesBaseDirectory = path + ConfigurationManager.AppSettings["FilesBaseDirectory"].ToString(); + + public static string OutputDirectory + { + get { return _outputDirectory; } + } + + public static string WorkingDirectory + { + get { return _workingDirectory; } + } + + public static string StorageDirectory + { + get { return _storageDirectory; } + } + + public static string FilesBaseDirectory + { + get { return _filesBaseDirectory.ToLower(); } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs new file mode 100644 index 0000000..15cb1be --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseMasterPage.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BaseMasterPage : MasterPage + { + private GroupDocsAppsContext _atContext; + + /// + /// Main context object to access all the SybContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atContext == null) _atContext = new GroupDocsAppsContext(HttpContext.Current); + return _atContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + + protected override void OnLoad(EventArgs e) + { + // Sync the central context store with the first loaded context for this page + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + base.OnLoad(e); + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs new file mode 100644 index 0000000..5c38663 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BasePage.cs @@ -0,0 +1,61 @@ +using System; +using System.Data; +using System.Web; +using GroupDocs.Assembly.Live.Demos.UI.Config; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BasePage : BaseRootPage + { + protected override void OnPreInit(EventArgs e) + { + + base.OnPreInit(e); + } + + protected override void OnLoad(EventArgs e) + { + if (!Page.IsPostBack) + { + if (String.IsNullOrEmpty(Page.Title)) + { + if (Resources != null) + { + Page.Title = Resources["ApplicationTitle"]; + } + } + } + base.OnLoad(e); + } + + protected string GetAsposeUnlockProduct(string fileName) + { + string asposeProduct = null; + + string ext = System.IO.Path.GetExtension(fileName).ToLower(); + + if (ext == ".pdf") + { + asposeProduct = "PDF"; + } + else if (ext == ".one") + { + asposeProduct = "Note"; + } + else if (".doc .docx .dot .dotx .odt .ott".Contains(ext)) + { + asposeProduct = "Words"; + } + else if (".xls .xlsx .xlsm .xlsb .ods".Contains(ext)) + { + asposeProduct = "Cells"; + } + else if (".ppt .pptx .odp".Contains(ext)) + { + asposeProduct = "Slides"; + } + + return asposeProduct; + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs new file mode 100644 index 0000000..82c0ab9 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseRootPage.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// The base page for all the other base page types, initializes access to the provider libraries and context + /// + public class BaseRootPage : Page + { + private GroupDocsAppsContext _atcContext; + + private static string _url; + + public static string URL + { + get { return _url; } + set { _url = "~/Default.aspx"; } + } + /// + /// Main context object to access all the dcContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atcContext == null) _atcContext = new GroupDocsAppsContext(HttpContext.Current); + return _atcContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + protected override void OnInit(EventArgs e) + { + // Initialize our base class (System.Web,UI.Page) + base.OnInit(e); + // Check to see if the Session is null (doesnt exist) + if (GroupDocsAppsContext.Session != null) + { + // Check the IsNewSession value, this will tell us if the session has been reset. + // IsNewSession will also let us know if the users session has timed out + if (Session.IsNewSession) + { + // Now we know it's a new session, so we check to see if a cookie is present + string cookie = Request.Headers["Cookie"]; + // Now we determine if there is a cookie does it contains what we're looking for + if ((null != cookie) && (cookie.IndexOf("ASP.NET_SessionId") >= 0)) + { + //since it's a new session but a ASP.Net cookie exist we know + //the session has expired so we need to redirect them + //if ((Request.RawUrl.ToString().IndexOf("Index.aspx") < 0) && (Request.RawUrl.ToString().IndexOf("User.aspx") < 0)) + //{ + // Response.Redirect("~/Default.aspx"); + //} + } + } + } + } + protected override void OnLoad(EventArgs e) + { + // Sync the central context store with the first loaded context for this page + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + base.OnLoad(e); + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs new file mode 100644 index 0000000..1dc858b --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/BaseUserControl.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.UI; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public class BaseUserControl : UserControl + { + private GroupDocsAppsContext _atcContext; + + /// + /// Main context object to access all the dcContent specific context info + /// + public GroupDocsAppsContext GroupDocsAppsContext + { + get + { + if (_atcContext == null) _atcContext = new GroupDocsAppsContext(HttpContext.Current); + return _atcContext; + } + } + + private Dictionary _resources; + + /// + /// key/value pair containing all the error messages defined in resources.xml file + /// + public Dictionary Resources + { + get + { + if (_resources == null) _resources = GroupDocsAppsContext.Resources; + return _resources; + } + } + + protected override void OnLoad(EventArgs e) + { + + GroupDocsAppsContext.atcc = GroupDocsAppsContext; + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs new file mode 100644 index 0000000..56b22da --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Configuration.cs @@ -0,0 +1,85 @@ +using System; +using System.Data; +using System.Configuration; +using System.Web; +using System.IO; + +/// +/// Summary description for Configuration +/// +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + public static class Configuration + { + private static string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6); // + "\\GroupDocs.Total.lic"; + + private static string _assetPath = path + ConfigurationManager.AppSettings["ASSETPATH"].ToString(); + private static string _appName = ConfigurationManager.AppSettings["AppName"].ToString(); + private static string _GroupDocsAppsAPIBasePath = ConfigurationManager.AppSettings["GroupDocsToolAPIBasePath"].ToString(); + private static int _smtpPort = int.Parse(ConfigurationManager.AppSettings["MailServerPort"].ToString()); + private static string _smtpServer = ConfigurationManager.AppSettings["MailServer"]; + private static string _fromEmailAddress = ConfigurationManager.AppSettings["FromAddress"]; + private static string _mailServerUserId = ConfigurationManager.AppSettings["MailServerUserId"]; + private static string _mailServerUserPassword = ConfigurationManager.AppSettings["MailServerPassword"]; + private static int _mailServerTimeOut = int.Parse(ConfigurationManager.AppSettings["SmtpTimeOut"].ToString()); + private static string _fileDownloadLink = ConfigurationManager.AppSettings["FileDownloadLink"]; + private static string _productsGroupDocsAppsURL = ConfigurationManager.AppSettings["ProductsGroupDocsAppsURL"]; + private static string _fileViewLink = ConfigurationManager.AppSettings["FileViewLink"]; + private static int _threadAbortSeconds = int.Parse(ConfigurationManager.AppSettings["ThreadAbortSeconds"].ToString()); + + public static string ProductsGroupDocsAppsURL + { + get { return _productsGroupDocsAppsURL; } + } + public static string FileDownloadLink + { + get { return _fileDownloadLink; } + set { _fileDownloadLink = value; } + } + public static int MailServerTimeOut + { + get { return _mailServerTimeOut; } + } + public static string AssetPath + { + get { return _assetPath; } + } + public static string AppName + { + get { return _appName; } + } + public static string GroupDocsAppsAPIBasePath + { + get { return _GroupDocsAppsAPIBasePath; } + set { _GroupDocsAppsAPIBasePath = value; } + } + public static int MailServerPort + { + get { return _smtpPort; } + } + public static string MailServer + { + get { return _smtpServer; } + } + public static string FromEmailAddress + { + get { return _fromEmailAddress; } + } + public static string MailServerUserId + { + get { return _mailServerUserId; } + } + public static string MailServerUserPassword + { + get { return _mailServerUserPassword; } + } + public static string FileViewLink + { + get { return _fileViewLink; } + } + public static int ThreadAbortSeconds + { + get { return _threadAbortSeconds; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs new file mode 100644 index 0000000..5db33fa --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/Context.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Web.Security; +using System.Web.Caching; +using System.Collections; +using System.Threading; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Base class for all context objects used in active application + /// + public abstract class Context + { + private HttpContext _context; + + /// + /// Creates a customized context extending specified http context hc + /// + /// + public Context(HttpContext hc) + { + _context = hc; + + //if (_context.applicationa != null) + //{ + // _host = _context.Request.Url.Host.ToLower(); + //} + //else + } + + /// + /// simple cache wrapper + /// + public Cache Cache + { + get { return _context.Cache; } + } + /// + /// simple session wrapper + /// + public System.Web.SessionState.HttpSessionState Session + { + get { return _context.Session; } + } + /// + /// Stores the specified key value pair in the cache indefinitely, removed only on application reset or explicit removal + /// + /// + /// + public void PermanentAddtoCache(string key, object value) + { + _context.Cache.Insert(key, value, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null); + } + + /// + /// key/value based storage for all the error messages picked up from resources.xml file + /// + protected Dictionary Resources + { + get + { + string sessionID = "GroupDocsApps" + _context.Request.Url.Host.Trim().Replace(".", ""); + return (Dictionary)Cache["R" + sessionID]; + } + } + /// + /// Simple cookie wrapper + /// + public HttpCookieCollection Cookies + { + get { return _context.Request.Cookies; } + } + + /// + /// Checks if the session is valid i.e. not expired + /// + protected bool IsValid + { + get { return _context.Session != null; } + } + + /// + /// Simple Application wrapper + /// + private HttpApplicationState Application + { + get { return _context.Application; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs new file mode 100644 index 0000000..cad8160 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/EmailManager.cs @@ -0,0 +1,139 @@ +using System; +using System.Data; +using System.Configuration; +using System.Collections; +using System.Web; +using System.Web.Security; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using System.Timers; +using System.Collections.Generic; +using System.Net.Mail; +using System.Net; +using System.IO; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// ///////////////This class is for managing sending emails process to users in case they forget thier Username or Password + /// + public class EmailManager + { + public EmailManager() + { + // + // TODO: Add constructor logic here + // + } + public static bool SendEmail(string toEmailAddress, string fromEmailAddress, string subject, string body, string CC) + { + SmtpClient smtp = new SmtpClient(); + MailMessage message = new MailMessage(); + try + { + message.To.Add(toEmailAddress); + message.From = new MailAddress(fromEmailAddress); + if(CC != "") + { + message.CC.Add(CC); + } + message.Subject = subject; + message.Body = body; + message.IsBodyHtml = true; + smtp.UseDefaultCredentials = false; + smtp.Host = Configuration.MailServer; + smtp.Port = Configuration.MailServerPort; + smtp.Timeout = Configuration.MailServerTimeOut; + + smtp.EnableSsl = true; + + smtp.Credentials = new NetworkCredential(Configuration.MailServerUserId, Configuration.MailServerUserPassword); + if (message.To.Count > 0) + { + smtp.Send(message); + } + + } + finally + { + message.Dispose(); + } + + return true; + } + public static bool SendEmailWithAttachment(string toEmailAddress, string fromEmailAddress, string subject, string body, string CC, string Certificates) + { + SmtpClient smtp = new SmtpClient(); + MailMessage message = new MailMessage(); + try + { + message.To.Add(toEmailAddress); + message.From = new MailAddress(fromEmailAddress); + if (CC != "") + { + message.CC.Add(CC); + } + message.Subject = subject; + message.Body = body; + message.IsBodyHtml = true; + smtp.UseDefaultCredentials = false; + smtp.Host = Configuration.MailServer; + smtp.Port = Configuration.MailServerPort; + smtp.Timeout = Configuration.MailServerTimeOut; + smtp.EnableSsl = true; + + if (Certificates != "") + { + message.Attachments.Add(new Attachment(Certificates)); + } + + smtp.Credentials = new NetworkCredential(Configuration.MailServerUserId, Configuration.MailServerUserPassword); + if (message.To.Count > 0) + { + smtp.Send(message); + } + + } + finally + { + message.Dispose(); + } + return true; + } + + public static string PopulateBody(string userName, string title, string url, string description, string featureDescription, string successMessage) + { + string body = string.Empty; + using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/App_Data/EmailTemplate.html"))) + { + body = reader.ReadToEnd(); + } + body = body.Replace("{UserName}", userName); + body = body.Replace("{Title}", title); + body = body.Replace("{Url}", url); + body = body.Replace("{Description}", description); + body = body.Replace("{FeatureDescription}", featureDescription); + body = body.Replace("{SuccessMessage}", successMessage); + return body; + } + + public static string PopulateEmailBody(string heading, string url, string successMessage) + { + string body = string.Empty; + using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/App_Data/TemplateEmail.html"))) + { + body = reader.ReadToEnd(); + } + body = body.Replace("{Heading}", heading); + body = body.Replace("{Url}", url); + body = body.Replace("{SuccessMessage}", successMessage); + body = body.Replace("{Year}", DateTime.Now.Year.ToString()); + + return body; + } + + } + +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs new file mode 100644 index 0000000..bba8bf0 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GlobalAppHelper.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Web; +using System.Xml; +using System.Web.Caching; +using System.IO; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Acts as a helper class for the website's global.asax file + /// + public class GlobalAppHelper + { + public GlobalAppHelper(HttpContext hc, HttpApplicationState appState, string SessionID, string language) + { + //if (GroupDocsAppsContext.Current == null) + GroupDocsAppsContext.atcc = new GroupDocsAppsContext(hc); // sync the context + + string ResourcesFile = hc.Server.MapPath("~/App_Data/resources_EN" + ".xml"); // reference all the extra info and resources files + if (language.Trim() != "") + { + string filPath = hc.Server.MapPath("~/App_Data/resources_" + language + ".xml"); + if (File.Exists(filPath)) + { + ResourcesFile = filPath; + } + } + + // Load info from all these files into the cache + initResources(ResourcesFile, SessionID); + } + /// + /// Reads/parses the resources file and loads them into the cache in form of a dictionary + /// + /// + private void initResources(string ResourcesFile, string SessionID) + { + SessionID = "R" + SessionID; + if (GroupDocsAppsContext.Current.Cache[SessionID] == null) + { + // Added to solve the file not found problem, the wait is one time only when the application initializes or associated files are modified + //System.Threading.Thread.Sleep(500); + Dictionary resources = new Dictionary(); + XmlDocument xd = new XmlDocument(); + // TextWriter tr = (TextWriter)File.CreateText("F:\\assets\\my.log");tr.WriteLine(ResourcesFile); + // tr.WriteLine(File.Exists(ResourcesFile)); tr.Close(); + if (ResourcesFile.Trim() != "") + { + xd.Load(ResourcesFile); + } + XmlNodeList xl = xd.SelectNodes("resources/res"); // use xpath to reach the res tag within resources + foreach (XmlNode n in xl) // read the name attribute for key name and values from in between the tags + resources.Add(n.Attributes["name"].Value, n.InnerText); + + // Add this dictionary into the cache with no expiration and associate a reload method in case of file change + + //GroupDocsAppsContext.Current.Cache.Remove(SessionID); + GroupDocsAppsContext.Current.Cache.Add( + SessionID, + resources, + new CacheDependency(ResourcesFile), + Cache.NoAbsoluteExpiration, + Cache.NoSlidingExpiration, + CacheItemPriority.NotRemovable, + delegate (string key, object value, CacheItemRemovedReason reason) { initResources(ResourcesFile, SessionID); }); + } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs new file mode 100644 index 0000000..5578c0d --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Config/GroupDocsToolsContext.cs @@ -0,0 +1,36 @@ +using System; +using System.Web; +using System.Text; +using System.Collections.Generic; +using System.Threading; + +namespace GroupDocs.Assembly.Live.Demos.UI.Config +{ + /// + /// Wrapper class for Words GroupDocs Apps context access to Pages and controls + /// + public class GroupDocsAppsContext : Context + { + /// + /// The context data is directly picked up from the Application Thread's data slots, this is required to share the context between + /// independent threads working for this application, e.g. AsyncHttpRequestHandlers and other assemblies as well, this will also + /// eliminate the need for extra copies and object cloning b/w assemblies + /// + /// + internal GroupDocsAppsContext(HttpContext hc) : base(hc) { Thread.SetData(Thread.GetNamedDataSlot("GroupDocsApps" + hc.Request.Url.Host.Trim().Replace(".", "") + "ContextSlot"), hc); } + private static GroupDocsAppsContext atc; + /// + /// Use for internal syncing of the context + /// + internal static GroupDocsAppsContext atcc { set { atc = value; } } + internal static GroupDocsAppsContext Current + { + get { return atc; } + } + + internal new Dictionary Resources + { + get { return base.Resources; } + } + } +} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css new file mode 100644 index 0000000..a9f8615 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/Site.css @@ -0,0 +1,31 @@ +/* Move down content because we have a fixed navbar that is 50px tall */ +body { + padding-top: 50px; + padding-bottom: 20px; +} + +/* Wrapping element */ +/* Set some basic padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; +} + +/* Set widths on the form inputs since otherwise they're 100% wide */ +input, +select, +textarea { + max-width: 280px; +} + + +/* Responsive: Portrait tablets and up */ +@media screen and (min-width: 768px) { + .jumbotron { + margin-top: 20px; + } + + .body-content { + padding: 0; + } +} diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css new file mode 100644 index 0000000..68b84f8 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css @@ -0,0 +1,3719 @@ +/*! + * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map new file mode 100644 index 0000000..db62f2f --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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vBQ;IHTR,gBAA8C;EF4vB9C;EKnvBQ;IHTR,uBAA8C;EF+vB9C;EKtvBQ;IHTR,uBAA8C;EFkwB9C;EKzvBQ;IHTR,gBAA8C;EFqwB9C;EK5vBQ;IHTR,uBAA8C;EFwwB9C;EK/vBQ;IHTR,uBAA8C;EF2wB9C;AACF;;AMlzBM;EAAwB,wBAA0B;ANszBxD;;AMtzBM;EAAwB,0BAA0B;AN0zBxD;;AM1zBM;EAAwB,gCAA0B;AN8zBxD;;AM9zBM;EAAwB,yBAA0B;ANk0BxD;;AMl0BM;EAAwB,yBAA0B;ANs0BxD;;AMt0BM;EAAwB,6BAA0B;AN00BxD;;AM10BM;EAAwB,8BAA0B;AN80BxD;;AM90BM;EAAwB,+BAA0B;EAA1B,wBAA0B;ANk1BxD;;AMl1BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANs1BxD;;AGryBI;EGjDE;IAAwB,wBAA0B;EN21BtD;EM31BI;IAAwB,0BAA0B;EN81BtD;EM91BI;IAAwB,gCAA0B;ENi2BtD;EMj2BI;IAAwB,yBAA0B;ENo2BtD;EMp2BI;IAAwB,yBAA0B;ENu2BtD;EMv2BI;IAAwB,6BAA0B;EN02BtD;EM12BI;IAAwB,8BAA0B;EN62BtD;EM72BI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENg3BtD;EMh3BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENm3BtD;AACF;;AGn0BI;EGjDE;IAAwB,wBAA0B;ENy3BtD;EMz3BI;IAAwB,0BAA0B;EN43BtD;EM53BI;IAAwB,gCAA0B;EN+3BtD;EM/3BI;IAAwB,yBAA0B;ENk4BtD;EMl4BI;IAAwB,yBAA0B;ENq4BtD;EMr4BI;IAAwB,6BAA0B;ENw4BtD;EMx4BI;IAAwB,8BAA0B;EN24BtD;EM34BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN84BtD;EM94BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENi5BtD;AACF;;AGj2BI;EGjDE;IAAwB,wBAA0B;ENu5BtD;EMv5BI;IAAwB,0BAA0B;EN05BtD;EM15BI;IAAwB,gCAA0B;EN65BtD;EM75BI;IAAwB,yBAA0B;ENg6BtD;EMh6BI;IAAwB,yBAA0B;ENm6BtD;EMn6BI;IAAwB,6BAA0B;EN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AEE,+BAAwC;ARgoDlD;;AQ9nDQ;;EAEE,gCAA0C;ARioDpD;;AQ/nDQ;;EAEE,8BAAsC;ARkoDhD;;AQjpDQ;EAAgC,uBAA4B;ARqpDpE;;AQppDQ;;EAEE,2BAAoC;ARupD9C;;AQrpDQ;;EAEE,6BAAwC;ARwpDlD;;AQtpDQ;;EAEE,8BAA0C;ARypDpD;;AQvpDQ;;EAEE,4BAAsC;AR0pDhD;;AQzqDQ;EAAgC,qBAA4B;AR6qDpE;;AQ5qDQ;;EAEE,yBAAoC;AR+qD9C;;AQ7qDQ;;EAEE,2BAAwC;ARgrDlD;;AQ9qDQ;;EAEE,4BAA0C;ARirDpD;;AQ/qDQ;;EAEE,0BAAsC;ARkrDhD;;AQjsDQ;EAAgC,2BAA4B;ARqsDpE;;AQpsDQ;;EAEE,+BAAoC;ARusD9C;;AQrsDQ;;EAEE,iCAAwC;ARwsDlD;;AQtsDQ;;EAEE,kCAA0C;ARysDpD;;AQvsDQ;;EAEE,gCAAsC;AR0sDhD;;AQztDQ;EAAgC,0BAA4B;AR6tDpE;;AQ5tDQ;;EAEE,8BAAoC;AR+tD9C;;AQ7tDQ;;EAEE,gCAAwC;ARguDlD;;AQ9tDQ;;EAEE,iCAA0C;ARiuDpD;;AQ/tDQ;;EAEE,+BAAsC;ARkuDhD;;AQjvDQ;EAAgC,wBAA4B;ARqvDpE;;AQpvDQ;;EAEE,4BAAoC;ARuvD9C;;AQrvDQ;;EAEE,8BAAwC;ARwvDlD;;AQtvDQ;;EAEE,+BAA0C;ARyvDpD;;AQvvDQ;;EAEE,6BAAsC;AR0vDhD;;AQzwDQ;EAAgC,0BAA4B;AR6wDpE;;AQ5wDQ;;EAEE,8BAAoC;AR+wD9C;;AQ7wDQ;;EAEE,gCAAwC;ARgxDlD;;AQ9wDQ;;EAEE,iCAA0C;ARixDpD;;AQ/wDQ;;EAEE,+BAAsC;ARkxDhD;;AQjyDQ;EAAgC,wBAA4B;ARqyDpE;;AQpyDQ;;EAEE,4BAAoC;ARuyD9C;;AQryDQ;;EAEE,8BAAwC;ARwyDlD;;AQtyDQ;;EAEE,+BAA0C;ARyyDpD;;AQvyDQ;;EAEE,6BAAsC;AR0yDhD;;AQlyDQ;EAAwB,2BAA2B;ARsyD3D;;AQryDQ;;EAEE,+BAA+B;ARwyDzC;;AQtyDQ;;EAEE,iCAAiC;ARyyD3C;;AQvyDQ;;EAEE,kCAAkC;AR0yD5C;;AQxyDQ;;EAEE,gCAAgC;AR2yD1C;;AQ1zDQ;EAAwB,0BAA2B;AR8zD3D;;AQ7zDQ;;EAEE,8BAA+B;ARg0DzC;;AQ9zDQ;;EAEE,gCAAiC;ARi0D3C;;AQ/zDQ;;EAEE,iCAAkC;ARk0D5C;;AQh0DQ;;EAEE,+BAAgC;ARm0D1C;;AQl1DQ;EAAwB,wBAA2B;ARs1D3D;;AQr1DQ;;EAEE,4BAA+B;ARw1DzC;;AQt1DQ;;EAEE,8BAAiC;ARy1D3C;;AQv1DQ;;EAEE,+BAAkC;AR01D5C;;AQx1DQ;;EAEE,6BAAgC;AR21D1C;;AQ12DQ;EAAwB,0BAA2B;AR82D3D;;AQ72DQ;;EAEE,8BAA+B;ARg3DzC;;AQ92DQ;;EAEE,gCAAiC;ARi3D3C;;AQ/2DQ;;EAEE,iCAAkC;ARk3D5C;;AQh3DQ;;EAEE,+BAAgC;ARm3D1C;;AQl4DQ;EAAwB,wBAA2B;ARs4D3D;;AQr4DQ;;EAEE,4BAA+B;ARw4DzC;;AQt4DQ;;EAEE,8BAAiC;ARy4D3C;;AQv4DQ;;EAEE,+BAAkC;AR04D5C;;AQx4DQ;;EAEE,6BAAgC;AR24D1C;;AQr4DI;EAAmB,uBAAuB;ARy4D9C;;AQx4DI;;EAEE,2BAA2B;AR24DjC;;AQz4DI;;EAEE,6BAA6B;AR44DnC;;AQ14DI;;EAEE,8BAA8B;AR64DpC;;AQ34DI;;EAEE,4BAA4B;AR84DlC;;AGv5DI;EKlDI;IAAgC,oBAA4B;ER88DlE;EQ78DM;;IAEE,wBAAoC;ER+8D5C;EQ78DM;;IAEE,0BAAwC;ER+8DhD;EQ78DM;;IAEE,2BAA0C;ER+8DlD;EQ78DM;;IAEE,yBAAsC;ER+8D9C;EQ99DM;IAAgC,0BAA4B;ERi+DlE;EQh+DM;;IAEE,8BAAoC;ERk+D5C;EQh+DM;;IAEE,gCAAwC;ERk+DhD;EQh+DM;;IAEE,iCAA0C;ERk+DlD;EQh+DM;;IAEE,+BAAsC;ERk+D9C;EQj/DM;IAAgC,yBAA4B;ERo/DlE;EQn/DM;;IAEE,6BAAoC;ERq/D5C;EQn/DM;;IAEE,+BAAwC;ERq/DhD;EQn/DM;;IAEE,gCAA0C;ERq/DlD;EQn/DM;;IAEE,8BAAsC;ERq/D9C;EQpgEM;IAAgC,uBAA4B;ERugElE;EQtgEM;;IAEE,2BAAoC;ERwgE5C;EQtgEM;;IAEE,6BAAwC;ERwgEhD;EQtgEM;;IAEE,8BAA0C;ERwgElD;EQtgEM;;IAEE,4BAAsC;ERwgE9C;EQvhEM;IAAgC,yBAA4B;ER0hElE;EQzhEM;;IAEE,6BAAoC;ER2hE5C;EQzhEM;;IAEE,+BAAwC;ER2hEhD;EQzhEM;;IAEE,gCAA0C;ER2hElD;EQzhEM;;IAEE,8BAAsC;ER2hE9C;EQ1iEM;IAAgC,uBAA4B;ER6iElE;EQ5iEM;;IAEE,2BAAoC;ER8iE5C;EQ5iEM;;IAEE,6BAAwC;ER8iEhD;EQ5iEM;;IAEE,8BAA0C;ER8iElD;EQ5iEM;;IAEE,4BAAsC;ER8iE9C;EQ7jEM;IAAgC,qBAA4B;ERgkElE;EQ/jEM;;IAEE,yBAAoC;ERikE5C;EQ/jEM;;IAEE,2BAAwC;ERikEhD;EQ/jEM;;IAEE,4BAA0C;ERikElD;EQ/jEM;;IAEE,0BAAsC;ERikE9C;EQhlEM;IAAgC,2BAA4B;ERmlElE;EQllEM;;IAEE,+BAAoC;ERolE5C;EQllEM;;IAEE,iCAAwC;ERolEhD;EQllEM;;IAEE,kCAA0C;ERolElD;EQllEM;;IAEE,gCAAsC;ERolE9C;EQnmEM;IAAgC,0BAA4B;ERsmElE;EQrmEM;;IAEE,8BAAoC;ERumE5C;EQrmEM;;IAEE,gCAAwC;ERumEhD;EQrmEM;;IAEE,iCAA0C;ERumElD;EQrmEM;;IAEE,+BAAsC;ERumE9C;EQtnEM;IAAgC,wBAA4B;ERynElE;EQxnEM;;IAEE,4BAAoC;ER0nE5C;EQxnEM;;IAEE,8BAAwC;ER0nEhD;EQxnEM;;IAEE,+BAA0C;ER0nElD;EQxnEM;;IAEE,6BAAsC;ER0nE9C;EQzoEM;IAAgC,0BAA4B;ER4oElE;EQ3oEM;;IAEE,8BAAoC;ER6oE5C;EQ3oEM;;IAEE,gCAAwC;ER6oEhD;EQ3oEM;;IAEE,iCAA0C;ER6oElD;EQ3oEM;;IAEE,+BAAsC;ER6oE9C;EQ5pEM;IAAgC,wBAA4B;ER+pElE;EQ9pEM;;IAEE,4BAAoC;ERgqE5C;EQ9pEM;;IAEE,8BAAwC;ERgqEhD;EQ9pEM;;IAEE,+BAA0C;ERgqElD;EQ9pEM;;IAEE,6BAAsC;ERgqE9C;EQxpEM;IAAwB,2BAA2B;ER2pEzD;EQ1pEM;;IAEE,+BAA+B;ER4pEvC;EQ1pEM;;IAEE,iCAAiC;ER4pEzC;EQ1pEM;;IAEE,kCAAkC;ER4pE1C;EQ1pEM;;IAEE,gCAAgC;ER4pExC;EQ3qEM;IAAwB,0BAA2B;ER8qEzD;EQ7qEM;;IAEE,8BAA+B;ER+qEvC;EQ7qEM;;IAEE,gCAAiC;ER+qEzC;EQ7qEM;;IAEE,iCAAkC;ER+qE1C;EQ7qEM;;IAEE,+BAAgC;ER+qExC;EQ9rEM;IAAwB,wBAA2B;ERisEzD;EQhsEM;;IAEE,4BAA+B;ERksEvC;EQhsEM;;IAEE,8BAAiC;ERksEzC;EQhsEM;;IAEE,+BAAkC;ERksE1C;EQhsEM;;IAEE,6BAAgC;ERksExC;EQjtEM;IAAwB,0BAA2B;ERotEzD;EQntEM;;IAEE,8BAA+B;ERqtEvC;EQntEM;;IAEE,gCAAiC;ERqtEzC;EQntEM;;IAEE,iCAAkC;ERqtE1C;EQntEM;;IAEE,+BAAgC;ERqtExC;EQpuEM;IAAwB,wBAA2B;ERuuEzD;EQtuEM;;IAEE,4BAA+B;ERwuEvC;EQtuEM;;IAEE,8BAAiC;ERwuEzC;EQtuEM;;IAEE,+BAAkC;ERwuE1C;EQtuEM;;IAEE,6BAAgC;ERwuExC;EQluEE;IAAmB,uBAAuB;ERquE5C;EQpuEE;;IAEE,2BAA2B;ERsuE/B;EQpuEE;;IAEE,6BAA6B;ERsuEjC;EQpuEE;;IAEE,8BAA8B;ERsuElC;EQpuEE;;IAEE,4BAA4B;ERsuEhC;AACF;;AGhvEI;EKlDI;IAAgC,oBAA4B;ERuyElE;EQtyEM;;IAEE,wBAAoC;ERwyE5C;EQtyEM;;IAEE,0BAAwC;ERwyEhD;EQtyEM;;IAEE,2BAA0C;ERwyElD;EQtyEM;;IAEE,yBAAsC;ERwyE9C;EQvzEM;IAAgC,0BAA4B;ER0zElE;EQzzEM;;IAEE,8BAAoC;ER2zE5C;EQzzEM;;IAEE,gCAAwC;ER2zEhD;EQzzEM;;IAEE,iCAA0C;ER2zElD;EQzzEM;;IAEE,+BAAsC;ER2zE9C;EQ10EM;IAAgC,yBAA4B;ER60ElE;EQ50EM;;IAEE,6BAAoC;ER80E5C;EQ50EM;;IAEE,+BAAwC;ER80EhD;EQ50EM;;IAEE,gCAA0C;ER80ElD;EQ50EM;;IAEE,8BAAsC;ER80E9C;EQ71EM;IAAgC,uBAA4B;ERg2ElE;EQ/1EM;;IAEE,2BAAoC;ERi2E5C;EQ/1EM;;IAEE,6BAAwC;ERi2EhD;EQ/1EM;;IAEE,8BAA0C;ERi2ElD;EQ/1EM;;IAEE,4BAAsC;ERi2E9C;EQh3EM;IAAgC,yBAA4B;ERm3ElE;EQl3EM;;IAEE,6BAAoC;ERo3E5C;EQl3EM;;IAEE,+BAAwC;ERo3EhD;EQl3EM;;IAEE,gCAA0C;ERo3ElD;EQl3EM;;IAEE,8BAAsC;ERo3E9C;EQn4EM;IAAgC,uBAA4B;ERs4ElE;EQr4EM;;IAEE,2BAAoC;ERu4E5C;EQr4EM;;IAEE,6BAAwC;ERu4EhD;EQr4EM;;IAEE,8BAA0C;ERu4ElD;EQr4EM;;IAEE,4BAAsC;ERu4E9C;EQt5EM;IAAgC,qBAA4B;ERy5ElE;EQx5EM;;IAEE,yBAAoC;ER05E5C;EQx5EM;;IAEE,2BAAwC;ER05EhD;EQx5EM;;IAEE,4BAA0C;ER05ElD;EQx5EM;;IAEE,0BAAsC;ER05E9C;EQz6EM;IAAgC,2BAA4B;ER46ElE;EQ36EM;;IAEE,+BAAoC;ER66E5C;EQ36EM;;IAEE,iCAAwC;ER66EhD;EQ36EM;;IAEE,kCAA0C;ER66ElD;EQ36EM;;IAEE,gCAAsC;ER66E9C;EQ57EM;IAAgC,0BAA4B;ER+7ElE;EQ97EM;;IAEE,8BAAoC;ERg8E5C;EQ97EM;;IAEE,gCAAwC;ERg8EhD;EQ97EM;;IAEE,iCAA0C;ERg8ElD;EQ97EM;;IAEE,+BAAsC;ERg8E9C;EQ/8EM;IAAgC,wBAA4B;ERk9ElE;EQj9EM;;IAEE,4BAAoC;ERm9E5C;EQj9EM;;IAEE,8BAAwC;ERm9EhD;EQj9EM;;IAEE,+BAA0C;ERm9ElD;EQj9EM;;IAEE,6BAAsC;ERm9E9C;EQl+EM;IAAgC,0BAA4B;ERq+ElE;EQp+EM;;IAEE,8BAAoC;ERs+E5C;EQp+EM;;IAEE,gCAAwC;ERs+EhD;EQp+EM;;IAEE,iCAA0C;ERs+ElD;EQp+EM;;IAEE,+BAAsC;ERs+E9C;EQr/EM;IAAgC,wBAA4B;ERw/ElE;EQv/EM;;IAEE,4BAAoC;ERy/E5C;EQv/EM;;IAEE,8BAAwC;ERy/EhD;EQv/EM;;IAEE,+BAA0C;ERy/ElD;EQv/EM;;IAEE,6BAAsC;ERy/E9C;EQj/EM;IAAwB,2BAA2B;ERo/EzD;EQn/EM;;IAEE,+BAA+B;ERq/EvC;EQn/EM;;IAEE,iCAAiC;ERq/EzC;EQn/EM;;IAEE,kCAAkC;ERq/E1C;EQn/EM;;IAEE,gCAAgC;ERq/ExC;EQpgFM;IAAwB,0BAA2B;ERugFzD;EQtgFM;;IAEE,8BAA+B;ERwgFvC;EQtgFM;;IAEE,gCAAiC;ERwgFzC;EQtgFM;;IAEE,iCAAkC;ERwgF1C;EQtgFM;;IAEE,+BAAgC;ERwgFxC;EQvhFM;IAAwB,wBAA2B;ER0hFzD;EQzhFM;;IAEE,4BAA+B;ER2hFvC;EQzhFM;;IAEE,8BAAiC;ER2hFzC;EQzhFM;;IAEE,+BAAkC;ER2hF1C;EQzhFM;;IAEE,6BAAgC;ER2hFxC;EQ1iFM;IAAwB,0BAA2B;ER6iFzD;EQ5iFM;;IAEE,8BAA+B;ER8iFvC;EQ5iFM;;IAEE,gCAAiC;ER8iFzC;EQ5iFM;;IAEE,iCAAkC;ER8iF1C;EQ5iFM;;IAEE,+BAAgC;ER8iFxC;EQ7jFM;IAAwB,wBAA2B;ERgkFzD;EQ/jFM;;IAEE,4BAA+B;ERikFvC;EQ/jFM;;IAEE,8BAAiC;ERikFzC;EQ/jFM;;IAEE,+BAAkC;ERikF1C;EQ/jFM;;IAEE,6BAAgC;ERikFxC;EQ3jFE;IAAmB,uBAAuB;ER8jF5C;EQ7jFE;;IAEE,2BAA2B;ER+jF/B;EQ7jFE;;IAEE,6BAA6B;ER+jFjC;EQ7jFE;;IAEE,8BAA8B;ER+jFlC;EQ7jFE;;IAEE,4BAA4B;ER+jFhC;AACF;;AGzkFI;EKlDI;IAAgC,oBAA4B;ERgoFlE;EQ/nFM;;IAEE,wBAAoC;ERioF5C;EQ/nFM;;IAEE,0BAAwC;ERioFhD;EQ/nFM;;IAEE,2BAA0C;ERioFlD;EQ/nFM;;IAEE,yBAAsC;ERioF9C;EQhpFM;IAAgC,0BAA4B;ERmpFlE;EQlpFM;;IAEE,8BAAoC;ERopF5C;EQlpFM;;IAEE,gCAAwC;ERopFhD;EQlpFM;;IAEE,iCAA0C;ERopFlD;EQlpFM;;IAEE,+BAAsC;ERopF9C;EQnqFM;IAAgC,yBAA4B;ERsqFlE;EQrqFM;;IAEE,6BAAoC;ERuqF5C;EQrqFM;;IAEE,+BAAwC;ERuqFhD;EQrqFM;;IAEE,gCAA0C;ERuqFlD;EQrqFM;;IAEE,8BAAsC;ERuqF9C;EQtrFM;IAAgC,uBAA4B;ERyrFlE;EQxrFM;;IAEE,2BAAoC;ER0rF5C;EQxrFM;;IAEE,6BAAwC;ER0rFhD;EQxrFM;;IAEE,8BAA0C;ER0rFlD;EQxrFM;;IAEE,4BAAsC;ER0rF9C;EQzsFM;IAAgC,yBAA4B;ER4sFlE;EQ3sFM;;IAEE,6BAAoC;ER6sF5C;EQ3sFM;;IAEE,+BAAwC;ER6sFhD;EQ3sFM;;IAEE,gCAA0C;ER6sFlD;EQ3sFM;;IAEE,8BAAsC;ER6sF9C;EQ5tFM;IAAgC,uBAA4B;ER+tFlE;EQ9tFM;;IAEE,2BAAoC;ERguF5C;EQ9tFM;;IAEE,6BAAwC;ERguFhD;EQ9tFM;;IAEE,8BAA0C;ERguFlD;EQ9tFM;;IAEE,4BAAsC;ERguF9C;EQ/uFM;IAAgC,qBAA4B;ERkvFlE;EQjvFM;;IAEE,yBAAoC;ERmvF5C;EQjvFM;;IAEE,2BAAwC;ERmvFhD;EQjvFM;;IAEE,4BAA0C;ERmvFlD;EQjvFM;;IAEE,0BAAsC;ERmvF9C;EQlwFM;IAAgC,2BAA4B;ERqwFlE;EQpwFM;;IAEE,+BAAoC;ERswF5C;EQpwFM;;IAEE,iCAAwC;ERswFhD;EQpwFM;;IAEE,kCAA0C;ERswFlD;EQpwFM;;IAEE,gCAAsC;ERswF9C;EQrxFM;IAAgC,0BAA4B;ERwxFlE;EQvxFM;;IAEE,8BAAoC;ERyxF5C;EQvxFM;;IAEE,gCAAwC;ERyxFhD;EQvxFM;;IAEE,iCAA0C;ERyxFlD;EQvxFM;;IAEE,+BAAsC;ERyxF9C;EQxyFM;IAAgC,wBAA4B;ER2yFlE;EQ1yFM;;IAEE,4BAAoC;ER4yF5C;EQ1yFM;;IAEE,8BAAwC;ER4yFhD;EQ1yFM;;IAEE,+BAA0C;ER4yFlD;EQ1yFM;;IAEE,6BAAsC;ER4yF9C;EQ3zFM;IAAgC,0BAA4B;ER8zFlE;EQ7zFM;;IAEE,8BAAoC;ER+zF5C;EQ7zFM;;IAEE,gCAAwC;ER+zFhD;EQ7zFM;;IAEE,iCAA0C;ER+zFlD;EQ7zFM;;IAEE,+BAAsC;ER+zF9C;EQ90FM;IAAgC,wBAA4B;ERi1FlE;EQh1FM;;IAEE,4BAAoC;ERk1F5C;EQh1FM;;IAEE,8BAAwC;ERk1FhD;EQh1FM;;IAEE,+BAA0C;ERk1FlD;EQh1FM;;IAEE,6BAAsC;ERk1F9C;EQ10FM;IAAwB,2BAA2B;ER60FzD;EQ50FM;;IAEE,+BAA+B;ER80FvC;EQ50FM;;IAEE,iCAAiC;ER80FzC;EQ50FM;;IAEE,kCAAkC;ER80F1C;EQ50FM;;IAEE,gCAAgC;ER80FxC;EQ71FM;IAAwB,0BAA2B;ERg2FzD;EQ/1FM;;IAEE,8BAA+B;ERi2FvC;EQ/1FM;;IAEE,gCAAiC;ERi2FzC;EQ/1FM;;IAEE,iCAAkC;ERi2F1C;EQ/1FM;;IAEE,+BAAgC;ERi2FxC;EQh3FM;IAAwB,wBAA2B;ERm3FzD;EQl3FM;;IAEE,4BAA+B;ERo3FvC;EQl3FM;;IAEE,8BAAiC;ERo3FzC;EQl3FM;;IAEE,+BAAkC;ERo3F1C;EQl3FM;;IAEE,6BAAgC;ERo3FxC;EQn4FM;IAAwB,0BAA2B;ERs4FzD;EQr4FM;;IAEE,8BAA+B;ERu4FvC;EQr4FM;;IAEE,gCAAiC;ERu4FzC;EQr4FM;;IAEE,iCAAkC;ERu4F1C;EQr4FM;;IAEE,+BAAgC;ERu4FxC;EQt5FM;IAAwB,wBAA2B;ERy5FzD;EQx5FM;;IAEE,4BAA+B;ER05FvC;EQx5FM;;IAEE,8BAAiC;ER05FzC;EQx5FM;;IAEE,+BAAkC;ER05F1C;EQx5FM;;IAEE,6BAAgC;ER05FxC;EQp5FE;IAAmB,uBAAuB;ERu5F5C;EQt5FE;;IAEE,2BAA2B;ERw5F/B;EQt5FE;;IAEE,6BAA6B;ERw5FjC;EQt5FE;;IAEE,8BAA8B;ERw5FlC;EQt5FE;;IAEE,4BAA4B;ERw5FhC;AACF;;AGl6FI;EKlDI;IAAgC,oBAA4B;ERy9FlE;EQx9FM;;IAEE,wBAAoC;ER09F5C;EQx9FM;;IAEE,0BAAwC;ER09FhD;EQx9FM;;IAEE,2BAA0C;ER09FlD;EQx9FM;;IAEE,yBAAsC;ER09F9C;EQz+FM;IAAgC,0BAA4B;ER4+FlE;EQ3+FM;;IAEE,8BAAoC;ER6+F5C;EQ3+FM;;IAEE,gCAAwC;ER6+FhD;EQ3+FM;;IAEE,iCAA0C;ER6+FlD;EQ3+FM;;IAEE,+BAAsC;ER6+F9C;EQ5/FM;IAAgC,yBAA4B;ER+/FlE;EQ9/FM;;IAEE,6BAAoC;ERggG5C;EQ9/FM;;IAEE,+BAAwC;ERggGhD;EQ9/FM;;IAEE,gCAA0C;ERggGlD;EQ9/FM;;IAEE,8BAAsC;ERggG9C;EQ/gGM;IAAgC,uBAA4B;ERkhGlE;EQjhGM;;IAEE,2BAAoC;ERmhG5C;EQjhGM;;IAEE,6BAAwC;ERmhGhD;EQjhGM;;IAEE,8BAA0C;ERmhGlD;EQjhGM;;IAEE,4BAAsC;ERmhG9C;EQliGM;IAAgC,yBAA4B;ERqiGlE;EQpiGM;;IAEE,6BAAoC;ERsiG5C;EQpiGM;;IAEE,+BAAwC;ERsiGhD;EQpiGM;;IAEE,gCAA0C;ERsiGlD;EQpiGM;;IAEE,8BAAsC;ERsiG9C;EQrjGM;IAAgC,uBAA4B;ERwjGlE;EQvjGM;;IAEE,2BAAoC;ERyjG5C;EQvjGM;;IAEE,6BAAwC;ERyjGhD;EQvjGM;;IAEE,8BAA0C;ERyjGlD;EQvjGM;;IAEE,4BAAsC;ERyjG9C;EQxkGM;IAAgC,qBAA4B;ER2kGlE;EQ1kGM;;IAEE,yBAAoC;ER4kG5C;EQ1kGM;;IAEE,2BAAwC;ER4kGhD;EQ1kGM;;IAEE,4BAA0C;ER4kGlD;EQ1kGM;;IAEE,0BAAsC;ER4kG9C;EQ3lGM;IAAgC,2BAA4B;ER8lGlE;EQ7lGM;;IAEE,+BAAoC;ER+lG5C;EQ7lGM;;IAEE,iCAAwC;ER+lGhD;EQ7lGM;;IAEE,kCAA0C;ER+lGlD;EQ7lGM;;IAEE,gCAAsC;ER+lG9C;EQ9mGM;IAAgC,0BAA4B;ERinGlE;EQhnGM;;IAEE,8BAAoC;ERknG5C;EQhnGM;;IAEE,gCAAwC;ERknGhD;EQhnGM;;IAEE,iCAA0C;ERknGlD;EQhnGM;;IAEE,+BAAsC;ERknG9C;EQjoGM;IAAgC,wBAA4B;ERooGlE;EQnoGM;;IAEE,4BAAoC;ERqoG5C;EQnoGM;;IAEE,8BAAwC;ERqoGhD;EQnoGM;;IAEE,+BAA0C;ERqoGlD;EQnoGM;;IAEE,6BAAsC;ERqoG9C;EQppGM;IAAgC,0BAA4B;ERupGlE;EQtpGM;;IAEE,8BAAoC;ERwpG5C;EQtpGM;;IAEE,gCAAwC;ERwpGhD;EQtpGM;;IAEE,iCAA0C;ERwpGlD;EQtpGM;;IAEE,+BAAsC;ERwpG9C;EQvqGM;IAAgC,wBAA4B;ER0qGlE;EQzqGM;;IAEE,4BAAoC;ER2qG5C;EQzqGM;;IAEE,8BAAwC;ER2qGhD;EQzqGM;;IAEE,+BAA0C;ER2qGlD;EQzqGM;;IAEE,6BAAsC;ER2qG9C;EQnqGM;IAAwB,2BAA2B;ERsqGzD;EQrqGM;;IAEE,+BAA+B;ERuqGvC;EQrqGM;;IAEE,iCAAiC;ERuqGzC;EQrqGM;;IAEE,kCAAkC;ERuqG1C;EQrqGM;;IAEE,gCAAgC;ERuqGxC;EQtrGM;IAAwB,0BAA2B;ERyrGzD;EQxrGM;;IAEE,8BAA+B;ER0rGvC;EQxrGM;;IAEE,gCAAiC;ER0rGzC;EQxrGM;;IAEE,iCAAkC;ER0rG1C;EQxrGM;;IAEE,+BAAgC;ER0rGxC;EQzsGM;IAAwB,wBAA2B;ER4sGzD;EQ3sGM;;IAEE,4BAA+B;ER6sGvC;EQ3sGM;;IAEE,8BAAiC;ER6sGzC;EQ3sGM;;IAEE,+BAAkC;ER6sG1C;EQ3sGM;;IAEE,6BAAgC;ER6sGxC;EQ5tGM;IAAwB,0BAA2B;ER+tGzD;EQ9tGM;;IAEE,8BAA+B;ERguGvC;EQ9tGM;;IAEE,gCAAiC;ERguGzC;EQ9tGM;;IAEE,iCAAkC;ERguG1C;EQ9tGM;;IAEE,+BAAgC;ERguGxC;EQ/uGM;IAAwB,wBAA2B;ERkvGzD;EQjvGM;;IAEE,4BAA+B;ERmvGvC;EQjvGM;;IAEE,8BAAiC;ERmvGzC;EQjvGM;;IAEE,+BAAkC;ERmvG1C;EQjvGM;;IAEE,6BAAgC;ERmvGxC;EQ7uGE;IAAmB,uBAAuB;ERgvG5C;EQ/uGE;;IAEE,2BAA2B;ERivG/B;EQ/uGE;;IAEE,6BAA6B;ERivGjC;EQ/uGE;;IAEE,8BAA8B;ERivGlC;EQ/uGE;;IAEE,4BAA4B;ERivGhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' 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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css new file mode 100644 index 0000000..e5e74f7 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map new file mode 100644 index 0000000..13e33db --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css new file mode 100644 index 0000000..09cf986 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css @@ -0,0 +1,331 @@ +/*! + * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +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; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map new file mode 100644 index 0000000..d0b0f02 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

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

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

    `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' 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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css new file mode 100644 index 0000000..c804b3b --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[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}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..73f4a19 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

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

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

    `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css new file mode 100644 index 0000000..8f47589 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css @@ -0,0 +1,10038 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +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; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + 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::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + 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; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + 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; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + 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; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .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; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .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; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + 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:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .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 { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + 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:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + 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) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + 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) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: 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) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + 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 > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + 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 > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + 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 > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + 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 > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + 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 > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -ms-flexbox; + display: flex; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card: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; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +.accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +.accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card .card-header { + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + 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) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + 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: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + 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.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; +} + +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:last-child { + margin-bottom: -1px; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + 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.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 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); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 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; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + 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: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-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; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + 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: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map new file mode 100644 index 0000000..7eb1581 --- /dev/null +++ b/Demos/src/GroupDocs.Assembly.Live.Demos.UI/Content/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AF7G1B;;AAEA;EEmHE,wBAAwB;AFjH1B;;AEyHA;EACE,aAAa;EACb,0BAA0B;AFtH5B;;AE6HA;EACE,qBAAqB;AF1HvB;;AE6HA;EACE,kBAAkB;EAClB,eAAe;AF1HjB;;AE6HA;EACE,aAAa;AF1Hf;;AAEA;EE8HE,wBAAwB;AF5H1B;;AM/VA;;EAEE,qBHiSuC;EG/RvC,gBHiS+B;EGhS/B,gBHiS+B;AHgEjC;;AM7VA;EFgHM,iBAtCY;AJuRlB;;AMhWA;EF+GM,eAtCY;AJ2RlB;;AMnWA;EF8GM,kBAtCY;AJ+RlB;;AMtWA;EF6GM,iBAtCY;AJmSlB;;AMzWA;EF4GM,kBAtCY;AJuSlB;;AM5WA;EF2GM,eAtCY;AJ2SlB;;AM9WA;EFyGM,kBAtCY;EEjEhB,gBHmS+B;AH8EjC;;AM7WA;EFmGM,eAtCY;EE3DhB,gBHsR+B;EGrR/B,gBH6Q+B;AHmGjC;;AM9WA;EF8FM,iBAtCY;EEtDhB,gBHkR+B;EGjR/B,gBHwQ+B;AHyGjC;;AM/WA;EFyFM,iBAtCY;EEjDhB,gBH8Q+B;EG7Q/B,gBHmQ+B;AH+GjC;;AMhXA;EFoFM,iBAtCY;EE5ChB,gBH0Q+B;EGzQ/B,gBH8P+B;AHqHjC;;AE1VA;EIhBE,gBH0EW;EGzEX,mBHyEW;EGxEX,SAAS;EACT,wCHzCa;AHuZf;;AMtWA;;EFMI,cAAW;EEHb,gBHsN+B;AHmJjC;;AMtWA;;EAEE,cH8PgC;EG7PhC,yBHsQmC;AHmGrC;;AMjWA;EC/EE,eAAe;EACf,gBAAgB;APoblB;;AMjWA;ECpFE,eAAe;EACf,gBAAgB;APyblB;;AMnWA;EACE,qBAAqB;ANsWvB;;AMvWA;EAII,oBHgP+B;AHuHnC;;AM7VA;EFjCI,cAAW;EEmCb,yBAAyB;ANgW3B;;AM5VA;EACE,mBHiBW;ECFP,kBAtCY;AJuXlB;;AM5VA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHyclB;;AMlWA;EAMI,qBAAqB;ANgWzB;;AQndA;ECIE,eAAe;EAGf,YAAY;ATidd;;AQldA;EACE,gBL++BwC;EK9+BxC,sBLRa;EKSb,yBLNgB;EOLd,sBPqOgC;EM/NlC,eAAe;EAGf,YAAY;AT0dd;;AQ5cA;EAEE,qBAAqB;AR8cvB;;AQ3cA;EACE,qBAA0B;EAC1B,cAAc;AR8chB;;AQ3cA;EJkCI,cAAW;EIhCb,cL3BgB;AHyelB;;AWrfA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,sBAAsB;AXwfxB;;AWrfE;EACE,cAAc;AXwflB;;AWnfA;EACE,sBRikCuC;ECvgCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOXd,qBPuO+B;AH4RnC;;AW3fA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRoQ6B;AHkPjC;;AE7SA;ESlME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AHogBlB;;AWtfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AXmftB;;AW9eA;EACE,iBRwiCuC;EQviCvC,kBAAkB;AXifpB;;AY1hBE;ECAA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8hBnB;;Ac3eI;EFvDF;ICYI,gBV8LK;EH6VT;AACF;;AcjfI;EFvDF;ICYI,gBV+LK;EHkWT;AACF;;AcvfI;EFvDF;ICYI,gBVgMK;EHuWT;AACF;;Ac7fI;EFvDF;ICYI,iBViMM;EH4WV;AACF;;AY9iBE;ECZA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab8jBnB;;AY5iBE;ECJA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbojB3B;;AY7iBE;EACE,eAAe;EACf,cAAc;AZgjBlB;;AYljBE;;EAMI,gBAAgB;EAChB,eAAe;AZijBrB;;AellBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af0lB7B;;AevkBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;Af0kBvB;;AexkBM;EACE,kBAAc;EAAd,cAAc;EACd,WAAW;EACX,eAAe;Af2kBvB;;AevkBQ;EFFN,uBAAsC;EAAtC,mBAAsC;EAItC,oBAAuC;Ab0kBzC;;Ae5kBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab+kBzC;;AejlBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbolBzC;;AetlBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbylBzC;;Ae3lBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab8lBzC;;AehmBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbmmBzC;;AermBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbwmBzC;;Ae1mBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab6mBzC;;Ae/mBQ;EFFN,iBAAsC;EAAtC,aAAsC;EAItC,cAAuC;AbknBzC;;AepnBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;AbunBzC;;AeznBQ;EFFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;Ab4nBzC;;Ae9nBQ;EFFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;AbioBzC;;Ae9nBM;EAAwB,kBAAS;EAAT,SAAS;AfkoBvC;;AehoBM;EAAuB,kBZ2KG;EY3KH,SZ2KG;AHydhC;;AejoBQ;EAAwB,iBADZ;EACY,QADZ;AfsoBpB;;AeroBQ;EAAwB,iBADZ;EACY,QADZ;Af0oBpB;;AezoBQ;EAAwB,iBADZ;EACY,QADZ;Af8oBpB;;Ae7oBQ;EAAwB,iBADZ;EACY,QADZ;AfkpBpB;;AejpBQ;EAAwB,iBADZ;EACY,QADZ;AfspBpB;;AerpBQ;EAAwB,iBADZ;EACY,QADZ;Af0pBpB;;AezpBQ;EAAwB,iBADZ;EACY,QADZ;Af8pBpB;;Ae7pBQ;EAAwB,iBADZ;EACY,QADZ;AfkqBpB;;AejqBQ;EAAwB,iBADZ;EACY,QADZ;AfsqBpB;;AerqBQ;EAAwB,iBADZ;EACY,QADZ;Af0qBpB;;AezqBQ;EAAwB,kBADZ;EACY,SADZ;Af8qBpB;;Ae7qBQ;EAAwB,kBADZ;EACY,SADZ;AfkrBpB;;AejrBQ;EAAwB,kBADZ;EACY,SADZ;AfsrBpB;;Ae/qBU;EFTR,sBAA8C;Ab4rBhD;;AenrBU;EFTR,uBAA8C;AbgsBhD;;AevrBU;EFTR,gBAA8C;AbosBhD;;Ae3rBU;EFTR,uBAA8C;AbwsBhD;;Ae/rBU;EFTR,uBAA8C;Ab4sBhD;;AensBU;EFTR,gBAA8C;AbgtBhD;;AevsBU;EFTR,uBAA8C;AbotBhD;;Ae3sBU;EFTR,uBAA8C;AbwtBhD;;Ae/sBU;EFTR,gBAA8C;Ab4tBhD;;AentBU;EFTR,uBAA8C;AbguBhD;;AevtBU;EFTR,uBAA8C;AbouBhD;;AcztBI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Ef2vBrB;EezvBI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Ef2vBrB;EevvBM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbyvBvC;Ee3vBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6vBvC;Ee/vBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbiwBvC;EenwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqwBvC;EevwBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbywBvC;Ee3wBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6wBvC;Ee/wBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbixBvC;EenxBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqxBvC;EevxBM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyxBvC;Ee3xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6xBvC;Ee/xBM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiyBvC;EenyBM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbqyBvC;EelyBI;IAAwB,kBAAS;IAAT,SAAS;EfqyBrC;EenyBI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EH2nB9B;EenyBM;IAAwB,iBADZ;IACY,QADZ;EfuyBlB;EetyBM;IAAwB,iBADZ;IACY,QADZ;Ef0yBlB;EezyBM;IAAwB,iBADZ;IACY,QADZ;Ef6yBlB;Ee5yBM;IAAwB,iBADZ;IACY,QADZ;EfgzBlB;Ee/yBM;IAAwB,iBADZ;IACY,QADZ;EfmzBlB;EelzBM;IAAwB,iBADZ;IACY,QADZ;EfszBlB;EerzBM;IAAwB,iBADZ;IACY,QADZ;EfyzBlB;EexzBM;IAAwB,iBADZ;IACY,QADZ;Ef4zBlB;Ee3zBM;IAAwB,iBADZ;IACY,QADZ;Ef+zBlB;Ee9zBM;IAAwB,iBADZ;IACY,QADZ;Efk0BlB;Eej0BM;IAAwB,kBADZ;IACY,SADZ;Efq0BlB;Eep0BM;IAAwB,kBADZ;IACY,SADZ;Efw0BlB;Eev0BM;IAAwB,kBADZ;IACY,SADZ;Ef20BlB;Eep0BQ;IFTR,cAA4B;Ebg1B5B;Eev0BQ;IFTR,sBAA8C;Ebm1B9C;Ee10BQ;IFTR,uBAA8C;Ebs1B9C;Ee70BQ;IFTR,gBAA8C;Eby1B9C;Eeh1BQ;IFTR,uBAA8C;Eb41B9C;Een1BQ;IFTR,uBAA8C;Eb+1B9C;Eet1BQ;IFTR,gBAA8C;Ebk2B9C;Eez1BQ;IFTR,uBAA8C;Ebq2B9C;Ee51BQ;IFTR,uBAA8C;Ebw2B9C;Ee/1BQ;IFTR,gBAA8C;Eb22B9C;Eel2BQ;IFTR,uBAA8C;Eb82B9C;Eer2BQ;IFTR,uBAA8C;Ebi3B9C;AACF;;Acv2BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;Efy4BrB;Eev4BI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;Efy4BrB;Eer4BM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;Ebu4BvC;Eez4BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb24BvC;Ee74BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb+4BvC;Eej5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm5BvC;Eer5BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebu5BvC;Eez5BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb25BvC;Ee75BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+5BvC;Eej6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Ebm6BvC;Eer6BM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Ebu6BvC;Eez6BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb26BvC;Ee76BM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+6BvC;Eej7BM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Ebm7BvC;Eeh7BI;IAAwB,kBAAS;IAAT,SAAS;Efm7BrC;Eej7BI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHywB9B;Eej7BM;IAAwB,iBADZ;IACY,QADZ;Efq7BlB;Eep7BM;IAAwB,iBADZ;IACY,QADZ;Efw7BlB;Eev7BM;IAAwB,iBADZ;IACY,QADZ;Ef27BlB;Ee17BM;IAAwB,iBADZ;IACY,QADZ;Ef87BlB;Ee77BM;IAAwB,iBADZ;IACY,QADZ;Efi8BlB;Eeh8BM;IAAwB,iBADZ;IACY,QADZ;Efo8BlB;Een8BM;IAAwB,iBADZ;IACY,QADZ;Efu8BlB;Eet8BM;IAAwB,iBADZ;IACY,QADZ;Ef08BlB;Eez8BM;IAAwB,iBADZ;IACY,QADZ;Ef68BlB;Ee58BM;IAAwB,iBADZ;IACY,QADZ;Efg9BlB;Ee/8BM;IAAwB,kBADZ;IACY,SADZ;Efm9BlB;Eel9BM;IAAwB,kBADZ;IACY,SADZ;Efs9BlB;Eer9BM;IAAwB,kBADZ;IACY,SADZ;Efy9BlB;Eel9BQ;IFTR,cAA4B;Eb89B5B;Eer9BQ;IFTR,sBAA8C;Ebi+B9C;Eex9BQ;IFTR,uBAA8C;Ebo+B9C;Ee39BQ;IFTR,gBAA8C;Ebu+B9C;Ee99BQ;IFTR,uBAA8C;Eb0+B9C;Eej+BQ;IFTR,uBAA8C;Eb6+B9C;Eep+BQ;IFTR,gBAA8C;Ebg/B9C;Eev+BQ;IFTR,uBAA8C;Ebm/B9C;Ee1+BQ;IFTR,uBAA8C;Ebs/B9C;Ee7+BQ;IFTR,gBAA8C;Eby/B9C;Eeh/BQ;IFTR,uBAA8C;Eb4/B9C;Een/BQ;IFTR,uBAA8C;Eb+/B9C;AACF;;Acr/BI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfuhCrB;EerhCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfuhCrB;EenhCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbqhCvC;EevhCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyhCvC;Ee3hCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb6hCvC;Ee/hCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbiiCvC;EeniCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbqiCvC;EeviCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbyiCvC;Ee3iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6iCvC;Ee/iCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbijCvC;EenjCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbqjCvC;EevjCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbyjCvC;Ee3jCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb6jCvC;Ee/jCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;EbikCvC;Ee9jCI;IAAwB,kBAAS;IAAT,SAAS;EfikCrC;Ee/jCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHu5B9B;Ee/jCM;IAAwB,iBADZ;IACY,QADZ;EfmkClB;EelkCM;IAAwB,iBADZ;IACY,QADZ;EfskClB;EerkCM;IAAwB,iBADZ;IACY,QADZ;EfykClB;EexkCM;IAAwB,iBADZ;IACY,QADZ;Ef4kClB;Ee3kCM;IAAwB,iBADZ;IACY,QADZ;Ef+kClB;Ee9kCM;IAAwB,iBADZ;IACY,QADZ;EfklClB;EejlCM;IAAwB,iBADZ;IACY,QADZ;EfqlClB;EeplCM;IAAwB,iBADZ;IACY,QADZ;EfwlClB;EevlCM;IAAwB,iBADZ;IACY,QADZ;Ef2lClB;Ee1lCM;IAAwB,iBADZ;IACY,QADZ;Ef8lClB;Ee7lCM;IAAwB,kBADZ;IACY,SADZ;EfimClB;EehmCM;IAAwB,kBADZ;IACY,SADZ;EfomClB;EenmCM;IAAwB,kBADZ;IACY,SADZ;EfumClB;EehmCQ;IFTR,cAA4B;Eb4mC5B;EenmCQ;IFTR,sBAA8C;Eb+mC9C;EetmCQ;IFTR,uBAA8C;EbknC9C;EezmCQ;IFTR,gBAA8C;EbqnC9C;Ee5mCQ;IFTR,uBAA8C;EbwnC9C;Ee/mCQ;IFTR,uBAA8C;Eb2nC9C;EelnCQ;IFTR,gBAA8C;Eb8nC9C;EernCQ;IFTR,uBAA8C;EbioC9C;EexnCQ;IFTR,uBAA8C;EbooC9C;Ee3nCQ;IFTR,gBAA8C;EbuoC9C;Ee9nCQ;IFTR,uBAA8C;Eb0oC9C;EejoCQ;IFTR,uBAA8C;Eb6oC9C;AACF;;AcnoCI;EC9BE;IACE,0BAAa;IAAb,aAAa;IACb,oBAAY;IAAZ,YAAY;IACZ,eAAe;EfqqCrB;EenqCI;IACE,kBAAc;IAAd,cAAc;IACd,WAAW;IACX,eAAe;EfqqCrB;EejqCM;IFFN,uBAAsC;IAAtC,mBAAsC;IAItC,oBAAuC;EbmqCvC;EerqCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbuqCvC;EezqCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;Eb2qCvC;Ee7qCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+qCvC;EejrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbmrCvC;EerrCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EburCvC;EezrCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2rCvC;Ee7rCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb+rCvC;EejsCM;IFFN,iBAAsC;IAAtC,aAAsC;IAItC,cAAuC;EbmsCvC;EersCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;EbusCvC;EezsCM;IFFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;Eb2sCvC;Ee7sCM;IFFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;Eb+sCvC;Ee5sCI;IAAwB,kBAAS;IAAT,SAAS;Ef+sCrC;Ee7sCI;IAAuB,kBZ2KG;IY3KH,SZ2KG;EHqiC9B;Ee7sCM;IAAwB,iBADZ;IACY,QADZ;EfitClB;EehtCM;IAAwB,iBADZ;IACY,QADZ;EfotClB;EentCM;IAAwB,iBADZ;IACY,QADZ;EfutClB;EettCM;IAAwB,iBADZ;IACY,QADZ;Ef0tClB;EeztCM;IAAwB,iBADZ;IACY,QADZ;Ef6tClB;Ee5tCM;IAAwB,iBADZ;IACY,QADZ;EfguClB;Ee/tCM;IAAwB,iBADZ;IACY,QADZ;EfmuClB;EeluCM;IAAwB,iBADZ;IACY,QADZ;EfsuClB;EeruCM;IAAwB,iBADZ;IACY,QADZ;EfyuClB;EexuCM;IAAwB,iBADZ;IACY,QADZ;Ef4uClB;Ee3uCM;IAAwB,kBADZ;IACY,SADZ;Ef+uClB;Ee9uCM;IAAwB,kBADZ;IACY,SADZ;EfkvClB;EejvCM;IAAwB,kBADZ;IACY,SADZ;EfqvClB;Ee9uCQ;IFTR,cAA4B;Eb0vC5B;EejvCQ;IFTR,sBAA8C;Eb6vC9C;EepvCQ;IFTR,uBAA8C;EbgwC9C;EevvCQ;IFTR,gBAA8C;EbmwC9C;Ee1vCQ;IFTR,uBAA8C;EbswC9C;Ee7vCQ;IFTR,uBAA8C;EbywC9C;EehwCQ;IFTR,gBAA8C;Eb4wC9C;EenwCQ;IFTR,uBAA8C;Eb+wC9C;EetwCQ;IFTR,uBAA8C;EbkxC9C;EezwCQ;IFTR,gBAA8C;EbqxC9C;Ee5wCQ;IFTR,uBAA8C;EbwxC9C;Ee/wCQ;IFTR,uBAA8C;Eb2xC9C;AACF;;AgBz0CA;EACE,WAAW;EACX,mBb2HW;Ea1HX,cbSgB;AHm0ClB;;AgB/0CA;;EAQI,gBb8UgC;Ea7UhC,mBAAmB;EACnB,6BbJc;AHg1ClB;;AgBt1CA;EAcI,sBAAsB;EACtB,gCbTc;AHq1ClB;;AgB31CA;EAmBI,6Bbbc;AHy1ClB;;AgBn0CA;;EAGI,ebwT+B;AH6gCnC;;AgB5zCA;EACE,yBbnCgB;AHk2ClB;;AgBh0CA;;EAKI,yBbvCc;AHu2ClB;;AgBr0CA;;EAWM,wBAA4C;AhB+zClD;;AgB1zCA;;;;EAKI,SAAS;AhB4zCb;;AgBpzCA;EAEI,qCb1DW;AHg3Cf;;AKr3CE;EW2EI,cbvEY;EawEZ,sCbvES;AHq3Cf;;AiBj4CE;;;EAII,yBC2E4D;AlBwzClE;;AiBv4CE;;;;EAYM,qBCmE0D;AlB+zClE;;AKv4CE;EYiBM,yBAJsC;AjB83C9C;;AiB/3CE;;EASQ,yBARoC;AjBm4C9C;;AiBv5CE;;;EAII,yBC2E4D;AlB80ClE;;AiB75CE;;;;EAYM,qBCmE0D;AlBq1ClE;;AK75CE;EYiBM,yBAJsC;AjBo5C9C;;AiBr5CE;;EASQ,yBARoC;AjBy5C9C;;AiB76CE;;;EAII,yBC2E4D;AlBo2ClE;;AiBn7CE;;;;EAYM,qBCmE0D;AlB22ClE;;AKn7CE;EYiBM,yBAJsC;AjB06C9C;;AiB36CE;;EASQ,yBARoC;AjB+6C9C;;AiBn8CE;;;EAII,yBC2E4D;AlB03ClE;;AiBz8CE;;;;EAYM,qBCmE0D;AlBi4ClE;;AKz8CE;EYiBM,yBAJsC;AjBg8C9C;;AiBj8CE;;EASQ,yBARoC;AjBq8C9C;;AiBz9CE;;;EAII,yBC2E4D;AlBg5ClE;;AiB/9CE;;;;EAYM,qBCmE0D;AlBu5ClE;;AK/9CE;EYiBM,yBAJsC;AjBs9C9C;;AiBv9CE;;EASQ,yBARoC;AjB29C9C;;AiB/+CE;;;EAII,yBC2E4D;AlBs6ClE;;AiBr/CE;;;;EAYM,qBCmE0D;AlB66ClE;;AKr/CE;EYiBM,yBAJsC;AjB4+C9C;;AiB7+CE;;EASQ,yBARoC;AjBi/C9C;;AiBrgDE;;;EAII,yBC2E4D;AlB47ClE;;AiB3gDE;;;;EAYM,qBCmE0D;AlBm8ClE;;AK3gDE;EYiBM,yBAJsC;AjBkgD9C;;AiBngDE;;EASQ,yBARoC;AjBugD9C;;AiB3hDE;;;EAII,yBC2E4D;AlBk9ClE;;AiBjiDE;;;;EAYM,qBCmE0D;AlBy9ClE;;AKjiDE;EYiBM,yBAJsC;AjBwhD9C;;AiBzhDE;;EASQ,yBARoC;AjB6hD9C;;AiBjjDE;;;EAII,sCdQS;AH2iDf;;AKhjDE;EYiBM,sCAJsC;AjBuiD9C;;AiBxiDE;;EASQ,sCARoC;AjB4iD9C;;AgBt9CA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBb2PqD;AH4tC3D;;AgB59CA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHukDlB;;AgBh9CA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHukDlB;;AgBr9CA;;;EAOI,qBbuOuD;AH6uC3D;;AgB39CA;EAWI,SAAS;AhBo9Cb;;AgB/9CA;EAgBM,2Cb1IS;AH6lDf;;AKxlDE;EW4IM,WbjJO;EakJP,4CblJO;AHkmDf;;AchiDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBk8CvC;EgBv8CG;IASK,SAAS;EhBi8CjB;AACF;;Ac5iDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB88CvC;EgBn9CG;IASK,SAAS;EhB68CjB;AACF;;AcxjDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB09CvC;EgB/9CG;IASK,SAAS;EhBy9CjB;AACF;;AcpkDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBs+CvC;EgB3+CG;IASK,SAAS;EhBq+CjB;AACF;;AgBp/CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBi/CzC;;AgB3/CA;EAcU,SAAS;AhBi/CnB;;AmB9pDA;EACE,cAAc;EACd,WAAW;EACX,mChBqe2H;EgBpe3H,yBhBqXkC;EChQ9B,eAtCY;Ee5EhB,gBhB8Q+B;EgB7Q/B,gBhBkR+B;EgBjR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBPqOgC;EiBpO9B,wEjB4e4F;AHksClG;;AoBzqDI;EDLJ;ICMM,gBAAgB;EpB6qDpB;AACF;;AmBprDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBkqDb;;AqBlrDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBgdsE;EkB/ctE,UAAU;EAKR,gDlBcW;AHmqDjB;;AmBjsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA2CI,yBhBxCc;EgB0Cd,UAAU;AnB8pDd;;AmB1pDA;EAOI,chBhDc;EgBiDd,sBhBxDW;AH+sDf;;AmBlpDA;;EAEE,cAAc;EACd,WAAW;AnBqpDb;;AmB3oDA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EfZd,kBAAW;Eecb,gBhB0M+B;AHo8CjC;;AmB3oDA;EACE,+BAAkE;EAClE,kCAAqE;EfoCjE,kBAtCY;EeIhB,gBhBuI+B;AHugDjC;;AmB3oDA;EACE,gCAAkE;EAClE,mCAAqE;Ef6BjE,mBAtCY;EeWhB,gBhBiI+B;AH6gDjC;;AmBroDA;EACE,cAAc;EACd,WAAW;EACX,qBhB8QmC;EgB7QnC,wBhB6QmC;EgB5QnC,gBAAgB;EAChB,gBhB6K+B;EgB5K/B,chBpGgB;EgBqGhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnBwoDrC;;AmBlpDA;EAcI,gBAAgB;EAChB,eAAe;AnBwoDnB;;AmB5nDA;EACE,kChBsWqI;EgBrWrI,uBhB+PiC;EC1Q7B,mBAtCY;EemDhB,gBhByF+B;EOhO7B,qBPuO+B;AHgiDnC;;AmB5nDA;EACE,gChB+VqI;EgB9VrI,oBhB4PgC;EC/Q5B,kBAtCY;Ee2DhB,gBhBgF+B;EO/N7B,qBPsO+B;AHyiDnC;;AmB3nDA;EAGI,YAAY;AnB4nDhB;;AmBxnDA;EACE,YAAY;AnB2nDd;;AmBnnDA;EACE,mBhBoV0C;AHkyC5C;;AmBnnDA;EACE,cAAc;EACd,mBhBqU4C;AHizC9C;;AmB9mDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBinD3C;;AmBrnDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBknD7C;;AmBzmDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB0S6C;AHk0C/C;;AmBzmDA;EACE,kBAAkB;EAClB,kBhBsS2C;EgBrS3C,qBhBoS6C;AHw0C/C;;AmB/mDA;EAMI,chBxMc;AHqzDlB;;AmBzmDA;EACE,gBAAgB;AnB4mDlB;;AmBzmDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm1C9C;;AmBhnDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4mDlB;;AqBvzDE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBSa;AHizDjB;;AqBvzDE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBLa;EOtCb,sBPqOgC;AHioDpC;;AqBtzDI;EAEE,qBlBZW;EkBeT,oClBgb2F;EkB/a3F,4PHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHy4ChG;;AqB/zDI;EAaI,qBlBvBS;EkBwBT,gDlBxBS;AH80DjB;;AqBp0DI;;;EAmBI,cAAc;ArBuzDtB;;AqBhzDI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHw5CrG;;AqB3yDI;EAEE,qBlBhDW;EkBmDT,sDlBqe0J;EkBpe1J,6gBAAkJ;ArB2yD1J;;AqBjzDI;EAUI,qBlBxDS;EkByDT,gDlBzDS;AHo2DjB;;AqBtzDI;;;EAgBI,cAAc;ArB4yDtB;;AqBryDI;;;EAII,cAAc;ArBuyDtB;;AqBjyDI;EAGI,clBlFS;AHo3DjB;;AqBryDI;;;EAQI,cAAc;ArBmyDtB;;AqB7xDI;EAGI,clBhGS;AH83DjB;;AqBjyDI;EAMM,qBlBnGO;AHk4DjB;;AqBryDI;;;EAYI,cAAc;ArB+xDtB;;AqB3yDI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArB8xDnD;;AqBhzDI;EAwBM,gDlBrHO;AHi5DjB;;AqBpzDI;EA4BM,qBlBzHO;AHq5DjB;;AqBpxDI;EAGI,qBlBpIS;AHy5DjB;;AqBxxDI;;;EAQI,cAAc;ArBsxDtB;;AqB9xDI;EAaM,qBlB9IO;EkB+IP,gDlB/IO;AHo6DjB;;AqBl7DE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBMa;AH+6DjB;;AqBl7DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBRa;EOnCb,sBPqOgC;AH4vDpC;;AqBj7DI;EAEE,qBlBfW;EkBkBT,oClBgb2F;EkB/a3F,sSHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHogDhG;;AqB17DI;EAaI,qBlB1BS;EkB2BT,gDlB3BS;AH48DjB;;AqB/7DI;;;EAmBI,cAAc;ArBk7DtB;;AqB36DI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHmhDrG;;AqBt6DI;EAEE,qBlBnDW;EkBsDT,sDlBqe0J;EkBpe1J,ujBAAkJ;ArBs6D1J;;AqB56DI;EAUI,qBlB3DS;EkB4DT,gDlB5DS;AHk+DjB;;AqBj7DI;;;EAgBI,cAAc;ArBu6DtB;;AqBh6DI;;;EAII,cAAc;ArBk6DtB;;AqB55DI;EAGI,clBrFS;AHk/DjB;;AqBh6DI;;;EAQI,cAAc;ArB85DtB;;AqBx5DI;EAGI,clBnGS;AH4/DjB;;AqB55DI;EAMM,qBlBtGO;AHggEjB;;AqBh6DI;;;EAYI,cAAc;ArB05DtB;;AqBt6DI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArBy5DnD;;AqB36DI;EAwBM,gDlBxHO;AH+gEjB;;AqB/6DI;EA4BM,qBlB5HO;AHmhEjB;;AqB/4DI;EAGI,qBlBvIS;AHuhEjB;;AqBn5DI;;;EAQI,cAAc;ArBi5DtB;;AqBz5DI;EAaM,qBlBjJO;EkBkJP,gDlBlJO;AHkiEjB;;AmBz0DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB40DrB;;AmB/0DA;EASI,WAAW;AnB00Df;;AcxhEI;EKqMJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnBy0DpB;EmB31DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnBu0DpB;EmBl2DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBq0D1B;EmBv2DF;IAuCM,qBAAqB;EnBm0DzB;EmB12DF;;IA4CM,WAAW;EnBk0Df;EmB92DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB+zDnB;EmBr3DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnB+zDlB;EmB53DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnB8zD3B;EmBh4DF;IAqEM,gBAAgB;EnB8zDpB;AACF;;AuB/nEA;EACE,qBAAqB;EAErB,gBpBkR+B;EoBjR/B,cpBMgB;EoBLhB,kBAAkB;EAClB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECsF3C,yBrB0RkC;EChQ9B,eAtCY;EoBchB,gBrByL+B;EO3R7B,sBPqOgC;EiBpO9B,qIjBqb6I;AH0tDnJ;;AoB1oEI;EGLJ;IHMM,gBAAgB;EpB8oEpB;AACF;;AK/oEE;EkBQE,cpBJc;EoBKd,qBAAqB;AvB2oEzB;;AuB1pEA;EAoBI,UAAU;EACV,gDpBSa;AHioEjB;;AuB/pEA;EA2BI,apB8Y6B;AH0vDjC;;AuBznEA;;EAEE,oBAAoB;AvB4nEtB;;AuBnnEE;ECrDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AHgpEjB;;AKxqEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqrE7H;;AwBzqEE;EAMI,gDAAiF;AxBuqEvF;;AwBlqEE;EAEE,WrBvBW;EqBwBX,yBrBKa;EqBJb,qBrBIa;AHgqEjB;;AwB7pEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBssEnN;;AwB1pEI;;EAKI,gDAAiF;AxB0pEzF;;AuBrpEE;ECrDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHysElB;;AK1sEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxButE7H;;AwB3sEE;EAMI,iDAAiF;AxBysEvF;;AwBpsEE;EAEE,WrBvBW;EqBwBX,yBrBlBc;EqBmBd,qBrBnBc;AHytElB;;AwB/rEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBwuEnN;;AwB5rEI;;EAKI,iDAAiF;AxB4rEzF;;AuBvrEE;ECrDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH6sEjB;;AK5uEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByvE7H;;AwB7uEE;EAMI,+CAAiF;AxB2uEvF;;AwBtuEE;EAEE,WrBvBW;EqBwBX,yBrBYa;EqBXb,qBrBWa;AH6tEjB;;AwBjuEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB0wEnN;;AwB9tEI;;EAKI,+CAAiF;AxB8tEzF;;AuBztEE;ECrDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AH6uEjB;;AK9wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB2xE7H;;AwB/wEE;EAMI,gDAAiF;AxB6wEvF;;AwBxwEE;EAEE,WrBvBW;EqBwBX,yBrBca;EqBbb,qBrBaa;AH6vEjB;;AwBnwEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB4yEnN;;AwBhwEI;;EAKI,gDAAiF;AxBgwEzF;;AuB3vEE;ECrDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHkxEjB;;AKhzEE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB6zE7H;;AwBjzEE;EAMI,gDAAiF;AxB+yEvF;;AwB1yEE;EAEE,crBdc;EqBed,yBrBWa;EqBVb,qBrBUa;AHkyEjB;;AwBryEE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxB80EnN;;AwBlyEI;;EAKI,gDAAiF;AxBkyEzF;;AuB7xEE;ECrDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHszEjB;;AKl1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+1E7H;;AwBn1EE;EAMI,+CAAiF;AxBi1EvF;;AwB50EE;EAEE,WrBvBW;EqBwBX,yBrBSa;EqBRb,qBrBQa;AHs0EjB;;AwBv0EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBg3EnN;;AwBp0EI;;EAKI,+CAAiF;AxBo0EzF;;AuB/zEE;ECrDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHw3ElB;;AKp3EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBi4E7H;;AwBr3EE;EAMI,iDAAiF;AxBm3EvF;;AwB92EE;EAEE,crBdc;EqBed,yBrBvBc;EqBwBd,qBrBxBc;AHw4ElB;;AwBz2EE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxBk5EnN;;AwBt2EI;;EAKI,iDAAiF;AxBs2EzF;;AuBj2EE;ECrDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHm5ElB;;AKt5EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm6E7H;;AwBv5EE;EAMI,8CAAiF;AxBq5EvF;;AwBh5EE;EAEE,WrBvBW;EqBwBX,yBrBhBc;EqBiBd,qBrBjBc;AHm6ElB;;AwB34EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBo7EnN;;AwBx4EI;;EAKI,8CAAiF;AxBw4EzF;;AuB73EE;ECJA,crBzBe;EqB0Bf,qBrB1Be;AH+5EjB;;AKv7EE;EmBqDE,WrB1DW;EqB2DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHq6EjB;;AwBn4EE;EAEE,+CrBpCa;AHy6EjB;;AwBl4EE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBo4EjC;;AwBj4EE;;EAGE,WrB7EW;EqB8EX,yBrBjDa;EqBkDb,qBrBlDa;AHq7EjB;;AwBj4EI;;EAKI,+CrBzDS;AH07EjB;;AuB75EE;ECJA,crBhDgB;EqBiDhB,qBrBjDgB;AHs9ElB;;AKv9EE;EmBqDE,WrB1DW;EqB2DX,yBrBrDc;EqBsDd,qBrBtDc;AH49ElB;;AwBn6EE;EAEE,iDrB3Dc;AHg+ElB;;AwBl6EE;EAEE,crBhEc;EqBiEd,6BAA6B;AxBo6EjC;;AwBj6EE;;EAGE,WrB7EW;EqB8EX,yBrBxEc;EqByEd,qBrBzEc;AH4+ElB;;AwBj6EI;;EAKI,iDrBhFU;AHi/ElB;;AuB77EE;ECJA,crBlBe;EqBmBf,qBrBnBe;AHw9EjB;;AKv/EE;EmBqDE,WrB1DW;EqB2DX,yBrBvBa;EqBwBb,qBrBxBa;AH89EjB;;AwBn8EE;EAEE,+CrB7Ba;AHk+EjB;;AwBl8EE;EAEE,crBlCa;EqBmCb,6BAA6B;AxBo8EjC;;AwBj8EE;;EAGE,WrB7EW;EqB8EX,yBrB1Ca;EqB2Cb,qBrB3Ca;AH8+EjB;;AwBj8EI;;EAKI,+CrBlDS;AHm/EjB;;AuB79EE;ECJA,crBhBe;EqBiBf,qBrBjBe;AHs/EjB;;AKvhFE;EmBqDE,WrB1DW;EqB2DX,yBrBrBa;EqBsBb,qBrBtBa;AH4/EjB;;AwBn+EE;EAEE,gDrB3Ba;AHggFjB;;AwBl+EE;EAEE,crBhCa;EqBiCb,6BAA6B;AxBo+EjC;;AwBj+EE;;EAGE,WrB7EW;EqB8EX,yBrBxCa;EqByCb,qBrBzCa;AH4gFjB;;AwBj+EI;;EAKI,gDrBhDS;AHihFjB;;AuB7/EE;ECJA,crBnBe;EqBoBf,qBrBpBe;AHyhFjB;;AKvjFE;EmBqDE,crBjDc;EqBkDd,yBrBxBa;EqByBb,qBrBzBa;AH+hFjB;;AwBngFE;EAEE,+CrB9Ba;AHmiFjB;;AwBlgFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,crBpEc;EqBqEd,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+iFjB;;AwBjgFI;;EAKI,+CrBnDS;AHojFjB;;AuB7hFE;ECJA,crBrBe;EqBsBf,qBrBtBe;AH2jFjB;;AKvlFE;EmBqDE,WrB1DW;EqB2DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHikFjB;;AwBniFE;EAEE,+CrBhCa;AHqkFjB;;AwBliFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrB7EW;EqB8EX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHilFjB;;AwBjiFI;;EAKI,+CrBrDS;AHslFjB;;AuB7jFE;ECJA,crBrDgB;EqBsDhB,qBrBtDgB;AH2nFlB;;AKvnFE;EmBqDE,crBjDc;EqBkDd,yBrB1Dc;EqB2Dd,qBrB3Dc;AHioFlB;;AwBnkFE;EAEE,iDrBhEc;AHqoFlB;;AwBlkFE;EAEE,crBrEc;EqBsEd,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,crBpEc;EqBqEd,yBrB7Ec;EqB8Ed,qBrB9Ec;AHipFlB;;AwBjkFI;;EAKI,iDrBrFU;AHspFlB;;AuB7lFE;ECJA,crB9CgB;EqB+ChB,qBrB/CgB;AHopFlB;;AKvpFE;EmBqDE,WrB1DW;EqB2DX,yBrBnDc;EqBoDd,qBrBpDc;AH0pFlB;;AwBnmFE;EAEE,8CrBzDc;AH8pFlB;;AwBlmFE;EAEE,crB9Dc;EqB+Dd,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrB7EW;EqB8EX,yBrBtEc;EqBuEd,qBrBvEc;AH0qFlB;;AwBjmFI;;EAKI,8CrB9EU;AH+qFlB;;AuBlnFA;EACE,gBpB8M+B;EoB7M/B,cpB1Ce;EoB2Cf,qBpB6F4C;AHwhF9C;;AKxrFE;EkBsEE,cpB2F8D;EoB1F9D,0BpB2F+C;AH2hFnD;;AuB7nFA;EAYI,0BpBsF+C;EoBrF/C,gBAAgB;AvBqnFpB;;AuBloFA;EAkBI,cpBjFc;EoBkFd,oBAAoB;AvBonFxB;;AuBzmFA;ECLE,oBrBySgC;EC/Q5B,kBAtCY;EoBchB,gBrB6H+B;EO/N7B,qBPsO+B;AH++EnC;;AuB5mFA;ECTE,uBrBoSiC;EC1Q7B,mBAtCY;EoBchB,gBrB8H+B;EOhO7B,qBPuO+B;AHq/EnC;;AuB1mFA;EACE,cAAc;EACd,WAAW;AvB6mFb;;AuB/mFA;EAMI,kBpBuT+B;AHszEnC;;AuBxmFA;;;EAII,WAAW;AvB0mFf;;AyBhvFA;ELMM,gCjBsP2C;AHw/EjD;;AoBzuFI;EKXJ;ILYM,gBAAgB;EpB6uFpB;AACF;;Ay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CT,gBAAgB;A9B0nGpB;;A8B1oGA;;;;;;;;;;;;EAqBM,iB3B4M2B;AHw7FjC;;A8BzpGA;;;EA6BI,UAAU;A9BkoGd;;A8B/pGA;EAkCI,UAAU;A9BioGd;;A8BnqGA;;EpBeI,0BoBwBmD;EpBvBnD,6BoBuBmD;A9BkoGvD;;A8BzqGA;;EpB6BI,yBoBWmD;EpBVnD,4BoBUmD;A9BuoGvD;;A8B/qGA;EA8CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9BqoGvB;;A8BprGA;;EpBeI,0BoBmC6E;EpBlC7E,6BoBkC6E;A9BwoGjF;;A8B1rGA;EpB6BI,yBoBsBsE;EpBrBtE,4BoBqBsE;A9B4oG1E;;A8BjoGA;;EAEE,oBAAa;EAAb,aAAa;A9BooGf;;A8BtoGA;;EAQI,kBAAkB;EAClB,UAAU;A9BmoGd;;A8B5oGA;;EAYM,UAAU;A9BqoGhB;;A8BjpGA;;;;;;;;EAoBI,iB3B+I6B;AHy/FjC;;A8BpoGA;EAAuB,kB3B2IU;AH6/FjC;;A8BvoGA;EAAsB,iB3B0IW;AHigGjC;;A8BnoGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BuRkC;E2BtRlC,gBAAgB;E1BsBZ,eAtCY;E0BkBhB,gB3BgL+B;E2B/K/B,gB3BoL+B;E2BnL/B,c3B/FgB;E2BgGhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BvGgB;E2BwGhB,yB3BtGgB;EONd,sBPqOgC;AH8gGpC;;A8BnpGA;;EAkBI,aAAa;A9BsoGjB;;A8B5nGA;;EAEE,gC3B6WqI;AHkxFvI;;A8B5nGA;;;;;;EAME,oB3BkQgC;EC/Q5B,kBAtCY;E0BqDhB,gB3BsF+B;EO/N7B,qBPsO+B;AHmiGnC;;A8B5nGA;;EAEE,kC3B2VqI;AHoyFvI;;A8B5nGA;;;;;;EAME,uB3B4OiC;EC1Q7B,mBAtCY;E0BsEhB,gB3BsE+B;EOhO7B,qBPuO+B;AHmjGnC;;A8B5nGA;;EAEE,sBAA0E;A9B+nG5E;;A8BpnGA;;;;;;EpB3JI,0BoBiK4B;EpBhK5B,6BoBgK4B;A9BwnGhC;;A8BrnGA;;;;;;EpBtJI,yBoB4J2B;EpB3J3B,4BoB2J2B;A9BynG/B;;A+B/yGA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/BkzGvE;;A+B/yGA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bqf0C;AH6zF5C;;A+B/yGA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;A/BkzGZ;;A+BrzGA;EAMI,W5BpBW;E4BqBX,qB5BQa;EmB9Bb,yBnB8Ba;AH4yGjB;;A+B3zGA;EAiBM,gD5BFW;AHgzGjB;;A+B/zGA;EAsBI,qB5BqbsE;AHw3F1E;;A+Bn0GA;EA0BI,W5BxCW;E4ByCX,yB5B8e8E;E4B7e9E,qB5B6e8E;AHg0FlF;;A+Bz0GA;EAkCM,c5B1CY;AHq1GlB;;A+B70GA;EAqCQ,yB5BjDU;AH61GlB;;A+BlyGA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;A/BqyGrB;;A+BxyGA;EAOI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B0bwC;E4BzbxC,Y5BybwC;E4BxbxC,oBAAoB;EACpB,WAAW;EACX,sB5B5EW;E4B6EX,yB5BmJ6B;AHkpGjC;;A+BrzGA;EAsBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B2awC;E4B1axC,Y5B0awC;E4BzaxC,WAAW;EACX,mCAAgE;A/BmyGpE;;A+B1xGA;ErBrGI,sBPqOgC;AH8pGpC;;A+B9xGA;EAOM,6MbrEqI;AlBg2G3I;;A+BlyGA;EAaM,qB5BnFW;EmB9Bb,yBnB8Ba;AH62GjB;;A+BvyGA;EAkBM,0JbhFqI;AlBy2G3I;;A+B3yGA;EAwBM,wC5B9FW;AHq3GjB;;A+B/yGA;EA2BM,wC5BjGW;AHy3GjB;;A+B/wGA;EAGI,kB5B0Z+C;AHs3FnD;;A+BnxGA;EAQM,uJb1GqI;AlBy3G3I;;A+BvxGA;EAcM,wC5BxHW;AHq4GjB;;A+BnwGA;EACE,qBAA2D;A/BswG7D;;A+BvwGA;EAKM,cAAqD;EACrD,c5BkY+E;E4BjY/E,mBAAmB;EAEnB,qB5BgY4E;AHq4FlF;;A+B9wGA;EAaM,wBAA0I;EAC1I,0BAA+G;EAC/G,uB5B2XiI;E4B1XjI,wB5B0XiI;E4BzXjI,yB5B3KY;E4B6KZ,qB5BsX4E;EiBziB5E,iJjB8f+H;EiB9f/H,yIjB8f+H;EiB9f/H,8KjB8f+H;AH07FrI;;AoBn7GI;EW2JJ;IX1JM,gBAAgB;EpBu7GpB;AACF;;A+B9xGA;EA0BM,sB5BzLS;E4B0LT,sCAA4E;EAA5E,8BAA4E;A/BwwGlF;;A+BnyGA;EAiCM,wC5BnKW;AHy6GjB;;A+B1vGA;EACE,qBAAqB;EACrB,WAAW;EACX,mC5BwR2H;E4BvR3H,0C5BwKkC;EChQ9B,eAtCY;E2BiIhB,gB5BiE+B;E4BhE/B,gB5BqE+B;E4BpE/B,c5B9MgB;E4B+MhB,sBAAsB;EACtB,6M5BmWmI;E4BlWnI,sB5BxNa;E4ByNb,yB5BrNgB;EONd,sBPqOgC;E4BPlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B2vGlB;;A+B3wGA;EAmBI,qB5B0PsE;E4BzPtE,UAAU;EAIR,gD5BvMW;AHg8GjB;;A+BjxGA;EAiCM,c5BtOY;E4BuOZ,sB5B9OS;AHk+Gf;;A+BtxGA;EAwCI,YAAY;EACZ,sB5BmIgC;E4BlIhC,sBAAsB;A/BkvG1B;;A+B5xGA;EA8CI,c5BpPc;E4BqPd,yB5BzPc;AH2+GlB;;A+BjyGA;EAoDI,aAAa;A/BivGjB;;A+B7uGA;EACE,kC5BmOqI;E4BlOrI,oB5B2HkC;E4B1HlC,uB5B0HkC;E4BzHlC,oB5B0HiC;EC1Q7B,mBAtCY;AJu6GlB;;A+B7uGA;EACE,gC5B4NqI;E4B3NrI,mB5BwHiC;E4BvHjC,sB5BuHiC;E4BtHjC,kB5BuHgC;EC/Q5B,kBAtCY;AJ+6GlB;;A+BxuGA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mC5B0M2H;E4BzM3H,gBAAgB;A/B2uGlB;;A+BxuGA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mC5BkM2H;E4BjM3H,SAAS;EACT,UAAU;A/B2uGZ;;A+BjvGA;EASI,qB5B+KsE;E4B9KtE,gD5B9Qa;AH0/GjB;;A+BtvGA;EAcI,yB5B7Sc;AHyhHlB;;A+B1vGA;EAmBM,iB5BqUQ;AHs6Fd;;A+B9vGA;EAwBI,0BAA0B;A/B0uG9B;;A+BtuGA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mC5BoK2H;E4BnK3H,yB5BoDkC;E4BlDlC,gB5BlD+B;E4BmD/B,gB5B9C+B;E4B+C/B,c5BjUgB;E4BkUhB,sB5BzUa;E4B0Ub,yB5BtUgB;EONd,sBPqOgC;AHg1GpC;;A+BtvGA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6B5B8I+F;E4B7I/F,yB5BkCgC;E4BjChC,gB5B9D6B;E4B+D7B,c5BjVc;E4BkVd,iBAAiB;ET1VjB,yBnBGc;E4ByVd,oBAAoB;ErB7VpB,kCqB8VgF;A/BwuGpF;;A+B9tGA;EACE,WAAW;EACX,2BAA+F;EAC/F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/BiuGlB;;A+BtuGA;EAQI,aAAa;A/BkuGjB;;A+B1uGA;EAY8B,gE5BrVb;AHujHjB;;A+B9uGA;EAa8B,gE5BtVb;AH2jHjB;;A+BlvGA;EAc8B,gE5BvVb;AH+jHjB;;A+BtvGA;EAkBI,SAAS;A/BwuGb;;A+B1vGA;EAsBI,W5B8N6C;E4B7N7C,Y5B6N6C;E4B5N7C,oBAAyE;ET/XzE,yBnB8Ba;E4BmWb,S5B6N0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BzHjI,wBAAgB;EAAhB,gBAAgB;A/BuuGpB;;AoBvmHI;EWkWJ;IXjWM,gBAAgB;EpB2mHpB;AACF;;A+B3wGA;ETvWI,yBnBmmB2E;AHmhG/E;;A+B/wGA;EAsCI,W5BuMoC;E4BtMpC,c5BuMqC;E4BtMrC,kBAAkB;EAClB,e5BsMuC;E4BrMvC,yB5B7Yc;E4B8Yd,yBAAyB;ErBnZzB,mBPylBoC;AHwiGxC;;A+BzxGA;EAiDI,W5BmM6C;E4BlM7C,Y5BkM6C;EmB3lB7C,yBnB8Ba;E4B6Xb,S5BmM0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4B/FjI,qBAAgB;EAAhB,gBAAgB;A/B2uGpB;;AoBroHI;EWkWJ;IXjWM,gBAAgB;EpByoHpB;AACF;;A+BzyGA;ETvWI,yBnBmmB2E;AHijG/E;;A+B7yGA;EAgEI,W5B6KoC;E4B5KpC,c5B6KqC;E4B5KrC,kBAAkB;EAClB,e5B4KuC;E4B3KvC,yB5Bvac;E4Bwad,yBAAyB;ErB7azB,mBPylBoC;AHskGxC;;A+BvzGA;EA2EI,W5ByK6C;E4BxK7C,Y5BwK6C;E4BvK7C,aAAa;EACb,oB5BvD+B;E4BwD/B,mB5BxD+B;EmB9X/B,yBnB8Ba;E4B0Zb,S5BsK0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BlEjI,gBAAgB;A/B+uGpB;;AoBtqHI;EWkWJ;IXjWM,gBAAgB;EpB0qHpB;AACF;;A+B10GA;ETvWI,yBnBmmB2E;AHklG/E;;A+B90GA;EA6FI,W5BgJoC;E4B/IpC,c5BgJqC;E4B/IrC,kBAAkB;EAClB,e5B+IuC;E4B9IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/BqvGhD;;A+Bx1GA;EAwGI,yB5B3cc;EOLd,mBPylBoC;AH4mGxC;;A+B71GA;EA6GI,kBAAkB;EAClB,yB5Bjdc;EOLd,mBPylBoC;AHknGxC;;A+Bn2GA;EAoHM,yB5BrdY;AHwsHlB;;A+Bv2GA;EAwHM,eAAe;A/BmvGrB;;A+B32GA;EA4HM,yB5B7dY;AHgtHlB;;A+B/2GA;EAgIM,eAAe;A/BmvGrB;;A+Bn3GA;EAoIM,yB5BreY;AHwtHlB;;A+B9uGA;;;EXhfM,4GjB8f+H;AHsuGrI;;AoB/tHI;EW2eJ;;;IX1eM,gBAAgB;EpBquHpB;AACF;;AgC7uHA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhCgvHlB;;AgC7uHA;EACE,cAAc;EACd,oB7BkqBsC;AH8kGxC;;AK/uHE;E2BEE,qBAAqB;AhCivHzB;;AgCtvHA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhCgvHnB;;AgCxuHA;EACE,gC7BxBgB;AHmwHlB;;AgC5uHA;EAII,mB7BkM6B;AH0iHjC;;AgChvHA;EAQI,6BAAgD;EtB3BhD,+BP4NgC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9BzMS;AH+lIf;;AiCh7HA;EA+BI,yB9B9MW;E8B+MX,gC9B/MW;AHomIf;;AiCr7HA;EAoCI,wP9B6fsR;AHw5G1R;;AiCz7HA;EAwCI,yB9BvNW;AH4mIf;;AiC77HA;EA0CM,yB9BzNS;AHgnIf;;AKjnIE;E4B6NM,yB9B5NO;AHonIf;;AiCj5HA;EAEI,W9B/OW;AHkoIf;;AKznIE;E4ByOI,W9BlPS;AHsoIf;;AiCz5HA;EAWM,+B9BxPS;AH0oIf;;AKjoIE;E4BkPM,gC9B3PO;AH8oIf;;AiCj6HA;EAkBQ,gC9B/PO;AHkpIf;;AiCr6HA;;;;EA0BM,W9BvQS;AHypIf;;AiC56HA;EA+BI,+B9B5QW;E8B6QX,sC9B7QW;AH8pIf;;AiCj7HA;EAoCI,8P9BkcqR;AH+8GzR;;AiCr7HA;EAwCI,+B9BrRW;AHsqIf;;AiCz7HA;EA0CM,W9BvRS;AH0qIf;;AKjqIE;E4BiRM,W9B1RO;AH8qIf;;AkCjrIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,sB/BHa;E+BIb,2BAA2B;EAC3B,sC/BKa;EOZX,sBPqOgC;AHu9HpC;;AkC7rIA;EAYI,eAAe;EACf,cAAc;AlCqrIlB;;AkClsIA;ExBUI,+BP4NgC;EO3NhC,gCP2NgC;AHi+HpC;;AkCvsIA;ExBwBI,mCP8MgC;EO7MhC,kCP6MgC;AHs+HpC;;AkC/qIA;EAGE,kBAAc;EAAd,cAAc;EACd,gB/B+wByC;AHi6G3C;;AkC5qIA;EACE,sB/BywBwC;AHs6G1C;;AkC5qIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC+qIlB;;AkC5qIA;EACE,gBAAgB;AlC+qIlB;;AKttIE;E6B4CE,qBAAqB;AlC8qIzB;;AkChrIA;EAMI,oB/BwvBuC;AHs7G3C;;AkCtqIA;EACE,wB/B+uByC;E+B9uBzC,gBAAgB;EAEhB,qC/BvDa;E+BwDb,6C/BxDa;AHguIf;;AkC7qIA;ExB/DI,0DwBuE8E;AlCyqIlF;;AkCjrIA;EAaM,aAAa;AlCwqInB;;AkCnqIA;EACE,wB/B6tByC;E+B5tBzC,qC/BvEa;E+BwEb,0C/BxEa;AH8uIf;;AkCzqIA;ExBjFI,0DPmzBoF;AH28GxF;;AkC9pIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCiqIlB;;AkC9pIA;EACE,uBAAiC;EACjC,sBAAgC;AlCiqIlC;;AkC7pIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BssByC;AH09G3C;;AkC7pIA;EACE,WAAW;ExBvHT,kCPmzBoF;AHq+GxF;;AkC5pIA;EACE,WAAW;ExBpHT,2CP0yBoF;EOzyBpF,4CPyyBoF;AH2+GxF;;AkC7pIA;EACE,WAAW;ExB3GT,+CP4xBoF;EO3xBpF,8CP2xBoF;AHi/GxF;;AkC3pIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlC8pIxB;;AkChqIA;EAKI,mB/B6qBsD;AHk/G1D;;ActvII;EoBkFJ;IASI,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BwqBsD;I+BvqBtD,kB/BuqBsD;EHy/GxD;EkC3qIF;IAcM,oBAAa;IAAb,aAAa;IAEb,gBAAY;IAAZ,YAAY;IACZ,0BAAsB;IAAtB,sBAAsB;IACtB,kB/BgqBoD;I+B/pBpD,gBAAgB;IAChB,iB/B8pBoD;EHigHxD;AACF;;AkCtpIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlCypIxB;;AkC3pIA;EAOI,mB/B6oBsD;AH2gH1D;;Ac/wII;EoBgHJ;IAWI,uBAAmB;IAAnB,mBAAmB;ElCypIrB;EkCpqIF;IAgBM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCupIpB;EkCxqIF;IAoBQ,cAAc;IACd,cAAc;ElCupIpB;EkC5qIF;IxBvJI,0BwBkLoC;IxBjLpC,6BwBiLoC;ElCqpItC;EkChrIF;;IAgCY,0BAA0B;ElCopIpC;EkCprIF;;IAqCY,6BAA6B;ElCmpIvC;EkCxrIF;IxBzII,yBwBmLmC;IxBlLnC,4BwBkLmC;ElCkpIrC;EkC5rIF;;IA+CY,yBAAyB;ElCipInC;EkChsIF;;IAoDY,4BAA4B;ElCgpItC;AACF;;AkCpoIA;EAEI,sB/BokBsC;AHkkH1C;;AczzII;EoBiLJ;IAMI,uB/BglBiC;I+BhlBjC,oB/BglBiC;I+BhlBjC,e/BglBiC;I+B/kBjC,2B/BglBuC;I+BhlBvC,wB/BglBuC;I+BhlBvC,mB/BglBuC;I+B/kBvC,UAAU;IACV,SAAS;ElCuoIX;EkChpIF;IAYM,qBAAqB;IACrB,WAAW;ElCuoIf;AACF;;AkC9nIA;EAEI,gBAAgB;AlCgoIpB;;AkCloIA;ExB/PI,gBwBqQ4B;AlCgoIhC;;AkCtoIA;EAUQ,gBAAgB;ExBzQpB,gBwB0Q4B;AlCgoIhC;;AkC3oIA;EAgBM,gBAAgB;ExBxPlB,6BwByPiC;ExBxPjC,4BwBwPiC;AlCgoIrC;;AkCjpIA;ExBtPI,yBwB2Q8B;ExB1Q9B,0BwB0Q8B;AlCioIlC;;AkCtpIA;EAyBM,mB/BtD2B;AHurIjC;;AmC95IA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC2gCsC;EgC1gCtC,mBhC6gCsC;EgC5gCtC,gBAAgB;EAChB,yBhCGgB;EOJd,sBPqOgC;AH8rIpC;;AmC95IA;EAGI,oBhCkgCqC;AH65GzC;;AmCl6IA;EAMM,qBAAqB;EACrB,qBhC8/BmC;EgC7/BnC,chCLY;EgCMZ,YhCmgCuC;AH65G7C;;AmCz6IA;EAoBI,0BAA0B;AnCy5I9B;;AmC76IA;EAwBI,qBAAqB;AnCy5IzB;;AmCj7IA;EA4BI,chCzBc;AHk7IlB;;AoC/7IA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBPqOgC;AH4tIpC;;AoCh8IA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCqwBwC;EiCpwBxC,iBjC6N+B;EiC5N/B,iBjCwwBsC;EiCvwBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHu8IlB;;AoC38IA;EAWI,UAAU;EACV,cjC2J8D;EiC1J9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH+8IlB;;AoCn9IA;EAmBI,UAAU;EACV,UjCiwBiC;EiChwBjC,gDjCSa;AH27IjB;;AoCh8IA;EAGM,cAAc;E1BChB,+BPuMgC;EOtMhC,kCPsMgC;AH2vIpC;;AoCt8IA;E1BVI,gCPqNgC;EOpNhC,mCPoNgC;AHgwIpC;;AoC38IA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AH68IjB;;AoCl9IA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH++IlB;;AqCt/IE;EACE,uBlC8wBsC;ECnpBpC,kBAtCY;EiCnFd,gBlC8N6B;AH2xIjC;;AqCp/IM;E3BwBF,8BPwM+B;EOvM/B,iCPuM+B;AHyxInC;;AqCp/IM;E3BKF,+BPsN+B;EOrN/B,kCPqN+B;AH8xInC;;AqCtgJE;EACE,uBlC4wBqC;ECjpBnC,mBAtCY;EiCnFd,gBlC+N6B;AH0yIjC;;AqCpgJM;E3BwBF,8BPyM+B;EOxM/B,iCPwM+B;AHwyInC;;AqCpgJM;E3BKF,+BPuN+B;EOtN/B,kCPsN+B;AH6yInC;;AsCphJA;EACE,qBAAqB;EACrB,qBnC24BsC;EC10BpC,cAAW;EkC/Db,gBnCmR+B;EmClR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBPqOgC;EiBpO9B,qIjBqb6I;AH2mInJ;;AoB3hJI;EkBNJ;IlBOM,gBAAgB;EpB+hJpB;AACF;;AK5hJE;EiCGI,qBAAqB;AtC6hJ3B;;AsC3iJA;EAoBI,aAAa;AtC2hJjB;;AsCthJA;EACE,kBAAkB;EAClB,SAAS;AtCyhJX;;AsClhJA;EACE,oBnCg3BsC;EmC/2BtC,mBnC+2BsC;EOn5BpC,oBPs5BqC;AHoqHzC;;AsC7gJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AHgiJjB;;AKpjJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCkkJxC;;AuCrkJU;EAQJ,UAAU;EACV,+CpCuBW;AH0iJjB;;AsC5hJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHskJlB;;AKnkJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCilJxC;;AuCplJU;EAQJ,UAAU;EACV,iDpCAY;AHglJlB;;AsC3iJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHujJjB;;AKllJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgmJxC;;AuCnmJU;EAQJ,UAAU;EACV,+CpC8BW;AHikJjB;;AsC1jJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHokJjB;;AKjmJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+mJxC;;AuClnJU;EAQJ,UAAU;EACV,gDpCgCW;AH8kJjB;;AsCzkJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHslJjB;;AKhnJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC8nJxC;;AuCjoJU;EAQJ,UAAU;EACV,+CpC6BW;AHgmJjB;;AsCxlJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHumJjB;;AK/nJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6oJxC;;AuChpJU;EAQJ,UAAU;EACV,+CpC2BW;AHinJjB;;AsCvmJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHspJlB;;AK9oJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4pJxC;;AuC/pJU;EAQJ,UAAU;EACV,iDpCLY;AHgqJlB;;AsCtnJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH8pJlB;;AK7pJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2qJxC;;AuC9qJU;EAQJ,UAAU;EACV,8CpCEY;AHwqJlB;;AwCvrJA;EACE,kBAAoD;EACpD,mBrC0yBsC;EqCxyBtC,yBrCKgB;EOJd,qBPsO+B;AHm9InC;;AcloJI;E0B5DJ;IAQI,kBrCoyBoC;EHu5HtC;AACF;;AwCxrJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxC2rJ1B;;AyCtsJA;EACE,kBAAkB;EAClB,wBtCm8ByC;EsCl8BzC,mBtCm8BsC;EsCl8BtC,6BAA6C;E/BH3C,sBPqOgC;AHw+IpC;;AyCrsJA;EAEE,cAAc;AzCusJhB;;AyCnsJA;EACE,gBtCwQ+B;AH87IjC;;AyC9rJA;EACE,mBAAsD;AzCisJxD;;AyClsJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCq6BuC;EsCp6BvC,cAAc;AzCisJlB;;AyCvrJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBwpJlE;;A0CvuJE;EACE,yBAAqC;A1C0uJzC;;A0CvuJE;EACE,cAA0B;A1C0uJ9B;;AyCrsJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBsqJlE;;A0CrvJE;EACE,yBAAqC;A1CwvJzC;;A0CrvJE;EACE,cAA0B;A1CwvJ9B;;AyCntJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBorJlE;;A0CnwJE;EACE,yBAAqC;A1CswJzC;;A0CnwJE;EACE,cAA0B;A1CswJ9B;;AyCjuJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBksJlE;;A0CjxJE;EACE,yBAAqC;A1CoxJzC;;A0CjxJE;EACE,cAA0B;A1CoxJ9B;;AyC/uJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBgtJlE;;A0C/xJE;EACE,yBAAqC;A1CkyJzC;;A0C/xJE;EACE,cAA0B;A1CkyJ9B;;AyC7vJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB8tJlE;;A0C7yJE;EACE,yBAAqC;A1CgzJzC;;A0C7yJE;EACE,cAA0B;A1CgzJ9B;;AyC3wJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB4uJlE;;A0C3zJE;EACE,yBAAqC;A1C8zJzC;;A0C3zJE;EACE,cAA0B;A1C8zJ9B;;AyCzxJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB0vJlE;;A0Cz0JE;EACE,yBAAqC;A1C40JzC;;A0Cz0JE;EACE,cAA0B;A1C40J9B;;A2Cp1JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2C71JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2Cv1JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC48BsC;EwC38BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBPqOgC;AH8nJpC;;A2Ct1JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCWe;EiB9BX,2BjBw9B4C;AHq5HlD;;AoBx2JI;EuBOJ;IvBNM,gBAAgB;EpB42JpB;AACF;;A2C51JA;ErBcE,qMAA6I;EqBZ7I,0BxCu7BsC;AHw6HxC;;A2C31JE;EACE,0DxCy7BkD;EwCz7BlD,kDxCy7BkD;AHq6HtD;;A2C51JI;EAHF;IAII,uBAAe;IAAf,eAAe;E3Cg2JnB;AACF;;A4Cx4JA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C24JzB;;A4Cx4JA;EACE,WAAO;EAAP,OAAO;A5C24JT;;A6C74JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C84JlB;;A6Cr4JA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7Cw4JrB;;AK94JE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH65JlB;;A6Cl5JA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AHi6JlB;;A6C/3JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C47ByC;E0C17BzC,mB1CuL+B;E0CrL/B,sB1C3Ca;E0C4Cb,sC1ClCa;AHk6Jf;;A6Cx4JA;EnC7BI,+BP4NgC;EO3NhC,gCP2NgC;AH8sJpC;;A6C74JA;EAeI,gBAAgB;EnC9BhB,mCP8MgC;EO7MhC,kCP6MgC;AHotJpC;;A6Cn5JA;EAqBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AH67Jf;;A6Cz5JA;EA4BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CrCa;E0CsCb,qB1CtCa;AHu6JjB;;A6Cp3JI;EACE,uBAAmB;EAAnB,mBAAmB;A7Cu3JzB;;A6Cx3JI;EAII,kB1C4IyB;E0C3IzB,gBAAgB;A7Cw3JxB;;A6C73JI;EnCpDA,+BPuMgC;EOtMhC,kCPsMgC;EO1LhC,0BmCgDwC;A7C03J5C;;A6Cn4JI;EAaM,eAAe;EnC/ErB,gCPqNgC;EOpNhC,mCPoNgC;EO9KhC,4BmC0C0C;A7C23J9C;;Acr6JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C84JvB;E6C/4JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C84JtB;E6Cn5JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C+4J1C;E6Cx5JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C+4J5C;AACF;;Ac17JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cm6JvB;E6Cp6JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cm6JtB;E6Cx6JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Co6J1C;E6C76JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Co6J5C;AACF;;Ac/8JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cw7JvB;E6Cz7JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cw7JtB;E6C77JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Cy7J1C;E6Cl8JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Cy7J5C;AACF;;Acp+JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C68JvB;E6C98JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C68JtB;E6Cl9JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C88J1C;E6Cv9JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C88J5C;AACF;;A6Cl8JA;EAEI,eAAe;EACf,cAAc;EnCjHd,gBmCkHwB;A7Co8J5B;;A6Cx8JA;EAOM,mB1C6G2B;AHw1JjC;;A6C58JA;EAaM,aAAa;A7Cm8JnB;;A6Ch9JA;EAmBM,gBAAgB;EAChB,gBAAgB;A7Ci8JtB;;A8CrkKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBy/JlE;;AK7jKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwkKjD;;A8C/kKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBogKlE;;A8CrlKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBygKlE;;AK7kKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwlKjD;;A8C/lKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBohKlE;;A8CrmKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByhKlE;;AK7lKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwmKjD;;A8C/mKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBoiKlE;;A8CrnKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByiKlE;;AK7mKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwnKjD;;A8C/nKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBojKlE;;A8CroKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByjKlE;;AK7nKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwoKjD;;A8C/oKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBokKlE;;A8CrpKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBykKlE;;AK7oKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwpKjD;;A8C/pKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBolKlE;;A8CrqKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBylKlE;;AK7pKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwqKjD;;A8C/qKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBomKlE;;A8CrrKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBymKlE;;AK7qKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwrKjD;;A8C/rKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBonKlE;;A+CxsKA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CyR+B;E4CxR/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/C2sKb;;AKtsKE;E0CDE,W5CMW;E4CLX,qBAAqB;A/C2sKzB;;AKvsKE;E0CCI,YAAY;A/C0sKlB;;A+C/rKA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/CksKlB;;A+C5rKA;EACE,oBAAoB;A/C+rKtB;;AgDtuKA;EACE,gB7C43BuC;E6C33BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C63BmD;E6C53BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sBPg4BsC;AH82I1C;;AgDnvKA;EAcI,sB7Cg3BsC;AHy3I1C;;AgDvvKA;EAkBI,UAAU;AhDyuKd;;AgD3vKA;EAsBI,cAAc;EACd,UAAU;AhDyuKd;;AgDhwKA;EA2BI,aAAa;AhDyuKjB;;AgDruKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7C41BwC;E6C31BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Co2BoD;AHo4ItD;;AgDruKA;EACE,gB7Co1BwC;AHo5I1C;;AiD5wKA;EAEE,gBAAgB;AjD8wKlB;;AiDhxKA;EAKI,kBAAkB;EAClB,gBAAgB;AjD+wKpB;;AiD1wKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CopBsC;E8CnpBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD2wKZ;;AiDpwKA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C63BuC;E8C33BvC,oBAAoB;AjDswKtB;;AiDnwKE;E7BrCI,2CjB27BoD;EiB37BpD,mCjB27BoD;EiB37BpD,oEjB27BoD;E8Cp5BtD,sC9Ck5BmD;E8Cl5BnD,8B9Ck5BmD;AHo3IvD;;AoBxyKI;E6BgCF;I7B/BI,gBAAgB;EpB4yKpB;AACF;;AiD1wKE;EACE,uB9Cg5BoC;E8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hLf;;AkD3+KA;EACE,iBAAgC;AlD8+KlC;;AkD/+KA;EAII,MAAM;AlD++KV;;AkDn/KA;EAOM,SAAS;EACT,6B/CgxBmC;E+C/wBnC,yB/CrDS;AHqiLf;;AkD3+KA;EACE,iB/CywBuC;AHquJzC;;AkD/+KA;EAII,QAAQ;EACR,a/CqwBqC;E+CpwBrC,c/CmwBqC;AH4uJzC;;AkDr/KA;EASM,OAAO;EACP,oC/CgwBmC;E+C/vBnC,uB/CrES;AHqjLf;;AkD39KA;EACE,gB/C+tBuC;E+C9tBvC,uB/CouBuC;E+CnuBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOZX,sBPqOgC;AHq2KpC;;AoD/kLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDsqBsC;EiDrqBtC,cAAc;EACd,gBjD+1BuC;EgDp2BvC,kMhD+QiN;EgD7QjN,kBAAkB;EAClB,gBhDuR+B;EgDtR/B,gBhD2R+B;EgD1R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBPsO+B;AHi4KnC;;AoD5mLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD81BoC;EiD71BpC,cjD81BqC;EiD71BrC,gBjDmN+B;AHy4KnC;;AoDpnLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD4lLzB;;AoDvlLA;EACE,qBjD+0BuC;AH2wJzC;;AoD3lLA;EAII,iCAAwE;ApD2lL5E;;AoD/lLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD00BiE;AHkxJvE;;AoDrmLA;EAaM,WjDqL2B;EiDpL3B,6BAAgE;EAChE,sBjD7CS;AHyoLf;;AoDvlLA;EACE,mBjD2zBuC;AH+xJzC;;AoD3lLA;EAII,+BAAsE;EACtE,ajDuzBqC;EiDtzBrC,YjDqzBoC;EiDpzBpC,gBAA2B;ApD2lL/B;;AoDlmLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDmzBiE;AHyyJvE;;AoDxmLA;EAgBM,SjD8J2B;EiD7J3B,oCAA2F;EAC3F,wBjDpES;AHgqLf;;AoDvlLA;EACE,kBjDoyBuC;AHszJzC;;AoD3lLA;EAII,8BAAqE;ApD2lLzE;;AoD/lLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD+xBiE;AH6zJvE;;AoDrmLA;EAaM,QjD0I2B;EiDzI3B,oCAA2F;EAC3F,yBjDxFS;AHorLf;;AoD3mLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD2wBoC;EiD1wBpC,oBAAsC;EACtC,WAAW;EACX,gCjD+vBuD;AH21J3D;;AoDtlLA;EACE,oBjDowBuC;AHq1JzC;;AoD1lLA;EAII,gCAAuE;EACvE,ajDgwBqC;EiD/vBrC,YjD8vBoC;EiD7vBpC,gBAA2B;ApD0lL/B;;AoDjmLA;EAUM,QAAQ;EACR,oCjD0vBmC;EiDzvBnC,sCjD4vBiE;AH+1JvE;;AoDvmLA;EAgBM,UjDuG2B;EiDtG3B,oCjDovBmC;EiDnvBnC,uBjD3HS;AHstLf;;AoDrkLA;EACE,uBjDqtBwC;EiDptBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD8sByD;EiD7sBzD,gCAAyE;E1ChJvE,0C0CiJyE;E1ChJzE,2C0CgJyE;ApDwkL7E;;AoD/kLA;EAWI,aAAa;ApDwkLjB;;AoDpkLA;EACE,uBjDssBwC;EiDrsBxC,cjDzJgB;AHguLlB;;AqDnuLA;EACE,kBAAkB;ArDsuLpB;;AqDnuLA;EACE,uBAAmB;EAAnB,mBAAmB;ArDsuLrB;;AqDnuLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDsuLlB;;AsD7vLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgwLf;;AqDxuLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,8CjB6iCkF;EiB7iClF,sCjB6iCkF;EiB7iClF,0EjB6iCkF;AH2tJxF;;AoBnwLI;EiCiBJ;IjChBM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E,oCAAmC;AzD4/LvC;;AKl/LE;;;EoDLI,oCAAgD;AzD6/LtD;;AyDngME;EACE,oCAAmC;AzDsgMvC;;AK5/LE;;;EoDLI,oCAAgD;AzDugMtD;;AyD7gME;EACE,oCAAmC;AzDghMvC;;AKtgME;;;EoDLI,oCAAgD;AzDihMtD;;AyDvhME;EACE,oCAAmC;AzD0hMvC;;AKhhME;;;EoDLI,oCAAgD;AzD2hMtD;;AyDjiME;EACE,oCAAmC;AzDoiMvC;;AK1hME;;;EoDLI,oCAAgD;AzDqiMtD;;AyD3iME;EACE,oCAAmC;AzD8iMvC;;AKpiME;;;EoDLI,oCAAgD;AzD+iMtD;;AyDrjME;EACE,oCAAmC;AzDwjMvC;;AK9iME;;;EoDLI,oCAAgD;AzDyjMtD;;A0DxjMA;EACE,iCAAmC;A1D2jMrC;;A0DxjMA;EACE,wCAAwC;A1D2jM1C;;A2DtkMA;EAAkB,oCAAoD;A3D0kMtE;;A2DzkMA;EAAkB,wCAAwD;A3D6kM1E;;A2D5kMA;EAAkB,0CAA0D;A3DglM5E;;A2D/kMA;EAAkB,2CAA2D;A3DmlM7E;;A2DllMA;EAAkB,yCAAyD;A3DslM3E;;A2DplMA;EAAmB,oBAAoB;A3DwlMvC;;A2DvlMA;EAAmB,wBAAwB;A3D2lM3C;;A2D1lMA;EAAmB,0BAA0B;A3D8lM7C;;A2D7lMA;EAAmB,2BAA2B;A3DimM9C;;A2DhmMA;EAAmB,yBAAyB;A3DomM5C;;A2DjmME;EACE,gCAA+B;A3DomMnC;;A2DrmME;EACE,gCAA+B;A3DwmMnC;;A2DzmME;EACE,gCAA+B;A3D4mMnC;;A2D7mME;EACE,gCAA+B;A3DgnMnC;;A2DjnME;EACE,gCAA+B;A3DonMnC;;A2DrnME;EACE,gCAA+B;A3DwnMnC;;A2DznME;EACE,gCAA+B;A3D4nMnC;;A2D7nME;EACE,gCAA+B;A3DgoMnC;;A2D5nMA;EACE,6BAA+B;A3D+nMjC;;A2DxnMA;EACE,gCAA2C;A3D2nM7C;;A2DxnMA;EACE,iCAAwC;A3D2nM1C;;A2DxnMA;EACE,0CAAiD;EACjD,2CAAkD;A3D2nMpD;;A2DxnMA;EACE,2CAAkD;EAClD,8CAAqD;A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tOhD;;AuEjuOQ;EAAgC,yBAA4B;AvEquOpE;;AuEpuOQ;;EAEE,6BAAoC;AvEuuO9C;;AuEruOQ;;EAEE,+BAAwC;AvEwuOlD;;AuEtuOQ;;EAEE,gCAA0C;AvEyuOpD;;AuEvuOQ;;EAEE,8BAAsC;AvE0uOhD;;AuEzvOQ;EAAgC,uBAA4B;AvE6vOpE;;AuE5vOQ;;EAEE,2BAAoC;AvE+vO9C;;AuE7vOQ;;EAEE,6BAAwC;AvEgwOlD;;AuE9vOQ;;EAEE,8BAA0C;AvEiwOpD;;AuE/vOQ;;EAEE,4BAAsC;AvEkwOhD;;AuEjxOQ;EAAgC,yBAA4B;AvEqxOpE;;AuEpxOQ;;EAEE,6BAAoC;AvEuxO9C;;AuErxOQ;;EAEE,+BAAwC;AvEwxOlD;;AuEtxOQ;;EAEE,gCAA0C;AvEyxOpD;;AuEvxOQ;;EAEE,8BAAsC;AvE0xOhD;;AuEzyOQ;EAAgC,uBAA4B;AvE6yOpE;;AuE5yOQ;;EAEE,2BAAoC;AvE+yO9C;;AuE7yOQ;;EAEE,6BAAwC;AvEgzOlD;;AuE9yOQ;;EAEE,8BAA0C;AvEizOpD;;AuE/yOQ;;EAEE,4BAAsC;AvEkzOhD;;AuEj0OQ;EAAgC,qBAA4B;AvEq0OpE;;AuEp0OQ;;EAEE,yBAAoC;AvEu0O9C;;AuEr0OQ;;EAEE,2BAAwC;AvEw0OlD;;AuEt0OQ;;EAEE,4BAA0C;AvEy0OpD;;AuEv0OQ;;EAEE,0BAAsC;AvE00OhD;;AuEz1OQ;EAAgC,2BAA4B;AvE61OpE;;AuE51OQ;;EAEE,+BAAoC;AvE+1O9C;;AuE71OQ;;EAEE,iCAAwC;AvEg2OlD;;AuE91OQ;;EAEE,kCAA0C;AvEi2OpD;;AuE/1OQ;;EAEE,gCAAsC;AvEk2OhD;;AuEj3OQ;EAAgC,0BAA4B;AvEq3OpE;;AuEp3OQ;;EAEE,8BAAoC;AvEu3O9C;;AuEr3OQ;;EAEE,gCAAwC;AvEw3OlD;;AuEt3OQ;;EAEE,iCAA0C;AvEy3OpD;;AuEv3OQ;;EAEE,+BAAsC;AvE03OhD;;AuEz4OQ;EAAgC,wBAA4B;AvE64OpE;;AuE54OQ;;EAEE,4BAAoC;AvE+4O9C;;AuE74OQ;;EAEE,8BAAwC;AvEg5OlD;;AuE94OQ;;EAEE,+BAA0C;AvEi5OpD;;AuE/4OQ;;EAEE,6BAAsC;AvEk5OhD;;AuEj6OQ;EAAgC,0BAA4B;AvEq6OpE;;AuEp6OQ;;EAEE,8BAAoC;AvEu6O9C;;AuEr6OQ;;EAEE,gCAAwC;AvEw6OlD;;AuEt6OQ;;EAEE,iCAA0C;AvEy6OpD;;AuEv6OQ;;EAEE,+BAAsC;AvE06OhD;;AuEz7OQ;EAAgC,wBAA4B;AvE67OpE;;AuE57OQ;;EAEE,4BAAoC;AvE+7O9C;;AuE77OQ;;EAEE,8BAAwC;AvEg8OlD;;AuE97OQ;;EAEE,+BAA0C;AvEi8OpD;;AuE/7OQ;;EAEE,6BAAsC;AvEk8OhD;;AuE17OQ;EAAwB,2BAA2B;AvE87O3D;;AuE77OQ;;EAEE,+BAA+B;AvEg8OzC;;AuE97OQ;;EAEE,iCAAiC;AvEi8O3C;;AuE/7OQ;;EAEE,kCAAkC;AvEk8O5C;;AuEh8OQ;;EAEE,gCAAgC;AvEm8O1C;;AuEl9OQ;EAAwB,0BAA2B;AvEs9O3D;;AuEr9OQ;;EAEE,8BAA+B;AvEw9OzC;;AuEt9OQ;;EAEE,gCAAiC;AvEy9O3C;;AuEv9OQ;;EAEE,iCAAkC;AvE09O5C;;AuEx9OQ;;EAEE,+BAAgC;AvE29O1C;;AuE1+OQ;EAAwB,wBAA2B;AvE8+O3D;;AuE7+OQ;;EAEE,4BAA+B;AvEg/OzC;;AuE9+OQ;;EAEE,8BAAiC;AvEi/O3C;;AuE/+OQ;;EAEE,+BAAkC;AvEk/O5C;;AuEh/OQ;;EAEE,6BAAgC;AvEm/O1C;;AuElgPQ;EAAwB,0BAA2B;AvEsgP3D;;AuErgPQ;;EAEE,8BAA+B;AvEwgPzC;;AuEtgPQ;;EAEE,gCAAiC;AvEygP3C;;AuEvgPQ;;EAEE,iCAAkC;AvE0gP5C;;AuExgPQ;;EAEE,+BAAgC;AvE2gP1C;;AuE1hPQ;EAAwB,wBAA2B;AvE8hP3D;;AuE7hPQ;;EAEE,4BAA+B;AvEgiPzC;;AuE9hPQ;;EAEE,8BAAiC;AvEiiP3C;;AuE/hPQ;;EAEE,+BAAkC;AvEkiP5C;;AuEhiPQ;;EAEE,6BAAgC;AvEmiP1C;;AuE7hPI;EAAmB,uBAAuB;AvEiiP9C;;AuEhiPI;;EAEE,2BAA2B;AvEmiPjC;;AuEjiPI;;EAEE,6BAA6B;AvEoiPnC;;AuEliPI;;EAEE,8BAA8B;AvEqiPpC;;AuEniPI;;EAEE,4BAA4B;AvEsiPlC;;Ac/iPI;EyDlDI;IAAgC,oBAA4B;EvEsmPlE;EuErmPM;;IAEE,wBAAoC;EvEumP5C;EuErmPM;;IAEE,0BAAwC;EvEumPhD;EuErmPM;;IAEE,2BAA0C;EvEumPlD;EuErmPM;;IAEE,yBAAsC;EvEumP9C;EuEtnPM;IAAgC,0BAA4B;EvEynPlE;EuExnPM;;IAEE,8BAAoC;EvE0nP5C;EuExnPM;;IAEE,gCAAwC;EvE0nPhD;EuExnPM;;IAEE,iCAA0C;EvE0nPlD;EuExnPM;;IAEE,+BAAsC;EvE0nP9C;EuEzoPM;IAAgC,yBAA4B;EvE4oPlE;EuE3oPM;;IAEE,6BAAoC;EvE6oP5C;EuE3oPM;;IAEE,+BAAwC;EvE6oPhD;EuE3oPM;;IAEE,gCAA0C;EvE6oPlD;EuE3oPM;;IAEE,8BAAsC;EvE6oP9C;EuE5pPM;IAAgC,uBAA4B;EvE+pPlE;EuE9pPM;;IAEE,2BAAoC;EvEgqP5C;EuE9pPM;;IAEE,6BAAwC;EvEgqPhD;EuE9pPM;;IAEE,8BAA0C;EvEgqPlD;EuE9pPM;;IAEE,4BAAsC;EvEgqP9C;EuE/qPM;IAAgC,yBAA4B;EvEkrPlE;EuEjrPM;;IAEE,6BAAoC;EvEmrP5C;EuEjrPM;;IAEE,+BAAwC;EvEmrPhD;EuEjrPM;;IAEE,gCAA0C;EvEmrPlD;EuEjrPM;;IAEE,8BAAsC;EvEmrP9C;EuElsPM;IAAgC,uBAA4B;EvEqsPlE;EuEpsPM;;IAEE,2BAAoC;EvEssP5C;EuEpsPM;;IAEE,6BAAwC;EvEssPhD;EuEpsPM;;IAEE,8BAA0C;EvEssPlD;EuEpsPM;;IAEE,4BAAsC;EvEssP9C;EuErtPM;IAAgC,qBAA4B;EvEwtPlE;EuEvtPM;;IAEE,yBAAoC;EvEytP5C;EuEvtPM;;IAEE,2BAAwC;EvEytPhD;EuEvtPM;;IAEE,4BAA0C;EvEytPlD;EuEvtPM;;IAEE,0BAAsC;EvEytP9C;EuExuPM;IAAgC,2BAA4B;EvE2uPlE;EuE1uPM;;IAEE,+BAAoC;EvE4uP5C;EuE1uPM;;IAEE,iCAAwC;EvE4uPhD;EuE1uPM;;IAEE,kCAA0C;EvE4uPlD;EuE1uPM;;IAEE,gCAAsC;EvE4uP9C;EuE3vPM;IAAgC,0BAA4B;EvE8vPlE;EuE7vPM;;IAEE,8BAAoC;EvE+vP5C;EuE7vPM;;IAEE,gCAAwC;EvE+vPhD;EuE7vPM;;IAEE,iCAA0C;EvE+vPlD;EuE7vPM;;IAEE,+BAAsC;EvE+vP9C;EuE9wPM;IAAgC,wBAA4B;EvEixPlE;EuEhxPM;;IAEE,4BAAoC;EvEkxP5C;EuEhxPM;;IAEE,8BAAwC;EvEkxPhD;EuEhxPM;;IAEE,+BAA0C;EvEkxPlD;EuEhxPM;;IAEE,6BAAsC;EvEkxP9C;EuEjyPM;IAAgC,0BAA4B;EvEoyPlE;EuEnyPM;;IAEE,8BAAoC;EvEqyP5C;EuEnyPM;;IAEE,gCAAwC;EvEqyPhD;EuEnyPM;;IAEE,iCAA0C;EvEqyPlD;EuEnyPM;;IAEE,+BAAsC;EvEqyP9C;EuEpzPM;IAAgC,wBAA4B;EvEuzPlE;EuEtzPM;;IAEE,4BAAoC;EvEwzP5C;EuEtzPM;;IAEE,8BAAwC;EvEwzPhD;EuEtzPM;;IAEE,+BAA0C;EvEwzPlD;EuEtzPM;;IAEE,6BAAsC;EvEwzP9C;EuEhzPM;IAAwB,2BAA2B;EvEmzPzD;EuElzPM;;IAEE,+BAA+B;EvEozPvC;EuElzPM;;IAEE,iCAAiC;EvEozPzC;EuElzPM;;IAEE,kCAAkC;EvEozP1C;EuElzPM;;IAEE,gCAAgC;EvEozPxC;EuEn0PM;IAAwB,0BAA2B;EvEs0PzD;EuEr0PM;;IAEE,8BAA+B;EvEu0PvC;EuEr0PM;;IAEE,gCAAiC;EvEu0PzC;EuEr0PM;;IAEE,iCAAkC;EvEu0P1C;EuEr0PM;;IAEE,+BAAgC;EvEu0PxC;EuEt1PM;IAAwB,wBAA2B;EvEy1PzD;EuEx1PM;;IAEE,4BAA+B;EvE01PvC;EuEx1PM;;IAEE,8BAAiC;EvE01PzC;EuEx1PM;;IAEE,+BAAkC;EvE01P1C;EuEx1PM;;IAEE,6BAAgC;EvE01PxC;EuEz2PM;IAAwB,0BAA2B;EvE42PzD;EuE32PM;;IAEE,8BAA+B;EvE62PvC;EuE32PM;;IAEE,gCAAiC;EvE62PzC;EuE32PM;;IAEE,iCAAkC;EvE62P1C;EuE32PM;;IAEE,+BAAgC;EvE62PxC;EuE53PM;IAAwB,wBAA2B;EvE+3PzD;EuE93PM;;IAEE,4BAA+B;EvEg4PvC;EuE93PM;;IAEE,8BAAiC;EvEg4PzC;EuE93PM;;IAEE,+BAAkC;EvEg4P1C;EuE93PM;;IAEE,6BAAgC;EvEg4PxC;EuE13PE;IAAmB,uBAAuB;EvE63P5C;EuE53PE;;IAEE,2BAA2B;EvE83P/B;EuE53PE;;IAEE,6BAA6B;EvE83PjC;EuE53PE;;IAEE,8BAA8B;EvE83PlC;EuE53PE;;IAEE,4BAA4B;EvE83PhC;AACF;;Acx4PI;EyDlDI;IAAgC,oBAA4B;EvE+7PlE;EuE97PM;;IAEE,wBAAoC;EvEg8P5C;EuE97PM;;IAEE,0BAAwC;EvEg8PhD;EuE97PM;;IAEE,2BAA0C;EvEg8PlD;EuE97PM;;IAEE,yBAAsC;EvEg8P9C;EuE/8PM;IAAgC,0BAA4B;EvEk9PlE;EuEj9PM;;IAEE,8BAAoC;EvEm9P5C;EuEj9PM;;IAEE,gCAAwC;EvEm9PhD;EuEj9PM;;IAEE,iCAA0C;EvEm9PlD;EuEj9PM;;IAEE,+BAAsC;EvEm9P9C;EuEl+PM;IAAgC,yBAA4B;EvEq+PlE;EuEp+PM;;IAEE,6BAAoC;EvEs+P5C;EuEp+PM;;IAEE,+BAAwC;EvEs+PhD;EuEp+PM;;IAEE,gCAA0C;EvEs+PlD;EuEp+PM;;IAEE,8BAAsC;EvEs+P9C;EuEr/PM;IAAgC,uBAA4B;EvEw/PlE;EuEv/PM;;IAEE,2BAAoC;EvEy/P5C;EuEv/PM;;IAEE,6BAAwC;EvEy/PhD;EuEv/PM;;IAEE,8BAA0C;EvEy/PlD;EuEv/PM;;IAEE,4BAAsC;EvEy/P9C;EuExgQM;IAAgC,yBAA4B;EvE2gQlE;EuE1gQM;;IAEE,6BAAoC;EvE4gQ5C;EuE1gQM;;IAEE,+BAAwC;EvE4gQhD;EuE1gQM;;IAEE,gCAA0C;EvE4gQlD;EuE1gQM;;IAEE,8BAAsC;EvE4gQ9C;EuE3hQM;IAAgC,uBAA4B;EvE8hQlE;EuE7hQM;;IAEE,2BAAoC;EvE+hQ5C;EuE7hQM;;IAEE,6BAAwC;EvE+hQhD;EuE7hQM;;IAEE,8BAA0C;EvE+hQlD;EuE7hQM;;IAEE,4BAAsC;EvE+hQ9C;EuE9iQM;IAAgC,qBAA4B;EvEijQlE;EuEhjQM;;IAEE,yBAAoC;EvEkjQ5C;EuEhjQM;;IAEE,2BAAwC;EvEkjQhD;EuEhjQM;;IAEE,4BAA0C;EvEkjQlD;EuEhjQM;;IAEE,0BAAsC;EvEkjQ9C;EuEjkQM;IAAgC,2BAA4B;EvEokQlE;EuEnkQM;;IAEE,+BAAoC;EvEqkQ5C;EuEnkQM;;IAEE,iCAAwC;EvEqkQhD;EuEnkQM;;IAEE,kCAA0C;EvEqkQlD;EuEnkQM;;IAEE,gCAAsC;EvEqkQ9C;EuEplQM;IAAgC,0BAA4B;EvEulQlE;EuEtlQM;;IAEE,8BAAoC;EvEwlQ5C;EuEtlQM;;IAEE,gCAAwC;EvEwlQhD;EuEtlQM;;IAEE,iCAA0C;EvEwlQlD;EuEtlQM;;IAEE,+BAAsC;EvEwlQ9C;EuEvmQM;IAAgC,wBAA4B;EvE0mQlE;EuEzmQM;;IAEE,4BAAoC;EvE2mQ5C;EuEzmQM;;IAEE,8BAAwC;EvE2mQhD;EuEzmQM;;IAEE,+BAA0C;EvE2mQlD;EuEzmQM;;IAEE,6BAAsC;EvE2mQ9C;EuE1nQM;IAAgC,0BAA4B;EvE6nQlE;EuE5nQM;;IAEE,8BAAoC;EvE8nQ5C;EuE5nQM;;IAEE,gCAAwC;EvE8nQhD;EuE5nQM;;IAEE,iCAA0C;EvE8nQlD;EuE5nQM;;IAEE,+BAAsC;EvE8nQ9C;EuE7oQM;IAAgC,wBAA4B;EvEgpQlE;EuE/oQM;;IAEE,4BAAoC;EvEipQ5C;EuE/oQM;;IAEE,8BAAwC;EvEipQhD;EuE/oQM;;IAEE,+BAA0C;EvEipQlD;EuE/oQM;;IAEE,6BAAsC;EvEipQ9C;EuEzoQM;IAAwB,2BAA2B;EvE4oQzD;EuE3oQM;;IAEE,+BAA+B;EvE6oQvC;EuE3oQM;;IAEE,iCAAiC;EvE6oQzC;EuE3oQM;;IAEE,kCAAkC;EvE6oQ1C;EuE3oQM;;IAEE,gCAAgC;EvE6oQxC;EuE5pQM;IAAwB,0BAA2B;EvE+pQzD;EuE9pQM;;IAEE,8BAA+B;EvEgqQvC;EuE9pQM;;IAEE,gCAAiC;EvEgqQzC;EuE9pQM;;IAEE,iCAAkC;EvEgqQ1C;EuE9pQM;;IAEE,+BAAgC;EvEgqQxC;EuE/qQM;IAAwB,wBAA2B;EvEkrQzD;EuEjrQM;;IAEE,4BAA+B;EvEmrQvC;EuEjrQM;;IAEE,8BAAiC;EvEmrQzC;EuEjrQM;;IAEE,+BAAkC;EvEmrQ1C;EuEjrQM;;IAEE,6BAAgC;EvEmrQxC;EuElsQM;IAAwB,0BAA2B;EvEqsQzD;EuEpsQM;;IAEE,8BAA+B;EvEssQvC;EuEpsQM;;IAEE,gCAAiC;EvEssQzC;EuEpsQM;;IAEE,iCAAkC;EvEssQ1C;EuEpsQM;;IAEE,+BAAgC;EvEssQxC;EuErtQM;IAAwB,wBAA2B;EvEwtQzD;EuEvtQM;;IAEE,4BAA+B;EvEytQvC;EuEvtQM;;IAEE,8BAAiC;EvEytQzC;EuEvtQM;;IAEE,+BAAkC;EvEytQ1C;EuEvtQM;;IAEE,6BAAgC;EvEytQxC;EuEntQE;IAAmB,uBAAuB;EvEstQ5C;EuErtQE;;IAEE,2BAA2B;EvEutQ/B;EuErtQE;;IAEE,6BAA6B;EvEutQjC;EuErtQE;;IAEE,8BAA8B;EvEutQlC;EuErtQE;;IAEE,4BAA4B;EvEutQhC;AACF;;AcjuQI;EyDlDI;IAAgC,oBAA4B;EvEwxQlE;EuEvxQM;;IAEE,wBAAoC;EvEyxQ5C;EuEvxQM;;IAEE,0BAAwC;EvEyxQhD;EuEvxQM;;IAEE,2BAA0C;EvEyxQlD;EuEvxQM;;IAEE,yBAAsC;EvEyxQ9C;EuExyQM;IAAgC,0BAA4B;EvE2yQlE;EuE1yQM;;IAEE,8BAAoC;EvE4yQ5C;EuE1yQM;;IAEE,gCAAwC;EvE4yQhD;EuE1yQM;;IAEE,iCAA0C;EvE4yQlD;EuE1yQM;;IAEE,+BAAsC;EvE4yQ9C;EuE3zQM;IAAgC,yBAA4B;EvE8zQlE;EuE7zQM;;IAEE,6BAAoC;EvE+zQ5C;EuE7zQM;;IAEE,+BAAwC;EvE+zQhD;EuE7zQM;;IAEE,gCAA0C;EvE+zQlD;EuE7zQM;;IAEE,8BAAsC;EvE+zQ9C;EuE90QM;IAAgC,uBAA4B;EvEi1QlE;EuEh1QM;;IAEE,2BAAoC;EvEk1Q5C;EuEh1QM;;IAEE,6BAAwC;EvEk1QhD;EuEh1QM;;IAEE,8BAA0C;EvEk1QlD;EuEh1QM;;IAEE,4BAAsC;EvEk1Q9C;EuEj2QM;IAAgC,yBAA4B;EvEo2QlE;EuEn2QM;;IAEE,6BAAoC;EvEq2Q5C;EuEn2QM;;IAEE,+BAAwC;EvEq2QhD;EuEn2QM;;IAEE,gCAA0C;EvEq2QlD;EuEn2QM;;IAEE,8BAAsC;EvEq2Q9C;EuEp3QM;IAAgC,uBAA4B;EvEu3QlE;EuEt3QM;;IAEE,2BAAoC;EvEw3Q5C;EuEt3QM;;IAEE,6BAAwC;EvEw3QhD;EuEt3QM;;IAEE,8BAA0C;EvEw3QlD;EuEt3QM;;IAEE,4BAAsC;EvEw3Q9C;EuEv4QM;IAAgC,qBAA4B;EvE04QlE;EuEz4QM;;IAEE,yBAAoC;EvE24Q5C;EuEz4QM;;IAEE,2BAAwC;EvE24QhD;EuEz4QM;;IAEE,4BAA0C;EvE24QlD;EuEz4QM;;IAEE,0BAAsC;EvE24Q9C;EuE15QM;IAAgC,2BAA4B;EvE65QlE;EuE55QM;;IAEE,+BAAoC;EvE85Q5C;EuE55QM;;IAEE,iCAAwC;EvE85QhD;EuE55QM;;IAEE,kCAA0C;EvE85QlD;EuE55QM;;IAEE,gCAAsC;EvE85Q9C;EuE76QM;IAAgC,0BAA4B;EvEg7QlE;EuE/6QM;;IAEE,8BAAoC;EvEi7Q5C;EuE/6QM;;IAEE,gCAAwC;EvEi7QhD;EuE/6QM;;IAEE,iCAA0C;EvEi7QlD;EuE/6QM;;IAEE,+BAAsC;EvEi7Q9C;EuEh8QM;IAAgC,wBAA4B;EvEm8QlE;EuEl8QM;;IAEE,4BAAoC;EvEo8Q5C;EuEl8QM;;IAEE,8BAAwC;EvEo8QhD;EuEl8QM;;IAEE,+BAA0C;EvEo8QlD;EuEl8QM;;IAEE,6BAAsC;EvEo8Q9C;EuEn9QM;IAAgC,0BAA4B;EvEs9QlE;EuEr9QM;;IAEE,8BAAoC;EvEu9Q5C;EuEr9QM;;IAEE,gCAAwC;EvEu9QhD;EuEr9QM;;IAEE,iCAA0C;EvEu9QlD;EuEr9QM;;IAEE,+BAAsC;EvEu9Q9C;EuEt+QM;IAAgC,wBAA4B;EvEy+QlE;EuEx+QM;;IAEE,4BAAoC;EvE0+Q5C;EuEx+QM;;IAEE,8BAAwC;EvE0+QhD;EuEx+QM;;IAEE,+BAA0C;EvE0+QlD;EuEx+QM;;IAEE,6BAAsC;EvE0+Q9C;EuEl+QM;IAAwB,2BAA2B;EvEq+QzD;EuEp+QM;;IAEE,+BAA+B;EvEs+QvC;EuEp+QM;;IAEE,iCAAiC;EvEs+QzC;EuEp+QM;;IAEE,kCAAkC;EvEs+Q1C;EuEp+QM;;IAEE,gCAAgC;EvEs+QxC;EuEr/QM;IAAwB,0BAA2B;EvEw/QzD;EuEv/QM;;IAEE,8BAA+B;EvEy/QvC;EuEv/QM;;IAEE,gCAAiC;EvEy/QzC;EuEv/QM;;IAEE,iCAAkC;EvEy/Q1C;EuEv/QM;;IAEE,+BAAgC;EvEy/QxC;EuExgRM;IAAwB,wBAA2B;EvE2gRzD;EuE1gRM;;IAEE,4BAA+B;EvE4gRvC;EuE1gRM;;IAEE,8BAAiC;EvE4gRzC;EuE1gRM;;IAEE,+BAAkC;EvE4gR1C;EuE1gRM;;IAEE,6BAAgC;EvE4gRxC;EuE3hRM;IAAwB,0BAA2B;EvE8hRzD;EuE7hRM;;IAEE,8BAA+B;EvE+hRvC;EuE7hRM;;IAEE,gCAAiC;EvE+hRzC;EuE7hRM;;IAEE,iCAAkC;EvE+hR1C;EuE7hRM;;IAEE,+BAAgC;EvE+hRxC;EuE9iRM;IAAwB,wBAA2B;EvEijRzD;EuEhjRM;;IAEE,4BAA+B;EvEkjRvC;EuEhjRM;;IAEE,8BAAiC;EvEkjRzC;EuEhjRM;;IAEE,+BAAkC;EvEkjR1C;EuEhjRM;;IAEE,6BAAgC;EvEkjRxC;EuE5iRE;IAAmB,uBAAuB;EvE+iR5C;EuE9iRE;;IAEE,2BAA2B;EvEgjR/B;EuE9iRE;;IAEE,6BAA6B;EvEgjRjC;EuE9iRE;;IAEE,8BAA8B;EvEgjRlC;EuE9iRE;;IAEE,4BAA4B;EvEgjRhC;AACF;;Ac1jRI;EyDlDI;IAAgC,oBAA4B;EvEinRlE;EuEhnRM;;IAEE,wBAAoC;EvEknR5C;EuEhnRM;;IAEE,0BAAwC;EvEknRhD;EuEhnRM;;IAEE,2BAA0C;EvEknRlD;EuEhnRM;;IAEE,yBAAsC;EvEknR9C;EuEjoRM;IAAgC,0BAA4B;EvEooRlE;EuEnoRM;;IAEE,8BAAoC;EvEqoR5C;EuEnoRM;;IAEE,gCAAwC;EvEqoRhD;EuEnoRM;;IAEE,iCAA0C;EvEqoRlD;EuEnoRM;;IAEE,+BAAsC;EvEqoR9C;EuEppRM;IAAgC,yBAA4B;EvEupRlE;EuEtpRM;;IAEE,6BAAoC;EvEwpR5C;EuEtpRM;;IAEE,+BAAwC;EvEwpRhD;EuEtpRM;;IAEE,gCAA0C;EvEwpRlD;EuEtpRM;;IAEE,8BAAsC;EvEwpR9C;EuEvqRM;IAAgC,uBAA4B;EvE0qRlE;EuEzqRM;;IAEE,2BAAoC;EvE2qR5C;EuEzqRM;;IAEE,6BAAwC;EvE2qRhD;EuEzqRM;;IAEE,8BAA0C;EvE2qRlD;EuEzqRM;;IAEE,4BAAsC;EvE2qR9C;EuE1rRM;IAAgC,yBAA4B;EvE6rRlE;EuE5rRM;;IAEE,6BAAoC;EvE8rR5C;EuE5rRM;;IAEE,+BAAwC;EvE8rRhD;EuE5rRM;;IAEE,gCAA0C;EvE8rRlD;EuE5rRM;;IAEE,8BAAsC;EvE8rR9C;EuE7sRM;IAAgC,uBAA4B;EvEgtRlE;EuE/sRM;;IAEE,2BAAoC;EvEitR5C;EuE/sRM;;IAEE,6BAAwC;EvEitRhD;EuE/sRM;;IAEE,8BAA0C;EvEitRlD;EuE/sRM;;IAEE,4BAAsC;EvEitR9C;EuEhuRM;IAAgC,qBAA4B;EvEmuRlE;EuEluRM;;IAEE,yBAAoC;EvEouR5C;EuEluRM;;IAEE,2BAAwC;EvEouRhD;EuEluRM;;IAEE,4BAA0C;EvEouRlD;EuEluRM;;IAEE,0BAAsC;EvEouR9C;EuEnvRM;IAAgC,2BAA4B;EvEsvRlE;EuErvRM;;IAEE,+BAAoC;EvEuvR5C;EuErvRM;;IAEE,iCAAwC;EvEuvRhD;EuErvRM;;IAEE,kCAA0C;EvEuvRlD;EuErvRM;;IAEE,gCAAsC;EvEuvR9C;EuEtwRM;IAAgC,0BAA4B;EvEywRlE;EuExwRM;;IAEE,8BAAoC;EvE0wR5C;EuExwRM;;IAEE,gCAAwC;EvE0wRhD;EuExwRM;;IAEE,iCAA0C;EvE0wRlD;EuExwRM;;IAEE,+BAAsC;EvE0wR9C;EuEzxRM;IAAgC,wBAA4B;EvE4xRlE;EuE3xRM;;IAEE,4BAAoC;EvE6xR5C;EuE3xRM;;IAEE,8BAAwC;EvE6xRhD;EuE3xRM;;IAEE,+BAA0C;EvE6xRlD;EuE3xRM;;IAEE,6BAAsC;EvE6xR9C;EuE5yRM;IAAgC,0BAA4B;EvE+yRlE;EuE9yRM;;IAEE,8BAAoC;EvEgzR5C;EuE9yRM;;IAEE,gCAAwC;EvEgzRhD;EuE9yRM;;IAEE,iCAA0C;EvEgzRlD;EuE9yRM;;IAEE,+BAAsC;EvEgzR9C;EuE/zRM;IAAgC,wBAA4B;EvEk0RlE;EuEj0RM;;IAEE,4BAAoC;EvEm0R5C;EuEj0RM;;IAEE,8BAAwC;EvEm0RhD;EuEj0RM;;IAEE,+BAA0C;EvEm0RlD;EuEj0RM;;IAEE,6BAAsC;EvEm0R9C;EuE3zRM;IAAwB,2BAA2B;EvE8zRzD;EuE7zRM;;IAEE,+BAA+B;EvE+zRvC;EuE7zRM;;IAEE,iCAAiC;EvE+zRzC;EuE7zRM;;IAEE,kCAAkC;EvE+zR1C;EuE7zRM;;IAEE,gCAAgC;EvE+zRxC;EuE90RM;IAAwB,0BAA2B;EvEi1RzD;EuEh1RM;;IAEE,8BAA+B;EvEk1RvC;EuEh1RM;;IAEE,gCAAiC;EvEk1RzC;EuEh1RM;;IAEE,iCAAkC;EvEk1R1C;EuEh1RM;;IAEE,+BAAgC;EvEk1RxC;EuEj2RM;IAAwB,wBAA2B;EvEo2RzD;EuEn2RM;;IAEE,4BAA+B;EvEq2RvC;EuEn2RM;;IAEE,8BAAiC;EvEq2RzC;EuEn2RM;;IAEE,+BAAkC;EvEq2R1C;EuEn2RM;;IAEE,6BAAgC;EvEq2RxC;EuEp3RM;IAAwB,0BAA2B;EvEu3RzD;EuEt3RM;;IAEE,8BAA+B;EvEw3RvC;EuEt3RM;;IAEE,gCAAiC;EvEw3RzC;EuEt3RM;;IAEE,iCAAkC;EvEw3R1C;EuEt3RM;;IAEE,+BAAgC;EvEw3RxC;EuEv4RM;IAAwB,wBAA2B;EvE04RzD;EuEz4RM;;IAEE,4BAA+B;EvE24RvC;EuEz4RM;;IAEE,8BAAiC;EvE24RzC;EuEz4RM;;IAEE,+BAAkC;EvE24R1C;EuEz4RM;;IAEE,6BAAgC;EvE24RxC;EuEr4RE;IAAmB,uBAAuB;EvEw4R5C;EuEv4RE;;IAEE,2BAA2B;EvEy4R/B;EuEv4RE;;IAEE,6BAA6B;EvEy4RjC;EuEv4RE;;IAEE,8BAA8B;EvEy4RlC;EuEv4RE;;IAEE,4BAA4B;EvEy4RhC;AACF;;AwEz8RA;EAAkB,4GAA8C;AxE68RhE;;AwEz8RA;EAAiB,8BAA8B;AxE68R/C;;AwE58RA;EAAiB,8BAA8B;AxEg9R/C;;AwE/8RA;EAAiB,8BAA8B;AxEm9R/C;;AwEl9RA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzE+9RrB;;AwEh9RI;EAAwB,2BAA2B;AxEo9RvD;;AwEn9RI;EAAwB,4BAA4B;AxEu9RxD;;AwEt9RI;EAAwB,6BAA6B;AxE09RzD;;Acr7RI;E0DvCA;IAAwB,2BAA2B;ExEi+RrD;EwEh+RE;IAAwB,4BAA4B;ExEm+RtD;EwEl+RE;IAAwB,6BAA6B;ExEq+RvD;AACF;;Acj8RI;E0DvCA;IAAwB,2BAA2B;ExE6+RrD;EwE5+RE;IAAwB,4BAA4B;ExE++RtD;EwE9+RE;IAAwB,6BAA6B;ExEi/RvD;AACF;;Ac78RI;E0DvCA;IAAwB,2BAA2B;ExEy/RrD;EwEx/RE;IAAwB,4BAA4B;ExE2/RtD;EwE1/RE;IAAwB,6BAA6B;ExE6/RvD;AACF;;Acz9RI;E0DvCA;IAAwB,2BAA2B;ExEqgSrD;EwEpgSE;IAAwB,4BAA4B;ExEugStD;EwEtgSE;IAAwB,6BAA6B;ExEygSvD;AACF;;AwEpgSA;EAAmB,oCAAoC;AxEwgSvD;;AwEvgSA;EAAmB,oCAAoC;AxE2gSvD;;AwE1gSA;EAAmB,qCAAqC;AxE8gSxD;;AwE1gSA;EAAuB,2BAA0C;AxE8gSjE;;AwE7gSA;EAAuB,+BAA4C;AxEihSnE;;AwEhhSA;EAAuB,2BAA2C;AxEohSlE;;AwEnhSA;EAAuB,2BAAyC;AxEuhShE;;AwEthSA;EAAuB,8BAA2C;AxE0hSlE;;AwEzhSA;EAAuB,6BAA6B;AxE6hSpD;;AwEzhSA;EAAc,sBAAwB;AxE6hStC;;A0EpkSE;EACE,yBAAwB;A1EukS5B;;AK7jSE;EqELM,yBAA0E;A1EskSlF;;A0E5kSE;EACE,yBAAwB;A1E+kS5B;;AKrkSE;EqELM,yBAA0E;A1E8kSlF;;A0EplSE;EACE,yBAAwB;A1EulS5B;;AK7kSE;EqELM,yBAA0E;A1EslSlF;;A0E5lSE;EACE,yBAAwB;A1E+lS5B;;AKrlSE;EqELM,yBAA0E;A1E8lSlF;;A0EpmSE;EACE,yBAAwB;A1EumS5B;;AK7lSE;EqELM,yBAA0E;A1EsmSlF;;A0E5mSE;EACE,yBAAwB;A1E+mS5B;;AKrmSE;EqELM,yBAA0E;A1E8mSlF;;A0EpnSE;EACE,yBAAwB;A1EunS5B;;AK7mSE;EqELM,yBAA0E;A1EsnSlF;;A0E5nSE;EACE,yBAAwB;A1E+nS5B;;AKrnSE;EqELM,yBAA0E;A1E8nSlF;;AwEvlSA;EAAa,yBAA6B;AxE2lS1C;;AwE1lSA;EAAc,yBAA6B;AxE8lS3C;;AwE5lSA;EAAiB,oCAAkC;AxEgmSnD;;AwE/lSA;EAAiB,0CAAkC;AxEmmSnD;;AwE/lSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3E0pSX;;AwEnmSA;EAAwB,gCAAgC;AxEumSxD;;AwErmSA;EACE,iCAAiC;EACjC,oCAAoC;AxEwmStC;;AwEnmSA;EAAc,yBAAyB;AxEumSvC;;A4ExqSA;EACE,8BAA8B;A5E2qShC;;A4ExqSA;EACE,6BAA6B;A5E2qS/B;;A6E3qSE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7E2qS/B;E6ExqSE;IAEI,0BAA0B;E7EyqShC;E6EhqSE;IACE,6BAA6B;E7EkqSjC;EEn+RF;I2EhLM,gCAAgC;E7EspSpC;E6EppSE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7EspS5B;E6E9oSE;IACE,2BAA2B;E7EgpS/B;E6E7oSE;;IAEE,wBAAwB;E7E+oS5B;E6E5oSE;;;IAGE,UAAU;IACV,SAAS;E7E8oSb;E6E3oSE;;IAEE,uBAAuB;E7E6oS3B;E6EroSE;IACE,Q1EwgCgC;EH+nQpC;EEnrSF;I2E+CM,2BAA2C;E7EuoS/C;EY9tSA;IiE0FI,2BAA2C;E7EuoS/C;EiCrtSF;I4CmFM,aAAa;E7EqoSjB;EsCpuSF;IuCkGM,sB1EtFS;EH2tSb;EgBxuSF;I6DuGM,oCAAoC;E7EooSxC;E6EroSE;;IAKI,iCAAmC;E7EooSzC;EgBvsSF;;I6D0EQ,oCAAsC;E7EioS5C;EgBtnSF;I6DNM,cAAc;E7E+nSlB;EiBrvSA;;;;I4D4HM,qB1EvHU;EHsvShB;EgBjpSF;I6DuBM,cAAc;IACd,qB1E7HY;EH0vShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n 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\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

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

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

    `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' 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\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `

    - +